+1-757-461-3022 x124

To free or not too free, that is the question

Monday, March 17, 2014

To be more specific ... the question we would like help answering is would xTuple be better off changing the CPAL license on its core PostBooks project to the GPL license, or an extremely permissive license like BSD or MIT?

Anyone who works with open source software knows that one of the most-discussed aspects of an open source project is its license. The license of a project you incorporate into your own can impact the licensing of your own software. This is because licensing can dictate not only the legal terms under which the code you are incorporating must be distributed, but the legal terms under which the entire body of code into which it was merged must be distributed.

There is something of a religious debate about what the "free" in free and open source software (FOSS) means.  Let's dive in...

To many people, free means that the body of code underlying open source software must be distributed free of charge - and that related code "should" also be free. Richard Stallman is the most prominent advocate of this point of view. He created the GPL license, enforcing the notion of copyleft protection.  Essentially, a copyleft license mandates any derivative works that use GPL code must themselves be GPL compatible. Apparently a lot of people agree with Mr. Stallman, because GPL is the most widely-used license in open source software.

However, just because software is free from a monetary standpoint doesn't mean it is free from all points of view. Generally speaking you are not free to do whatever you want with GPL licensed code because you are tightly restricted in what kinds of projects you can incorporate it into. Most notably, you can not use GPL licensed code inside any projects that are proprietary or have commercially licensed components or extensions. This can sometimes have a dampening effect on corporate contributions to open source projects.

Alternatively there are several licenses generally described as more "permissive" because you are effectively free to do whatever you want with code licensed this way, including the ability to build and sell your own commercially licensed products around it.  xTuple bundles or incorporates various open source components in our own product that are licensed in this way, including the LGPL (Qt Desktop framework), BSD (PostgreSQL database) , MIT (Backbone javascript model layer) and Apache (Enyo HTML5 UI) licenses.

What xTuple uses today for PostBooks is the Common Public Attribution License (CPAL). This is a "mild copyleft" license recognized by the Open Source Initiative that is similar to the GPL, with the additional stipulation that you must provide attribution to the original licensor, in our case the words "Powered By xTuple" included in any splash screen that precedes the launch of a graphical interface. Our logic for requiring this was because we felt that in all likelihood people that use our code are likely to use the entire PostBooks framework as their baseline, and we didn't think it was unreasonable to ask for a little name recognition in exchange for the substantial functionality we make available at no cost. Though it is officially sanctioned, this kind of license is sometimes derogatively referred to as "badgeware" in some open source circles.

Now that we've explained what all the options are, why are we asking you about this? Because with the ever increasing maturity of our new Mobile Web client, we are becoming more interested in ways that we can increase participation in and grow our open source community. We recognize that copyleft licenses can often have a chilling effect on the interest of would be developers (they do on us!). On the other hand, GPL is the most popular open source license there is, and many feel a project isn't "real" free and open source unless it's guaranteed to be free in the monetary sense. Finally, we suspect CPAL may discourage participation because A) it is relatively unknown and B) neither people who prefer copyleft or permissive licenses particularly like the idea of being forced to provide attribution in their own works.

So we'd like to hear from you. Would you prefer the xTuple PostBooks project move toward the copyleft GPL, or a more permissive license?  If so, why?  Or is CPAL just fine the way it is?  Or does anyone even care about the open source license debate anymore?

John Rogelstad

Software Development and Professional Services at xTuple, April 2007 – June 2014
Forward-thinking strategist and visionary technology executive, with hands-on manufacturing and SDLC coding experience, conceptualizes world-class products and leads struggling companies to profitability and status as industry leaders. Consensus-building planning and development engineer exceeds customer expectations while continually analyzing growth opportunities. Empowering and approachable diplomat fosters strong relationships with clients, vendors and cross-functional teams while monetizing new services and optimizing operations to control costs. With a history of industry leading success and resourceful problem solving abilities, trusted mentor and natural leader coaches robust teams, ensures technical excellence across the enterprise. Business Analysis ▪ Budget Management ▪ ERP Engineering and Architecture ▪ Contract Negotiation ▪ Production Planning ▪ Process Improvement ▪ Strategic Partnership Development ▪ Project Management Supply Chain Management ▪ Database Application Development ▪ Team Development ▪ UI Design Object/Relational Mapping ▪ Root Cause Analysis ▪ Web Application Coding ▪ Agile Product Development