Earlier quoted context omitted.
... Nothing came of it, but I took the code and shoved it into my back pocket for a rainy day ... You can't really do this. Depends on your employment contract but code you write for an employer is usually copyright to them ... My first reaction was to publish the code on Github ... You can't really do that either.
Cool -- if one of the companies wants to issue a takedown request, they're free to make the case for it. It's funny there's this idea that a company _might_ be potentially injured over code they do not want or know they had being made open source by its actual author, even though many of those companies will gladly use open-source tooling without ever contributing anything back. Perhaps more soundly, though, in Calif…
> and then later adapted and expanded upon that code (or even started over, with the knowledge of what you learned from others' work)
These are extremely different scenarios. Starting with a copyrighted material and modifying it is not at all the same as reading material and starting over. The first is violating copyright, the second is a derivative work.
If I read everything correctly, what you describe doing is taking code owned by the first company and modifying it for the second company. That’s not at all a gray area. It’s a copyright violation. You the engineer sign away your rights to the code when you built it for company 1 while employed by them. Their employment contract for-sure states they own any work produced by you during your employment, and you agreed to this.
If the first project was done off of company time, posted publicly on a private account, you might have a claim to the rights.
I know you’ve dug your trench too deeply to change your mind at this point, but anyone reading your comments should know what you did was technically illegal and can get people in legal hot water.