È possibile riscrivere ogni riga di un progetto open source in un modo leggermente diverso e utilizzarlo in un progetto chiuso?


122

C'è un codice che è GPL o LGPL che sto pensando di utilizzare per un progetto iPhone.

Se prendessi quel codice (JavaScript) e lo riscrissi in una lingua diversa per l'uso su iPhone, sarebbe un problema legale?

In teoria, il processo che è accaduto è che ho passato tutte le linee del progetto, ho imparato cosa sta facendo e poi ho reimplementato le idee in una nuova lingua.

A me sembra che sia come imparare a implementare qualcosa, ma poi reimplementarlo separatamente dalla licenza originale. Quindi hai solo copiato l'algoritmo, che probabilmente avresti potuto imparare da qualche altra parte rispetto al progetto originale.

La licenza copre anche l'implementazione specifica o l'algoritmo?

MODIFICARE------

Sono davvero felice di vedere questo argomento creare una buona conversazione. Per dare un po 'più sostegno al progetto, il codice in questione esegue una sorta di analisi audio. Credo che non sia banale imparare o implementare, anche se ero pronto a intraprendere questo compito (sono al livello in cui posso implementare un algoritmo FFT , e questo andrebbe oltre questo.) È abbastanza script LOC basso , quindi non pensavo che sarebbe stato troppo difficile eseguire una porta diretta.

Mi piace molto l'idea di rilasciare nuovamente la mia porta e di usarla nell'applicazione. Non vedo alcun problema con questo, e sarebbe un ottimo modo per restituire qualcosa alla comunità.

Stavo per aggiungere una linea sul non voler discutere le questioni morali, ma sono abbastanza contento di non averlo visto che sembra aver infornato un po 'il dibattito.

Mi sento ancora un po 'strano sull'uso del codice open source da cui imparare. Questo significa che non si può usare qualcosa in uno che si impara da un progetto open source in un progetto chiuso? E dopo quanto tempo o in modo diverso un'implementazione non deve essere considerata una violazione della licenza? Murky!

MODIFICA 2 --------

Domanda di follow-up


27
Mi piacerebbe davvero arrivare alla fine di un'altra domanda, "Se impari un algoritmo da un programma open source e riesegui l'algoritmo, hai violato la licenza?" Lo sto chiedendo da un punto di vista legale, non morale. Ma anche dal punto di vista morale, questa non è una forma legittima di apprendimento? Non è consentito utilizzare alcun apprendimento raccolto da progetti open source? Questo sembra andare contro il punto della GPL stessa?
Chris Barry,

8
@optician Il problema è che vuoi tradurlo riga per riga, il che lo rende chiaramente un'opera derivata, come una traduzione tra lingue umane. L'idea in sé non è protetta da copyright, ma potrebbe essere coperta da un brevetto. Ma attenzione, IANAL.
Starblue,

3
Commentatori: i commenti hanno lo scopo di cercare chiarimenti, non di discussioni estese. Se hai una soluzione, lascia una risposta. Se la tua soluzione è già stata pubblicata, ti preghiamo di votarla. Se desideri discutere questa domanda con altri, utilizza la chat . Vedi le FAQ per maggiori informazioni.

2
@optician Il sistema Stack Exchange non è un forum di discussione, in cui ogni post è un argomento che può cambiare direzione nel tempo: se hai un'altra domanda con cui vorresti ricevere aiuto, fai un'altra domanda. Altrimenti, sentiti libero di modificare la tua domanda per chiarire se le risposte che hai ricevuto non risolvono completamente il tuo problema originale.

2
Sto votando per chiudere questa domanda come fuori tema perché si tratta di questioni legali.
Robert Harvey,

Risposte:


257

Non sono un avvocato. Questa non è una consulenza legale.

Detto questo, prendere ogni riga di una domanda e cambiarla leggermente al solo scopo di eludere la legge sul copyright sta palesemente, ovviamente, creando un'opera derivata senza alcuna plausibile difesa. Anche il giudice e la giuria più comprati troveranno sicuramente contro di te se ti trascinassero in tribunale.

Proprio come un confronto: le aziende che hanno bisogno di riscrivere qualcosa per l'interoperabilità di solito assumono diversi gruppi di persone per capire l'origine e creare la porta ("implementazione in camera bianca"), in modo che nessuno possa accusarli di creare un derivato lavoro. Quello che proponi è l'esatto contrario.


