Oracle stessa ha copiato l'API da Amazon S3 e questo è del tutto normale

Oracle stessa ha copiato l'API da Amazon S3 e questo è del tutto normale
Gli avvocati di Oracle paragonano la reimplementazione dell'API Java in Android alla copia del contenuto di “Harry Potter”, pdf

La Corte Suprema degli Stati Uniti esaminerà un caso importante all’inizio di quest’anno. Oracle contro Google, che determinerà lo status giuridico dell'API ai sensi del diritto sulla proprietà intellettuale. Se la corte si schierasse con Oracle nella sua causa multimiliardaria, potrebbe soffocare la concorrenza e consolidare il dominio dei giganti della tecnologia, forse inclusa la stessa Google.

Allo stesso tempo, l'attività di Oracle è stata inizialmente basata sull'implementazione del linguaggio di programmazione SQL sviluppato da IBM, e anche adesso l'azienda offre un servizio cloud con un'API di Amazon S3, e questo è del tutto normale. La reimplementazione delle API è stata una parte naturale dello sviluppo dell’informatica sin dagli albori del settore.

Oracle accusa Google di aver copiato illegalmente l'API Java, incluso un elenco di comandi denominati legati a strutture grammaticali. Il sistema operativo Android è specificamente compatibile con l'API Java per facilitare ai programmatori Java il trasferimento di software e conoscenze sulla nuova piattaforma. Per fare ciò, Android ha copiato esattamente i comandi API Java e le strutture grammaticali corrispondenti. argomento Oracle ritiene che tale "reimplementazione" dell'API Java possa essere paragonata alla copia del lavoro di un autore, come il romanzo letterario "Harry Potter" (questo un esempio reale fornito dagli avvocati di Oracle), e Google viola il copyright di Oracle sui nomi e sulle strutture dei comandi API Java.

Ma le API Java non sono le uniche API e Android non è l'unica reimplementazione. Nell’odierno settore IT, le API sono onnipresenti e la loro reintroduzione è fondamentale per mantenere la concorrenza ed evitare che le grandi aziende monopolizzino suddetto Charles Duane è direttore della politica tecnologica e dell'innovazione presso l'R Street Institute.

Duane fa l'esempio della popolare piattaforma di storage Amazon S3. Per consentire la scrittura e il recupero di file da S3, Amazon ha sviluppato una soluzione completa, API dettagliata per interagire con il servizio. Ad esempio, per ottenere un elenco dei file salvati (Elencooggetti) inviamo un comando GET specificando i parametri host e tipo tipo di codifica, token di continuazione и x-amz-data. Per funzionare con Amazon S3, il software deve utilizzare esattamente questi e molti altri nomi di parametri specifici.

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 è il leader indiscusso nel mercato dei servizi cloud e i suoi concorrenti offrono reimplementazioni dell'API S3, mentre devono imitare nomi di comandi, tag di parametri, prefissi di tipo x-amz, struttura grammaticale e organizzazione generale dell'API S3. In altre parole, tutto ciò che Oracle afferma è protetto da copyright.

Tra le aziende che offrono una copia dell'API Amazon S3 ci sono c'è anche Oracle stesso. Per compatibilità, l'API di compatibilità Amazon S3 copia numerosi elementi dell'API Amazon, fino ai tag x-amz.

Oracle stessa ha copiato l'API da Amazon S3 e questo è del tutto normale

Oracle sostiene che la legalità delle sue azioni si basa sulla licenza open source Apache 2.0, che consente la copia e la modifica gratuita del codice. Per esempio, SDK Amazon per Java viene fornito anche con una licenza Apache 2.0.

Ma la domanda è se la legge sulla proprietà intellettuale si applica anche a cose come le API. Questo è ciò che dovrà stabilire la Corte Suprema.

Chi ha inventato l'API?

Il termine e il concetto di "libreria di subroutine" sono apparsi per la prima volta nel libro Planning and Coding Problems for an Electronic Computing Instrument - Part II, Volume III (Princeton University Institute of Advanced Study, 1948) di Herman Goldstein e John von Neumann. copia su archive.org. Contenuto del terzo volume:

Oracle stessa ha copiato l'API da Amazon S3 e questo è del tutto normale

