Posso utilizzare la suite di test da un progetto open source per verificare che la mia "biblioteca compatibile" sia compatibile?

6

La domanda è illegale riscrivere ogni linea di un progetto open source in un modo leggermente diverso, e usarla in un progetto closed source? mi fa pensare a cosa sarebbe considerata un'implementazione clean room nell'era dei progetti open source.

Ipoteticamente, se dovessi sviluppare una libreria che duplichi l'interfaccia pubblicamente documentata di una libreria open-source, senza mai guardare il codice sorgente per quella libreria, quel codice potrebbe mai essere considerato un lavoro derivativo?

Ovviamente avrebbe bisogno della stessa gerarchia di classi e firme del metodo , in modo che potesse essere una sostituzione drop-in - potrebbe essere di per sé sufficiente a provocare un reclamo per violazione del copyright?

Che dire se usassi la suite di test del progetto open source per verificare se la mia implementazione clean si comportava allo stesso modo della libreria originale? Usare la suite di test sarebbe sufficiente per dirty il mio clean codice?

Come ci si dovrebbe aspettare da una domanda come questa, non sto cercando consigli legali specifici, ma cercando di documentare le esperienze che le persone potrebbero aver avuto con questo tipo di problema.

    
posta Mark Booth 24.06.2011 - 17:42
fonte

5 risposte

7

Alla tua domanda sulla suite di test: se stai semplicemente "utilizzando" la suite di test contro il tuo codice e non la distribuisci con il tuo codice per validazione, stai bene. Con quasi tutte le licenze open source (possibilmente tutte) sei libero di "utilizzare" come meglio credi. Le regole entrano in gioco solo quando stai creando lavori derivati o ridistribuiscili. Non puoi mai metterti nei guai.

Oltre a ciò, come possono PROVE che hai eseguito una suite di test contro il tuo codice senza la tua ammissione? Solo perché il tuo codice è conforme a un'interfaccia, non prova che lo hai convalidato con la loro suite di test.

    
risposta data 24.06.2011 - 19:25
fonte
5

Questo è praticamente ciò che Microsoft ha fatto nello sviluppo di IronRuby. Sono stati molto attenti a non guardare mai il codice di Matz o addirittura a noleggiare sviluppatori che conoscessero le basi del codice MRI o YARV per evitare il rischio di contenzioso.

    
risposta data 24.06.2011 - 18:19
fonte
4

Se fai una vera camera pulita sul codice stesso, non vedo alcun problema qui. Utilizzare la suite di test per testare qualcosa di diverso dal codice per cui è stato originariamente progettato dovrebbe essere un non-problema perché non ci sono limitazioni (immagino) sul fatto che tu possa farlo o meno.

In molti modi, è così che Linus ha iniziato: ha letto le API e i documenti pubblici e ha iniziato a scrivere codice.

    
risposta data 24.06.2011 - 18:30
fonte
4

Ok, non sono un avvocato, questo non è un consiglio legale, consulta un avvocato prima di fare affidamento su tutto ciò che dico qui.

Negli Stati Uniti, non è possibile la funzionalità del copyright. Se qualcosa è l'unica espressione possibile di un'idea, o deve essere copiata per raggiungere un obiettivo pratico, non è protetta da copyright. Un'API è puramente funzionale in questo senso; deve essere copiato per utilizzare una libreria.

È assolutamente legale secondo la legge sul copyright (non necessariamente la legge sui brevetti) scrivere il codice su una specifica.

Le restrizioni GPL si applicano all'integrazione del codice GPL in altri software, non all'uso di tale codice. Puoi usare una suite di test come preferisci, anche se potresti non essere in grado di compilarlo e distribuirlo. Allo stesso modo, puoi usare emacs per sviluppare software proprietario.

    
risposta data 24.06.2011 - 18:46
fonte
0

Se vuoi davvero saperlo, manda un'email al Software Freedom Law Center , descrivendo la tua situazione e la licenza utilizzata dal progetto open source a cui sei interessato.

Ma è a mia conoscenza che anche le licenze più "infettive", come GPL, consentono questo tipo di utilizzo. Ad esempio, il compilatore gcc stesso è GPL, ma usarlo per compilare il codice non "infetta" il tuo codice con l'open source.

    
risposta data 24.06.2011 - 20:04
fonte

Leggi altre domande sui tag