È sbagliato prendere il codice che hai prodotto sul posto di lavoro e riutilizzarlo per progetti personali?

30

In tutti i miei diversi luoghi di lavoro ho sempre scritto codice che mi ha fatto pensare "questo sarebbe davvero utile in altre situazioni". Effettivamente, scrivo intenzionalmente il codice, anche se mi ci vuole più tempo per scrivere, che so mi aiuterà in futuro (ad esempio funzioni SubString() personalizzate). Un buon candidato per questi snippet sono varie classi 'Helper'.

Questi frammenti sono sicuro che probabilmente si possono trovare altrove online, ma il punto è che li ho scritti e li userò di nuovo in seguito in altri lavori o per progetti personali. Attualmente non conservo una libreria di codice personale, ma la domanda è: è sbagliato prendere il codice che hai prodotto sul posto di lavoro e riutilizzarlo ( a ) per i progetti personali, e ( b ) in altri lavori?

    
posta Arj 07.10.2011 - 15:17
fonte

12 risposte

25

Ho sempre risolto questo problema avendo un progetto personale in cui ho messo tutte le mie idee pazze e cose generiche, e poi l'ho licenziato sotto la licenza BSD, che consente alle persone di riutilizzare, modificare, rebrandare, chiudere e addebitare denaro per questo. In questo modo, conservo il copyright, ma posso riutilizzare il codice come preferisco per questo e per quel datore di lavoro, in modo da mantenere il copyright dell'originale, ma il datore di lavoro conserva il copyright dell'istanza riutilizzata. Immagino che se avessero un problema con quello, allora dovrebbero semplicemente pagarmi per riscriverlo sul tempo di lavoro che non ha senso dal loro punto di vista. Inoltre, le aziende usano il codice BSD tutto il tempo, poiché l'idea alla base di BSD è quella di consentire alle persone e alle aziende di fare praticamente tutto ciò che vogliono, incluso il rebranding e la vendita.

Ovviamente, se vengono aggiunte al codice sul posto di lavoro, non posso riutilizzarlo altrove senza riscriverlo nel mio tempo ... il che va bene perché le cose generiche tendono ad essere relativamente piccole, a meno che non sia un'idea che garantisce comunque un considerevole sforzo nel tempo libero.

Scriverlo nel tuo tempo libero e concedere in licenza il codice sotto una licenza in stile BSD dovrebbe permetterti di mantenere una libreria per te che puoi usare praticamente ovunque tu voglia.

Ora, come per i contratti che pretendono di risucchiare il copyright di tutti i tuoi progetti personali ... questo probabilmente differisce radicalmente tra le giurisdizioni, ma in almeno alcune giurisdizioni occidentali è a mia conoscenza che un contratto non può farlo. Il contratto può dire che lo fa, ma non sarebbe applicato in un tribunale perché il copyright deve essere esplicitamente trasferito, al contrario di "tutta la tua base ci appartiene", un accordo che non sarebbe mai rispettato (in la giurisdizione da cui provengo comunque). Ci sono una serie di restrizioni su ciò che può essere sostenuto in un tribunale tramite contratto, motivo per cui di solito (e si spera) vedrà una clausola che dice qualcosa nel senso che se una parte del contratto non funziona legalmente , il resto del contratto è ancora valido.

Ma come sempre, consulta un avvocato prima di interpretarlo come una consulenza legale accurata. Non sono mai stato portato in tribunale, quindi non conosco nessuna di queste cose come fatti a prova di avvocato. :)

    
risposta data 07.10.2011 - 15:50
fonte
31