25
Vorrei poterti dare +10 ...
Marjan Venema

5
Questo è "se" è mai arrivato in tribunale.
QueueHammer,

5
Se il software ha successo, molto probabilmente finirà in tribunale ad un certo punto.
Giustino C,

4
@optician: Dipende da quanto ti avvicini a ricreare l'originale, in realtà, e questo è il tipo di domanda a cui hai bisogno di un avvocato per rispondere.
David Thornley,

5
@DavidStone Lo hai al contrario. È necessario comprendere che un algoritmo logico e una particolare espressione di un algoritmo nel codice sono legalmente separati; solo l'espressione è copyright. Il gruppo che esegue la reimplementazione non ha alcun contatto con l'espressione originale dell'algoritmo (vedono solo la documentazione interna sull'algoritmo logico) e la loro espressione scritta sarà probabilmente diversa dall'espressione originale, quindi è abbastanza improbabile che potrebbero violare il copyright. Tuttavia, possono violare facilmente un brevetto, poiché il loro algoritmo logico è identico all'originale.
apsillers

72

Secondo Betsy Rosenblatt delle basi del copyright della Harvard Law School :

Cosa costituisce una violazione del copyright?

Fatte salve alcune difese, è una violazione del copyright per persone diverse dall'autore fare quanto segue senza il permesso dell'autore:

  1. copiare o riprodurre il lavoro
  2. creare una nuova opera derivata dall'opera originale (ad esempio, traducendo l'opera in una nuova lingua, copiando e distorcendo l'immagine o trasferendo l'opera in un nuovo mezzo di espressione)
  3. vendere o regalare l'opera, o una copia dell'opera, per la prima volta (ma una volta che l'autore lo ha fatto, il diritto di vendere o regalare l'oggetto viene trasferito al nuovo proprietario. Questo è noto come il "primo dottrina "vendita": una volta che il proprietario del copyright ha venduto o ceduto l'opera o una sua copia, il destinatario o l'acquirente può fare ciò che desidera con ciò che ritiene.) 17 USC §109 (a).
  4. eseguire o visualizzare l'opera in pubblico (questo diritto non si applica all'arte visiva) senza l'autorizzazione del proprietario del copyright. 17 USC §106. È anche una violazione del copyright violare i "diritti morali" di un autore come definito da 17 USC 106A. I diritti morali sono discussi in questo luogo.

Mi sembra che tu stia violando l'articolo 2 sopra.

Tuttavia, penso che la terminologia sia un grosso problema qui. Hai detto: "Se prendessi quel codice (javascript) e lo riscrissi in una lingua diversa per l'uso su iPhone, sarebbe un problema legale?" (enfasi mia). Riscrivere qualcosa può essere o meno diverso dalla copia. Ad esempio, se hai guardato la Gioconda, poi sei andato nel tuo studio e hai dipinto ciò che ricordi di esso, allora mi sembra che tu stia creando un'opera originale che è la tua espressione di come hai percepito l'originale. Se, tuttavia, avevi una copia della Gioconda nel tuo studio e ne hai dipinta una copia, piuttosto che ciò che ricordi, allora penso che stai sicuramente copiando.

Allo stesso modo, se usi MS Word, e forse anche se guardi un po 'del codice, e poi vai a scrivere il tuo elaboratore di testi con somiglianze funzionali, credo che ci siano casi in cui è stato deciso che "guarda & feel "non è protetto da copyright. (Questo non dice nulla di brevetti, ovviamente.)

Probabilmente dovresti chiedere a un avvocato (poiché io non sono uno).

La mia opinione personale è che una "porta" è un'opera derivata e quindi è necessario rilasciare il codice trasferito nella stessa licenza.


1
c'è anche la questione di dimostrarlo. Se hai guardato il codice sorgente di Word, poi hai scritto il tuo elaboratore di testi ... avrai difficoltà a provare di non aver copiato nulla.
gbjbaanb,

6
@gbjbaanb: Tocca a Microsoft provare che non hai fatto il contrario, nella maggior parte dei paesi. Non importa, perché se Microsoft ti fa causa, sei fregato a meno che tu non possa ottenere una grande azienda per portarti su pro bono. :-) E se avessi accesso al codice sorgente di Word, le probabilità sono abbastanza buone che hai già firmato qualcosa dicendo che non scriverai nulla per competere con esso comunque ...
TJ Crowder

3
Invece di scrivere "qui" è meglio nominare l'autore: "Betsy Rosenblatt, Harvard Law School".
Nicolai Reuschling,

