Quanto ha successo GPL nel raggiungere i suoi obiettivi? [chiuso]


16

Esistono, in linea di massima, due tipi di licenze FOSS in relazione all'uso commerciale del codice: diciamo il tipo GPL e il tipo BSD. Il primo è, in linea di massima, restrittivo sull'uso commerciale (per utilizzo intendo anche modifica e ridistribuzione, nonché creazione di opere derivate, ecc.) Del codice sotto licenza, e il secondo è molto più permissivo.

A quanto ho capito, l'idea alla base delle licenze di tipo GPL è di incoraggiare le persone ad abbandonare il modello di software proprietario e invece a convertirsi nel codice FOSS, e la licenza è lo strumento per invogliarli a farlo - vale a dire "puoi usare questo bel software , ma solo se accetti di venire nel nostro campo e di rispettare le nostre regole ".

Quello che voglio chiedere è: questa strategia ha avuto successo finora? Cioè ci sono risultati importanti sotto forma di alcuni grandi progetti che vanno da chiusi ad aperti a causa della GPL o di alcuni software che vengono sviluppati all'aperto solo perché GPL l'ha reso così? Quanto è grande l'impatto di questa strategia - rispetto, diciamo, al mondo in cui tutti avrebbero licenze di tipo BSD o rilascerebbero tutto il codice open source di dominio pubblico?

Si noti che non sto chiedendo se il modello FOSS ha successo - questo è fuori discussione. Quello che sto chiedendo è se il modo specifico di invogliare le persone a convertirsi da proprietario a FOSS usato dal tipo GPL e non usato dalle licenze di tipo BSD ha avuto successo. Inoltre non chiedo i meriti di GPL stesso come licenza - solo per il fatto della sua efficacia.


4
La GPL non applica restrizioni sull'uso. È solo la distribuzione a cui fa delle restrizioni.
whatsisname

1
Il contrasto dovrebbe essere con software proprietario, non commerciale. Un sacco di commercio in corso con software libero.
Lars Wirzenius,

2
˙sı ʇı ʇɐɥʍ uo ɹǝƃuıɟ ʎɯ ʇnd ǝʇınb ʇ, uɐɔ ı ʇnq 'uǝʇʇıɹʍ sɐʍ ן dƃ ǝɥʇ uǝɥʍ ɯoɹɟ ʇuǝɹǝɟɟıp sɯǝǝs p ןɹ oʍ ǝɥʇ ʇnoqɐ ƃuıɥʇǝɯos
Tim Post

Risposte:


10

Innanzitutto, c'è una soggettività intrinseca nella domanda: non c'è modo di saperlo con certezza e la storia può essere interpretata in entrambi i modi. Questo è un vecchio dibattito e uno dei temi centrali del dibattito open source vs software libero. Devi anche definire cosa intendi raggiungendo i suoi obiettivi. È difficile sostenere che GPL e FSF non abbiano contribuito a rendere l'open source un movimento significativo degli ultimi 2-3 decenni. Tuttavia, non ha raggiunto i suoi obiettivi di tutto il codice come software libero.

Il punto di forza dei software GPL è ovviamente Linux e tutto ciò che proviene da FSF (gcc, ecc ...). È interessante notare che, per Linux, la GPL non è stata scelta per la sua posizione politica, ma a causa dell'idea di reciprocità, come affermato più volte da Linus Torvald. Ti do il mio codice, ma devi darmi il tuo in cambio se usi il mio.

Per quanto riguarda Linux stesso, penso che la GPL sia stata molto preziosa - un esempio recente è BTRFS, il nuovo fs sviluppato all'interno di Oracle. Il principale autore di BTRFS ha dichiarato che l'unica ragione per cui Oracle ha concordato di utilizzare GPL è perché non aveva scelta. La domanda più grande è se Linux stesso ha avuto successo perché o nonostante la GPL. Vari fattori come l'incredibile leadership di Linus, i problemi di copyright per il progetto * BSD in quel momento, ecc ... rendono impossibile l'ipotesi / la confutazione dell'ipotesi.

Per gcc, Stallman ha scritto più volte perché la GPL ha salvato il progetto contro la "propietarizzazione".


3
Stallman ha scritto diverse cose geniali. Ha anche scritto diverse cose che hanno una dubbia connessione con la realtà. Affermare che la GPL ha salvato gcc contro la "titolarizzazione" non lo rende necessariamente così.
SOLO IL MIO OPINIONE corretta il

certo, ma questo è vero per qualsiasi affermazione che farai su questo argomento - alla fine, dipenderà dalla tua opinione in merito. Non penso che ci possa mai essere una risposta definitiva, soprattutto perché le ramificazioni della domanda sono di natura ideologica (sia per le licenze GPL che BSD / MIT).
David Cournapeau,

