From time to time people get doubts on the licensing terms of Mobicents and JBoss Communications Platform (JBCP), which uses a double license scheme, very common in comercial open source projects. Mobicents is free but gets restricted by GPL (except Sip Servlets, which is LGPL), while JBCP removes every constraints. With this post I will try to clarify what does that GPL means for Mobicents team and users.
Lets "talk" a bit about the GPL license, something that is never clear enough, the more you dig the more abstract it becomes. The Wikipedia page about GPL is a very good source of information, it identifies the "linking" between two software parts as a possible conflict situation, and presents different interpretations on that. In summary, if the linking is real then the software part which linked to a GPL software, must now follow a few rules, one of these is to have the source code published. In that Wikipedia page, after you read about some of the main features, starts on famous trials, A sues B, X sues Y, etc. In every case it involves a 3rd party that redistributed GPL code but either closed the sources, sometimes even hiding the presence of the GPL code, or changed the license. It can also be seen, in all those cases, that only the ones redistributing were making some kind of profit, and most refused to share that profit in any particular way.
With respect to Mobicents vs 3rd party components, we are not really able to extract if a deployed 3rd party application needs to be GPL, note that even if 3rd party code only imports Java or JSR API classes, in the end it needs Mobicents GPL code to run. Being sincere, only judges and attorneys decide the outcome, and probably some will have different interpretations too. If you ask for my personal opinion, I would say that yes it needs to be GPL, but simply because that removes all chances of being wrong!
OK probably there is now some panic, people using Mobicents in production with closed sources or not GPL!!! Relax, there are two ways to forget about GPL:
1. You are having a benefit from it and make money. Then you should be fair, get a support contract and use JBCP instead in production. The Mobicents team does not works for free. And of course we work a lot to ensure that JBCP is the real deal, there are SLAs, there is a very successful company behind you, a company ensuring you succeed. The cost is cheaper than competition and also each case is a different case (and price), we do not want to make customers less competitive because they use JBCP.
2: You can't pay now but you are helping improve the platform, lets be partners then, official or not, and then in exchange you get a free ride. The free ride means that the GPL linkage stuff is ignored, be it a real problem or not. But note, no SLA of any kind.
Sincerely, we believe any good and fair usage will match one of these cases. Now what is your opinion?