3
@Nicolai Reuschling: lol :)
Scott Whitlock,

4
@TRiG: "Non so perché pensi che sia divertente." - Forse perché non hai il senso dell'ironia. ;)
Scott Whitlock,

55

Non sono un avvocato, questo non è un consiglio legale, e se fai affidamento su ciò che dico in qualsiasi tipo di impresa dubbia (1) sei un idiota e (2) declinerò ogni responsabilità. Questo è ciò che ho sentito e letto nel corso degli anni da persone che sembrano sapere.

I giudici non giocano a giochi "in teoria". A loro non piacciono le persone che inventano modi per distorcere la legge che sono forse accettabili in termini di analisi logica ma che sono contrarie all'ovvio intento e al modo in cui i giudici hanno governato in passato. Non cercare mai di essere troppo furbo sulla legge se c'è qualche possibilità che finirai in un'aula di tribunale a difesa della tua interpretazione.

È generalmente accettato che prendere un romanzo e farne un film o tradurlo in un'altra lingua stia creando opere derivate, e queste sono trasformazioni molto più grandi di quelle di cui stai parlando e richiedono una creatività molto maggiore. Guarda quelli come esempi; un giudice lo farà sicuramente.

Negli Stati Uniti, ci sono stati casi in cui la copia di un programma più vagamente di quello di cui stai parlando è stata giudicata una violazione. Negli Stati Uniti, si aspettano che vengano utilizzati come precedenti.

In altre parole, inizierai un'impresa commerciale su una base che verrà considerata illegale se qualcuno si preoccupa di guardare. Non è una buona idea.

Inoltre, se hai rispetto per l'idea del copyright o qualsiasi controllo che un autore possa avere su ciò che pubblica, sei ipocrita. Il codice sorgente è stato reso disponibile per l'uso in determinate condizioni. Stai violando la legge e l'intenzione espressa dell'autore.

Ora, gli algoritmi non possono essere protetti da copyright. Negli Stati Uniti, i tribunali hanno stabilito che è impossibile tutelare il copyright di un'idea, e tutto ciò che normalmente è protetto da copyright che è l'unico modo per esprimere qualcosa non è protetto da copyright. Pertanto, puoi certamente usare l'algoritmo.

Esiste un modo per copiare un algoritmo a prova di copyright: l'approccio "clean room", in cui una persona o un gruppo studia il codice sorgente e crea una descrizione dell'algoritmo (con il minor numero di dettagli di implementazione possibile) e un'altra persona o il gruppo scrive il nuovo codice senza alcun riferimento alla fonte originale. Più ci si avvicina, più si sarà sicuri.

Potresti anche considerare che, pubblicando la domanda qui, hai pubblicato un possibile intento di violare il copyright, in una forma che può essere ricondotta a te se qualcuno ha un diritto legale di farlo (come la scoperta in un caso civile o semplice indagine di polizia se questo si rivela essere un procedimento penale).


18
+1 Per "Potresti anche considerare che, pubblicando la domanda qui, hai pubblicato un possibile intento di violare il copyright".

6
+1 Per l'approccio "clean room" - Mi sono sempre chiesto come funzionasse.
DMan,

Ho appena pubblicato sul forum degli autori la situazione e pubblicherò i risultati qui.
Chris Barry,

In che modo un algoritmo è un'idea e un programma non è un'idea? Oppure, in che modo un programma non è una raccolta di algoritmi?
Scooter

16

Perché non dovresti semplicemente aprire la tua porta e lasciare che il resto del tuo progetto sia chiuso?

Per citare un'altra mia risposta :

L'open source funziona, perché è una comunità. Perché è reciproco. Non ottieni denaro scrivendo codice open source. Ottieni denaro consumando codice open source. Quindi perché scrivi un codice open source? Per restituire qualcosa.

Ma da un punto di vista più pragmatico:
se il codice che hai portato è davvero così utile che pensi che dovresti proteggerlo per mantenere un vantaggio (che non hai, perché le persone che usano Appcelerator possono usarlo subito), ci sarà essere una porta open source prima o poi. Sarà gestito da un numero di persone, verrà utilizzato e quindi testato da ancora più persone e verrà ulteriormente perfezionato per incorporare i principi promossi dalla lingua di destinazione e per interfacciarsi meglio con i framework prevalenti sulla tua piattaforma. Prima o poi il tuo codice sembrerà un pezzo di merda rispetto ad esso.
L'open sourcing è in effetti la tua occasione per rimanere in cima alla scia. È vantaggioso per tutti. Se sei fortunato, otterrai anche i manutentori di quel codice e potrai concentrarti sulla logica dell'applicazione, che è ciò che rende davvero unico il tuo prodotto.