Questa è la prima descrizione di una metodologia di programmazione per computer che memorizza i programmi in memoria (prima non esisteva). Fu ampiamente distribuito alle università, che a quel tempo stavano cercando di creare i propri computer. E, cosa più importante, il libro contiene un'idea chiave: la maggior parte dei programmi utilizzerà operazioni comuni e le librerie con routine ridurranno la quantità di nuovo codice e di errori. Questa idea fu ulteriormente perfezionata da Maurice Wilkes e messa in pratica nella macchina EDSAC, per la quale ricevette il Premio Turing nel 1967.

Oracle stessa ha copiato l'API da Amazon S3 e questo è del tutto normale
La libreria delle subroutine EDSAC è sulla sinistra

Il passo successivo fu quello di creare funzioni di ordine superiore e interfacce software complete, come fecero Maurice Wilkes e David Wheeler in Preparing Programs for the Electronic Digital Computer (1951).

Il termine Interfaccia del programma applicativo (API) è apparso da qualche parte alla fine degli anni '60.

Autore della presentazione "Una breve storia soggettiva dell'API" Joshua Block fornisce diversi esempi di interfacce di programmazione, set di istruzioni e librerie di subroutine: come sono stati creati e successivamente utilizzati. L'idea è che il riutilizzo sia lo scopo di un'API. Questo è il motivo per cui sono stati creati in primo luogo. E gli sviluppatori hanno sempre avuto l'opportunità di copiare e rifare le API di altre persone:

API
Creatore
anno
Reimplementazione
anno

Biblioteca FORTRAN
IBM
1958
Univac
1961

IBM S/360ISA
IBM
1964
Amdahl Corp.
1970

Libreria C standard
AT&T/Bell Labs
1976
Mark Williams Co.
1980

Chiamate di sistema Unix
AT&T/Bell Labs
1976
Mark Williams Co.
1980

VT100 Esc Seq
Dicembre
1978
Heathkit
1980

BIOS del computer IBM
IBM
1981
Tecnologie Phoenix
1984

CLI di MS-DOS
Microsoft
1981
Progetto FreeDOS
1998

Set di comandi Hayes AT
Hayes Micro
1982
Automazione dell'ancora
1985

PostScript
Adobe
1985
GNU/GhostScript
1988

SMB
Microsoft
1992
Progetto Samba
1993

Win32
Microsoft
1993
Progetto Vino
1996

Librerie di classi Java 2
Dom.
1998
Google/Android
2008

API Web deliziosa
Delizioso
2003
Bacheca
2009

Fonte: "Una breve storia soggettiva dell'API"

Copiare e riutilizzare le API (librerie, set di istruzioni) non solo è corretto, ma questa metodologia di programmazione è direttamente raccomandata nei canoni dell'informatica. Anche prima di copiare le interfacce di programmazione S3, Oracle stessa lo ha fatto molte volte. Inoltre, l'attività di Oracle è stata inizialmente basata sull'implementazione del linguaggio di programmazione SQL sviluppato da IBM. Il primo prodotto di punta di Oracle è stato un DBMS, in gran parte copiato da IBM System R. In questo caso, stiamo parlando della reimplementazione di SQL come "API standard" per un DBMS.

Imporre diritti di proprietà intellettuale sulle API può creare un campo minato legale che colpisce tutti. Le API implementano e altri servizi cloud. Molti standard tecnici, come i protocolli Wi-Fi e Internet, includono API. Le interfacce di programmazione sono necessariamente reimplementate in qualche forma su ogni computer e server su Internet. La teoria del copyright di Oracle può rendere illegale quasi tutto ciò che fai con il tuo computer.

Per evitare queste conseguenze di vasta portata, Oracle e la corte d'appello che ha accolto le sue argomentazioni hanno tentato di limitare la violazione del copyright a determinate reimplementazioni dell'API che sono "incompatibili" con l'originale. Ma anche reimplementazioni parziali sono comuni. Anche nella sua copia dell'API S3, Oracle rileva numerose "differenze" e incompatibilità con le API Amazon originali.

Il pericolo principale della causa legale di Oracle è che potrebbe impedire alle aziende tecnologiche più piccole di creare versioni di sistemi compatibili con piattaforme dominanti come S3. Senza tale compatibilità, i programmatori saranno effettivamente esclusi dalle offerte di questa azienda.

I rappresentanti del settore e gli sviluppatori possono solo sperare che qui prevalga la ragione, e i giudici conoscono le basi della programmazione.

Fonte: habr.com

Aggiungi un commento