Building on Sand: Concerns w/ the Craft CMS License

Update: This article was published a year ago, since then Craft has updated their license. For my follow-up article on the new license, go here.

EllisLab made a major announcement on Friday for ExpressionEngine 2.7, mainly that they will be releasing a new field-type called Grid that directly competes with a popular add-ons provided by Pixel and Tonic (who released their own CMS called Craft which competes with ExpressionEngine).

Naturally the EE community (well, the #eecms hashtag on Twitter) exploded in debate over whether or not Ellislab’s actions would stifle competition in the EE addon space. EE Insider has a great series of reaction posts on Twitter for all you drama llamas. 🙂 TJ Draper has a good post regarding communication & messaging by EllisLab on this issue (and others).

It’s a fair debate and raises issues surrounding competition between platform vendors and the vendors building products that extend those platforms. I might write a post about that issue, but for now I want to talk about something Derek Jones (CEO of EllisLab) said in the post that has been mostly ignored.

Additionally, our third-party development community (including Pixel & Tonic for that matter) does not have to worry that we will attempt to legally prohibit anyone from duplicating, improving, or modifying functionality that we decide to build into ExpressionEngine…

Ironically, the license agreement currently in place for Pixel & Tonic’s CMS explicitly forbids the type of add-ons that enabled Brandon Kelly to build his company within our community. Wygwam, Playa, Matrix, Assets, none of those could have existed if EllisLab took a similar view of third-party development for ExpressionEngine.

That statement took me by surprise, this was the first time I had heard any restrictions to add-on development in Craft so I decided to comb over the license (I encourage you to read it as well: Sure enough, the current Craft’s license forbids:

  • modifying core code or database tables
  • developing or using modules that replicate, duplicates (whole or in part), or replaces features in Craft core or its Packages
  • creating plugins that use undocumented features or APIs in the system

Screen Shot 2013-06-29 at 3.37.18 PM

This makes Craft’s license by far one of the most restrictive CMS licenses I’ve seen. Craft’s closest competitors, Statamic and ExpressionEngine both let you modify core (as long as you don’t redistribute) and neither restrict developers or users from creating/using competing add ons.

Let me repeat that, even if you don’t intend to widely distribute the code and only use it for personal use, you are violating the license. Also if you just USE a plugin that violates the license, by extension YOU are violating the license as well.

So what do you need to do if you (or your client) violates the agreement? Well you’ll have to uninstall your instance of Craft immediately

Screen Shot 2013-06-29 at 11.46.04 PM

But it’s not like they can track if you’ve modified core or are using a forbidden plugin right? Oh wait turns out they can and the license gives them the right to collect this data.

Screen Shot 2013-06-29 at 11.49.46 PM

This raises serious concerns about both using Craft in my consulting business as well as developing plugins on the platform. So far Pixel and Tonic have responded to these issues by saying the language in the agreement is there “to protect themselves.” They promise to elaborate further.

I hope they offer serious thoughtful solutions & clarifications on their license to potential customers & partners. BTW a “you can trust us because we’re nice guys” isn’t a convincing argument. My clients rely on me as a consultant to offer software solutions for their business, if I propose a solution that exposes them to litigation or a TOS violation that effectively shuts down their website, that’s a show stopper. No matter how good the CMS might be or how nice the vendor is (and P&T are nice folks).

Listen, I want Craft to really fix these issues with their license because I love the product. I’m have the greatest amount of respect for Brandon Kelly and the team at Pixel and Tonic. When they build a product they put their hearts and souls into it and do their best to give their customers the best possible experience they can. That’s why it’s so sad to see such a great product limited by such a heavy-handed licensing agreement and on that fundamentally goes against what made Pixel and Tonic a great add-on firm in the beginning.

PS: While in the process of writing this article I had a few exchanges on twitter with the @craftcms account. I think it’s only fair to include the dialog:

Screen Shot 2013-06-29 at 11.23.28 PM


PSS: Just for fun (I have a weird idea of what fun is) I took a word count of the Craft, Statamic, and ExpressionEngine licenses. Statamic was a svelte 506 words, EE clocked in at 779, and Craft was a whopping 1844 words (“Going to the club like ‘Whatup I got a big license…’ “). No real point, I’m just a dork.