1
+1 Alcuni dei migliori codici disponibili sono Open Source. Ma posso vedere come l'aggiunta di codice GPL a un progetto commerciale può essere più un ostacolo quando ciò significa approvvigionamento aperto dell'intero prodotto.
Alex Jasmin,

2
Per quanto ne so, il codice GPL è vietato nelle app iOS dai termini di licenza di Apple.
Andrey Tarantsov,

2
Bene, sembra che una clausola dell'Apple ToS sia in contraddizione con una clausola della GPL, quindi, sebbene non proibiti, sembrano incompatibili.
Vatine,

1
Se il ToS di Apple contraddice la GPL, avere il copyright da solo ti consentirà di rilasciarlo con più licenze, una volta con una licenza compatibile con Apple ToS ma anche con la GPL.
Pieter B,

8

Non sono un avvocato, non ne gioco nemmeno uno in TV.

Ma penso che il problema qui sia la derivazione. Se il tuo nuovo lavoro deriva dal lavoro GPL o LGPL, tale lavoro deve rispettare i requisiti di GPL o LGPL. Il tuo lavoro sarà chiaramente derivato, anche se lo riscrivi completamente riga per riga in un'altra lingua.


Sì, ma ciò significa che non ti è mai permesso di usare mai più questo Algorthim? Il fatto che tu l'abbia visto implementato in un altro progetto ti impedisce di usare tu stesso quell'algoritmo, a meno che tu non possa provare di avere le conoscenze per inventare l'algoritmo tu stesso attraverso altri percorsi di apprendimento?
Chris Barry,

4
Inoltre non sono un avvocato, quindi sto solo indovinando. Non userei le parole "derivato da" se scrivessi la tua implementazione di un algoritmo in un'altra lingua. Non credo che la GPL sia stata creata come un sistema di brevetto nascosto.
Captain Sensible,

1
@Seventh - dovresti marcare il termine "Covert Patent System" e brevettare il concetto.
Mayo,

2
Gli algoritmi non sono protetti da copyright. Ai fini della legge sul copyright, la ripetizione di un algoritmo non è utilizzabile. Il punto è se il tuo programma è derivato testualmente dall'originale o no; ciò significa nomi di variabili, disposizione del codice, ecc. (La legge sui brevetti, tuttavia, può o meno applicarsi anche agli algoritmi.)
Kilian Foth,

1
La licenza copre l'implementazione e non l'algoritmo stesso. Portare l'implementazione in un'altra lingua è un lavoro derivato allo stesso modo in cui lo sarebbe portare Harry Potter nello spagnolo. Sei libero di implementare l'algoritmo a modo tuo. Consiglio di non copiare / incollare e apprendere l'algoritmo che si desidera implementare e scrivere la propria versione da zero. IANAL.
Dave Rager,

5

