Nothing included in this post should be construed as anything remotely resembling legal advice. I am not a lawyer, CaseySoftware does not provide legal consultation, and your decisions must be based on your specific sitatuation.
The last time I wrote about legal issues with a mISV, I wrote specifically about some of the differences between license and copyright and some of the related issues to be aware of. Recently, I realized that I missed a completely different and much more important aspect of the whole process…
Who owns your project?
Alright, so you develop a program from the ground up and write every line of code yourself. You didn't delve in to look at the to the internals of a GPL project, you didn't sort through your code from work, you didn't even copy and paste from some dark corner of the Interweb. So the answer is simple, right? You own your code!
Or do you? And here's where it gets murky…
Did you develop any of the code on company time? Did you develop any of the code using company resources? Did you write requirements, fix any bugs, respond to user issues, participate in a supporting forum or mailing list on company time? Any one of those things can cause you huge problems.
It is generally accepted that if a company is paying you for your time, they own what you produce during that time. Unpaid lunch hours, nights, and weekends may be different depending on your contract, the laws of your state, etc, but the time they pay you for is theirs. And don't even consider for a second that you'll “just respond to this one email”. Email, source control systems, forums, and even blogs have timestamps.
One of the more nebulous things is using their resources. If you do any of the above while on a lunch break but you are sitting at their desk typing on their computer and using their internet access, it's just as problematic. Those resources are not for your project, they're for the company. Using them for something else is simply asking for trouble.
Oh, so you've talked to your boss and he's okay with it? Stop for a second and think. The person who wasn't able to adjust the policy on [choose one: dress code, lunch breaks, working hours, vacation days, software purchases] just gave you his approval on intellectual property matters? In all honesty, no matter how much you respect and trust your boss, unless you get the agreement in writing from someone who is empowered to bind the company in these matters, his opinion means exactly nothing.
So here's the simple solution to all this:
Do not work on outside projects on your employer's time or with their resources.
End of story.
There is no alternative.
Now, I'm not trying to be rude or difficult about any of this, but you have to remember two things: 1) No one goes after a loser and 2) All it takes to shut you down is suspicion of wrong-doing. Getting slapped with an injunction can effectively stop you dead and then you have the fun of proving which side is right. And just think what the implications could be for your customers… protect yourself and protect them.