La GPL non è abbastanza per rendere un software gratuito come nella libertà di parola?

2

Sfondo

Ho letto persone che ribattono il fatto che un certo software è gratuito come in una parola, anche quando è concesso in licenza in GPL.

Alcuni dicono che Java non è gratuito perché per ottenere una certificazione professionale devi ottenerlo da Oracle.

Alcuni dicono che Java JDK non è libero da ridistribuire.

Alcune persone dicono che openJDK non è gratuito o aperto.

Ma Java è ufficialmente GPL.

Domande

  1. GPL non significa esplicitamente che sei libero di ridistribuire?

  2. La GPL non è sufficiente per rendere un software gratuito come in un discorso gratuito?

  3. In che modo Java può essere sia GPL che non-libero come nella libertà di parola?

  4. C'è qualche licenza che rende veramente un software libero oltre ogni possibile punto di vista del subjetive?

EDIT: non si tratta di nomi o marchi, si tratta del codice.

    
posta Tulains Córdova 13.06.2013 - 15:44
fonte

8 risposte

4

Java è gratuito. Puoi ridistribuirlo secondo la GPL.

Puoi persino forkare Java e distribuirlo. Ma potrebbe non chiamarlo più Java. Dopo la forking è qualcosa di diverso.

BTW IANAL. Chiedi a un avvocato in caso di dubbio.

    
risposta data 13.06.2013 - 15:52
fonte
12

"Gratis" è una parola vagamente definita, e non troverai mai una definizione con cui assolutamente tutti sono d'accordo.

Nel caso di Java, molti dubbi derivano probabilmente dal fatto che JDK usato sia parzialmente chiuso - il progetto OpenJDK è stato avviato solo nel 2006. Alcune delle cose che leggi potrebbe provenire da prima.

Con OpenJDK con licenza GLP che ora è l'implementazione di riferimento, Java è diventato molto più "libero" di quanto fosse, probabilmente "abbastanza" abbastanza per la maggior parte delle persone.

Ma rimangono due punti deboli:

  • La suite di test che certifica la compatibilità di un'implementazione alternativa con gli standard Java è non GPL - è sotto una licenza molto restrittiva che non ti permette nemmeno di eseguire il codice a meno che la tua implementazione non sia derivata da OpenJDK.
  • La causa sui brevetti di Oracle contro Google su Android Dalvik VM ha dato un sacco di dubbi alle persone sull'impegno di Oracle a "libertà". Avere il codice sotto GPL non significa molto quando l'adattamento può violare i brevetti.
risposta data 13.06.2013 - 16:02
fonte
6

La GPL è "libera" per alcune definizioni della parola "libero". Una delle principali limitazioni è che sei non libero di fare la cosa sbagliata - non puoi semplicemente prendere un bel po 'di codice GPL, incorporarlo in un programma che non è sotto licenza GPL-compatibile, e rilascia il risultato come software proprietario.

Questo non è veramente "libero" e, al fine di garantire che il codice GPL rimanga sotto la GPL, è necessario imporre questa restrizione all'utente. Questo non è inteso come critica della GPL (anche se potrebbe essere vista come una critica), ed è qualcosa che la FSF ammette apertamente (ad esempio vedere il testo della GPL stessa) anche se usano una formulazione diversa da quella che ho scelto qui.

L'unica vera licenza software "gratuita" - compresa la totale libertà di fare cose cattive con esso se lo desideri - è di dominio pubblico o equivalente.

    
risposta data 13.06.2013 - 21:30
fonte
2

Essere GPL significa che:

  • Chiunque può creare un fork, ovvero una modifica, al codice "originale".
  • Chiunque distribuisca una versione modificata deve accreditare gli autori originali
  • Chiunque distribuisca una versione binario modificata deve anche distribuire il codice sorgente di quella versione binaria a chiunque lo abbia dato / venduto.
  • Ulteriori dettagli

Questo è qualcosa di molto diverso dai marchi , qualcosa che è il nome Java. Quel marchio appartiene a Oracle, quindi nessun altro può distribuire un prodotto simile (anche se basato sulle stesse fonti) e chiamarlo "Java". "OpenJava", "FreeJava" e "JavaTheLanguageNotTheCoffee" dovrebbero andare bene.

[Dichiarazione di non responsabilità 12 pagine IANAL]

    
risposta data 13.06.2013 - 15:56
fonte
2

Usciamo dall'esempio Java e concentriamoci sul software GPL in generale.

Un problema con GPlv2 è il problema del brevetto. Un software non è veramente gratuito quando non è possibile utilizzarlo senza violare un brevetto software. La GPLv3 risolve questo problema.

Un altro problema si verifica nel contesto di applicazioni client / server o applicazioni che girano "in the cloud" ™ su una macchina che l'utente finale accede in remoto. Ora che sempre più computer vengono distribuiti, questo diventa un problema reale. Un sacco di tipiche applicazioni desktop si spostano sul browser Web e la vendita dell'accesso remoto ai sistemi desktop virtualizzati diventa un modello aziendale valido. Sebbene in questi casi l'utente finale utilizzi il software, la GPL non richiede alcuna riluttanza, poiché il software viene eseguito da qualche altra parte e in realtà non ricevono una copia del software.

