Come posso creare la mia licenza software? [chiuso]


17

Ho visto numerose licenze per qualsiasi tipo di software come GNU GPL, Licenza BSD, Licenza MIT e LGPL. Qual è il processo per la creazione di una nuova licenza software, ad esempio "Licenza generica di John Doe"?


8
@ Nick. Puoi scrivere il tuo. Ma la probabilità che otterrai ciò che volevi effettivamente specificato nella licenza è scarsa o inesistente (a meno che tu non sia un avvocato). Il linguaggio legale non è banale e complesso e gli avvocati hanno anche esperienza nei buchi del circuito (scusate condizioni specifiche) che in precedenza avevano resistito / fallito in tribunale. Tutte le licenze che hai citato sono state realizzate con cura da team di avvocati esperti (anche se le prime versioni non lo erano).
Martin York,

4
L'unico consiglio che posso dare è di non prendere consigli legali dai programmatori .....
mattnz,

2
Questa è un'ottima domanda Peccato che sia considerato fuori tema.
Jeroen,

1
@MartinYork La lingua legale non è una specie di lingua speciale. In inglese, usano l'inglese per i contratti. Ci sono parole non comunemente usate quando vai su Starbucks che compaiono nei contratti? Certo, ma questo è vero per il "gergo" delle stazioni di servizio. Tuttavia, puoi andare a Starbucks e chiedere loro di riempire un grande serbatoio portatile con un semplice combustibile di energia nera fino a 3,5 $ (supponendo che sia il prezzo per un grande caffè), e sarai perfettamente compreso, senza usare "gergo del caffè"
Andrei,

1
@Andrei non sarei d'accordo. La lingua legale è un sottoinsieme della lingua inglese. L'inglese può essere molto impreciso. Quindi il linguaggio legale nei contratti tende ad usare parole con un significato molto specifico per assicurarsi che non vi siano ambiguità. Come tale, è una buona idea ottenere un esperto di scrittura nello stile corretto.
Martin York,

Risposte:


29
  1. Apri un editor.
  2. Scrivi i termini della licenza.
  3. Salvare il file.
  4. Includi nel progetto.

In generale, questo è tutto. Sul serio.

