Oracle self het die API vanaf Amazon S3 gekopieer, en dit is heeltemal normaal

Oracle self het die API vanaf Amazon S3 gekopieer, en dit is heeltemal normaal
Oracle-prokureurs vergelyk die herimplementering van die Java API in Android met die kopiëring van die inhoud van "Harry Potter", pdf

Die Amerikaanse hooggeregshof sal vroeg vanjaar 'n belangrike saak aanhoor. Oracle vs Google, wat die wetlike status van die API onder intellektuele eiendomsreg sal bepaal. As die hof hom by Oracle skaar in sy regsgeding van miljarde dollars, kan dit mededinging smoor en die oorheersing van tegnologiereuse, miskien Google self insluit, versterk.

Terselfdertyd is Oracle se besigheid aanvanklik gebou op die implementering van die SQL-programmeertaal wat deur IBM ontwikkel is, en selfs nou bied die maatskappy 'n wolkdiens met 'n API van Amazon S3, en dit is heeltemal normaal. API-herimplementering was sedert die begin van die bedryf 'n natuurlike deel van die ontwikkeling van rekenaarwetenskap.

Oracle beskuldig Google van die onwettige kopiëring van die Java API, insluitend 'n lys van benoemde opdragte wat aan grammatikale strukture gekoppel is. Die Android-bedryfstelsel is spesifiek versoenbaar met die Java API om dit vir Java-programmeerders makliker te maak om sagteware en kennis na die nuwe platform oor te dra. Om dit te doen, het Android presies die ooreenstemmende Java API-opdragte en grammatikale strukture gekopieer. argument Oracle is dat so 'n "herimplementering" van die Java API vergelyk kan word met die kopiëring van 'n skrywer se werk, soos die literêre roman "Harry Potter" (hierdie 'n ware voorbeeld gegee deur Oracle-prokureurs), en Google skend Oracle se kopiereg op Java API-opdragname en -strukture.

Maar Java API's is nie die enigste API's nie, en Android is nie die enigste herimplementering nie. In vandag se IT-industrie is API's alomteenwoordig, en herinstelling is fundamenteel vir die handhawing van mededinging om te verhoed dat groot firmas monopoliseer dink Charles Duane is direkteur van tegnologie en innovasiebeleid by die R Street Institute.

Duane gee die voorbeeld van die gewilde Amazon S3-bergingsplatform. Om die skryf en herwinning van lêers vanaf S3 moontlik te maak, het Amazon omvattende, gedetailleerde API om met die diens te kommunikeer. Byvoorbeeld, om 'n lys gestoorde lêers te kry (LysObjekte) stuur ons 'n GET-opdrag wat die gasheer- en tipeparameters spesifiseer enkodering-tipe, voortsetting-teken и x-amz-datum. Om met Amazon S3 te werk, moet die sagteware hierdie en baie ander spesifieke parametername presies gebruik.

GET /?Delimiter=Delimiter&EncodingType=EncodingType&Marker=Marker&MaxKeys=MaxKeys&Prefix=Prefix HTTP/1.1
Host: Bucket.s3.amazonaws.com
x-amz-request-payer: RequestPayer

Amazon is die duidelike leier in die wolkdienstemark, en sy mededingers bied herimplementerings van die S3 API, terwyl hulle opdragname, parameteretikette, tikvoorvoegsels moet naboots x-amz, grammatikale struktuur en algemene organisasie van die S3 API. Met ander woorde, alles wat Oracle beweer is kopiereg.

Onder die maatskappye wat 'n kopie van die Amazon S3 API aanbied, is daar is ook Oracle self. Vir verenigbaarheid kopieer die Amazon S3 Compatibility API talle elemente van die Amazon API, tot by die x-amz-etikette.

Oracle self het die API vanaf Amazon S3 gekopieer, en dit is heeltemal normaal

Oracle beweer dat die wettigheid van sy optrede gebaseer is op die oopbron Apache 2.0-lisensie, wat gratis kopiëring en wysiging van kode toelaat. Byvoorbeeld, Amazon SDK vir Java kom ook met 'n Apache 2.0-lisensie.

Maar die vraag is of intellektuele eiendomsreg selfs van toepassing is op dinge soos API's. Dit is wat die Hooggeregshof moet bepaal.

Wie het die API uitgevind?

Die term en konsep van 'n "subroetine-biblioteek" het die eerste keer verskyn in die boek Planning and Coding Problems for an Electronic Computing Instrument - Part II, Volume III (Princeton University Institute of Advanced Study, 1948) deur Herman Goldstein en John von Neumann. kopieer op archive.org. Inhoud van die derde deel:

Oracle self het die API vanaf Amazon S3 gekopieer, en dit is heeltemal normaal