Come altri affermano, è probabile che si tratti di un lavoro derivato e quindi di violare direttamente i termini GPL se si sceglie di farlo "separato dalla licenza originale" (presumo che ciò significhi che rimuoverebbe la GPL e utilizzerebbe qualcos'altro, anche a fonte chiusa) .

Anche se scivola come "legale", è chiaramente immorale . L'autore di un software GPL ha scelto una tale licenza che estende le libertà alle opere derivate. Che si tratti di una cosa buona o cattiva, è l' intenzione dell'autore e dovresti rispettarla . Ti hanno dato il codice per leggere e modificare, fork e quant'altro, chiedendo solo in cambio di non cambiare le condizioni. È anche probabile che non ti aspettassi di pagare neanche per il software stesso.

So che il denaro è difficile, ma in questa forma mentre dipingi la tua idea, ruba. Certo, avresti potuto imparare quell'algoritmo o qualunque dettaglio di implementazione da un'altra fonte, ma non l'hai fatto, come hai detto tu stesso.

Se la moralità non ti riguarda, ricorda che data la natura di legalità grigia di ciò che stai facendo (o che stai per fare), è molto probabile che gli autori originali contatteranno la Apple a causa della violazione del copyright. Finora, Apple ha rapidamente rimosso tale software che ha violato GPL. Un'altra possibilità è una causa.

Se fossi in te, prenderei in considerazione la GPL o il mio lavoro (non è poi così male!) O ottenere la conoscenza con altri mezzi.


Sembra che ci siano app GPL (app wordpress?). Stai dicendo che non è OK usare un progetto open source per imparare un algoritmo?
Chris Barry,

No, non lo sto dicendo. Mi riferivo all'idea di OP di tradurre le stesse linee in un diverso linguaggio di programmazione. Ora, dove finisce la derivazione e dove inizia il lavoro originale? Questa non è una domanda facile, ma sono abbastanza sicuro che semplicemente reimplementare lo stesso algoritmo senza modifiche sia un lavoro derivato.
Tamás Szelei,

Sì, non è una domanda facile. Sarebbe anche interessante sapere quanti cambiamenti sarebbero sufficienti per non essere illegali. Cambiare nomi praticabili, spazi bianchi? Sembra un po 'sciocco come quella roba sarebbe così facile da cambiare, specialmente se capisci il codice e quindi puoi fare buoni nomi alternativi.
Chris Barry,

A proposito il codice è ben commentato, quindi è davvero facile capire cosa sta facendo.
Chris Barry,

Bene, basta usare il buon senso. Come programmatore, pensi che cambiare spazio bianco e nomi delle variabili sia un cambiamento sufficiente? In definitiva (in casi realistici) il tribunale deciderà sulla legalità.
Tamás Szelei,

5

Che ne dici di provare a fare la cosa giusta e non rubare le idee di qualcuno? Potresti semplicemente inviare un'e-mail al creatore del codice e chiedere se puoi basare parti del tuo progetto sul loro. Molte persone non avrebbero problemi con questo. Se hanno un problema, quindi anche mettendo da parte le questioni legali, perché dovresti offuscare la tua reputazione di professionista nella comunità? Il fatto che questa domanda sia formulata più o meno come "Cosa posso cavarmela?", Al contrario di "Cosa dovrei fare?" è un po 'preoccupante.

In conclusione, chiedi alla persona (o alle persone) che ha scritto il codice .


2
È stato chiesto all'autore e posterò i risultati qui.
Chris Barry,

5

Neanche io sono un avvocato. Se sei preoccupato che si tratti di un problema legale, probabilmente non dovresti nemmeno porre questa domanda e scrivere solo la tua.

La mia opinione personale in merito:

Se stai prendendo il codice javascript e riscrivendolo in una lingua diversa, questo si chiama porting ed è considerato un lavoro derivato. Se stai scrivendo la tua versione del software e usando il codice javascript come riferimento per sapere come funzionano determinati algoritmi, probabilmente stai bene.

Vorrei sbagliare dal lato di chiedere a un avvocato.

Come aggiunta , la legge sul copyright ti consente sostanzialmente di fare NULLA [*] con il codice sorgente pubblicato oltre a leggerlo. La licenza in base alla quale il proprietario del copyright ha rilasciato la licenza consente alcuni privilegi aggiuntivi non previsti dalla legge sul copyright. Prendere e utilizzare il codice in modi diversi da quelli consentiti nella licenza non è diverso dal prendere e utilizzare qualsiasi opera protetta da copyright protetta dalla legge sul copyright senza ottenere l'autorizzazione dell'autore.

[*] Ad eccezione del fair use.


1
Se è GPL puoi fare di più che leggerlo. È possibile effettuare lavori derivati ​​purché tali derivati ​​siano anche GPL.
Zhehao Mao,

Sì, è corretto.
Dave Rager,

4

No. Non è etico. È quasi certamente illegale. E se avessi mai recensito un'app di lavoro da qualcuno che l'aveva fatto, sarebbe stata archiviata con estremo pregiudizio.


Quindi stai dicendo che non è etico imparare come implementare qualcosa da un progetto open source?
Chris Barry,

4
@ Chris: Non è etico creare un'opera derivata da un progetto open source e pubblicarla in vendita, contrariamente alle intenzioni dell'autore, come dimostrato dalla licenza. Se non riesci ad aderire alla licenza, e invece la stai aggirando ... ew.
Paul Nathan,

1
Non sto cercando di evitare la licenza (perché ho posto la domanda), ma mi chiedevo quale fosse la situazione riguardo a problemi come questo. C'è un limite di tempo o una quantità di differenza tra due lavori che impediranno che si tratti di un'opera derivata? Altrimenti sembra che non si possa usare la conoscenza appresa dallo studio del codice open source?
Chris Barry,

non ti impedisce di vendere un'applicazione basata su codice open source. In effetti, la definizione di open source (data dall'Iniziativa Open Source) lo consente esplicitamente. Ma è necessario rispettare la licenza, che è il dilemma del PO. I termini dell'App Store e del conflitto GPL, che è il problema qui.
Martin Vilcans,

