Vantaggio di essere il primo a copiare un nuovo algoritmo? [chiuso]


18

Supponiamo di aver creato un nuovo algoritmo (DSP). Avrò qualche vantaggio se apro l'algoritmo con licenza copyleft (GPL ecc.)? Da quanto ne so delle licenze, ciò dovrebbe impedire alle persone di usare esattamente lo stesso codice del codice sorgente chiuso, ma sarebbero in grado di "riscrivere" l'algoritmo come codice sorgente chiuso?

Nota: non so davvero se l'algoritmo sia nuovo ma non è stato ancora rilasciato come open source. Dato che vengo dall'Unione Europea, devo cercare i brevetti software se volevo copyleft?


21
Sto votando per chiudere questa domanda come fuori tema perché chiede una consulenza legale. Può avere una risposta corretta solo da un avvocato di proprietà intellettuale per una giurisdizione specifica.

1
Consiglio di fare ricerche sulla storia del reverse engineering della scatola nera. Anche se non è la stessa cosa che stai chiedendo, ci sono molte informazioni interessanti sulla legge IP, i contratti, il reverse engineering, i brevetti, ecc. Che sono rilevanti.

2
@Snowman: come puoi vedere qui, meta.programmers.stackexchange.com/questions/1655/… , non tutte le domande riguardanti argomenti legali sono generalmente fuori tema. Immagino, almeno per le parti essenziali di questa domanda, la nostra comunità ha alcune conoscenze da condividere. Anche se concordo sul fatto che per una risposta approfondita si avrà probabilmente bisogno di un avvocato.
Doc Brown,

2
Questa domanda è stata posta 8 ore fa e ha già 1880 visualizzazioni. Sembra una domanda molto popolare e necessaria. Sono contento che qualcuno l'abbia chiesto.
Gabriel Fair,

2
Mentre questa domanda può essere popolare e interessante, le risposte "discutibili" di seguito illustrano esattamente perché questo tipo di domande di legalità sono inadeguate per il PSE e perché sono fuori tema qui.
Eric King,

Risposte:


27

Le restrizioni nelle licenze di copyleft come la GPL si applicano alle versioni modificate del codice e al codice originale. Quindi non possono semplicemente modificare lo spazio bianco o lo stile del controvento e quindi eliminare la dichiarazione di licenza.

Tuttavia, non puoi brevettare / copyright / copyleft / qualunque sia un "algoritmo" nel suo senso più astratto. Puoi mettere una licenza sulla tua implementazione preferita di quicksort, ma non puoi autorizzare quicksort stesso. Se qualcuno legge il tuo codice solo per imparare l'algoritmo e poi riscrive l'algoritmo da zero a modo suo, va bene.

Per quanto ne so, non vi è alcun "vantaggio" nell'essere il primo a pubblicare un algoritmo diverso forse da qualche fama e reputazione (del mondo reale) se è particolarmente degno di nota. Essere il primo a copyleft sicuramente non ti guadagna nulla, ma il fatto che qualcuno lo abbia copyleft sarà visto come un vantaggio per la comunità del software libero.


27
Questa risposta contiene alcune informazioni corrette e alcune discutibili, quindi fai attenzione. AFAIK, i brevetti sono stati provati per essere applicati a software molto meno sostanziali e sono stati provati per idee astratte, non solo per implementazioni. Questo dipende molto dalle leggi locali ed è molto diverso anche in diversi stati d'Europa. Pubblicare un nuovo algoritmo come il primo potrebbe creare un caso per "arte nota " ( en.wikipedia.org/wiki/Prior_art ) quando in seguito qualcuno cerca di brevettare la stessa idea in un'implementazione diversa.
Doc Brown,

10
Oracle v Google non riguardava l' implementazione di Java; al contrario, si trattava dell'API. Sarei molto riluttante a dire che gli algoritmi non sono brevettabili in generale, specialmente negli Stati Uniti.
sapi,

9
Gli algoritmi di brevetto non possono? Ci siamo già dimenticati dei brevetti GIF e MP3?
Andrew Medico,

2
@Bakuriu: hai perso il punto. Sia i titolari di brevetti GIF che MP3 hanno citato in giudizio altre società per l'utilizzo di algoritmi (o almeno hanno minacciato di denunciarli), non perché quelle altre società avessero copiato un'implementazione specifica.
Doc Brown,

4
@AbhinavGauniyal: brevettare un modo di fare qualcosa è perfettamente normale. Si chiama brevetto di processo / metodo. Ad esempio, se hai un nuovo modo di creare paraurti per auto, puoi brevettarlo. Non paraurti per auto, il processo di produzione di paraurti per auto. I brevetti di processo sono una delle pietre miliari dei brevetti software. Ma l'idea dei brevetti software si scontra con un altro aspetto della legge sui brevetti: non è possibile brevettare le formule matematiche (almeno negli Stati Uniti). E si può sostenere che gli algoritmi fanno parte della matematica pura che chiamiamo "informatica".
slebetman,

12

