Open source software sounds like a good idea. Your create some code and then put it out there for the public to use and let people build on it and improve. The only condition is that if someone improves on it and build from it, they often have to share their improvements with the world. Everyone wins right? Everyone except anyone trying to sell software or a company with proprietary customized software.
Great for inhouse customization
There is much more open source, also known as General Public License or copyleft software, than you may imagine. According to a 2010 PC Magazine survey, 98% of companies use open source software. Often times, companies customize the the open source software to fit their needs with in house programmers building from the publicly-available code. These improvements are often valuable to the company. Under most general public licenses, you don’t have to share the code when you are only using it in house.
Now we are selling, so do we have to show everyone our code?
But, what happens when there is a sale? Under most general public licenses, once the improved code is used by anyone else other than the creator, it has to be shared with the public. For private companies who go through major transactions, you can see the problem — disclosing what is a valuable proprietary asset to the world. In most large transactions, there is going to be a code audit that will reveal the code subject to GPL’s.
What to do?
So, what do you do about this? The best practice is to be proactive. If you are working on a commercial proprietary customization, many GPL’s allow for dual licensing. You can buy the commercial license of the GPL that gives you greater rights including the ability to keep your improvements secret. You need to review the GPL and the dual license carefully.
You can try and keep the proprietary part separate from the open source software. This is an extremely technical issue along with an analysis as to what is a modification versus an aggregation. You need to have the development team work with legal if you plan on going this route.
I wish I called you back when I started.
What if it is too late? You are probably not surprised that we get that a lot. If you have been using software in house but now need to transfer it, what do you do when you discover it has GPL code?
You can go back and try and get the dual license from the last creator of the open source software. Under the right circumstances, that will prevent you from having to disclose your improvements to the world.
You can also do a reversion. That means going back to the software before the introduction of the open source software and then rebuilding it. This, sometimes, is the only option.
When private companies are involved, you can see why some refer to open source software as a cancer. Its innocent inclusion on a basic building block of software can destroy all the commercial value of what you have spent years building.
Because copyleft is relatively new, there are few cases interpreting these licenses. You can read about a recent case here. You need to think about these issues while building software and certainly when you are in the acquisition stage.