2

Codifica sempre come se il ragazzo che finisce per mantenere il tuo codice sarà uno psicopatico violento che sa dove vivi. ~ Martin Golding

Non sono un avvocato, quindi non risponderò come tale. Inoltre, molte altre persone non avvocati hanno già espresso le loro opinioni sulle conseguenze legali della tua idea. E salterò il dibattito sulla morale / etica.

Se fossi in te, sarei più interessato alle ramificazioni come sviluppatore. È una cosa di rispetto. Rispetto di sé, in particolare.

Certo, andiamo tutti a caccia di "How d'ya {implementazione} in {specifica}?" di volta in volta. Ecco da dove viene Stack, amirite? Ed è così che tutti noi abbiamo trovato qui, giusto? Non è di questo che sto parlando perché non è di questo che stai parlando.

Se combinassi il colpo di genio + sforzo eroico = risultato che vale la pena presentare alla comunità degli sviluppatori come offerta open source in primo luogo, e alla gente piaceva abbastanza da usarlo affatto, lascerei cadere lusinghiero. Sarei alla grande. Come John Reisig o Mark Story. Piccola mia. E poi è venuto un po 'di chump e ha messo in riga il mio contributo in modo che possano offrirlo commercialmente o nativo nella loro app commerciale? Crepa.

Il codice è come la scrittura a mano. Non puoi cambiare un'app più grande di una scatola di fiammiferi in modo abbastanza significativo che un altro sviluppatore legittimo non possa diffondere i due fianco a fianco e dire "Aspetta un minuto ..." Come sviluppatore, sarei troppo imbarazzato dalla possibilità che i miei colleghi , i miei colleghi, le persone che rispetto e il cui rispetto desidero, avrebbero mai scoperto di aver preso il codice di qualcuno. Sarei una risata. Perché questa è una copia epica di pasta per bambini kiddie bs. Vuoi davvero delegittimarti agli occhi dei tuoi pari? Il codice jack è un buon modo per iniziare.

E come sviluppatore, considera questo: se quella fosse la mia app, e ho scoperto che l'hai presa in modo tale che ti preoccuperesti di essere citato in giudizio, e se decidessi all'inferno di farti causa, stai facendo una pila di soldi grazie comunque al mio codice, quindi perché non dovrei colpirti dove fa male, magari riaverne un po '? Come fai a sapere che non sono un adolescente o posseduto da un temperamento e da una serie di abilità spaventose? Fai del mio meglio per coltivare r00 [su ur b0xen, per così dire. Dal momento che il jacking la mia app mi avrebbe mostrato che tu (base: potrei scrivere quello che potresti solo jack). Non sarebbe la prima volta.


2
Mi piace molto questa risposta. Penso che il problema sia se puoi usare il codice come punto di apprendimento e poi implementarlo nuovamente. Penso che si tratti di uno script 200 ~ LOC, quindi non è così difficile. Volevo solo partire da un esempio funzionante per i miei apprendimenti, e quindi sembrava logico iniziare da lì. Se scrivessi tutto in codice psudo e GPL la mia porta mi metterebbe in una posizione ragionevole? Penso davvero che il titolo del post abbia scatenato il dibattito più di quanto mi aspettassi.
Chris Barry,

Ri: scatenando il dibattito, considera la natura della domanda: uno sviluppatore professionista riversa il suo cuore e la sua anima nel suo mestiere, che lo voglia o no. Ore del mio tempo, secchi di sangue sudato e lacrime perché la natura del software è quella di essere una bestia. E per di più, il nostro mestiere è così difficile che contributi davvero eccellenti all'open source (librerie js, framework php, ecc.) - a questo punto, chi di noi non si affida all'open source per tenere le nostre teste fuori dall'acqua, in modo professionale ? Quindi questa domanda come questa è profondamente personale per tutti noi, che ce ne rendiamo conto o meno.
OpenSorceress il

