Oracle mem kopiis la API de Amazon S3, kaj ĉi tio estas tute normala

Oracle mem kopiis la API de Amazon S3, kaj ĉi tio estas tute normala
Oracle-advokatoj komparas la reefektivigon de la Java API en Android kun kopiado de la enhavo de "Harry Potter", pdf

La Usona Supera Kortumo aŭskultos gravan kazon frue ĉi-jare. Orakolo kontraŭ Guglo, kiu determinos la juran statuson de la API laŭ leĝo pri intelekta proprieto. Se la tribunalo flankoj kun Oracle en sia multmiliard-dolara proceso, ĝi povus sufoki konkuradon kaj cementi la regadon de teknologiaj gigantoj, eble inkluzive de Guglo mem.

Samtempe, la komerco de Oracle estis komence konstruita sur la efektivigo de la SQL-programlingvo disvolvita de IBM, kaj eĉ nun la kompanio ofertas nuban servon kun API de Amazon S3, kaj ĉi tio estas tute normala. API-reefektivigo estis natura parto de la evoluo de komputiko ekde la komenco mem de la industrio.

Oracle akuzas Guglon je kontraŭleĝe kopiado de la Java API, inkluzive de listo de nomitaj komandoj ligitaj al gramatikaj strukturoj. La Android-operaciumo estas specife kongrua kun la Java API por faciligi al Java-programistoj transdoni programaron kaj scion al la nova platformo. Por fari tion, Android ĝuste kopiis la respondajn Java API-komandojn kaj gramatikajn strukturojn. argumenton Orakolo estas ke tia "re-efektivigo" de la Java API povas esti komparita kun kopiado de verko de aŭtoro, kiel la literatura romano "Harry Potter" (ĉi tiu vera ekzemplo donita de Oracle-advokatoj), kaj Guglo malobservas la kopirajton de Oracle pri komandnomoj kaj strukturoj de Java API.

Sed Java API-oj ne estas la solaj API-oj, kaj Android ne estas la sola reefektivigo. En la hodiaŭa IT-industrio, APIoj estas ĉieaj, kaj reenkonduko estas fundamenta por konservi konkurencon por malhelpi grandajn firmaojn monopoligi. pensas Charles Duane estas direktoro de teknologio kaj novigadopolitiko ĉe la R Street Institute.

Duane donas la ekzemplon de la populara stokado platformo Amazon S3. Por ebligi skribi kaj preni dosierojn de S3, Amazon evoluigis ampleksan, detala API por interagi kun la servo. Ekzemple, por ricevi liston de konservitaj dosieroj (ListoObjektoj) ni sendas komandon GET specifantan la gastigantajn kaj tajpparametrojn kodo-speca, daŭrigo-ĵetono и x-amz-dato. Por labori kun Amazon S3, la programaro devas uzi ĉi tiujn kaj multajn aliajn specifajn parametrajn nomojn ĝuste.

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 estas la klara gvidanto en la merkato de nubaj servoj, kaj ĝiaj konkurantoj ofertas reefektivigojn de la S3 API, dum ili devas imiti komandnomojn, parametrajn etikedojn, tajpi prefiksojn. x-amz, gramatika strukturo kaj ĝenerala organizo de la S3 API. Alivorte, ĉio, kion Oracle asertas, estas kopirajtigita.

Inter la kompanioj ofertantaj kopion de la Amazon S3 API estas ekzistas ankaŭ Orakolo mem. Por kongruo, la Amazon S3-Kongruo-API kopias multajn elementojn de la Amazon-API, ĝis la x-amz-etikedoj.

Oracle mem kopiis la API de Amazon S3, kaj ĉi tio estas tute normala

Oracle asertas, ke la laŭleĝeco de ĝiaj agoj baziĝas sur la malfermfonta licenco Apache 2.0, kiu permesas senpagan kopiadon kaj modifon de kodo. Ekzemple, Amazon SDK por Java ankaŭ venas kun licenco Apache 2.0.

Sed la demando estas ĉu la leĝo pri intelekta proprieto eĉ validas por aferoj kiel APIoj. Jen kion la Supera Kortumo devas determini.

Kiu inventis la API?

La esprimo kaj koncepto de "subrutina biblioteko" unue aperis en la libro Planning and Coding Problems for an Electronic Computing Instrument - Part II, Volume III (Princeton University Institute of Advanced Study, 1948) de Herman Goldstein kaj John von Neumann. kopiu en archive.org. Enhavo de la tria volumo:

Oracle mem kopiis la API de Amazon S3, kaj ĉi tio estas tute normala