L'esempio di Oracle è valido, grazie. Per quanto riguarda il successo di Linux, ho i miei dubbi sul fatto che GPL abbia avuto molta importanza poiché ci sono esempi evidenti di sistemi operativi con licenza BSD. Sono in qualche modo meno popolari, ma dubito fortemente che GPL sia la ragione. Per quanto riguarda gcc, non sono sicuro di cosa significhi esattamente "proprietà" qui, ma Intel ha i suoi compilatori proprietari (meglio di gcc), quindi se Stallman voleva prevenire questo scenario, avrebbe fallito.
StasM,

Volevo dire che se gcc fosse ad esempio BSD, le persone potrebbero aggiungere i loro miglioramenti senza restituire il codice alla comunità. GCC è (è stato) scritto in un modo come estenderlo senza integrarlo con l'API privata è stato difficile prevenirlo ( gcc.gnu.org/wiki/GCC_Plugins ).
David Cournapeau,

18

Direi che le licenze senza restrizioni come le licenze BSD, MIT e Apache hanno fatto molto di più per promuovere FOSS di quanto non abbia fatto la GPL.

Esempi:

  • Castle Project,
  • jQuery,
  • SQLite,
  • Apache,
  • Ibernazione e ibernazione,
  • ASP.NET MVC,
  • JSON.ORG,

e molti altri.

La maggior parte delle aziende è troppo diffidente nei confronti della GPL per consentire il codice GPL in qualsiasi luogo vicino al proprio sforzo di sviluppo, a meno che l'azienda stessa non funzioni effettivamente secondo il modello GPL / servizi a valore aggiunto.


5
Non potrei essere più d'accordo.
configuratore

1
Vorrei anche menzionare la licenza LGPL, che affronta alcuni dei problemi con GPL standard: en.wikipedia.org/wiki/LGPL
andre

In che modo una delle precedenti soluzioni promuove l'adozione delle licenze FOSS?
Segna H il

13
Non capisco questa risposta: come mai elencare un paio di progetti dimostra che BSD / MIT ha fatto più di GPL per l'open source? Potresti ottenere un elenco simile per i progetti GPL (linux, gcc, gnome, kde, qt, mysql, emacs, ecc ...) e non proverebbe nulla neanche con GPL.
David Cournapeau,

1
@George: sì, QT è LGPL, non GPL, scusate la confusione. Non penso che cambi il mio punto, però.
David Cournapeau,

8

La GNU GPL ha avuto successo nonostante la sua applicazione FLOSS, non per questo. Le aziende contribuiscono e rilasciano volontariamente il codice in base alla GPL. Non ci sono algoritmi e librerie significativi coperti da esso, che costringerebbero gli sviluppatori commerciali a deproprietarizzare.

Apple fa un buon esempio. Hanno adottato KHTML e lo hanno promosso in WebKit. E hanno rilasciato il codice alla comunità open source. Mentre si potrebbe supporre che ciò sia dovuto al fatto che sono stati costretti dalla LGPL, sembra improbabile. Per Darwin e la zona utente di BSD pubblicano volontariamente il codice. E con LLVM hanno persino avviato un nuovissimo progetto FLOSS. Eppure, ovviamente, Apple rimane in gran parte un fornitore di software proprietario.

Android è simile. Ovviamente il supporto hardware gioca un ruolo importante qui, ma Google avrebbe potuto adottare una base di codice BSD e averlo preso come proprietario. Ma hanno scelto Linux. Quindi contribuiscono volentieri, non perché non esistesse un'alternativa non GPL.

Openoffice è una storia più interessante, perché era davvero proprietaria a un certo punto. Ma ancora una volta, la conversione LGPL è stata volontaria, non necessaria. La licenza di tipo * GPL ha reso possibile in questo caso. Una licenza accademica di tipo BSD non sarebbe stata sufficiente per Sun per rilasciare Openoffice, perché qualcun altro avrebbe potuto essere il proprietario del codice allora. E a questo proposito, GNU * GPL ha avuto successo.

La clausola reciproca / virale non porta direttamente a più codice open source. Ma i produttori di software lo usano a proprio vantaggio quando vogliono, e quindi contribuiscono al pool FLOSS. Eppure la maggior parte dei venditori lo fa in modo indesiderato. Vedo poca differenza tra le licenze in stile BSD e GPL per quanto riguarda l'incoraggiamento di ulteriori contributi al codice.
In conclusione, la GNU GPL ha avuto successo, ma ha anche promosso le licenze in stile BSD / MIT laddove più appropriate. Ma puoi anche semplicemente misurare il successo nella "quantità di codice", che credo sia l'attuale metrica di FSF.


