Creating your own project or otherwise contributing to open source is the kind of thing that can help you show off your skills to potential employers. Beyond that, many programmers contribute because they enjoy the work involved or use it to develop new skills. But it’s worth bearing in mind that, depending on your company’s attitude, there can be job-related pitfalls. Here are some things to look out for.
Some businesses feel that anything created by their employees — even on their own time — belongs to the company. Since there’s nothing worse than weeks, months or years of hard work being appropriated by your employer, check out the legalities beforehand. For example, take a look at this intellectual property agreement by an employer, which seems to restrict pretty much anything its workers build. (It’s worth reading the discussion thread that follows, too.)
Intellectual Property (whether or not patentable and whether or not made during working hours) is defined as but not limited to: all product specifications, developments, inventions, works of authorship, derivative works, technologies, programs, systems, software, mobile applications and other mobile programming interfaces, designs, methodologies, encryptions, ideas, techniques, patents, formulas, processes, concepts, know-how and date made or conceived or reduced to practice or developed during employment period If your work ends up being owned by your employer because of an agreement like this, it’s going to put a big damper on you working there. You’ll harbor a grudge and it’s unlikely to end well. Besides, a passage like that says a lot about the company’s culture.
There are ways round this. As commenter Andrew Finnell says, “You can easily fix this by making them add ‘practice or developed during employment period while using employer facilities and on employer related projects.’” It’s a good suggestion, but you should also consult a lawyer.
I’ve avoided this situation by saying at interviews that I have done (and am still doing) work for third parties which involves that third party’s intellectual property. Though I’m not a lawyer, I can’t help but think no clause in an employment contract could realistically allow a third party’s IP to be appropriated. If you find yourself in this situation, you may want to tell your future employer that heavy restrictions are a deal breaker.
Contributions at Work
Some of the better employers use a lot of open source and allow employees to contribute back to projects or, even better, to use company time to do it. If yours is one of them, you should still exercise care. Your managers may expect you to clear code with them before you contribute it. Also, be cautious what you’re contributing to. I doubt an employer would be happy if you open sourced a new encryption algorithm and it ended up with a foreign government. Things like that could end up costing your employer big money in fines, and could put you out of a job.
You’re more likely to run into issues surrounding copyright, so be sure to consider code ownership, licensing terms and trade secrets. Remember, it wasn’t that long ago that SCO claimed to own part of UNIX and Linux and demanded that Linux users pay licensing fees.
Then there’s the danger that your company’s name might become associated with a project because it’s allowed a contribution. Be clear that your employer’s not endorsing your work. With patent trolls ever on the prowl, exposing software from the company might expose it to litigation or have other legal implications regarding any patents it owns. So it’s a good idea to ask the legal staff for guidance and check licensing issues.
Lastly, any code released should be examined for security issues. Might it reveal a possible way for hackers to break into your company’s software or website? Hopefully not, but it pays to check.
Apply a little bit of common sense and keep your manager and the company’s lawyers in the loop and you should avoid problems. Then you can pay attention to your contributions without worry.