I’m getting over the shock now of discovering that my contract of employment basically says that the company I work for holds the intellectual property rights of anything I create - either inside or outside work time.
After a bit of rational thought, I realised that I learned all the open source technologies off my own back - out of work time - and in many cases my voyage into the technologies and projects started a long time before I worked here. Also, all of my open source projects were started a long time before my employer took any interest in them (we are using CMS at a variety of customer sites now) - which means that I did not go away and pre-empt or replicate any known commercial projects when I started my own projects… My employer has though gained a significant commercial advantage by using the open source code I have written in commercial projects.
It brings up an interesting dilemma too - that of commercial companies building solutions perhaps using open source components within those solutions. By following the contracts with their own developers, they find themselves saying “we are going to use open source components to help increase our competitive advantage, but we are not going to let any of our developers freely help the open source community”. That’s something of an enormous contradiction, isn’t it.
As I have progressed with the development of CMS, Blog, and Nexus, I have found myself identifying more and more with the ideals of the open source methodology - that “by everybody helping everybody, everybody wins”. The commercial world seems to be based on “If I get help from everybody I can, and help others as little as I can, I win”.
So - at the end of all this, I find that the real “gotcha” that developers in my position must face and overcome is one of communication. As long as I obtain permission to work on specific open source projects and my employers agree that there is no commercial conflict of interest in doing so, I am free to do it. It’s worth pointing out that my employers were caught off guard too by the implications of the laws; and luckily I work for a great company - they realise that if they go and “lay the law down”, they will have developers jumping ship all over the place.
You can see the commercial perspective in all of this - throughout my day job I inevitably gain experience and insight into how to approach and solve problems within particular subject fields (e.g. document management, workflow, document imaging, etc) - and it could be argued that the experience of the company’s developers is a competitive advantage in the marketplace. The company therefore does not want to find that it’s developers are giving away secrets and expertise freely into the open source community on projects that overlap the company’s own territory.
It’s complex, but you can see why software developers have the IPR clauses in their contracts… it doesn’t stop me being really bloody annoyed that commercial companies are so short sighted. If everybody behaved in the same way (i.e. help yourself and nobody else), nobody would win - whereas if everybody helped everybody, everybody wins. What we are left with is a world where some people help as many as they can, and a few help themselves. Not good.