5
Divertente dovresti menzionare Android, dato che ha fatto di tutto per trovare deliberatamente una scappatoia nella GPL che ha permesso loro di rilasciare una piattaforma non modificabile. (Qualcosa che le versioni successive della GPL limitano). Google non condivide assolutamente gli stessi ideali del FSF e il fatto che Android sia il software FOSS è in gran parte irrilevante, perché nessuno ha le risorse per competere con Google sulla propria piattaforma (se avessero la concorrenza di cui preoccuparsi, " ho scelto una soluzione alternativa). Inoltre, Apple non ha avviato LLVM.
Segna H il

@sparkie: è interessante. Proprio ieri ho letto un articolo in cui uno sviluppatore di Google ha sbattuto i venditori di cellulari per bloccare i cellulari contro firmware Android di terze parti. (Anche se non ho dubbi sul fatto che gli sforzi open source di Google siano principalmente di presentazione.)
mario

Non dimentichiamo uno dei più grandi progetti GPL, Linux. Nessuno dei grandi fornitori che hanno aggiunto il loro codice (IBM, Oracle, ecc.) Aveva un'opzione per fork e appropriarsi di un "kernel di livello enterprise avanzato", hanno dovuto renderlo pubblico. Ma probabilmente tali elementi di infrastruttura universale riguardano l'intera area in cui GPL è più utile delle licenze in stile BSD.
9000

3

Guardando The GNU Manifesto , non è chiaro che le aziende convincenti a rilasciare il software FOSS fossero uno degli obiettivi. Ecco una citazione:

Per poter continuare a utilizzare i computer senza disonore, ho deciso di mettere insieme un corpus di software libero sufficiente per poter andare d'accordo senza software non libero.

Se guardiamo solo a quell'obiettivo, allora il progetto GNU è ampiamente riuscito. Abbiamo un sistema operativo GPL, una suite per ufficio, database e molte altre applicazioni che possono essere liberamente modificate e ridistribuite.


A quanto ho capito, l'obiettivo finale è quello di rendere il più software possibile libero, e poiché un sacco di software è scritto da entità commerciali, è anche un importante sotto-obiettivo renderlo libero. Se l'obiettivo fosse solo quello di scrivere un corpus di software da utilizzare senza bisogno di software non libero, perché non renderlo di dominio pubblico? Ovviamente, la natura virale di GPL ha alcuni obiettivi che non sono raggiungibili con la licenza PD o BSD. Quali pensi che siano questi obiettivi?
StasM,

La GPL impedisce la strategia di "abbraccio ed estensione", in modo che qualcuno non possa prendere, ad esempio, Emacs, aggiungere estensioni che diventano così popolari da non poterle vivere e rilasciare il tutto con una licenza proprietaria. Detto questo, il manifesto GNU delinea in modo abbastanza chiaro l'obiettivo della GPL, almeno in origine.
Larry Coleman,

1

Penso che entrambi (licenze di tipo GPL e BSD) siano entrambi importanti per il mondo FOSS. Vedo l'uso della GPL in due gruppi. Uno è il gruppo di sostenitori open source molto coinvolti. Credono che la possibilità di trasformare nuovamente Open-Source in lavoro proprietario danneggerà il mondo OSS. Personalmente penso che non sia questo il grosso problema. PC-BSD (una variante proprietaria BSD) non danneggia la comunità BSD. Il secondo gruppo che adotta la GPL sono grandi aziende. Usano la licenza per mantenere un maggiore controllo sul prodotto (ad esempio per supportare il proprio modello di business). La competizione avrà problemi, per guadagnare soldi con qualcun altro prodotto software con licenza GPL. Quindi la società può stare al passo con la concorrenza, mentre guadagna un buon karma per Open-sourcing è il suo prodotto.


2
dimentichi il terzo campo, che ritengo abbastanza significativo: la reciprocità. Cioè, non ti interessa il software proprietario, ma non vuoi che il tuo codice venga rilasciato come open source da utilizzare in proprietà. GPL te lo dà, BSD no. Questo è il campo in cui mi trovo, almeno.
David Cournapeau,

0

La mia prospettiva personale è quella di uno sviluppatore individuale, non impiegato per un po 'di tempo a causa di disabilità e sperando (o sognando) di essere in grado di guadagnarmi da vivere dall'unica preziosa abilità che ho.

GPL è sempre utilizzato per progetti commerciali. Il problema è ciò che a volte viene definito la sua natura "virale", nel senso che se si utilizza un codice GPL in un progetto, probabilmente è necessario GPL tutto il codice per quel progetto. Alcuni sostengono un'esclusione per il collegamento dinamico. Le FAQ di GPL affermano che il collegamento dinamico ai plug-in è vietato a causa di strutture di dati condivise - http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins. Sembra strano perché ogni applicazione Windows si collega dinamicamente ai componenti di Windows e condivide le strutture di dati con Windows (un'applicazione è per molti versi un plug-in del sistema operativo), ma ci sono app GPL per Windows tra cui molte rilasciate da GNU. Forse questo significa mascherare i puntatori come handle e fare la maggior parte degli accessi tramite le funzioni non conta come condividere le strutture di dati, il che sarebbe una scappatoia che qualsiasi API di plug-in appositamente progettata o libreria collegata dinamicamente potrebbe presumibilmente sfruttare, ma ovviamente un singolo sviluppatore deve giocare in sicurezza su tali problemi.

