Ho sempre risolto questo problema avendo un progetto personale in cui ho messo tutte le mie idee folli e roba generica, e poi lo ho concesso in licenza con la licenza BSD, che consente alle persone di riutilizzare, modificare, rinominare, chiudere e addebitare denaro per esso. In questo modo, conservo il copyright ma posso riutilizzare il codice come preferisco per questo e quel datore di lavoro, in modo da conservare il copyright sull'originale, ma il datore di lavoro conserva il copyright sull'istanza riutilizzata. Immagino che se avessero avuto un problema con quello, avrebbero semplicemente dovuto pagarmi per riscriverlo sull'orario di lavoro che non ha senso dal loro punto di vista. Inoltre, le aziende usano sempre il codice BSD, poiché l'idea alla base di BSD è consentire alle persone e alle aziende di fare praticamente tutto ciò che vogliono, incluso il rebranding e la vendita.
Quindi, naturalmente, se vengono aggiunte 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 merita comunque un notevole sforzo nel tempo libero.
Scriverlo a tuo piacimento e concedere in licenza il codice con una licenza in stile BSD dovrebbe permetterti di mantenere una libreria per te che puoi usare praticamente ovunque tu voglia.
Ora, per quanto riguarda 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 è mia comprensione che un contratto non può farlo. Il contratto può dire che lo fa, ma non dovrebbe essere fatto valere in un tribunale perché il copyright deve essere esplicitamente trasferito, al contrario di "tutte le tue basi ci appartengono", un accordo che non sarebbe mai stato confermato (in la giurisdizione da cui provengo comunque). Ci sono una serie di restrizioni su ciò che può essere confermato in un tribunale tramite contratto, motivo per cui di solito (e si spera) vedrai una clausola che dice qualcosa secondo cui se una parte del contratto non funziona legalmente , il resto del contratto è ancora valido.
Ma come sempre, consultare un avvocato prima di interpretarlo come un accurato consiglio legale. Non sono mai stato portato in tribunale per questo, quindi non conosco nessuna di queste cose come fatti a prova di avvocato. :)