Posted by: Gabe Wahhab on May 3, 2009
There is always lots of talk about GPL and non GPL extensions in open source communities. Previously I never gave it to much thought until last week when it affected me very harshly.
GPL & non-GPL
For those of you who dont know what GPL is, it is the General Public License and it is the license Joomla and many other open source projects are released under. The GPL states that any licensee "is given permission to modify the work, as well as to copy and redistribute the work or any derivative version. The licensee is allowed to charge a fee for this service, or do this free of charge. This latter point distinguishes the GPL from software licenses that prohibit commercial redistribution. "
Generally speaking I have observed that most non-GPL extensions are encrypted. This means initially to install it you will have to first install a "Loader" to handle the reading and execution of the extension (more overhead). Additionally you can't see the source code to make modifications, learn from the code, use the code to further advance the project, spurn a new project or self support for problems that arise.
How it affected me
The later of the bunch is how it affected me. On a large side project of mine I use a commercial non-GPL extension to handle the layout of the news smack-dab on my frontpage. This extension is huge to my site because it is one of the first things people see when they visit. So the morning of the first day of CMS Expo my entire staff and I are headed down to Evanston and on the train ride I visit the site just to what new content was posted. The site is taking forever to load and when it does the only thing that is showing up is the news component. No other modules are showing including the navigation bar. All other parts of the site work fine and I go to the backend and double check all the obvious problems. I then check all my server logs and see no problems there. At this point my hands are tied I can't do much since everything is encoded so its time to go to the developer for support.
So I login to the developers support portal and submit a ticket under "critical" status with full a explanation of the problem, cpanel, joomla, and ftp details. I am periodically checking the ticket throughout the day and there has been no activity on it all day. I checked there forum for support as well to see if anyone had similar problems. There forum for the most part was of no help. I found a few cases that were similar but no answers of course because no one in the comunity can really solve any problems due to the code being encrypted. So I spot the developer of the extension at the expo and approach them hoping they could give some insite to the problem or at least fast track the ticket. They said they never saw the problem and there support is in Europe so they will get to it in the early hours of the morning. This is less than ideal but I thought I will just have to bite the bullet and when I wake up in the morning it will be fixed. Boy was I wrong!
On the train again to the second day of the CMS Expo I went to check the status of the ticket. There support barely even looked at my ticket and was able to place a module on a com_content page of my site which has nothing to do with there component. Wow I really feel like i got blown off. Not to mention based on the time he got to my ticket it was at the end of his shift, glad my "critical" ticket had been taken seriously. I kept periodically checking the ticket throughout the day with no action of course. When I got home I emailed the owner/developer to let them know the situation again to see if somethign could be done. Not only that I informed them our site had a big promotion planned for Saturday that is meant to drive lots of new unique traffic to our site. They informed me sorry our support doesn't work weekends.
Well here I am 3 days later after my ticket was first initiated with essentially no help what so ever from the developer. I feel completely helpless and have racked my brain for all possible scenarios of how to fix it. Looking back it seems any time I have a problem that takes time to solve like this it has been with a non-GPL extension and even more so specifically this one (this isn't the first time thsi has happened with this component).
Glad this happened
What your glad this happened? Yes because it made me open my eyes to why non-GPL extensions are bad. For starters non-GPL goes against everything Joomla's core values stands for. Joomla is a free community project and there is no single owner. Non-GPL takes from the community and profits from it but does not contribute back. There is no community built around non-GPL products because no one can add to the project or provide support outside of there orgnaiztion. Furthermore I'm no lawyer but from everything I have read it seems like non-GPL extensions are actually illegal. So why isn't OSM doing anything about it? Non-GPL is a worldwide problem and to go after it would cost lots of money which could be used in better places.
I am also glad this happened because if this had happened to a client and not me personally that would make me look bad to my clients (instead I look bad to the thousands that visit each day). So I consider this a good warning and a lesson learned. Non-GPL is bad for Joomla and it's bad for me.
In the end
GPL has many benefits to it including free community support, free community development and free community marketing. With many GPL extensions you are buying a support & update subscription and the product is free. The cornerstone of non-GPL is cracked by modern day Robin Hoods who decrypt the code and remove IP and domain call backs. I took a quick peek at a well known "Robin Hood" CMS template & extension site to see how many of the developer I had issues with products were listed on the site. I was glad to see that nearly everyone of there products was on there.
So from here on out I will at all costs try to avoid non-GPL extentions. I commend Joomla for removing all non-GPL extensions from the extensions directory. I believe this a good step to begin combating non-GPL.
Thanks to everyone for reading please leave me your thoughts and comments.