Condizioni di licenza per il porting di software libero in un'altra lingua


17

Sto esplorando l'idea di trasferire un pacchetto software esistente in un'altra lingua. È rilasciato con licenza Apache 2.0 ed è distribuito gratuitamente; ma c'è una grande differenza tra l'uso di una libreria rispetto alla creazione di una copia di essa. Ovviamente darei pieno credito ed essere onesto da dove proviene, e certamente non ho intenzione di fare soldi dal porto, ma semplicemente usarlo in altri progetti.

Ho letto la licenza ovviamente, che dice:

  1. Concessione della licenza di copyright. In base ai termini e alle condizioni della presente Licenza, ciascun Collaboratore concede all'utente una licenza di copyright perpetua, mondiale, non esclusiva, gratuita, esente da royalty, irrevocabile per riprodurre, preparare Opere derivate, visualizzare pubblicamente, eseguire pubblicamente, concedere in licenza e distribuire l'Opera e tali Opere derivate in forma di Sorgente o Oggetto.

[...]

  1. La ridistribuzione. È possibile riprodurre e distribuire copie dell'opera o delle sue opere derivate in qualsiasi supporto, con o senza modifiche, e in forma di fonte o oggetto, purché soddisfino le seguenti condizioni:

    un. È necessario fornire a qualsiasi altro destinatario dell'Opera o delle opere derivate una copia di questa Licenza; e

    b. Devi fare in modo che tutti i file modificati rechino avvisi importanti che affermano che hai cambiato i file; e

    c. È necessario conservare, nella forma Sorgente di qualsiasi Opera derivata che si distribuisce, tutti gli avvisi di copyright, brevetto, marchio e attribuzione dalla forma Sorgente dell'Opera, escluse quelle comunicazioni che non riguardano alcuna parte delle Opere derivate; e

    d. Se l'Opera include un file di testo "AVVISO" come parte della sua distribuzione, tutte le Opere derivate che distribuisci devono includere una copia leggibile degli avvisi di attribuzione contenuti in tale file AVVISO [...]

    È possibile aggiungere la propria dichiarazione di copyright alle proprie modifiche e può fornire termini e condizioni di licenza aggiuntivi o diversi per l'uso, la riproduzione o la distribuzione delle proprie modifiche o per tali Opere derivate nel loro insieme, purché l'uso, la riproduzione e la distribuzione di l'Opera rispetta altrimenti le condizioni stabilite nella presente Licenza.

Il che suona molto come una porta (come "Opera derivata") è interamente consentita con o senza l'autorizzazione dell'autore, a condizione che io conservi diligentemente copie della licenza, note sul copyright esistenti, attribuzione ecc.

Ma ciò non significa che capisco tutte le implicazioni di esso. Ad esempio, la porta dovrebbe necessariamente condividere la stessa licenza dell'originale?

Non ho avviato alcun lavoro, né ho ancora contattato gli autori del pacchetto (anche se lo farò). Voglio stabilire se esiste il rischio di sprecare molto lavoro. Devo anche sapere se avrei bisogno di implementare una clean room basata solo sull'API o se potrei basare il mio lavoro sul codice sorgente esistente (che non ho ancora esaminato).


Nel caso fosse in dubbio, il codice che voglio portare non è banale e realizza cose che troverei molto difficili da raggiungere da solo.
Marcus Downing,

Risposte:


10

Le traduzioni (sia in un linguaggio naturale diverso che in un linguaggio di programmazione diverso) sono considerate opere derivate.

Quando si crea un'opera derivata che è così radicalmente diversa dall'originale come una traduzione in un linguaggio di programmazione diverso (non strettamente correlato), in realtà è abbastanza difficile capire come dovrebbero essere applicati i requisiti della licenza Apache. Vi consiglio caldamente di discutere con i manutentori del pacchetto originale in che modo vorrebbero vedere i diritti d'autore gestiti e che si potrebbe desiderare di discuterne anche con un avvocato.

La parte problematica è la clausola 4c:

c. È necessario conservare, nella forma Sorgente di qualsiasi Opera derivata che si distribuisce, tutti gli avvisi di copyright, brevetto, marchio e attribuzione dalla forma Sorgente dell'Opera, escluse quelle comunicazioni che non riguardano alcuna parte delle Opere derivate; e

Il problema qui è che con un cambiamento così radicale, è quasi impossibile dire quali avvisi (copyright e attribuzione) dell'opera originale appartengono legalmente anche alla versione tradotta e quindi quali avvisi devono essere conservati e quali devono essere rimossi.


7
"parlare con un avvocato" è in realtà una barriera piuttosto ripida per qualcuno che ha intenzione di fare un lavoro e darlo via gratuitamente.
Marcus Downing,

2
@MarcusDowning: Sì, ma a volte è il miglior consiglio che possiamo dare.
Bart van Ingen Schenau,

@BartvanIngenSchenau Non ho trovato nulla che indichi che una riscrittura in un'altra lingua costituisca un'opera derivata. Suppongo che una traduzione automatica non sia possibile. Fornisci alcuni link per supportare la tua dichiarazione. Ho trovato questo: rosenlaw.com/lj19.htm . L'intero problema è importante per me per altri motivi.
Frank Hileman,


1
@FrankHileman: Che ne dici di "Opere derivate comuni includono traduzioni, [...] di opere preesistenti" ( copyright.gov/circs/circ14.pdf ). Una traduzione in un altro linguaggio di programmazione è ancora una traduzione.
Bart van Ingen Schenau,

-2

Un copyright si applica solo al codice sorgente originale. Non posso fornire consulenza legale (legalmente :)) nel mio paese, ma quando si utilizza una lingua diversa, si tratta di un corpo di codice sorgente diverso. Le considerazioni etiche sono una questione diversa. Tenterei di utilizzare una licenza gradita agli autori originali, per preservare lo spirito del contributo originale open source alla comunità. Inoltre, gli autori originali dovrebbero essere accreditati.


Avevo l'impressione che una porta non cleanroom in un'altra lingua costituisse un lavoro derivato poiché il nuovo codice avrebbe preso implementazioni specifiche dall'originale, non solo ispirazione o somiglianza API. Altrimenti eludere le licenze eseguendo il porting con una piccola modifica sarebbe facile e accadrà continuamente. (Non sono sicuro di chi ti abbia votato per il downgrade, non sono stato io)
Marcus Downing,

Dobbiamo ricordare che un copyright si applica al testo del codice sorgente; non è come un brevetto.
Frank Hileman,

Inoltre, in genere quando si codifica in un'altra lingua, non è possibile riutilizzare nessuno del codice originale. Questo è stato il presupposto nella mia risposta.
Frank Hileman,

1
@FrankHileman Il copyright si applica certamente anche al contenuto nozionale creativo; cf. (per citare un esempio) Anderson v. Stallone in cui l'imputato ha scritto un sequel di Rocky ed è stato ritenuto colpevole di violazione, anche se non ha usato nulla di testualmente dal testo di qualsiasi altra sceneggiatura o registrazione Rocky . Sicuramente il "quanto sono simili le opere?" test come parte della determinazione della violazione non include semplicemente confronti testuali testuali.
apsillers

@FrankHileman: per le opere letterarie, le traduzioni (in un altro linguaggio naturale) sono considerate opere derivate per il copyright, anche se le due lingue usano sistemi di scrittura completamente diversi (ad es. Inglese vs giapponese). Poiché le leggi sul copyright sono le stesse per le opere letterarie e il software, il tuo argomento non regge.
Bart van Ingen Schenau,
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.