È legale ricreare / opensource un programma precedentemente codificato per un'altra società


49

Nel mio lavoro precedente ho creato una dashboard generica per l'automazione delle attività che si è rivelata abbastanza utile - e ovviamente il mio precedente datore di lavoro possiede tutto il codice che ho scritto mentre lavoravo lì. Ora che non ci sono più, è legale per me ricreare quel dashboard dalla memoria e open source il codice? Se lo ricrea, il codice (forse linee 2k-3k) potrebbe essere quasi identico all'originale poiché ho una memoria abbastanza buona e tendo a seguire il mio solito stile di codifica e convenzioni di denominazione.

Modifica: un po 'più di background - questo è un software piuttosto generico che viene utilizzato solo internamente da un piccolo team (<10) all'interno di una società globale. "La società" non è nemmeno a conoscenza di questo sistema poiché lo creo di mia iniziativa. È basato su Python / Django. E per quasi identico intendo che ad esempio i modelli di django avranno lo stesso nome / campi e le viste useranno query simili per restituire gli stessi insiemi di oggetti.


15
Li hai contattati in merito all'approvvigionamento aperto del codice? Se non fa parte della loro attività principale di fare soldi, potrebbero essere felici di farlo, e avrebbe anche il vantaggio aggiuntivo di fornire loro nuove funzionalità gratuitamente, supponendo che tu o altri lo estenderebbero.
dodgy_coder il

3
praticamente in tutti i contratti, qualunque cosa tu faccia per il tuo datore di lavoro, che sia scritto o meno, è la sua proprietà intellettuale. Quindi sputarlo di nuovo e renderlo disponibile a qualcuno che non è quel contratto è una violazione del contratto.
stijn