C'è la Affero GPL che risolve questo problema aggiungendo una clausola alla GPL che garantisce lo stesso diritto a chiunque utilizzi il software su una rete .

    
risposta data 14.06.2013 - 13:18
fonte
1

Hanno la GPL'a openJDK e la loro licenza per JavaSE (JRE e SDK, che è tecnicamente Oracle JDK per differenziarlo).

OpenJDK è gestito da Oracle e segue perfettamente gli sviluppi su JavaSE.

Quindi ... sì, openJDK è gratuito come nella libertà di parola. E sei perfettamente libero di prendere quel codice, forchettarlo e rilasciare la tua versione migliore di Java. Dimmi, la versione di Libre. Ma a meno che non ci fosse uno scisma, nessuno lo userebbe e sarebbe appassire e morire. Perché tutti usano Oracle's Java e Oracle sta guidando la barca.

Anche se la licenza è un'opzione perfettamente libera, è necessario considerare le politiche coinvolte. Prendi OpenOffice per esempio. Un progetto aperto, woo. Ma poi Oracle ha acquistato Sun, ha assunto il progetto e ad alcune persone non è piaciuto dove stessero dirigendo le cose. E poiché è un progetto open source, si sono divisi, rendono LibreOffice , e il mondo è andato avanti.

Anche con una licenza legalmente aperta e libera devi ancora piegare quel muscolo ogni tanto. C'è una strong somiglianza con le libertà e i diritti in generale. Essere aperti e liberi ti permette di fare ciò che vuoi con Java, ma ciò non significa che stai per rompere la presa di Oracoli. Oracle controlla Java, nonostante qualunque licenza di qualsiasi versione abbia.

    
risposta data 13.06.2013 - 16:17
fonte
1

Libertà di parola: posso scrivere un libro e addebitare denaro per questo. Il mio intervento è protetto da copyright. Ho la libertà di parlare, ma ho anche la libertà di addebitare alle persone di usare le mie parole. GPL toglie questa seconda opzione (in qualche modo - l'analogia non è perfetta)

La GPL rende difficile vendere software. Qualsiasi software che crei usando le librerie GPL, devi distribuire come GPL. Sto facendo un gioco commerciale, cercando di avviare un'attività indipendente. I giochi sono venduti. Se utilizzo una libreria GPL nel mio gioco (per esempio, per una piccola risoluzione dell'URL o per il caricamento di file PNG), il codice sorgente dell'intero progetto deve essere distribuito gratuitamente. Posso ancora caricare il mio gioco ... ma chiunque altro potrebbe compilare il mio gioco e venderlo (se sostituisce l'arte e cambia il nome del gioco). Questo non va bene, e rende il software GPL non adatto a me.

Ho ricevuto che le modifiche al codice GPL stesso dovrebbero essere rilasciate, ma sono strongmente in disaccordo sul fatto che il mio intero progetto di gioco debba essere forzato ad usare la GPL perché 0,01 % di esso si basa su una libreria coperta dalla GPL.

LGPL risolve questo problema (se si collega dinamicamente), quindi sono strongmente a favore del codice LGPL.

Penso che GPL vada bene per interi progetti , non mi interessa usare un programma artistico GPL, ad esempio. Ma immagina se l'uso di quel programma artistico forzasse l'arte che hai creato per diventare una licenza Creative Commons (per fortuna non lo fanno). E immagina di provare a guadagnarti da vivere vendendo la tua arte. Renderebbe quel programma artistico inutilizzabile. Questo è ciò che le librerie GPL fanno al tuo codice.

GPL = Bene per interi progetti, assolutamente orribile per le librerie (a meno che tu non voglia che le tue librerie vengano utilizzate per progetti commerciali).

LGPL = Perfetto per le biblioteche, non eccezionale per interi progetti (a seconda dei desideri del progetto).

GPL è progettato per favorire il movimento open source, infettando viralmente qualsiasi cosa che usi GPL per far diventare GPL anche il codice che usa. È troppo impegnativo LGPL è progettato per costringerti a condividere le modifiche a qualcosa fatto da qualcun altro (buono), ma ti permette di usare quel qualcosa per creare qualcosa di nuovo, e ti consente comunque di mantenere il controllo della nuova cosa che hai creato.

    
risposta data 14.06.2013 - 18:49
fonte
0

Oracle detiene il copyright per il codice sorgente di Java portato da Sun e ad altri contributori open source è richiesto di firmare Accordo per i collaboratori che garantisce a Oracle lo stesso copyright sul codice fornito.

Ecco perché Oracle può rilasciarne una versione proprietaria. Altri possono aprire forkJDK, ma i "forkers" sono limitati con la licenza di GPL 2 poiché non detengono il copyright, Oracle lo fa.

    
risposta data 14.06.2013 - 13:56
fonte

Leggi altre domande sui tag