Comunque, ci sono buone ragioni per la natura "virale" della GPL, ma per un piccolo sviluppatore con un disperato bisogno di guadagnarsi da vivere, questo sembra sospettosamente come dare via il tuo lavoro per niente. Non possiamo fare tutti soldi facendo pagare per il supporto o vendendo libri con efficacia manuale poiché, tra le altre cose, non abbiamo tutti le competenze pertinenti. Inoltre, se il tuo prodotto ha un manuale gratuito inadeguato, il manuale del mondo reale finirà probabilmente per essere Stack Overflow o Superuser o qualsiasi altra cosa - non il tuo manuale a pagamento. E questo presuppone che qualcuno si preoccupi di capirlo.

Da quel punto di vista, le licenze in stile BSD sono molto interessanti. Ammetto che è ipocrita sfruttare altri lavori di provenienza aperta mantenendo chiusi i prodotti risultanti, ma questo deve essere bilanciato con altre questioni.

OTOH, non ho mai rilasciato nulla, aperto o chiuso - almeno non da un mucchio di plugin che ho praticamente reso di dominio pubblico circa dieci anni fa (e come mi hanno insegnato gli anni di esperienza extra, non erano così ben scritti ). Quindi tutto è accademico per me, almeno per il momento.

Tuttavia, ogni volta che guardo una libreria con una licenza in stile GPL, il mio primo pensiero è "se divento dipendente da questo, limiterò le mie opzioni".


Le librerie core di Windows non sono sotto licenza GPL, quindi non è necessario GPL per la tua applicazione se ti colleghi ad esse. Non sono sicuro di quale licenza siano coperti, ma non è quello che dice "La tua applicazione deve essere chiusa se si collega a questo". Il problema è solo quando si collega a una libreria GPL. Le librerie di Windows non sono GPL.
jsternberg,

Il mio punto è che l'applicazione (in effetti un plug-in del sistema operativo) è sotto licenza GPL. Se è vietato scrivere un plug-in GPL per Photoshop non GPL (perché non è possibile rilasciare il sorgente Photoshop), perché non è vietato scrivere un "plug-in" GPL per Windows non GPL? Ad esempio, qualsiasi applicazione da riga di comando viene eseguita su collegamenti dinamici di Windows a DLL come user32.dll e condivide strutture di dati (come minimo, stringhe) con le API di I / O della console. Questo accesso può essere effettuato indirettamente, tramite le API delle librerie standard, ma esistono anche implementazioni delle librerie standard distribuite con licenze GNU.
Steve314,

In realtà - penso che ci siano librerie standard sotto licenze GNU, ma non sono sicuro che ciò significhi GPL.
Steve314,

1
@ Steve314: leggi la GPL con più attenzione. Puoi collegarti a componenti di sistema standard, anche se non ricordo la lingua esatta. La GPL è stata accuratamente progettata per la praticità - praticità nel promuovere una certa visione ideologica, ma la praticità comunque.
David Thornley,

1
@steve: dimentica il collegamento, ecc ... La GPL non si riferisce mai a questo (la LGPL lo fa). GPL afferma che un software derivato deve essere rilasciato sotto GPL, dove il derivato è intenzionalmente lasciato indefinito, anche se l'idea è che se un software non può funzionare senza l'originale senza essere significativamente modificato, è derivato. Se si crea un'applicazione su un sistema operativo, il sistema operativo non è un derivato dell'applicazione (la relazione non è riflettente)
David Cournapeau,

-2

Penso che quando le persone pensano a GPL, pensano negli ideali gnu, in cui il software dovrebbe essere un pensiero libero, in modo che le idee si spargano e che le grandi aziende siano i cattivi perché non lo consentono. Il problema è che il modo di pensare non compra molti programmatori perché vogliono solo programmare i loro contenuti, avere i loro programmi e anche avere la propria vita, che non implica necessariamente software, sotto questo punto di vista BSD e le altre licenze sono molto più attraenti, nello stesso senso in cui Linus è più popolare di Richard Stallman per gli sviluppatori, perché il primo vuole solo fare le sue cose (come molti di noi), mentre l'altro vuole provare a cambiare il mondo intero. Quindi alla fine la GPL è come Mikhail Gorbachev, qualcuno che inizia l'evoluzione ma non è destinato a vederla avere successo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.