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 ...