Aiutami a scegliere una licenza Open-Source

4

Quindi ho fatto un sacco di lavoro open-source. Ho rilasciato molti progetti, molti dei quali sono caduti sotto licenza GPL, LGPL o BSD.

Ora ho un nuovo progetto (una libreria di implementazione) e non riesco a trovare una licenza che soddisfi i miei bisogni (anche se credo che uno possa esistere, quindi questa domanda).

Questa è la lista delle cose che sto cercando nella licenza.

  1. Credito appropriato fornito per TUTTI i lavori di utilizzo o derivati.
  2. Nessuna garanzia espressa o implicita.
  3. La libreria può essere liberamente utilizzata in QUALSIASI altro prodotto open source / software libero (indipendentemente dalla licenza, GPL, BSD, EPL, ecc.)
  4. La biblioteca può essere utilizzata in prodotti commerciali / a sorgente chiusa SOLO PER AUTORIZZAZIONE SCRITTA.

GPL - Inutile per me, ovviamente, in quanto preclude completamente qualsiasi utilizzo da parte di tutti i closed-source, violando il requisito (4).

BSD / LGPL / MIT - Non funzionerà, perché non richiederebbero agli sviluppatori closed-source di ottenere il mio permesso, violando il requisito (4). Se non fosse per quello, BSD (FreeBSD in particolare) sembrerebbe una buona scelta qui.

EPL / MPL - Non funzionerà neanche, poiché il codice non può essere combinato con codice GPL, quindi violando il requisito (3). Inoltre sono abbastanza sicuro che consentano lavori commerciali senza chiedere il permesso, quindi non soddisfano nemmeno (4).

La doppia licenza è un'opzione, ma in tal caso, quale combinazione dovrebbe soddisfare tutti e quattro i requisiti?

Fondamentalmente, voglio BSD meno l'uso commerciale, oltre a un'opzione da usare in commerciale / closed-source fintanto che lo sviluppatore ha il mio permesso scritto.

EDIT: Al momento, pensando qualcosa come licenze multiple sotto GPL / LGPL più qualcos'altro per pubblicità?

    
posta Jimmy Hoffa 21.02.2011 - 00:49
fonte

3 risposte

5

I requisiti che fornisci sono contraddittori: il software con licenza BSD può essere utilizzato in software closed-source senza alcun permesso speciale; se vuoi che il tuo codice sia utilizzabile in progetti con licenza BSD, dovrai permetterlo anche per questo.

    
risposta data 21.02.2011 - 00:59
fonte
5

Ricorda che # 4 significa che avrai quasi 0 utenti closed source. A meno che non possa essere utilizzato senza QUALSIASI ostacolo, non finirà in nessun prodotto commerciale / closed source. Praticamente mai.

Il requisito per il permesso scritto significa che qualcuno, da qualche parte, ha bisogno di tracciare che il permesso è stato richiesto, verificare che sia stato ottenuto e quindi mantenere tali informazioni sul file da qualche parte in modo che possa essere consultato successivamente se il progetto / organizzazione è citato in giudizio . In un ambiente aziendale questo lavoro ricadrà nell'ufficio legale, e in qualsiasi azienda normale, sono piuttosto occupati. Quindi nessuno se ne preoccuperà: lavoreranno invece attorno al tuo componente.

Fondamentalmente, il permesso scritto rappresenta un ostacolo all'adozione in progetti / organizzazioni a codice chiuso, e quasi non vale la pena il tempo necessario per superare quel blocco. Soprattutto perché l'unica ragione per cui riuscirai a pensare che vuoi dare il permesso scritto è che intendi estrarre una sorta di pagamento da loro. Che sia il tuo intento o meno è irrilevante - è così che sembrerà, e stanno semplicemente andando altrove per quello di cui hanno bisogno.

Se non vuoi renderlo disponibile a tutti, basta renderlo GPL o qualche altra licenza che chiarisca che è solo per uso open source. Non provare per le mezze misure, ti intrometteranno.

    
risposta data 23.02.2011 - 03:59
fonte
3

La tua scommessa migliore è la doppia licenza sotto GPL (per software non basato sul Web) o AGPL (per il software basato sul web) e una licenza closed-source di tua scelta (che tu concedere come vuoi con scritto il permesso).

Ulteriori dettagli:

I requisiti 1 e 2 (attribuzione e esclusione di garanzia) sono forniti praticamente da qualsiasi licenza.

Il requisito 3 (compatibile con TUTTE le licenze open source) sarà complicato, perché non tutte le licenze open source sono compatibili tra loro. GNU conserva un elenco completo di licenze open source, con note sulla loro compatibilità. Dovresti essere in grado di scegliere una delle licenze GPL-compatibili elencate qui ed essere abbastanza fiducioso che funzionerà con la maggior parte delle licenze open source.

Il requisito 4 (commerciale / closed source solo con permesso) è problematico. La definizione open source vieta di discriminare i campi di attività (ad esempio, l'uso commerciale), quindi una singola licenza che soddisfi tale requisito probabilmente non è open source. Anche la GPL non proibisce l'uso commerciale ("commerciale" e "closed source" non sono sinonimi), quindi se usi la GPL, devi essere preparato per la possibilità delle aziende utilizzo del codice in applicazioni closed-source interne e in bundle con applicazioni closed-source pubblicamente disponibili.

    
risposta data 23.02.2011 - 03:02
fonte

Leggi altre domande sui tag