1
Teoricamente legale ma buona fortuna a dimostrarlo in tribunale. :(
SF.

6
Una distinzione interessante qui è la differenza tra "legale" ed "etico". Nella maggior parte dei casi, se devi porre la domanda è perché conosci già la risposta e non vuoi ammetterla.
Joel Etherton,

1
Se questa era una funzione generica, allora sembra perfettamente riutilizzarlo ovunque tu vada e persino pubblicarlo online. Quindi perché un insieme di funzioni sarebbe così diverso?
kefeizhou,

Risposte:


35

Bella domanda, ma è probabilmente il posto sbagliato da chiedere perché non riceverai una buona consulenza legale dai programmatori. IANAL, chiedere un'adeguata consulenza legale.

Non sembra legale. C'è una buona probabilità che se rilasci un programma quasi identico a quello che possiede la tua vecchia azienda, potresti essere denunciato. Detto questo, sono sicuro che succede molto.

Una cosa che potresti fare è ricreare il programma in un'altra lingua. In questo modo è chiaro che non sei uscito dall'azienda con il codice sorgente e quindi open-source. È anche istruttivo risolvere un problema che conosci in un'altra lingua.

Suggerirei anche di pensare a come migliorare il programma, renderlo più estensibile, ecc. La seconda volta che fai qualcosa è quasi sempre molto meglio del primo perché puoi evitare tutto il "Vorrei averlo fatto "decisioni di progettazione che potresti aver preso la prima volta.

Anche se non lo rilasci mai, sarebbe un buon esercizio. Se alla fine ricevi una consulenza legale e scegli di rilasciarlo, sarai protetto meglio.


5
se vuoi mantenere la stessa lingua, pensa a scrivere "quasi" lo stesso codice ma cambiando l'interfaccia utente . Come ha detto mcottle, potresti migliorarlo e se una pagina web sembra totalmente diversa, anche se ha "quasi" esattamente lo stesso codice di quello che hai fatto prima, stai andando più lontano dai problemi legali.
Olivier Pons,

1
Parti del codice, inclusa l'interfaccia utente, saranno diverse, ma alcune potrebbero essere le stesse per vari motivi (stile di codifica personale ecc.). Fino a che punto devo arrivare al 100% in chiaro?
kefeizhou,

1
-1 per "non sembra legale". I suggerimenti sono buoni, ma i problemi sono pratici, non legali.
Sean McMillan,

2
Perché diavolo tutti pensano che quando riscrivi qualcosa da zero farai qualcosa di meglio? Puoi effettivamente peggiorare qualcosa.
Clemente Herreman,

2
@ClementHerreman: Accetto. A volte è meglio andare con qualcosa che è stato dimostrato in azione. Se riscrivi da zero potresti apportare molti miglioramenti ma introdurre anche nuovi bug.
kefeizhou,

21

Legale o no, se il tuo datore di lavoro lo scopre e decide di risolvere il problema, ti troverai in un mondo ferito. Anche se finisci per essere giudicato giusto, il potenziale contenzioso può finire per essere completamente rovinoso per te. Rischi anche di incorrere nell'ira della comunità OSS per averla inquinata con un codice protetto da copyright e la perdita di reputazione è stata vista come disonesta dal tuo datore di lavoro.

Rischi anche l'azione da parte di chiunque adotti il ​​tuo prodotto. Nel peggiore dei casi, chiunque utilizzi il tuo prodotto dovrà affrontare la necessità di licenziarlo dal tuo precedente datore di lavoro o rimuoverlo dalla sua soluzione, costando tempo e denaro - in entrambi i casi potrebbe finire per farti causa per danni.

Sembra che sarebbe più facile fare la cosa giusta: parlare con il tuo precedente datore di lavoro, ottenere il consenso per riutilizzare il prodotto che hai sviluppato per loro con l'intenzione di una distribuzione open source. Potrebbero semplicemente dire "vai avanti". Farlo alle loro spalle è generalmente una cattiva idea, a parte le questioni legali.


Quasi invariabilmente qualsiasi datore di lavoro che si preoccupa di possedere il prodotto finale non consentirà al dipendente che lo ha creato di distribuirlo in altro modo con il loro consenso. Altrimenti qual è lo scopo di possederlo?
Joe Z.

14

Quale tipo di programmatore ha dato la possibilità di ricreare qualcosa che hanno fatto in precedenza (le lezioni apprese ecc.) Produrrebbe qualcosa di "quasi identico". A meno che tu non creda di aver codificato qualcosa di perfetto ??? A quel punto hai domande più grandi da porsi.


10
il tipo pigro con non molto tempo. Preferirei semplicemente usare ciò che funziona piuttosto che cercare di risolvere lo stesso problema due volte in questo caso particolare.
kefeizhou,

8

I cruscotti sono un centesimo alla dozzina. Il tuo datore di lavoro non ha mai posseduto l'IP su quell'idea. Il tuo datore di lavoro era proprietario del copyright sull'implementazione specifica.

Puoi scrivere il nuovo codice da zero. Ciò significa che il lavoro non è un lavoro derivato. È intelligente tenere appunti in modo da poterlo provare.


Aggiornamento recente: theregister.co.uk/2011/09/30/software_copyright . La Corte di giustizia europea dovrebbe dichiarare esplicitamente che l'interfaccia utente non è protetta da copyright in quanto tale, poiché rientra nelle "idee e principi" di un programma software.
Salmi,

5

Tecnicamente, stai creando un'opera derivata: conosci la soluzione esistente e la stai ricreando dalla memoria. Si applica il solito IANAL, ma se il tuo ex datore di lavoro ti fa causa per violazione del copyright, la mia ipotesi è che abbiano un argomento piuttosto forte e dipenderà da te fornire una spiegazione plausibile sul perché il tuo programma ricreato non dovrebbe essere considerato un'opera derivata.

A parte gli aspetti tecnici, entrare in una causa con un ex datore di lavoro non è dove vuoi essere, mai - anche se vinci, sarai "quel ragazzo", che dubito sarebbe una mossa intelligente per la carriera.


3
Non credo sia così che vengono definite le opere derivate - penso che tu debba davvero includerne una parte.
Sean McMillan,

Dipende dalla giurisdizione e dall'interpretazione, ma "derivare" non deve necessariamente significare "includere parti di".
tdammers,

1
@tdammers: Sì, ma ciò rende inutile chiedere qui. Non siamo in avvocati generali, e quelli che lo sono non sono probabilmente gli avvocati del PO. Non possiamo rispondere a domande legali specifiche (e notare che ciò che costituisce un "lavoro derivato" è un argomento di discussione caldo nel mondo F / OSS).
David Thornley,

Bene, il mio punto è che anche se si ricrea la cosa dalla memoria, sarà difficile provare che non è derivata quando il giudice / giuria sa che hai anche scritto quella originale che assomiglia esattamente a quella nuova che stai rivendicando non è un'opera derivata. "Innocente fino a prova contraria" non si applica al diritto privato.
tdammers,

4

Negli Stati Uniti, se il tuo ex datore di lavoro decide di farti causa, sarai nei guai, qualunque cosa pensino i giudici.

Teoricamente, la tua azienda possiede il tuo lavoro, non il tuo cervello. Quindi, se fai di nuovo il lavoro nel tuo tempo libero, non dovrebbero averne la proprietà. Dopo tutto, ti hanno assunto per quello che sapevi prima di assumerti. Sembra logico supporre che possano trarre vantaggio dalle tue conoscenze precedenti ma allo stesso tempo ti negano di fare lo stesso dopo che te ne sei andato. Ma anche IANAL.

A meno che, naturalmente, non ti abbiano fatto firmare alcune cose folli. O a meno che non abbiano depositato un brevetto. Se lo hanno fatto, essi non possiedono quella parte del tuo cervello. In tal caso, quei modelli di cellule nervose che compongono quella conoscenza all'interno del tuo cervello non sono più tuoi e dovresti astenersi dal riutilizzarli mai più. Parla di vendere la tua anima.


3

Devo discostarmi dall'argomento principale per dire che ritengo che tutto ciò sia davvero triste.

Ora sulla domanda:

Se fossi un falegname che produceva mobili e la ex azienda ti forniva progetti e progetti, allora verrai assunto da un'altra società, chiaramente sei nei guai se inizi a fare esattamente le stesse cose.

Se la tua ex azienda ha acquistato solo il prodotto del tuo lavoro e tu li hai progettati e "inventati" (e puoi provarlo), allora la legge dovrebbe essere con te.

La morale della storia: la prossima volta sarà open source dall'inizio.


L'ho considerato in quel momento, ma c'è troppa burocrazia nel cercare di aprire open source anche una piccola parte di codice di una società finanziaria.
kefeizhou,

3

(a) Non richiedere consulenza legale da Internet (incluso questo consiglio!)

(b) Essere citato in giudizio è un vero dolore nella parte posteriore, anche se si vince

(c) Sembra che tu pensi che non vi sia alcun rischio reale di essere citati in giudizio. In tal caso, probabilmente non importa se hai il diritto privato di farlo.

Indipendentemente dal fatto che sia legale, ciò si riduce a quanto vuoi ricreare questo progetto rispetto a quanto vuoi correre il rischio di essere citato in giudizio. Se hai i soldi, allora suggerisco di parlare prima con un avvocato per sapere se hai il diritto di farlo e, se lo fai, i costi per la risoluzione delle controversie se ne vanno.


0

C'è probabilmente una differenza legale tra ricreare la soluzione dalla memoria e creare una soluzione originale con le stesse specifiche (ma IANAL, quindi chiedine una). Per dimostrarlo, potresti voler pubblicare sul tuo blog una specifica originale e completa dello strumento che intendi sviluppare. Quindi è possibile per qualche altro sviluppatore che non ha mai visto il tuo lavoro precedente codificarlo.


0

Ecco un modo semplice: -Apri la dashboard dall'URL pubblicamente disponibile. -Pensare ai modi migliori per renderlo più facile / migliore / così via. -Riscriverlo in un'altra lingua, come precedentemente suggerito. Un buon motivo per imparare rubino, haskell, lisp e così via. -Poi rendere un progetto open source. sentiti libero di aggiungere "ispirato da ..." e di collegarti al sito originale.


0

Non costerebbe molto tempo anche solo chiedere loro il permesso. È necessaria una firma legale scritta. Per coprirti.

Ma se hai intenzione di chiedere loro di lasciarti ricreare qualcosa che hai già creato per loro. Vendilo a loro. Vendi loro l'idea. Stai per aprire una parte del software che già utilizzano e renderlo aperto a recensioni e integrazioni potenzialmente significative della comunità di programmazione. Non dovranno spendere risorse internamente per gestire e migliorare il software. A meno che non vogliano ottenere maggiori benefici. Intendo davvero vendergli l'idea.

Se non è una tecnologia di core business che vendono ai clienti, probabilmente otterrai l'approvazione abbastanza facilmente. Se è una cosa che vendono ai clienti, allora si aprono a concorrenti che competono con lo stesso prodotto. Solo tu sapresti davvero quanto sia importante il tuo precedente datore di lavoro considera quel codice. Se non è così importante importare lì la generazione di reddito ed è solo un miglioramento della produttività, è molto probabile che tu ottenga l'approvazione.

È il percorso più economico e più breve per ottenere ciò che desideri. Se dicono di sì, nessun problema. Ti è costato solo un po 'di tempo. Se dicono di no e vuoi continuare, chiedi a un avvocato la sua opinione. Mi aspetto che l'unica cosa che possiedono sia l'implementazione. Se lo ricrea con abbastanza cambiamenti da non sembrare e funzionare esattamente allo stesso modo, stai molto meglio.

È lo stato disfunzionale dell'attuale sistema in cui non possediamo i prodotti del nostro lavoro. Alcune delle società di maggior successo in cui quelle in cui le persone potevano liberamente trarre profitto dai propri sforzi. Potresti fare un paragone con questa situazione con la proprietà feudale della terra e i problemi che ha creato. Ad un certo punto le persone faranno affari in modo diverso. Come googles 1/5 del tuo tempo per i tuoi progetti.


0

Sicuramente tutto questo dipende dal contratto tra te e il cliente. Se avessi programmato di farlo, avresti dovuto avere una clausola che afferma "questa fonte di origine rimane la proprietà intellettuale di kefeizhou ..." o qualcosa del genere (so che il senno di poi è 20/20). Concordo con gli altri commenti sul fatto che Programmers SE non sia la migliore fonte di consulenza legale, e che sia legale o meno, questo ti sta creando problemi. Per inciso, lavoravo come graphic designer, e in quel settore, quasi tutto il lavoro è rimasto l'IP del cliente e non del designer.


Quindi, se disegni una foto di un'auto per un cliente, non puoi mai più disegnare una foto di un'auto per un altro cliente?
Nate,

No, non è possibile disegnare un'immagine di un'auto per un cliente e quindi inviare lo stesso disegno di un'auto al secondo cliente. Inoltre, non è possibile presentare al secondo cliente alcunché di cui si possa legalmente sostenere che sia uguale o troppo simile all'auto del primo cliente.
Paul T Davies,

-1

In Francia è illegale.

Il proprietario del codice è il tuo ex capo. Non importa come lo recuperi, da una chiavetta USB o dalla tua memoria.

Se si desidera utilizzare tale dashboard, è necessario stabilire un accordo con il proprietario.


Sicuramente ogni azienda ha una propria politica al riguardo piuttosto che una legge nazionale? Ho pensato che questo sarebbe qualcosa che è nel contratto di lavoro di un'azienda, semmai.
dodgy_coder

L'impostazione predefinita è che ricevi uno stipendio in cambio della scrittura del loro codice. Sebbene possa esistere la possibilità, non sono a conoscenza di politiche alternative. Questo è diverso se sei un libero professionista e vendi app o librerie, nel qual caso sei il capo e possiedi il tuo codice.
mouviciel,

Meno male che non sono in Francia.
kefeizhou,

1
Posso dare alla Francia un -1? Il recupero "dalla memoria" non è affatto la stessa cosa da un disco.
Sean McMillan,

2
Questo significa che, in Francia, se si implementa un algoritmo o si scrive una sorta di programma, non si può mai implementare tale algoritmo o scrivere quel tipo di programma per un altro datore di lavoro?
David Thornley,
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.