Detto questo, ho imparato la maggior parte di ciò che so da maghi open source come John Reisig e Mark Story e la loro banda di bambini-mago. JQuery è il mio piccolo amico. CakePHP è il mio pane e burro. Non c'è niente di sbagliato in questo. Da qui la differenza tra jacking e porting. Questo è ciò di cui stiamo parlando quando diciamo che siamo sulle spalle dei giganti.
OpenSorceress il

0

Non puoi fare un lavoro derivato del lavoro derivato del lavoro derivato ... e non aspettarti che sia un lavoro derivato. Può diventare irriconoscibile, ma è qualcos'altro. E puoi iniziare da qualsiasi testo e per serie di modifiche ottenere qualsiasi testo (ad esempio, rimuovere il primo, inserire il secondo), in modo che il suo possibile non significhi che è stato fatto. Quindi non è importante se qualcosa sia possibile, ma se effettivamente accada (solo ovviamente non è successo)

Parlando di morale: imparare da tutto ciò che puoi (legalmente) arrivare è OK, ma dovresti riconoscere le fonti. il resto è legalità.

IANAL, ma non credo di aver fatto nulla di male, se: 1) Ho imparato dall'implementazione open source 2) Implementa lo stesso algoritmo (anche nella stessa lingua) facendo effettivamente questo, porzioni abbondanti diventeranno naturalmente totalmente diverse, e alcune lo faranno essere davvero simile. Se quelle parti simili sono cose in cui entrambe le parti hanno seguito la stessa pratica di codifica e quindi non possono essere diverse, allora queste porzioni non possono essere coperte da copyright. Per esempio. se la classe ha due campi String privati ​​e hanno getter e setter, l'unica cosa interessante è che questa classe ha due proprietà di lettura / scrittura, non implementazioni di getter e setter.


0

Se si riscrive ciascuna riga singolarmente, è possibile o meno "copiare" le righe.

Ma stai copiando alla lettera l'ordine, la struttura generale e l'inclusione delle linee. In altre parole, il tipo di cose che rendono il lavoro un "intero".

Stai copiando la parte che dice "questa linea dovrebbe andare qui, questa linea dovrebbe andare lì". Questa è una gran parte dell'algoritmo globale.

Inoltre, quando viene avviato un progetto, nessuno sa cosa includere, quali cose devono essere considerate più o meno importanti, come strutturare e comporre gli algoritmi. Queste informazioni devono essere prodotte e progettate ad un certo punto. Ma non ne avresti bisogno, perché lo avresti "copiato".


Come esempio:

Se ho un set {a, b, c, d, e, f}.

Posso crearne un elenco ordinato, [f, e, c, b, d, a]. Devi dire che ho aggiunto alcune informazioni all'elenco, note come ordinamento , che non erano presenti nel set non ordinato. A seconda della dimensione dell'elenco, queste informazioni potrebbero essere molto specifiche e difficili da trovare.


-1

È come qualsiasi altra cosa: non puoi non imparare ciò che hai imparato, visto, letto ... ma ciò che puoi controllare è come lo usi ...

Due cose su questo argomento -

  1. Come la maggior parte delle clausole di licenza per il codice open source ... fare un centesimo su di esso è assolutamente fantastico, renderlo "pseudo" chiuso è bello - ma il problema è "credito". Ho acquistato MOLTI script a cui sono stati attribuiti "crediti" (URL del blog, codice del sistema operativo utilizzato ..., ecc.) Ma il problema è che stai apertamente (non nascondendo) dando i riconoscimenti / i complimenti alle creazioni di qualcuno (di nuovo, alla gente non importa se lo fai ... molte volte le persone NON danno credito (violando così le clausole del tipo GPL) per paura che le persone si rendano conto che possono ottenerlo altrove ... ma se il tuo codice è apertamente dare credito e può ancora essere autonomo (indipendentemente dal fatto che il TUO contributo in codice sia chiuso / aperto) - allora alla gente non importa.

Quello che trovo come sviluppatore è che le persone vogliono non dare credito, renderlo chiuso in modo da imitare un grande sviluppatore / programmatore, con il pretesto di fare soldi sugli sforzi di qualcun altro ...

quindi sto divagando al 2 ° ...

  1. "l'intento" è quasi (praticamente) sempre il caso ... puoi stare di fronte a un giudice (dire che sei stato citato in giudizio, portato in tribunale o ti è stato chiesto di spiegare le tue azioni in tal senso) e dichiarare chiaramente senza borbottare, e con distinto posizione sul problema - perché hai preso la decisione di nascondere / chiudere la parte "open source" del tuo codice, quindi questo non dovrebbe essere un problema.

il mio 2 pence. :)

