by Jeff Coughlin
I'd like to first point out that this article contains my personal understanding of how the GPL works and how releasing FarCry under the GPLv3 license might affect the product and its use in the community.
Yesterday, I sat down with Geoff Bowers, president and CEO of Daemon Internet Consultants, to discuss why Daemon was thinking of moving FarCry from a CPL license to a dual licensing model using the GPLv3 license. Bowers had announced this proposed change on his blog, and asked for community feedback (http://blog.daemon.com.au/go/blog-post/farcry-license-changes). The community response was, to put it mildly, full of shock and outrage – and a lot of FUD. Rather than feed the firestorm and speculate with no facts to back myself up, I interviewed Bowers and wrote this article in order to explain how releasing FarCry under the GPLv3 license might affect the product and its use in the community.
For over five years, Daemon has released the FarCry framework and CMS under the Common Public License 1.0 (CPL), which allows us as a community to do what we will with the code base. Unfortunately during those five years, very little was contributed back to the code base and documentation. "I can count the number of wiki contributors [to the documentation] outside of Daemon on my hand"
, said Bowers.
Daemon is proposing this new licensing model because they'd like the community, as a whole, to be more involved with FarCry, and to see more of the community sharing their code. Switching from a CPL license to a dual licensing model using the GPLv3 license does not mean you will have to pay to use the product, which seems to be the misconception most people are having. On the contrary, you can still use the product for free on as many projects and websites as you like. The one major difference, as I understand it, is that if you choose to use the free GPL license to distribute the code for more than one project/client, then if anyone asked you for a copy of that code, you would have to give it to them – unless you had purchased a commercial license from Daemon.
This is not a bad thing. Let me give you a scenario that might help. I run a consulting company, and clients often come to me for FarCry development. Every time I work on a project using FarCry, I let the client know well ahead of time about the license on the software and what implications, if any, it entails. I then develop the project and release it to the client. I very often reuse certain code (like plug-ins) that I may write. Under the new license, which only affects the unreleased version of FarCry 5 and versions moving forward, I might be required to share that code if another developer asks to see it. "But wait,"
you say, "what if the software I've been developing and releasing to clients is a customized product filling a niche? I don't want competitors getting their hands on the code that I've worked so hard to develop."
And you'd be right. This is where the dual licensing option comes into play. What you'd do is contact Daemon to purchase a FarCry Core commercial license to protect your assets so that you are no longer required to share your code with a competitor should they request it.
So, now we have to ask ourselves if this is a good thing. I believe that the answer is yes. One of the ideas behind many companies using a dual license model like this is to help form a stronger community and encourage more developers to be involved in the product overall. This is nothing new. Software products like Linux, MySQL, and a slew of popular CMS systems realized this long ago and have benefited from this model quite successfully.
When Daemon announced yesterday that this was a direction they were considering, and that they wanted feedback from the community before making any leaps, Daemon received mixed reactions. "The move from CPL to GPL can be seen as either more restrictive or less restrictive"
, says Bowers. Unfortunately the majority of the reactions seemed to involve individuals not understanding open source licensing models. I am not exempt from these misconceptions and am still fairly new to the ideas in practice. This past weekend I attended the cf.Objective() conference (arguably the most favored ColdFusion conference for advanced concepts in enterprise-level ColdFusion development) and there was a buzz about a popular CFML engine, BlueDragon, which is changing one of their products over to the GPLv3 license. Speaking with attendees in the halls and other non-formal areas of the conference I would commonly hear people asking, "Just what does it mean for BlueDragon to change its licensing model to dual licensing using GPLv3?"
I found that most reactions were in the form of "I'm not sure exactly, but its free and open source, so that must be good. Right?"
There will likely be some exceptions to the GPL license to help protect you and your client. These have not been finalized yet and Daemon is asking for feedback on this from the community. The way I understand it is that the GPL license allows the licensor to have exceptions within certain areas of the code base. In FarCry's case, it would likely include template code called webskins (similar to views in MVC) which calls and shares memory with the core. "We are looking at a license exception that would basically exclude anything that might constitute a graphical theme for the site,"
said Bowers.
What isn't clear is how plugins will be affected by the GPL license. I asked Bowers, "What if I decide to commercialize a plug-in? Would I need to sell a full commercial license of the FarCry Core with it as well?"
Daemon is well aware of this issue and has been considering other options specifically for plugins. This is a difficult area and they want to approach it in a way which is in everyone's best interest. "The problem is that [currently] a plug-in [would] be either bound by GPL, or if you develop it in conjunction with the commercial license [it would be bound by] something else,"
Bowers said.
People need to realize when it all boils down that this will likely never affect them and require the purchase of a license. Unless you sign an NDA with a client that states you cannot share the code or, to flip the shoe the other way, if you are trying to sell your code as a closed-source product that you don't want the client to reuse, sell, or give away, I doubt you will be required to purchase a FarCry Core commercial license. If you choose to use the GPL license and download and use the FarCry Core and/or any plugins such as the CMS, you are still able to sell your code to clients or use it yourself, just as you have in the past.
At the time of this article Daemon has not made any formal decision to move FarCry Core and/or the CMS to a dual licensing model. They are asking for community feedback and thoughts before they make a final decision. Now that you understand what this model means, you can submit an informed response.
Jeff Coughlin is the owner of Versatile Internet Solutions, where he manages and develops ColdFusion and Flex applications primarily in the healthcare industry. A Certified FarCry Instructor and a Certified Advanced ColdFusion MX Developer, Jeff is an active member of multiple ColdFusion and FarCry mailing lists and has written several ColdFusion and FarCry CMS tutorials. He also runs the Hartford Connecticut Adobe User Group. Read more about Jeff, his tutorials, and blog at http://jeffcoughlin.com.