Disclaimer : non sono un avvocato. Raccomanderei caldamente di parlarne a uno se si sta considerando un software di licenza, in particolare se si desidera utilizzarlo in un prodotto commerciale ora o in futuro.
Se vuoi che il tuo software sia usato liberamente da tutti, le migliori licenze sono quelle come BSD e MIT . Questi non si assumono alcuna responsabilità per il codice ad eccezione del copyright e consentono la modifica. Le persone e le organizzazioni possono usarlo nei loro prodotti saranno relativamente poco preoccupanti se non includere un'attribuzione e il testo della licenza. Ciò garantirà la massima copertura del codice, ma ti garantirà il minor numero di diritti.
Licenze come Apache , Eclipse e la Licenza di distribuzione e sviluppo comune (CDDL) sono una via di mezzo. Sono più dettagliate e più severe delle licenze MIT e BSD ma pongono meno restrizioni su ciò che l'utente può fare rispetto alla licenza GPU.
Infine, hai licenze come Gnu Public License (GPL) e Licenza pubblica Lascer Gnu . La GPL è particolarmente onerosa perché richiede che qualsiasi modifica sia anche open source. Se vuoi impedire che il tuo prodotto venga utilizzato nel software commerciale, usa GNU.
Prima di scegliere una licenza, considera:
- Possiedo il codice sorgente? Potrebbe essere più difficile rispondere di quanto non appaia prima. Hai copiato un esempio da un sito web? Stai usando altri software open source? Se non possiedi il codice, apri il sourcing potrebbe violare il copyright o altri accordi.
- Il codice sorgente contiene brevetti, segreti commerciali o proprietà intellettuale protettiva? In caso affermativo, aprire il sourcing potrebbe ridurre o eliminare la protezione offerta.
- Ho intenzione di voler vendere questo codice sorgente? Se sì, apri sourcing significa che anche gli altri possono farlo. Il software open source può essere un ottimo modo per ottenere assistenza dalla comunità più ampia, educare gli altri e aiutare i clienti a trovare bug. Può anche chiudere un flusso di entrate ed esporre eventuali difetti di sicurezza nel prodotto. A seconda della licenza, aprire il sourcing di un componente può effettivamente dire "Io vado a fare soldi da servizi o qualcos'altro oltre alla vendita di questo software".
- Sono contento di altre vendite o modifica del codice sorgente? In caso contrario, una licenza più restrittiva come GNU potrebbe essere in ordine. In alternativa, puoi sempre fornire il codice sorgente ai clienti paganti con una licenza che impedisce loro di distribuirli. Forse una licenza personalizzata è in ordine.
Se il tuo codice è un'infrastruttura o no è incidentale. Questa è una decisione commerciale tanto ideologica.
Ricorda che le licenze sono scritte da avvocati e alcuni termini possono avere definizioni specifiche o ambigue. Prendi il termine "distribuzione". Creo un sito Web e il codice è ospitato sui server Web, solo che conta come distribuzione? Un'altra preoccupazione legale circonda il termine "uso" o "integrazione" perché i confini di alcuni moduli non sono chiari.