Se vuoi impedire che una cosa brevettabile venga brevettata e poi "chiusa" dalla grande comunità, potresti fare una divulgazione difensiva. Cuis Smalltalk, ad esempio, ha fatto questo con alcune nuove tecniche di antialiasing:


3
Se rilasci qualcosa, de jure non può più essere brevettato perché esiste l'arte nota. Di fatto, gli uffici brevetti di tutto il mondo di solito non si preoccupano abbastanza di ricercare questo (perché non otterranno soldi per quello) e consentono praticamente tutti i brevetti che non sembrano troppo sospesi. Se il detentore del brevetto fa causa a qualcuno, il brevetto non si terrà in tribunale (se c'è un processo giudiziario. Costano un sacco di soldi ...)
Josef

2
@Josef Non del tutto vero, la maggior parte degli uffici brevetti (certamente vero negli Stati Uniti e nell'Unione Europea) sono i primi ad archiviare ora, ma questo è importante solo per le invenzioni che avvengono vicine tra loro. Se qualcuno pubblica (ma non brevetta) un algoritmo, qualcun altro potrebbe brevettarlo il giorno successivo e probabilmente cavarsela. Le questioni legali specifiche che lo circondano sono complesse e si dovrebbe assolutamente consultare un avvocato di proprietà intellettuale se si cerca di farlo.

@Snowman per evitare il brevetto del giorno successivo sarebbe utile pubblicare in forma crittografata e poi pubblicare la chiave qualche mese dopo?
trichoplax,

1
@trichoplax Non so essere sincero. Cerco di rimanere aggiornato su queste leggi, ma questo è un recente cambiamento negli Stati Uniti in cui vivo. Se avessi tentato di farlo, mi consulterei con un avvocato di proprietà intellettuale che ne sappia di più. Il modo in cui lo capisco è che c'è una grande area grigia e qualcuno che è specializzato nella legge dovrebbe guidarmi.

Solo per chiarire, intendevo la mia risposta per parlare specificamente di idee, algoritmi, ecc., Perché molte persone hanno iniziato a parlare di codice sorgente mentre l'OP chiedeva algoritmi . In caso di dubbi (e dovresti esserlo), consulta un avvocato di proprietà intellettuale.
Frank Shearar,

9

Vedo alcune informazioni preziose nelle altre risposte e nei commenti, ma anche qualche disinformazione, quindi provo a dare un riepilogo e aggiungere alcune cose aggiuntive.

Avrò qualche vantaggio se apro l'algoritmo con licenza copyleft (GPL ecc.)?

Pubblicando il codice sorgente di un'implementazione del tuo algoritmo sotto GPL (suppongo che sia quello che volevi dire), ottieni il vantaggio di dimostrare che il tuo algoritmo funziona come previsto, e tutti possono ispezionare il tuo codice sorgente per assicurarsi che non contenga nulla "insolito" come gravi bug o malware. Forse otterrai alcuni collaboratori per ulteriori miglioramenti. E poiché sei il detentore del copyright, sei ancora libero di pubblicare o vendere la tua implementazione ad altri con una diversa licenza.

Una domanda diversa è se ti porta qualche vantaggio ad essere il primo a pubblicare quell'algoritmo. Essendo il primo potresti provare a impedire a qualcun altro di ottenere un brevetto su tale algoritmo, poiché la tua implementazione servirà come una sorta di prova che sei l'inventore. Ma come ha giustamente sottolineato @Snowman in un commento, a causa della politica del primo file (anziché del primo inventare) di molti regolamenti sui brevetti europei, che in realtà potrebbe non funzionare.

Da quanto ne so delle licenze, ciò dovrebbe impedire alle persone di usare esattamente lo stesso codice del codice sorgente chiuso, ma sarebbero in grado di "riscrivere" l'algoritmo come codice sorgente chiuso?

Impedisci alle persone di pubblicare il tuo codice sorgente o di modificarlo in un codice chiuso, non di usarlo all'interno di un'organizzazione commerciale. Impedisci alle persone di pubblicarlo come open o closed source con una licenza diversa da GPL. Tuttavia, non impedisci alle persone di pubblicare una nuova implementazione "clean room" del tuo algoritmo sotto una licenza arbitraria, che è un'implementazione fatta solo dalla tua descrizione dell'algoritmo, senza effettivamente esaminare il codice sorgente.

Dato che vengo dall'Unione Europea, devo cercare i brevetti software se volevo copyleft?

Sebbene le leggi di molti paesi europei vietino formalmente i brevetti sugli algoritmi puri, molte aziende hanno eluso quelle leggi in passato dichiarando algoritmi specifici come "invenzioni attuate per mezzo di elaboratori elettronici". AFAIK, gli uffici brevetti europei non hanno accettato tanti brevetti algoritmici come gli uffici brevetti statunitensi in passato, tuttavia negli anni hanno accettato migliaia di brevetti che possono essere interpretati come brevetti sugli algoritmi. Se quei brevetti si terranno effettivamente in tribunale è una domanda diversa, ma qualcuno che vuole scoprirlo in genere dovrà metterlo alla prova, con tutti i rischi connessi. Due dei gruppi di esempi più popolari sono stati menzionati nei commenti, i brevetti relativi alla compressione delle immagini GIF e i brevetti relativi alla compressione / decompressione MP3, vedi qui per ulteriori esempi.

Quindi, se si desidera ridurre il rischio di essere citati in giudizio, prima di pubblicare un software contenente un algoritmo specifico, probabilmente si dovrebbe verificare se c'è qualcuno che detiene un brevetto su di esso, anche nell'UE.


Risposta davvero valida. Ho solo qualche problema con l'ultimo paragrafo: come posso pensare di cercare brevetti che potrei violare? Io, per esempio, non posso dedurre dal loro titolo se potrebbero applicarsi al mio codice. Né conosco un indice tematico completo per loro. La ricerca di parole chiave non lo taglierà, quindi anche Google è inutile, la formulazione potrebbe essere completamente inimmaginabile per me. E date le migliaia di brevetti, non sono in grado di controllarli tutti. Dopo tutto è impossibile cercare effettivamente un brevetto che potrei violare, posso solo aspettare e vedere se qualcuno mi fa causa :-(
cmaster - reinstalla monica l'

1
@cmaster: la tua migliore possibilità in Europa è probabilmente il motore di ricerca dell'ufficio brevetti europeo, vedi epo.org/searching.html
Doc Brown

1
@cmaster: dovresti spendere milioni per gli avvocati che fanno una revisione dei brevetti, leggendo effettivamente i brevetti. Capisco che funziona anche in grandi progetti al di fuori del software (immagina una nuova auto), perché sono sviluppati in un modo più "a cascata" e hanno meno idee. Ma ovviamente non è pratico per il software, quindi le grandi aziende spesso hanno solo brevetti con licenza incrociata e quelle piccole non possono proteggersi.
Blaisorblade,

5

Non è possibile "copiare" un algoritmo. "Copyleft" si basa sulla protezione del copyright per la sua esecutività, ma gli algoritmi non sono copyrightable, quindi non è possibile "copyleft" un algoritmo. In altre parole, la tua domanda potrebbe essere basata su una premessa errata.

Il copyright può essere utilizzato solo per proteggere un'implementazione specifica, non l'idea dell'algoritmo. Pertanto, è possibile proteggere un'implementazione specifica di un algoritmo utilizzando licenze basate sul copyright (come una licenza in stile "copyleft"), ma non si impedirebbe a nessun altro di creare un'implementazione diversa dello stesso algoritmo. Di conseguenza, non c'è modo di "copiare un algoritmo".

In particolare, la licenza GPL è costruita sulla base della legge sul copyright. La legge sul copyright dice (approssimativamente): nessuno può copiare i tuoi contenuti protetti da copyright senza la tua autorizzazione. La licenza GPL dice: do il permesso di copiare il contenuto protetto da copyright (il codice) a determinate condizioni (le condizioni della licenza "copyleft"). Quindi, per cose che sono copyright, ciò consente di avviare la licenza "copyleft" sulla legge sul copyright esistente. Ma, per cose che non sono tutelabili, questo approccio è inutile. La legge sul copyright protegge solo l'espressione creativa, non le idee. In particolare, non protegge gli algoritmi.


La legge sui brevetti è una questione diversa. In alcune giurisdizioni, potrebbe essere possibile ottenere un brevetto per un algoritmo. Questo dipenderà fortemente dalla giurisdizione legale e possibilmente dalle specifiche della tua situazione. In generale, pubblicare il tuo algoritmo potrebbe aiutare a stabilire l'arte nota che impedisce ad altri di brevettare l'algoritmo, ma i dettagli di questo sono difficili e meglio consultare un avvocato. In generale, se si desidera una consulenza solida su qualsiasi cosa relativa ai brevetti sugli algoritmi, suggerisco di contattare un avvocato di proprietà intellettuale, poiché è troppo vasto per rispondere in generale senza conoscere tali informazioni.


IMHO la domanda non si basa su una "premessa errata", non è semplicemente formulata con precisione. Sono abbastanza sicuro che l'OP intendesse effettivamente open source un'implementazione del suo algoritmo.
Doc Brown,

1
@DocBrown: L'OP è anche interessato a imporre una Licenza contro qualsiasi implementazione in camera bianca dei suoi algoritmi (riscrittura). Quindi l'interpretazione DW della domanda è corretta.
Slebetman,

3

Copyleft non ha nulla a che fare con la protezione del copyright o dei brevetti. Non fornisce alcuna protezione a te, detentore del copyright, che altrimenti non avresti già.

Tuttavia , ha tutto a che fare con la distribuzione . Copyleft protegge gli utenti del tuo codice richiedendo a te e a chiunque utilizzi il loro codice di distribuire l'intero codice sorgente del loro lavoro collettivo e qualsiasi modifica apportata ad esso. Non ha nulla da dire sul copyright o sulla protezione dei brevetti, se non quello di fornire all'utente specifici diritti che altrimenti non potrebbero avere, come la libertà di decodificare DRM in GPL3.

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.