Dipende dal tuo contratto di lavoro. In questi giorni, la risposta più probabile è (a) sì, questo è sbagliato e (b) sì, questo è veramente sbagliato. Quasi tutti i contratti offerti agli sviluppatori oggi prevedono disposizioni che dicono che qualsiasi codice che scrivi mentre è impiegato dalla società (sia durante gli orari d'ufficio o meno) è loro e automaticamente trasferisci il tuo copyright a loro. A meno che tu non abbia negoziato in modo specifico contro questo, ciò si applica presumibilmente a te.

Tuttavia, come sempre:

Non crederci! Consulta un avvocato prima di fare qualcosa di potenzialmente pericoloso.

    
risposta data 07.10.2011 - 15:24
fonte
9

Riscrivi il codice appena e quando ne hai bisogno . Evita completamente il problema per pochi minuti di codice.

Le probabilità sono nel frattempo che avrai imparato di più e scriverò qualcosa di meglio. Il codice di riscrittura inoltre lo rende generalmente più elegante.

    
risposta data 07.10.2011 - 15:32
fonte
6

A seconda delle condizioni di impiego, potrebbe essere. Consultare il proprio supervisore, dipartimento delle risorse umane, dipartimento legale e / o dipartimento di etica per determinare cosa è di proprietà della vostra azienda e di cosa è di vostra proprietà, nonché quale sia il processo per richiedere di ottenere diritti d'uso o proprietà delle cose che produci al lavoro.

Quasi tutti i luoghi in cui ho lavorato, le cose che fanno parte dei progetti sono di proprietà dell'azienda, ma ho cercato e ottenuto il permesso di presentare le cose per progetti personali caso per caso, il che di solito richiedeva spiegazioni cosa voglio fare con esso e come non sarebbe dannoso per l'organizzazione lasciarlo andare.

    
risposta data 07.10.2011 - 15:23
fonte
4

Ho avuto un certo successo (non un totale successo) nel convincere i miei datori di lavoro a rilasciare sotto una licenza open source parte del mio codice scritto mentre lavoravo per loro. Per lo più codice che ho scritto nel mio tempo libero, ma a volte no. È tutto il codice non specifico per qualsiasi settore.

Ho iniziato tutto andando scrivendo alcune librerie mentre ero disoccupato, poi rilasciando loro sotto la licenza del MIT. Quindi durante il processo di assunzione a lavori successivi lo menzionerei, e direi che avrei usato il mio codice per aiutarli, se potesse, ma gli dispiacerebbe se aggiungessi cose che ho scritto mentre lavoravo per loro, ma solo cose che non erano specifico per la loro attività e solo con la loro approvazione.

I risultati sono variati, ma sono riuscito a costruire la mia biblioteca nel tempo. E ci sono stati casi in cui avere la biblioteca ha accelerato i tempi di sviluppo per i miei datori di lavoro.

    
risposta data 07.10.2011 - 19:56
fonte
4

Sono sorpreso che la risposta più pesantemente votata qui sia "sì". Come sviluppatore, la risposta è sempre stata un "assolutamente no", tranne nelle circostanze in cui il codice è:

  1. Una libreria composta precedente che ho sviluppato indipendentemente dal progetto corrente e da tutti i precedenti, o
  2. Una libreria che è stata resa disponibile a questo scopo, ad es. materiale open source.

Qualcuno ti ha pagato per scrivere il codice. Escludendo una diversa comprensione e accordo, che va bene, non è giusto che qualcun altro ne tragga i benefici DIRETTI.

Ora - la parola DIRETTA. Se raggiungi la fine di un progetto e hai imparato qualcosa di interessante e hai creato qualcosa di utile con esso che non è direttamente legato alla proprietà intellettuale del cliente, prenditi un po 'di tempo e creane una libreria per questo. Ancora meglio - INIZIA UN PROGETTO OPEN SOURCE CON IT, in modo che tutti diventino più ricchi. Penso che sia assolutamente eticamente puro al 100% come la neve guidata, e infatti, l'ho fatto io stesso.

A breve termine, riutilizzare il codice che hai pagato per scrivere per qualcun altro ti causerà mal di testa legali. A lungo andare, ti causerà mal di testa da personaggio.

    
risposta data 07.10.2011 - 19:57
fonte
2

Sono sicuro che questa è una questione legale a seconda di dove vivi / lavori e di quanto concordato / del tuo contratto.

Se imparo qualcosa da solo, nel mio tempo libero, tutte le spese pagate da me (computer, accesso a internet, software, ecc.), non vorrebbero che io lo utilizzassi nel mio lavoro? Puoi trovare un'espressione regolare per un progetto personale e decidere di inviarlo tramite email al tuo account di lavoro perché probabilmente potresti usarlo. Sarebbe un po 'sciocco passare il tempo in azienda a fingere di cercarlo di nuovo su internet. Certo che ci sforziamo di migliorare il nostro mestiere, questo è ciò che ci si aspetta dai programmatori, bla, bla, bla, ma cosa succederebbe se si trovasse in un'area fuori dalla programmazione o addirittura dall'IT? Posso trattenermi se vogliono giocare a questo gioco.

L'azienda può provare a mantenere una stretta aderenza sul codice che produco. È solo una base scadente per costruire una relazione. Se si preoccupano molto di alcune righe di codice, non posso immaginare fino a che punto andranno a dominare il mio tempo; che vale molto di più

    
risposta data 07.10.2011 - 16:50
fonte
1

Ho avuto gli stessi pensieri anche in passato. Purtroppo, penso che tutto ciò che scrivi direttamente per il tuo lavoro sarebbe tecnicamente protetto da copyright dal tuo datore di lavoro. Dovresti chiedere il permesso di riutilizzare quel codice in altri lavori non relativi alle società.

D'altra parte, se hai scritto del codice nel tuo tempo libero per uno dei tuoi progetti, potresti proteggere il tuo codice con una sorta di copyright e poi offrirti di dare quel codice al tuo datore di lavoro per l'uso.

In entrambi i casi deve esserci comunicazione chiara sul problema.

Ovviamente, IANAL.

    
risposta data 07.10.2011 - 15:25
fonte
1

La tua domanda è molto simile in vena a questo " Open Source - È legale ricreare / aprire un programma precedentemente creato per un'altra azienda? "

Direi che sei su basi legali poco sicure perché le società per le quali hai lavorato possiedono probabilmente il codice che hai scritto per loro. Sarebbe meglio codificare le routine da zero, ma anche in questo caso ci potrebbero essere delle domande se si hanno ancora copie dell'altro codice.

[Non sono un avvocato, quindi non aspettarti che il mio consiglio ti aiuti in un tribunale.]

    
risposta data 07.10.2011 - 15:29
fonte
1

Direi che quei piccoli metodi / funzioni generici non sono tenuti tra i progetti. Il più delle volte, puoi usare Boost o qualsiasi altra cosa la tua lingua ti fornisca. Il più delle volte, quelli sono scritti meglio dei tuoi.

È una buona idea avere una serie di test unitari per quelli e usarli per testare il codice kata.

    
risposta data 07.10.2011 - 15:35
fonte
1

I lavori sono diretti in Asia, quindi riscrivi il codice mentre il treno di sugo esiste ancora. Se vieni pagato per scrivere codice, scrivilo o incollalo e fai finta di averlo riscritto mentre fai qualcosa di divertente. O ancora meglio, lavora da casa e paga un programmatore più esperto, più intelligente e soprattutto più economico dell'Asia, per scrivere il codice per te e intascare la differenza. Poi puoi uscire e goderti il mondo prima che i nostri dèi corporativi ci stendono e siamo tutti indigenti a lavorare in fabbriche di chip che producono gettoni a 2 centesimi all'ora per i ricchi consumatori cinesi e indiani di iPhone.

    
risposta data 07.10.2011 - 21:15
fonte
0

So che questa è una vecchia domanda ma qualcuno l'ha sbattuto e ho pensato che sarebbe stata una buona idea aggiungere un riferimento alla triste storia di Sergey Aleynikov . Prima di prendere qualsiasi codice dal lavoro, leggi come questo ha rovinato la sua vita e lo ha atterrato in prison .

    
risposta data 27.02.2017 - 23:10
fonte

Leggi altre domande sui tag