La cosa divertente è che la maggior parte delle persone pensa di aver inventato una "idea specifica" - quando in realtà l '"idea" è stata probabilmente (probabilità estremamente elevata) già lanciata sotto forma di tovaglioli, carta, codice, internet, blog, eccetera...

Quindi, sebbene possa essere nuovo per te, specialmente da quando l'hai visto nelle opere del sistema operativo di qualcun altro, è probabilmente usato in altre opere del sistema operativo da cui hanno derivato il loro lavoro del sistema operativo ... e alla fine è probabilmente usato da qualche altra parte online. Questo non è nemmeno dovuto a un problema di licenza / copyright dichiarato ... nel qual caso è possibile copiare da quella fonte ... modificare, cambiare, eliminare, aggiungere ... (anche se avrei copiato / urlato per rintracciare dove l'hai ottenuto per dimostrare che l'hai ottenuto legittimamente) nel codice come preferisci.

Penso che sia fantastico in "code-land", in particolare quante volte sono arrivato a scoprire che il mio codice "furbo" era già stato scritto (anche se .. badate bene - lol) nel 2003 su una persona geek, google search rango di # 1.239, sito web che hanno realizzato quando frequentavano la scuola elementare, creando semplicemente funzioni per divertimento e uso gratuito. :)

Il punto è ... dare credito, non evitare il problema, e quando tutto il resto fallisce ... o in caso di dubbio - CHIEDERE il sistema operativo originale per i diritti di utilizzo ... sì! quando siamo diventati così arroganti che non possiamo semplicemente chiedere a qualcuno di usare il loro diserbatore, cesoie, falciatrice, ... e - oh sì - una bella funzione che hanno fatto!

Va bene erano 3 pence ...


1
il problema è che sta cercando di eludere i termini di licenza originali.
Paul Nathan,

-4

Dai una pausa all'uomo!

  1. se un reclamo legale dovesse essere presentato a lui, ciò significherebbe che qualcuno dovrebbe effettivamente avere accesso al codice e LEGGerlo. Cosa succede se il software viene compilato?

  2. Sarà sempre in grado di invocare la sua ignoranza al momento al momento dei fatti. Non si dovrebbe avere buona fede prima di essere giudicati colpevoli?

  3. L'apprendimento non sta copiando. Trovare ispirazione in alcuni lavori esistenti non significa assolutamente nemmeno copiarli. E se imparasse da un software la funzione di ogni riga di codice e decidesse che avrebbe usato i principi dei risultati per migliorarlo e rendere un software migliore, più semplice, più snello. Non copiare IMHO.

Quelli erano i miei 2 centesimi. Ora è il turno al primo senza peccato a lanciare la pietra ...;)


3
Per il n. 1: fino a quando il tuo codice sorgente non è stato citato dal giudice e sorridi timidamente alla giuria mentre vedono il tuo "riscrivere".
Jarrod Nettles,

2
Per il n. 2: la violazione del copyright è normalmente una questione civile, quindi legalmente non esiste nulla di "colpevole". Se la preponderanza delle prove indica che l'OP ha violato, è tutto ciò che serve. Per # 3: non è quello che diceva la domanda originale.
David Thornley,

1
(1) Non è difficile individuare un plagio palese senza vedere il codice sorgente. Inoltre, qui non abbiamo l'abitudine di consigliare le persone su come cavarsela con atti illegali e non etici. (2) Ignorantia juris non excusat (l' ignoranza non è una difesa ) (3) Riscrivere riga per riga non è apprendimento. Riscrivere riga per riga sicuramente non è solo trovare ispirazione. È palese plagio, chiaro e semplice. Non ripeterò tutto qui, ma ci sono un sacco di documenti legali e precedenti a sostegno di questo.
Greg Jackson,

OK, quindi se non riscrivo riga per riga, ma capissi l'algoritmo e poi lo implementassi a modo mio. Cioè un'operazione di un uomo in camera bianca. È diverso? In caso contrario, non posso quindi imparare da nessun progetto open source?
Chris Barry,

4
@Chris Il punto centrale di un'operazione in camera bianca è che le persone che implementano l'algoritmo non hanno visto il codice sorgente originale. Non esiste una "stanza pulita per un solo uomo".
Adam Lear
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.