È etico adottare gli algoritmi di altri programmatori?

6

Immagina di trovare un algoritmo completamente nuovo per calcolare la radice quadrata di un numero binario (semplificazione dello scenario reale) su un forum Internet che era una creazione originale.

È etico per me adottare quell'algoritmo in qualsiasi mio progetto futuro, o è un plagio? Dovrei contattare il programmatore che ha sviluppato l'algoritmo e chiedere il permesso? Cosa succede se non riesco a mettermi in contatto con loro? Se è etico per me da usare, per quanto riguarda il codice sorgente? Dovrei riscrivere l'algoritmo nel mio stile di programmazione tradizionale, o è peggio di copiare e incollare? Cosa succede se il codice sorgente dell'algoritmo è così a portata di mano che non c'è spazio per me per cambiare qualcosa?

    
posta Drew 25.07.2016 - 22:20
fonte

3 risposte

6

Anche se non sono un avvocato ...

Stai confondendo diversi problemi. Quindi, proviamo a metterli a parte.

Esiste un copyright che si applica a qualsiasi codice di dimensioni sufficienti (più di poche righe?) che viene riutilizzato in un altro contesto. Qui è necessario rispettare la licenza di copyright del codice, che può variare da proibito a permesso. L'Open Source generalmente consente l'uso e spesso con contingenze che è necessario propagare il copyright, l'attributo e forse anche rendere il tuo lavoro anche open source. Quando riutilizzi il codice sotto copyright, finché sei conforme alla licenza, puoi riformattare il codice come desideri. Devi onorare il copyright o altro non è solo immorale ma illegale.

Se il copyright non soddisfa le tue esigenze, puoi contattare i titolari del copyright e chiedere la loro autorizzazione per un'altra licenza, che potrebbero fare gratuitamente o per pagare. Dovresti ottenere tale permesso da tutti i detentori del copyright per il materiale, non solo il titolare del principio.

Se fai copia / incolla devi occuparti di copyright. Se stai riscrivendo un algoritmo da zero, non tanto a meno che non stai semplicemente ridigitando (ricorda, IANAL).

Esiste un'altra categoria di diritti denominata diritti morali, che è diversa dal copyright. Il plagio, rivendicare un lavoro fatto da altri (s) per essere originariamente creato da voi, è una violazione di questi diritti morali. È sicuramente una violazione etica, ma potrebbe anche avere conseguenze legali. Mentre spesso assegniamo i diritti d'autore (licenza), al contrario, i diritti morali non sono facilmente trasferibili (se non del tutto). Sarebbe sbagliato per chi detiene legalmente diritti d'autore esclusivi per ritenere di poter rivendicare la paternità originale (non ottengono quella dal diritto d'autore).

Per quanto riguarda l'utilizzo di un algoritmo pubblicato da qualcun altro, utilizzerei la regola d'oro: se ritieni di utilizzare un algoritmo di merito che ti piacerebbe ottenere se lo hai sviluppato e qualcun altro l'ha usato, oppure sospetto che sia così originale l'autore, quindi l'attribuzione ha un senso. Una volta attribuito, puoi modificare come ritieni opportuno, riformattare, ecc.

Infine, gli algoritmi possono essere protetti da brevetto, in varie forme. Gli algoritmi brevettati sono solitamente racchiusi in un dispositivo legale che chiama l'algoritmo una macchina che fa qualcosa, perché a prima vista, algoritmi, matematica e formule non possono essere brevettati. Idealmente, un algoritmo brevettato sarebbe documentato come tale all'interno del codice, ma non è un requisito, quindi questo è un problema problematico. Devi decidere da solo se la ricerca dello status di brevetto è meritata. Nota che i brevetti sono una preoccupazione anche se sviluppi da solo l'algoritmo da zero, perché un brevetto esistente che non conosci potrebbe già coprirlo.

Cerca su Wikipedia per plagio, diritti morali, copyright ...

    
risposta data 25.07.2016 - 23:10
fonte
5

Sì, lo è.

I concetti che le persone comunicano agli altri nei forum online sono destinati ad essere adottati da altri. Non esiste né una tradizione né una base legale per vietare agli altri di riutilizzare lo stesso algoritmo (il copyright protegge solo espressioni specifiche di idee , non le idee stesse, lo status di trade secret non si applica e gli algoritmi non possono essere brevettati ). Se si tratta di un nuovo metodo molto intelligente e originale, è considerato educato riconoscere l'inventore nei commenti all'implementazione, ma non di più.

Gli algoritmi possono essere brevettati negli Stati Uniti, anche se i limiti sono ristretti e la tendenza sembra essere quella di limitarli ulteriormente. non possono essere brevettati per es. in Europa, ma c'è una strong pressione politica per renderli tali. Ciò rende la situazione su Internet poco chiara, per non dire altro. Il tipo di attori che effettivamente persegue e difende un brevetto di software è probabilmente distinto dalle persone che parlano del loro nuovo programma online, ma non puoi esserne sicuro.

    
risposta data 25.07.2016 - 23:04
fonte
0

Per prima cosa devi distinguere tra ciò che è etico e ciò che è legale . In realtà chiedi cosa è etico. Questo è altamente soggettivo!

Credo che ci sia ampio consenso sul fatto che:

  • Le idee condivise in pubblico possono essere liberamente utilizzate da chiunque
  • Le sezioni di codice più piccole condivise in pubblico possono essere liberamente copiate da chiunque.
  • Le sezioni più grandi del codice possono essere copiate letteralmente se hanno una licenza o una dichiarazione di non responsabilità da parte del mittente che consente di farlo. Altrimenti, puoi ancora rubare idee e piccoli frammenti del codice.
  • Non dovresti mai pretendere di aver inventato personalmente un'idea o di aver scritto del codice che hai effettivamente copiato da qualche altra parte. Quello sarebbe un plagio. Ma non è necessario citare esplicitamente la fonte a meno che la fonte non richieda di farlo. (Negli studiosi le domande sul citare e sul sourcing sono più serie, ma presumo che ciò sia per la programmazione tradizionale, non per l'editoria accademica.)

Ma ciò che è etico e ciò che è legale è completamente diverso. Ad esempio, Microsoft ha brevettato la tecnologia dei fogli di stile, anche se non l'hanno inventata. Quindi questo è un evidente plagio, ma tuttavia Microsoft ora possiede legalmente questo brevetto.

    
risposta data 26.07.2016 - 17:33
fonte

Leggi altre domande sui tag