Update: Since writing this article, we have changed the license used for JPedal from GPL to LGPL. This means you can use the unsupported Open Source version of JPedal in any software. The article itself is still very relevent to Open Source software in general.
We found a site belonging to a major University in the United Kingdom last week with a project using the GPL version of JPedal. Normally, this makes us really pleased. We want people to be able to use it in such projects – that is why we created a GPL version.
In this case, however, there was one major problem in that they had not used the GPL license for their code. I was really disappointed to find such sloppy practice from an institution who should be really clued up on such things – if you use the wrong license you can find yourself in as much hot water as if you were shipping pirated commercial software. Most customers will want to see proper documentation on any software to cover themselves legally – if it is dubious they will not want to risk touching it.
The GPL license allows people to use code with the one proviso that you must license your code under the same GPL license and pass on the same access to others. It is almost saying, “you may use my code but only on the condition that you allow others to take advantage of your code in the same way”. It does not require that all components are under the GPL license (so you can use it with other Open Source or commercial code), but any code you actually develop has to have this license.
Some people think that Open Source means the code can be used in any way and that it is written just by some University or college student/hobbiest/fanatic with odd ideas. But it is actually big business with big suppliers (and their expensive lawyers) involved. If you pick a legal fight with the Apache organization, for example, you may find yourself up against legal counsel provided by IBM…
Several companies do not like the GPL license because it restricts them from using it in commercial code they wish to keep proprietary. This is actually the whole point as it stops the code and any changes ‘disappearing’ and allows many companies to dual license it – you can use MySQL for free in GPL code or you can pay to put the commercial version into your product and pay for it.
So, if you write some code, its yours (or whoever owns it) to do with as they please. But if you are using GPL code, you need to make that the GPL license.
Open-source is a great opportunity for everyone, but like everything else on the Internet you also need to tread with care. A good place to start making sure you tread with care is http://www.gnu.org/licenses/gpl.html