Non mi credi? Dai un'occhiata alla licenza Don't Be A Dick di Phil Sturgeon (così come alla WTFPL che l'ha ispirata).

Detto questo, è ovvio che le licenze software siano legalmente applicabili , anche se un avvocato le ha scritte (almeno negli Stati Uniti, e dipende quasi interamente dal capriccio del giudice o dall'autorità governativa sul copyright). Più in generale, tuttavia, in qualità di autore del software, sei già coperto dalle leggi sul copyright del tuo paese (supponendo che tu abbia preso le misure necessarie affinché il tuo lavoro sia protetto da copyright; negli Stati Uniti, ciò sta semplicemente realizzando il lavoro).

Si riduce a ciò che si desidera realizzare con la propria licenza, al di sopra e al di là (o al posto delle) leggi sul copyright. Nel caso di tali licenze come la licenza DBaD di Phil, si tratta in gran parte del principio dell'onore e del reciproco rispetto reciproco.

Se vuoi che sia legalmente esecutivo (o almeno hai la possibilità di farlo), come il rilascio di un prodotto di provenienza chiusa, molto probabilmente vorrai parlare con un avvocato. In questo modo, puoi assicurarti che non ci siano scappatoie evidenti e puoi averlo scritto in modo tale che un giudice / partito al governo abbia maggiori probabilità di pronunciarsi a tuo favore nel caso in cui qualcuno lo violi.

EllisLab (la società dietro CodeIgniter) ha una grande spiegazione delle licenze software (e dell'intera settimana di blog sull'argomento, in effetti), sia dal punto di vista legale, sia dal punto di vista di uno sviluppatore FLOSS e del principio di onore che ho menzionato sopra.

(Dichiarazione di non responsabilità: non sono un avvocato, questo non è un consiglio legalmente vincolante, blah, blah, blah. Sono solo uno sviluppatore che ha dovuto fare la punta del piede attorno al campo minato legale che è lo sviluppo di software e le licenze. In caso di dubbi , parla con qualcuno che in realtà è un avvocato, idealmente con un focus su copyright, brevetti e / o licenze.)


1
+1 per aver risposto alla domanda vera e propria e aver fornito il corretto corso d'azione
David Peterman,

1
Mi piace la licenza "Don't be a Dick". È persino meglio del WTFPL.
Robert Harvey,

Vale la pena notare che "Don't be a Dick License" non è assolutamente gratuito / gratuito / "open source".
Dmitry Alexandrov il

16

Rispondi alle seguenti domande per l'utente del tuo software:

  1. Il tuo prodotto è open source, ovvero posso ottenere una copia del codice sorgente?

    • Come posso usare il tuo codice sorgente? Posso copiarlo liberamente nelle mie applicazioni o devo collegarmi al tuo binario? Se utilizzo il tuo codice nella mia stessa applicazione, c'è un limite a quanto del tuo codice posso usare? Devo includere la licenza o l'intestazione di attribuzione nella parte superiore di tutti i file di origine che ridistribuiscono che contengono il codice o nella casella Guida / Informazioni del mio file binario?
  2. Cosa posso fare con il tuo prodotto? Posso usarlo un solo computer? Posso usarlo su più di un computer? Posso ridistribuirlo o rivenderlo?

  3. Se uso il tuo prodotto come parte di un'altra applicazione che scrivo, devo essere anche open-source?

  4. Come garantite il vostro prodotto? Sei legalmente responsabile in caso di problemi?

  5. Quali sono i termini di ridistribuzione? Posso ridistribuire il prodotto come parte di un prodotto che scrivo? Se fornisci la fonte, posso modificare la tua biblioteca e ridistribuire le modifiche e, in tal caso, quali condizioni devo soddisfare?

Studia altre licenze e vedi come hanno risposto a queste domande.


6

In realtà è sorprendentemente simile a quello che fanno gli sviluppatori:

Fornisci a un avvocato (o all'ufficio legale di un grande corp) un elenco di requisiti per ciò che la licenza consente e ciò che non consente (ad esempio la licenza è per un solo utente, è temporanea, non è possibile utilizzare il software per alcuni scopi , ecc.) e "traducono" questo in un avvocato, praticamente come se traducessimo i requisiti in codice.

Ad esempio, "la licenza è per un solo utente" viene solitamente tradotta in qualcosa di simile a questo: "FooCorp Inc. ti concede una singola licenza non esclusiva e non trasferibile per installare e utilizzare FooSoftware per ...".

Potresti pensare che questo non si applichi alle licenze F / OSS, ma è più o meno lo stesso, tranne che i requisiti sono diversi: puoi trovare la versione più semplice di questi requisiti su http://opensource.org/docs/OSD .

Ma la parte dell'avvocato è essenziale e non ha senso cercare di scrivere una licenza da soli (a meno che tu non sia un avvocato con molta esperienza in diritto internazionale e in materia di proprietà intellettuale). Qualcuno troverà solo una comoda scappatoia, che gli permetterà di usare il tuo prodotto nel modo che preferisce (farei di tutto per confrontare questo con gli exploit).

Ovviamente non pretendo che questa spiegazione sia completa o addirittura corretta, ma è uno schizzo approssimativo del processo, per quanto riguarda gli sviluppatori di software (quindi lo confronto con il lavoro di un programmatore).


Quindi è fondamentalmente un lavoro orientato all'avvocato?
Rrjrjtlokrthjji,

1
@Nick Certamente, i programmatori non dovrebbero generalmente camminare lì.
K.Steff,

4

Per rispondere alla tua domanda, chiunque può scrivere una licenza - e lo dimostra!

Quelli di noi che usano il software per costruire cose e in realtà cercano di rispettare ogni licenza sono pronti a sgranocchiare i nostri occhi con un poker caldo ogni volta che qualcuno parla di crearne uno nuovo. Esistono già innumerevoli licenze software nel mondo. Il 99% di questi sono quasi duplicati di licenze esistenti e più popolari, tranne che non sono state ben pensate.

Un sito a cui contribuisco ha una licenza di tipo di attribuzione non commerciale creative-commons cresciuta in casa, tranne che non dice nulla sulle opere derivate. Sono ammessi? Possono essere distribuiti con la stessa licenza? Mi batte!

Se altre persone contribuiscono a un progetto e si desidera o è necessario modificare la licenza, è necessario convincerle tutte ad accettare di cambiare la licenza, o se ne rimane più o meno bloccato per sempre. Alcuni di essi potrebbero diventare irraggiungibili o addirittura morire. Non sono un avvocato, ma se non hai sottoscritto un accordo con un collaboratore che ti permetta di prendere decisioni sulla tua licenza, penso che tu sia SOL.

È davvero difficile scrivere una buona licenza. Anche le migliori licenze software sono piene di buchi. Esistono periodicamente nuove versioni delle licenze Apache e GPL. Per favore, vedi se riesci a trovare una licenza che soddisfi il 90% delle tue esigenze e utilizzarla. L' eccezione di collegamento GPL o "Eccezione percorso di classe" ne è un ottimo esempio. Sono un po 'preoccupato per l'affermazione che la gente di Hibernate ha avuto sul suo sito alcuni anni, fondamentalmente interpretando pubblicamente in modo errato la GPLv2 per far sembrare che includesse l'eccezione Classpath. È questa l'eccezione del percorso di classe? Non lo sapremo a meno che qualcuno non li denunci.

Mi sembra che essere citato in giudizio sia il modo più doloroso per eseguire il debug della licenza. Se usi una licenza che le persone hanno già citato in giudizio, c'è una certa certezza che funziona, e anche un senso di come funziona. Meglio ancora, scegli una licenza che è stata in tribunale in diversi paesi. Hai pensato a come la tua licenza sarebbe stata interpretata in altre parti del mondo?

Se si basa la licenza su una esistente, le persone che si preoccupano di rispettare i termini della licenza potrebbero non doverla studiare per anni per capire esattamente cosa significhi.

Se possibile, ti incoraggio a dedicare le tue energie e i tuoi talenti a migliorare una licenza esistente piuttosto che scriverne una nuova.

Mi dispiace essere una tale gioia letale. Se sono amaro, è perché leggo davvero e cerco di rispettare le licenze delle persone prima di usare le loro opere.


3

Annota i termini, pubblicalo con il tuo software. Questo è tutto.

Una domanda, tuttavia, è perché vuoi farlo? Non è improbabile che le condizioni che si desidera aggiungere siano già presenti in un'altra licenza comunemente utilizzata.

Ciò aggiunge un passaggio preliminare: verificare se è effettivamente necessario creare una licenza.

È anche probabile che alcune delle condizioni che desideri far rispettare siano in qualche modo imperfette; aggiungendo un altro passaggio preliminare: leggi i termini "unici" che desideri applicare. È probabile che qualcun altro abbia provato tali termini e li abbia trovati inapplicabili o controproducenti in qualche modo.

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.