Я всегда решал эту проблему, имея личный проект, в который я кладу все свои сумасшедшие идеи и общие вещи, а затем лицензирую его под лицензией BSD, что позволяет людям повторно использовать, изменять, ребрендинг, закрывать его и брать деньги за Это. Таким образом, я сохраняю авторские права, но могу повторно использовать код по своему усмотрению для этого и этого работодателя, чтобы сохранить авторское право на оригинал, но работодатель сохраняет право на повторно используемый экземпляр. Я полагаю, что если бы у них была проблема с этим, то они просто должны были бы заплатить мне, чтобы переписать это в рабочее время, что не имеет смысла с их точки зрения. Более того, компании все время используют код BSD, поскольку идея BSD состоит в том, чтобы позволить людям и компаниям делать с ним практически все, что они хотят, включая ребрендинг и продажу.
Тогда, конечно, если в код на рабочем месте будут добавлены дополнения, я не смогу повторно использовать его в другом месте, не переписывая его в свое свободное время ... и это хорошо, потому что общий материал имеет тенденцию быть относительно небольшим, если только идея, которая в любом случае требует значительных усилий в свободное время.
Написание его в свое свободное время и лицензирование кода под лицензией в стиле BSD должно позволить вам поддерживать библиотеку для себя, которую вы можете использовать практически везде, где захотите.
Теперь, что касается контрактов, в которых утверждается, что они поглощают авторские права на все ваши личные проекты ... это, вероятно, радикально отличается в разных юрисдикциях, но, по крайней мере, в некоторых западных юрисдикциях я понимаю, что контракт не может этого сделать. В контракте может быть сказано, что это так, но он не будет исполняться в суде, потому что авторское право должно быть явно передано, в отличие от «все ваши базы принадлежат нам» - своего рода сделка, которая никогда не будет поддержана (в юрисдикция, откуда я в любом случае). Существует ряд ограничений на то, что может быть поддержано в суде через договор, поэтому вы обычно (и, мы надеемся,) увидите пункт, в котором говорится что-то о том, что если одна часть договора не работает по закону , остальная часть контракта остается в силе.
Но, как всегда, проконсультируйтесь с юристом, прежде чем интерпретировать это как точную юридическую консультацию. Меня никогда не привлекали к суду по этому делу, поэтому я не знаю ничего подобного в качестве доказательств адвоката. :)