Quali sono i problemi di licenza coinvolti nella disputa java Oracle / Apache?

3

Ho appena iniziato a seguire con interesse la soap opera che coinvolge l'acquisizione di Java da parte di Oracle e il danno della buona volontà che sembra aver generato nella comunità open source. Nello specifico, sto cercando di capire le implicazioni della decisione di Oracle di rifiutare ad Apache una licenza open source per Harmony. Le mie domande:

1) Che cos'è l'armonia comunque? Il loro sito web afferma "Il software Apache Harmony è un runtime Java modulare con librerie di classi e strumenti associati". Com'è diverso da J2SE o J2EE? O l'armonia è simile ad Andriod?

2) Il punto cruciale di questo problema riguarda il Java Technology Compatibility Kit (o TCK) che certifica che l'implementazione è conforme alle specifiche JSR. Se ho capito bene, Oracle si rifiuta di offrire l'accesso gratuito o open source al TCK, negando che progetti come Harmony vengano rilasciati come open source. Perché questo è un grosso problema per Apache? Per esempio. perché non è possibile (o non) rilasciare Harmony con una licenza limitata?

3) Da questo sito è la seguente citazione:

It looks like Oracle’s plan is to restrict deployments of Java implementations in certain markets, particularly on mobile platforms, so that it can monetize its own Java offering in those markets without any competition.

Presumibilmente qualsiasi cosa prodotta da Oracle sarebbe soggetta alle stesse restrizioni che sta imponendo agli altri per quanto riguarda le licenze per la tecnologia finale, quindi come potrebbero ottenere un vantaggio competitivo? Senza dubbio distaccato, altri concorrenti come Google o Apache non potrebbero rilasciare piattaforme concorrenti con la stessa licenza di Oracle?

    
posta Chris Knight 10.03.2011 - 13:14
fonte

2 risposte

6

Harmony è la versione pulita di J2SE di Apache senza i problemi di responsabilità di brevetto e una licenza open source amichevole. La verità è che una percentuale significativa dell'attuale stack J2SE è il codice Apache. Ciò include il parser XML (Apache Xerces) e il motore XSLT (Apache Xalan), semplicemente messo in un pacchetto diverso. Tuttavia, ci sono un certo numero di API che sono ingombrate dai brevetti e "OpenJDK" non è proprio così aperto.

Il principale problema che ha causato l'uscita di Apache da parte di JCP è un problema di vecchia data che esisteva prima Oracle ha acquistato Sun. Le regole e i regolamenti JCP richiedono a tutti i partecipanti di fornire suite di test di accettazione e compatibilità a tutti i membri JCP. Sun e successivamente Oracle, hanno rifiutato di farlo per il TCK. In sostanza, hanno dimostrato che il Java Community Process non era né un processo per la comunità né il Comitato esecutivo un comitato di dirigenti (citazione mutuata da un ufficiale Apache - ho dimenticato esattamente quale). In sostanza, la CE non ha richiesto o non potrebbe richiedere a Sun / Oracle di onorare il proprio statuto per il JCP.

A causa di questo problema legale / di processo, Apache Harmony non può essere ufficialmente certificata come JVM conforme. Per tutti i casi ben noti, sono sicuro che sia conforme, ma probabilmente ci sono alcuni casi in cui il team non è a conoscenza che non sono conformi. Lo stack Java è enorme.

Per quanto riguarda il motivo per cui Apache non rilascerà Harmony o qualsiasi altro progetto sotto una licenza limitata, il nome Apache significa qualcosa. Tutti del loro software sono rilasciati sotto la licenza software Apache (ASL), senza eccezioni. La licenza è sia aziendale che amichevole e si impegna a garantire che tutti gli utenti del codice siano liberi da problemi legali e relativi ai brevetti quando utilizzano il codice. Se hanno fatto un'eccezione anche per un progetto, ciò influenza il significato del nome di Apache. È uno dei principi fondamentali che li ha resi di successo fino ad ora.

    
risposta data 10.03.2011 - 14:19
fonte
1

1) Apache Harmony è un tentativo di produrre un'implementazione di Java libera (come nella parola, non come nella birra). Una implementazione di Java è tutto il necessario per eseguire un programma Java, i cui componenti principali sono una Java Virtual Machine e le librerie di classi. J2SE è l'implementazione Java più comune utilizzata, sebbene non sia completamente gratuita. Harmony si propone di consentire la sostituzione di J2SE. Un'analogia (leggermente inesatta) sostituirà un compilatore C proprietario e una libreria standard C fornita forse dal produttore del processore, con gcc e glibc. Fanno esattamente le stesse cose, ma lo fanno interamente con il software libero.

2) Il problema è un atteggiamento "dammi libertà, o dammi morte". Oracle si rifiuta di concedere la licenza TCK perché Apache si rifiuta di limitare l'uso di Harmony a dispositivi non mobili. Tale restrizione sarebbe una violazione della Licenza Apache che, tra le altre cose, garantisce il diritto di utilizzare il software con licenza per qualsiasi scopo. Non conosco l'esatto stato di copyright di Harmony, ma se Apache ha permesso che fosse distribuito con questa restrizione potrebbero violare le licenze - e certamente la fiducia - dei contributori di terze parti, che potrebbero essere stati solo disposti a contribuire a un progetto con licenza di Apache.

Si noti inoltre che il TCK è per molti aspetti un timbro di gomma. Non impedisce a Harmony di funzionare; impedisce solo che venga ufficialmente chiamato Java, in quanto non ha superato tutti i test di compatibilità ufficialmente certificati (sono ciò che definisce ciò che è e non è Java). La situazione è simile a Unix - ci sono molti sistemi operativi simili a Unix là fuori (Linux è il più conosciuto), ma relativamente pochi vanno a discapito di diventare certificati come Unix e quindi di usare i marchi Unix.

3) Oracle possiede la maggior parte dei marchi Java, copyright ecc. in modo che possano fare tutto ciò che vogliono con loro e ciò include l'impostazione di requisiti di licenza irragionevoli che Oracle non ha intenzione di soddisfare.

    
risposta data 10.03.2011 - 14:22
fonte

Leggi altre domande sui tag