Ĉi tiu estas la unua priskribo de programa metodo por komputiloj, kiu konservas programojn en memoro (antaŭe tio ne ekzistis). Ĝi estis vaste distribuita al universitatoj, kiuj en tiu tempo provis krei siajn proprajn komputilojn. Kaj plej grave, la libro enhavas ŝlosilan ideon: plej multaj programoj uzos komunajn operaciojn, kaj bibliotekoj kun rutinoj reduktos la kvanton de nova kodo kaj eraroj. Tiu ideo estis plue rafinita fare de Maurice Wilkes kaj metita en praktikon en la EDSAC-maŝinon, por kiu li ricevis la 1967-datita Premion Turing.

Oracle mem kopiis la API de Amazon S3, kaj ĉi tio estas tute normala
La EDSAC-subrutina biblioteko estas maldekstre

La venonta paŝo estis krei pli alt-ordajn funkciojn kaj plenkreskajn softvarinterfacojn, kiel Maurice Wilkes kaj David Wheeler faris en Preparing Programs for the Electronic Digital Computer (1951).

Termino mem Interfaca Programo (API) aperis ie en la malfruaj 60-aj jaroj.

Aŭtoro de la prezento " Mallonga Subjektiva Historio de API " Joshua Block donas plurajn ekzemplojn de programaj interfacoj, instrukcioj kaj subrutinaj bibliotekoj: kiel ili estis kreitaj kaj poste uzitaj. La ideo estas, ke reuzo estas la celo de API. Jen por kio ili estis kreitaj unue. Kaj programistoj ĉiam havis la ŝancon kopii kaj refari la API de aliaj homoj:

API
kreinto
Jaro
Reefektivigo
Jaro

Biblioteko FORTRAN
IBM
1958
Univac
1961

IBM S/360 ISA
IBM
1964
Amdahl Corp.
1970

Norma C Biblioteko
AT&T/Bell Labs
1976
Mark Williams Co.
1980

Unikso-sistemaj vokoj
AT&T/Bell Labs
1976
Mark Williams Co.
1980

VT100 Esc Seqs
DEC
1978
Heathkit
1980

IBM PC BIOS
IBM
1981
Phoenix Technologies
1984

MS-DOS CLI
microsoft
1981
Projekto FreeDOS
1998

Hayes AT komandaro
Hayes Micro
1982
Ankora Aŭtomatigo
1985

PostScript
adobo
1985
GNU/GhostScript
1988

SMB
microsoft
1992
Samba Projekto
1993

Win32
microsoft
1993
Vina Projekto
1996

Java 2 klasaj bibliotekoj
suno
1998
Google/Android
2008

Retejo API Delicious
Bongusta
2003
Pinboard
2009

fonto: " Mallonga Subjektiva Historio de API "

Kopiado kaj reuzo de API-oj (bibliotekoj, instrukcioj) estas ne nur ĝustaj, sed ĉi tiu programa metodo estas rekte rekomendita en la kanonoj de komputiko. Eĉ antaŭ kopii S3-programajn interfacojn, Oracle mem faris tion multfoje. Krome, la komerco de Oracle estis komence konstruita sur la efektivigo de la SQL-programlingvo evoluigita fare de IBM. La unua ĉefa produkto de Oracle estis DBMS, plejparte kopiita de IBM System R. En ĉi tiu kazo, ni parolas pri la reefektivigo de SQL kiel "norma API" por DBMS.

Trudi rajtojn pri intelekta proprieto al API-oj povas krei leĝan minkampon, kiu influas ĉiujn. API-interfacoj efektivigas kaj aliaj nubaj servoj. Multaj teknikaj normoj, kiel Wi-Fi kaj Interretaj protokoloj, inkluzivas APIojn. Programaj interfacoj estas nepre re-efektivigitaj en iu formo sur ĉiu komputilo kaj servilo en la Interreto. La kopirajta teorio de Oracle povas igi preskaŭ ĉion, kion vi faras per via komputilo, kontraŭleĝa.

Por eviti ĉi tiujn ampleksajn sekvojn, Oracle kaj la apelacia kortumo kiu konfirmis ĝiajn argumentojn provis limigi kopirajto-malobservon al certaj API-reefektivigoj kiuj estas "malkongruaj" kun la originalo. Sed ankaŭ partaj reefektivigoj estas ordinaraj. Eĉ en ĝia kopio de la S3 API, Oracle notas multajn "diferencojn" kaj nekongruojn kun la originaj Amazon-APIoj.

La ĉefa danĝero de la proceso de Oracle estas, ke ĝi povus malhelpi pli malgrandajn teknologiajn kompaniojn krei versiojn de sistemoj kongruaj kun dominaj platformoj kiel S3. Sen tia kongruo, programistoj estos efike forŝlositaj de la proponoj de ĉi tiu kompanio.

Industriaj reprezentantoj kaj programistoj povas nur esperi, ke racio regos ĉi tie, kaj juĝistoj konas la bazojn de programado.

fonto: www.habr.com

Aldoni komenton