Making Bacon: MODX, the GPL & You

Just exactly why and how does MODX think the GPL applies to MODX developers differently than the “big three”?

At its core, the GPL is about freedom. MODX fully supports and loves this principle, and that's why we license MODX under the GPL. We want our software to remain open and free for use by as many as possible, to continue to grow and to improve. The GPL imparts great freedom for GPL product users.

The freedom protected by the GPL also means that GPL products cannot impose restrictions on persons or entities to whom said GPL works are distributed/sold/conveyed. If you incorporate any portion of a GPL work, you have to license your work under the GPL if you in turn distribute/sell/convey it elsewhere and provide the original source code if asked.

If I buy your GPL'd MegaSEO Accessible Theme for $160 I could give it away to whomever I want, put the code on a website for anyone to download, or even in turn change a few things (or not) and sell copies of it if I so choose. Not that I would, but I could, and it would be fully within the license, intent and spirit of the GPL (e.g., CentOS and RedHat).

The GPL imparts great freedom for GPL product users.

This is the so called viral nature of the GPL that some entities disdain because of the "GPL infection" of code on which they work. No one can argue that GPL software can be quite successful and pervasive, and I think the GPL is at least partially responsible for this. It has certainly helped MODX get to where it is today. In short, the GPL can be summed up by the old saying, "Live by the sword, die by the sword."

This is why the choice of a license is so critical. With the GPL it ensures innovation continues to occur and is accessible by all stakeholders and adopters.

Based on my understanding, the "big three" in MODX's space essentially take the same view with respect to works built on top of their platforms. Joomla, Drupal and Wordpress all stipulate that if you're going to create a product like a theme, module or add-on that's meant for their platform, then you must use a GPL license because it is reliant on their code in order to be functional, a so-called derivative work. MODX fully supports their decision and right to make this choice.

This is also where the MODX project differs diametrically from the big three.

… if you want to make an add-on or an extension to the core that uses Revo's public APIs, then license it however you'd like. Our take on freedom is that you should have the right to make whatever [licensing] choice you want. From the beginning, we've always both publicly and privately discussed our desire of wanted to foster a pro-business stance for MODX developers on anything outside of the core platform/distribution. Our goal was to make a project where individuals or businesses of any size could extend and leverage the core work and make a living selling products (e.g., add-ons) that contain their proprietary IP. Product revenue is very different from service revenue. With services, the second you stop, food ceases to meet the table. This is why we're so insistent on having a good public API for everything.

Heck we even want to sell proprietary products for MODX!

We're very insistent on the core of MODX Revolution remaining free, open to anyone and continuing to improve. We don't have all the great ideas and we welcome collaboration with open arms from pretty much anywhere. Touch the core, sign the CLA, contribute back to the project.

But if you want to make an add-on or an extension to the core that uses Revo's public APIs, then license it however you'd like. Our take on freedom is that you should have the right to make whatever choice you want. Sell it, and we'll give you a high-five if you make a million bucks and never threaten or even consider suing you to force you to use the GPL license.

We can do that and make that choice because it's our copyright, and we get to choose how to enforce our rights. There is no GPL-police that can force us to do otherwise, or that can sue on our behalf. If someone believes to the contrary, show me the case law that specifically proves otherwise and I'll amend this post.

Now granted if you profit off your efforts, MODX would very much appreciate you sharing the wealth, but we certainly don't mandate or require it (even though we've got almost 7 years and as many figures in it to date). If you choose to be an absolute evil capitalist pig with and a sense of entitlement, we figure Karma will eventually catch up with you (see former Wall Street firms).

Freedom is a choice. The GPL creates and ensures a tremendous amount of freedom, and we're thankful to have it. We're also free to interpret where the GPL lines are drawn, even if it's contrary to the "big three".

So, welcome aboard you money-loving procines. The water's nice, the community rocks, the platform is great and it gets better every day. We think you'll like what you find now, and will do a backflip or two over what comes next.

One temporary note: this blog is a work in progress and frankly a bit of a mess, but this post is important enough to go ahead and share now.

13 Comments


    Eric Decker
    Jul 19, 2010 at 04:19 PM
    Great Post Ryan! ModX rocks!

    Daniel Miguel
    Jul 19, 2010 at 04:42 PM
    Just another really great post! It's cool to see that the plugins are in the majority not comercial for MODx, even the best ones, so MODx is really different from the others, when the best plugins are paid and not open source.

    Andy Beard
    Jul 19, 2010 at 06:14 PM
    That is a conveniently timed post.

    I don't think your interpretation of the GPL is ANY different to the other platforms.

    What may be significantly different is the structure of your code though I haven't examined it, just by your description here I can see a difference.

    You have public APIs for things the other platforms don't, intended specifically to allow other applications to interact with them.
    It might very well be a water & oil level of seperation (lets avoid mention of politics and religion)

    It is possible to create such a situation for other platforms, just there hasn't been the desire to do it.
    There is currently a lot of discussion regarding the GPL in regards to WP currently, but do you know the funny thing - the only discussion about how you could avoid GPL with WP themes is among experienced developers, most of whom are core WP developers suggesting shims could be created.
    You could eaily have a whole WordPress site based upon XML-RPC and the RSS API... but it is a lot of hard work and why bother, as then you have to black box the development of whatever you want to sell which you want to avoid GPL.

    I think a better option is to use commercial classes. If you can have LGPL working with commercial software, you can have commercial classes working with GPL software.
    A great example for that would be to create proprietary payment gateway interfaces, but use a GPL shopping cart or membership system.

    mIDO
    Jul 20, 2010 at 09:22 AM
    Super-flexible content structure, Super-simple templates, Easy to learn, but really powerfull! No modules, "No phonebook sized tomes", no predefined structure, no specific language.... Only HTML, CSS, JS, PHP and Content Editing :)

    James Ehly
    Jul 20, 2010 at 09:37 AM
    Thanks for sharing about how you guys approach the GPL. I appreciate your open stance to add on development and am really looking forward to what you guys are doing regarding a commercial development platform. And thanks for the links in your first post, I'll be posting part 3 of my WP to MODx conversion this week, and hopefully posting the code to github.

    Shane
    Jul 20, 2010 at 06:36 PM
    Very cool blog and a very good article Ryan. Looking forward to more good stuff on this blog.

    Matt
    Jul 21, 2010 at 02:09 PM
    For the record, WordPress is pro-business. I think the hundreds of millions of dollars made every year on top of WP are a testament to that.

    Fuzzy
    Jul 21, 2010 at 03:30 PM
    Hi Ryan,

    Thank you for the good article! Hope it's OK if I publish my loose interpretation in Russian on my blog? http://suhinin.com/2010/07/21/modx-gpl-you/

    Regards,
    Igor

    Ryan Thrash
    Jul 21, 2010 at 06:58 PM
    Thanks Igor for taking the time to do that! You realize .ru is the #2 market for MODx behind the US (and not by far)?
This thread has been closed from taking new comments.

Ryan Thrash is the husband of an insanely supportive wife, father of 2 great kids and lives in Dallas, TX. Having co-founded the MODX content management platform in 2004, he looks forward to a world where HTML5 and CSS3 is the norm, and IE6 ceases to exist.

Contact Info

MODx, LLC
25 Highland Park Village #100-413
Dallas, TX 75205-2789
(469) 777 - MODX

RSS Feed