When Your Open Source Code No Longer Belongs to You
Most people who contribute to open source projects have a basic knowledge of how most prominent open source licenses work, but it's still true that many contributors don't know who actually owns what. As just one example of how this confusion can come back to bite a contributor, corporations are increasingly providing code for open source projects, and it's easy for a contributor who works for a company to wrongly consider the code he produces his own. This came to light recently in the case of one individual contributor.
Just consider the plight described in this post:
"I was terminated from a company that I worked day and night for for about 5 years. During the last 2 years of that time, I created a simple web framework and contributed it to open source. We had always used open source, so it was high time we became a contributor! Recently I found out that they have removed all of the licenses from the files (GPL and MIT), gave it a silly name, and have the intention of marketing it as a product. What should I do?"
Unfortunately, the way to answer this question is to follow the money. Most companies have coders sign intellectual property-focused and Fair Use-focused agreements that make clear that code produced while working for (and being paid by) the company belongs to the company. If the coder was being paid a salary while contributing to an open source project, the company almost always has the right to claim ownership of the code.
That's not to say that these issues can't get sticky, though. Canonical-backed Project Harmony is the latest effort to streamline every aspect of how open source contributions work, including providing answers to questions like the one above. Project Harmony has received some early criticism from Red Hat and others, but is squarely focused on the gray area surrounding open source contributor agreements.
You can check out the Project Harmony guidelines here, which help answer some of the questions that open source contributors have.