Licenza CPOL. Posso usarlo sulla mia applicazione commerciale senza distribuire il codice sorgente?


9

Sto pensando di utilizzare un progetto di http://www.codeproject.com che utilizza la licenza CPOL . La sezione 5e dice:

"È possibile distribuire i file eseguibili e il codice sorgente solo ai sensi della presente Licenza e è necessario includere una copia o l'identificatore delle risorse uniforme per questa licenza con ogni copia dei file eseguibili o del codice sorgente distribuiti e assicurarsi che chiunque riceva tali file eseguibili e il codice sorgente accetta che i termini di questa licenza si applicano a tali file eseguibili e / o codice sorgente. L'utente non può offrire o imporre termini sull'Opera che alterano o limitano i termini di questa licenza o dei destinatari esercizio dei diritti concessi nel presente documento. L'utente non può concedere in sublicenza l'Opera. È necessario mantenere intatte tutte le comunicazioni che si riferiscono alla presente Licenza e al disclaimer delle garanzie.Non è possibile distribuire i file eseguibili o il codice sorgente con qualsiasi misura tecnologica che controlli l'accesso o l'uso dell'Opera in modo incompatibile con i termini di questa Licenza. "

Non mi è chiaro se dovrei includere il loro codice sorgente nel mio eseguibile o meno. O peggio ancora, se dovessi rendere disponibile il mio codice sorgente, ad esempio con la licenza GPL.

Il motivo per cui non mi è chiaro è perché non sono sicuro che, compilando il loro codice sorgente insieme al mio, sto "distribuendo" il loro "Codice sorgente" o "File eseguibili"?


Non sono un avvocato, ma la licenza non dice che è necessario distribuire alcun codice sorgente. Tale distinzione si trova principalmente nella GPL, una licenza di copyleft. Se l'autore avesse voluto le caratteristiche del copyleft, avrebbe quasi sicuramente usato la GPL, non la CPOL.
Robert Harvey,

Risposte:


5

Legalmente, la compilazione è come la pinzatura. Se graffi una copia di un DVD del tuo matrimonio in una copia di un DVD di The Phantom Menace, è legalmente sia il tuo matrimonio che The Phantom Menace. Se consegni i due DVD pinzati insieme, stai distribuendo The Phantom Menace.

La compilazione non può produrre un lavoro derivato perché un compilatore non è creativo. Legalmente, solo un processo creativo può produrre un'opera (con alcune eccezioni create specificamente dallo statuto, nessuna rilevante qui).

Tuttavia, se il codice sorgente contiene un'espressione protetta dall'altra opera, il codice sorgente è un'opera derivata. Quando lo compili, è ancora un lavoro derivato. Ho letto la licenza due volte e non vedo dove richieda la distribuzione del codice sorgente delle opere derivate come fa GPL.

Stranamente, e per nessun motivo (non legalmente necessario) la licenza richiede che i tuoi utenti accettino i termini della licenza. Questo e'imbarazzante.


È interessante notare che il co-fondatore di codeproject sembra pensare diversamente: codeproject.com/suggestions.aspx?msg=4614773#xx4614773xx
Tim Pohlmann,

1
@TimPohlmann Le persone che non hanno familiarità con la legge sulla PI spesso sbagliano, soprattutto perché la legge non ha più senso. Questo non è perché le persone che lo hanno creato erano sciocchi, è perché è nato molto tempo fa e si è leggermente evoluto nel tempo. Ad esempio, quando furono scritte le leggi sulle opere derivate, la traduzione era considerata fondamentalmente un processo creativo perché, all'epoca, lo era. Ora, le macchine possono fare la traduzione senza alcun input creativo, ma la legge non ha raggiunto. Questo è solo un esempio. Non puoi ragionare su quali siano o debbano essere le leggi, sono strane.
David Schwartz,

Quindi quello che stai dicendo è che il COPL non sta effettivamente facendo ciò a cui il co-fondatore del codeproject lo intendeva perché aveva frainteso la legge? Ciò avrebbe senso ... ancora una strana situazione.
Tim Pohlmann,

@TimPohlmann Se leggi ciò che dice alla lettera, ha ragione. Forse stai pensando che abbia detto qualcosa che non ha detto. " Se stai ridistribuendo il codice, devi includere le informazioni sulla licenza e un link al codice originale " Sono d'accordo, e questo vale per qualsiasi modulo in cui distribuisci il codice, incluso compilato. " ma se stai costruendo un eseguibile dal codice sorgente, allora no, non lo fai. " Giusto, dal momento che non sta distribuendo nulla. Solo se lo leggi per parlare della distribuzione di eseguibili, contraddice ciò che sto dicendo e diventa, IMO, sbagliato.
David Schwartz,

Hai ragione, ho pensato che stesse parlando di distribuire eseguibili. Questo non è esattamente quello che sta dicendo, però. A giudicare dal contesto, suppongo ancora che sia quello che voleva dire e quindi in contraddizione con la tua affermazione. Questa è solo la mia interpretazione, però.
Tim Pohlmann,

1

Non è necessario includere il codice sorgente, ma è necessario fornire un collegamento al CPOL e consentire agli utenti di accettarlo nei termini e nelle condizioni . Vedi anche CPOL sezione 5.e:

... È necessario includere una copia di, o Identificatore di risorsa uniforme per, questa Licenza con ogni copia dei File eseguibili o del Codice sorgente che si distribuisce e assicurarsi che chiunque riceva tali File eseguibili e il Codice sorgente accetti che si applichino i termini di questa Licenza a tali file eseguibili e / o codice sorgente. ...

Il progetto Code ha riassunto qui i fatti più importanti sulle loro licenze: Informazioni sulla licenza di CodeProject .

Indica tra l'altro i seguenti punti:

  • Può essere utilizzato in applicazioni commerciali: Vero
  • Può essere utilizzato in applicazioni proprietarie (closed source): True
  • Le correzioni / estensioni di bug devono essere rese di dominio pubblico: False
  • È una licenza virale: falso

Ma quando usa il progetto, deve includere il codice sorgente? Non hai affrontato quella domanda specifica nella tua risposta.
Jay Elston,
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.