Sono autorizzato a creare software open source con codice open source?


19

Stavo usando un popolare pacchetto musicale (Ableton Live) quando ho aperto la sezione legale del file della guida e ho visto che il programma conteneva licenze in codice che sembravano sia libere che libere e libere come nella birra. Purtroppo non riesco a trovare una copia online, ma se necessario posso elencare i pacchetti con licenza.

Per quanto posso vedere ci sono 3 possibilità qui:

  1. Una società abbastanza grande sta violando le licenze del codice - altamente improbabile, se fosse così perché dovrebbero includere il testo della licenza?

  2. In realtà è legittimo per qualche motivo addebitare denaro e chiudere la fonte di un pacchetto che contiene codice opensource - questa è sicuramente una novità per me.

  3. Sto fraintendendo qualcosa - altamente probabile.


Facebook ha fatto ...
Dynamic

1
Non scherzo - quale?
Jamesson,

Intendevo che Facebook è scritto su software open source.
Dinamico

Quali progetti?
Jamesson,

# 2 in realtà sembra due diverse possibilità: puoi vendere software open source (anche GPL) e puoi distribuire gratuitamente software chiuso. Caricare denaro e chiudere la fonte sono due cose distinte.

Risposte:


34

Dipende da quale licenza.

Esistono alcune licenze per software libero progettate appositamente per impedire alle persone di fare cose del genere, come GNU GPL. Sono conosciute come licenze "virali", perché i loro termini di licenza si estendono a qualsiasi codice con cui li usi, il che ti impedisce di utilizzare una libreria GPL in un programma non GPL (o compatibile).

Altre licenze riguardano più la condivisione libera del codice che la promozione di una particolare ideologia. Da qualche parte nel mezzo dello spettro, hai la MPL (Mozilla Public License) che non è virale e può essere utilizzata in progetti proprietari, ma i termini della licenza richiedono che il codice MPL stesso rimanga coperto dalla MPL e che qualsiasi le modifiche (come miglioramenti, correzioni di bug, porte, ecc.) apportate al codice MPL devono essere pubblicate liberamente. L'idea qui è "ottieni questo codice liberamente, quindi se lo migliori, dovresti contribuire con i tuoi miglioramenti alla comunità come pagamento".

E all'estremità dello spettro sono le licenze completamente aperte, come le licenze BSD, MIT e Zlib. Sostanzialmente dicono "questo codice è gratuito per chiunque da usare come vuole". (Con alcune restrizioni, ovviamente, ma non c'è davvero molto da fare per loro.) Le persone che usano queste licenze stanno facendo del loro codice la massima priorità.

Quindi non tutte le licenze per software libero sono uguali. Dai un'occhiata alle licenze che vengono utilizzate qui e quali sono i loro termini, e avrai un'idea migliore del fatto che lo sviluppatore le stia rispettando o meno utilizzandole in un progetto proprietario.

Inoltre, esiste una quarta possibilità: la "società abbastanza grande" avrebbe potuto concedere in licenza il prodotto a condizioni diverse. Una licenza software è progettata per limitare gli utenti del software, non il creatore del software, e non è inaudito per qualcuno rilasciare una libreria open-source in termini di stile GPL e quindi vendere anche licenze commerciali per esso a persone che vogliono usarlo in un progetto proprietario, senza che la loro base di codice sia "infettata" da una licenza virale.


Spot on. La divisione è tra software libero e software aperto. Gratuito come in libertà = GPL. Open (ala "free as in beer") = BSD / Mozilla. Vedi Gratis contro gratuito .
Filippo

3
@Philip. Completamente sbagliato. Tutte le licenze che hai citato (GPL, BSD, MPL) sono libre ("gratis come in libertà"). Tutti tendono anche ad avere l'effetto collaterale di rendere il software liberamente disponibile ("gratuito come nella birra"). Tuttavia, GPL è copyleft , mentre BSD è permissivo . (MPL è da qualche parte nel mezzo, credo.)
TRiG

1
@TRiG L'ultima riga è corretta, tuttavia l'argomento di Stallman è che la GPL è "libera come in libertà", cioè "Libre". La replica del movimento open source era che non volevano licenze virali. Volevano "gratis come nella birra". Ok, esempio: se BSD è "libre", come mai l'OSX di Apple, che è stato costruito da BSD, è ora proprietario? Non mi sembra molto "liberato". BSD era un software open source che Apple ha adottato, ha bloccato (la loro licenza proprietaria) e l'ha definita propria. Potrebbero farlo perché BSD era libero come nella birra. Prendilo? Il link fa un lavoro migliore spiegando.
Filippo

1
@Philip. No, era perché BSD era free libre ed era permissivo, mentre le cose GPL sono free libre e copyleft. La birra gratis non ha nulla a che fare con questo, è solo un inevitabile effetto collaterale del free libre (di solito).
TRiG,

Direi che il codice è visibile, il costo è zero e la licenza è permissiva. Dimentica le cose della birra open libre.
Jiggunjer,

2

Disclaimer : non sono un avvocato. Dal lavoro con gli avvocati in passato, gli sviluppatori di software tendono a indovinare l'intento dei documenti legali e il lavoro di ciò mentre gli avvocati (1) leggono ciò che è scritto e (2) usano le definizioni legali piuttosto che comuni delle parole. Stai attento.

Come ha detto Mason, dipende dalla licenza utilizzata dal software open source. Esistono molti tipi di licenza comuni. La maggior parte consente ad altri di utilizzare il proprio codice purché indennizzi l'autore e includano l'attribuzione (come il contenuto della licenza in un file di aiuto o la finestra di dialogo Informazioni). Le licenze più restrittive possono richiedere ulteriori modifiche anche all'open source (come GPL).

Molte aziende utilizzano componenti open source come parte di software chiuso. Fintanto che il software closed source rispetta i termini della licenza, proprio come farebbe con i componenti commerciali, è utilizzabile.

Se stai cercando di usare questi componenti da solo, ci sono anche altre cose da considerare. Ad esempio, nella frase "Sono autorizzato a creare software a codice chiuso con codice open source?", Dipende da cosa si intende per "con". Il pacchetto utilizza librerie compilate? Sta usando direttamente il codice sorgente? Modifica il codice sorgente o lo include nel tuo? Qualsiasi forma di modifica o mescolanza del codice è molto più complicata dal punto di vista legale o delle licenze.

Inoltre, il codice viene distribuito ai clienti (come eseguito sui loro server, PC o dispositivi mobili) o viene utilizzato in un server nel cloud? La distribuzione del software può essere limitata o limitata. Potrebbero essere applicabili anche altre leggi oltre alla licenza del software, come le restrizioni all'esportazione negli Stati Uniti (anche se penso di andare oltre la domanda ora).

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.