Dit is die eerste beskrywing van 'n programmeringsmetodologie vir rekenaars wat programme in die geheue stoor (dit het voorheen nie bestaan ​​nie). Dit is wyd versprei na universiteite, wat op daardie stadium probeer het om hul eie rekenaars te skep. En die belangrikste is dat die boek 'n sleutelgedagte bevat: meeste programme sal algemene bewerkings gebruik, en biblioteke met roetines sal die hoeveelheid nuwe kode en foute verminder. Hierdie idee is verder deur Maurice Wilkes verfyn en in die EDSAC-masjien geïmplementeer, waarvoor hy die 1967 Turing-toekenning ontvang het.

Oracle self het die API vanaf Amazon S3 gekopieer, en dit is heeltemal normaal
Die EDSAC subroetine biblioteek is aan die linkerkant

Die volgende stap was om hoërorde-funksies en volwaardige sagteware-koppelvlakke te skep, soos Maurice Wilkes en David Wheeler in Preparing Programs for the Electronic Digital Computer (1951) gedoen het.

Die term self Toepassingsprogram-koppelvlak (API) het iewers in die laat 60's verskyn.

Skrywer van die aanbieding "'n Kort Subjektiewe Geskiedenis van API" Joshua Block gee verskeie voorbeelde van programmeringskoppelvlakke, instruksiestelle en subroetinebiblioteke: hoe hulle geskep en daarna gebruik is. Die idee is dat hergebruik die punt van 'n API is. Dit is waarvoor hulle in die eerste plek geskep is. En ontwikkelaars het nog altyd die geleentheid gehad om ander mense se API's te kopieer en te hermaak:

API
Skepper
Jaar
Herimplementering
Jaar

FORTRAN biblioteek
IBM
1958
UNIVAC
1961

IBM S/360 ISA
IBM
1964
Amdahl Corp.
1970

Standaard C Biblioteek
AT&T/Bell Labs
1976
Mark Williams Co.
1980

Unix-stelseloproepe
AT&T/Bell Labs
1976
Mark Williams Co.
1980

VT100 Esc Seqs
Desember
1978
Heathkit
1980

IBM PC BIOS
IBM
1981
Phoenix Technologies
1984

MS-DOS CLI
Microsoft
1981
FreeDOS-projek
1998

Hayes AT opdrag stel
Hayes Mikro
1982
Anker-outomatisering
1985

PostScript
Adobe
1985
GNU/GhostScript
1988

SMB
Microsoft
1992
Samba-projek
1993

Win32
Microsoft
1993
Wynprojek
1996

Java 2 klas biblioteke
Sondag
1998
Google/Android
2008

Web API Heerlik
Delicious
2003
pinboard
2009

Bron: "'n Kort Subjektiewe Geskiedenis van API"

Die kopiëring en hergebruik van API's (biblioteke, instruksiestelle) is nie net korrek nie, maar hierdie programmeringsmetodologie word direk aanbeveel in die kanons van rekenaarwetenskap. Selfs voor die kopiëring van S3-programmeringskoppelvlakke, het Oracle self dit baie keer gedoen. Boonop is Oracle se besigheid aanvanklik gebou op die implementering van die SQL-programmeertaal wat deur IBM ontwikkel is. Oracle se eerste vlagskipproduk was 'n DBBS, grootliks gekopieer van IBM System R. In hierdie geval praat ons van die herimplementering van SQL as 'n "standaard API" vir 'n DBBS.

Die afdwing van intellektuele eiendomsregte op API's kan 'n wettige mynveld skep wat almal raak. API's implementeer en ander wolkdienste. Baie tegniese standaarde, soos Wi-Fi en internetprotokolle, sluit API's in. Programmeringskoppelvlakke word noodwendig in een of ander vorm op elke rekenaar en bediener op die internet hergeïmplementeer. Oracle se kopieregteorie kan byna enigiets wat jy met jou rekenaar doen onwettig maak.

Om hierdie verreikende gevolge te vermy, het Oracle en die appèlhof wat sy argumente gehandhaaf het probeer om kopieregskending te beperk tot sekere API-herimplementerings wat "onversoenbaar" is met die oorspronklike. Maar ook gedeeltelike herimplementerings alledaags is. Selfs in sy kopie van die S3 API merk Oracle talle "verskille" en onversoenbaarheid met die oorspronklike Amazon API's op.

Die grootste gevaar van Oracle se regsgeding is dat dit kleiner tegnologiemaatskappye kan verhoed om weergawes van stelsels te skep wat versoenbaar is met dominante platforms soos S3. Sonder sulke versoenbaarheid sal programmeerders effektief uitgesluit word van hierdie maatskappy se aanbiedinge.

Bedryfsverteenwoordigers en ontwikkelaars kan net hoop dat die rede hier sal seëvier, en beoordelaars ken die basiese beginsels van programmering.

Bron: will.com

Voeg 'n opmerking