header photo

via positiva

gpl

MovableType goes GPL, pontificating ensues

So everyone's buzzing about the official announcement that Movable Type 4.0 is now available under the GPL license. For those who haven't been paying attention for the last couple of years, MT was the killer app for bloggers who wanted more control over their site and didn't have the time or the inclination to roll their own.

The release of Movable Type 3 alienated a lot of users by (gasp!) charging for multi-author blogs and installations with more than 3 installed blogs. It wasn't a big deal for most people, but it priced a lot of midrange hobbyists out of the MT world and set up the pins for Wordpress's ultimate domination of the universe. Movable Type remains a very strong multi-blog management system, and it has a great ecosystem of extensions. There's also a large pool of designers familiar with its purely tag-based templating language. The licensing hiccups with version 3, though, left a lot of individual users wondering if future penny-pinching would result in a squeeze for more licensing fees from smaller blogs.

The official release of MT4 under the GPL eliminates that fear, and opens up potential for adaptation and enhancement that's previously been off-limits. While MT's source code has always been available and hackable for its customers and users, it was "free as in beer," not "free as in speech." In other words, the modifications I made to enhance it couldn't be distributed to other users as "Enhanced Movable Type," nor could I distribute a copy of MT pre-configured with popular extensions.

While this isn't a big deal for many users, it's a big deal for interoperability with other GPL projects like Joomla! and Drupal. Those projects can now legally build bridges to the MT sourcecoude, integrating MT blogs into larger solutions like portal sites and intranets. It will also make the next version of Gutenberg, my Movable Type compatibility theme for Drupal, quite a bit easier to maintain. Why? I'll be able to legally include some of the MovableType base stylesheets in the Gutenberg download, making that theme usable from the moment it's installed, rather than pointing users to a separate download. It's a small step, but an important one, towards making multiple blogging systems compatible with each other for designers.

This principle goes both ways -- it's now possible for SixApart to make use of a large pool of GPL code that's in use in the wild. While I'm sure that wasn't their motivation, it's a nice door to have open. For companies like SixApart, where hosted services and corporate support contracts are the primary revenue stream, this approach is win-win. While it may not bring the legions of WordPress users back to the fold, it's a great moment for SixApart and Open Source software.

Drupal and the GPL (as I understand it)

As Drupal has grown in popularity, more and more people have started using it for consulting work, and more people are beginning to evaluate Drupal-based business models. Since Drupal is released under the GPL software license, all derivitive software (including plugin modules) is also covered under the GPL. There's a lot of confusion over what's kosher and what's not. I've spent the last couple of days chatting with some of the core Drupal developers and reading up on the GPL license. I think I've figured out the basics -- My words are not canon, and anyone is free to correct me if I am factually incorrect...

The following are automatically released under the GPL license:

  1. Any files checked into the Drupal CVS repository
  2. Any Drupal modules, even if they are not checked into the CVS
  3. CODE from Drupal themes (ie, the page.tpl.php, template.php, and so on)

As long as they are not checked into the Drupal CVS repositiry, the following are NOT automatically released under the GPL license:

  1. CSS files, image files, media files, and any other non-PHP files
  2. Programs (including PHP code) that do not directly interface with Drupal. (For example, the TinyMCE text editor project is a separate program, with a Drupal module that 'connects' it to Drupal. The module is automatically GPL'd, but the TinyMCE project is not.)

Now, what does it mean to say that something is 'released under the GPL license?' There are a lot of lawyer-ish terms to throw around, but after much discussion, it seems to boil down to this:

  1. You can charge a client for your work that is released under the GPL.
  2. You can host GPL-licensed stuff on your web site and charge people for downloading it.
  3. You cannot control what someone ELSE does with software released under the GPL once they have it. (This is because anyone who has a copy of GPL-covered software has the right to modify it or give it away to anyone else.).
  4. You CAN control, via licenses or agreements or what not, stuff that isn't covered by GPL. (images, css layouts, media, and 'helper' programs like TinyMCE that don't directly connect to Drupal). This distinction is important.

What it boils down to is this. If you want to make money off of your work with Drupal, there are a couple of options:

  1. Charge consulting clients for the time it takes you to do the work
  2. Petition the community for 'sponsors' if you think a project would be valuable, but can't afford to donate the time (this is sometimes called a reverse auction)
  3. Sell your Drupal modules and themes. After people purchase them, they can give away *anything that's covered by the GPL.* You, though, don't have to give technical support or accept feature requests from those who didn't pay.
  4. Write your custom software as an external program (in PHP or some other language) that can be used without Drupal. Then write a simple module that 'connects' it to Drupal. The module is GPL'd, but people can't distribute the separate program without your permission.
  5. For themes, the basic template files and php files will be GPL'd. Anyone who has your theme can hand those files to their friends willy-nilly, but they must still obtain your permission to redistribute the images, media, and CSS files that make your theme distinctive.

I may be wrong -- if I've gotten the facts wrong (not 'what you would like to be different,' just the facts), please correct me.

Syndicate content

Miniblog

  • Totally got the third item in that list from @blakehall btw. He's the clever one! 52 min ago
  • There are two hard problems in CompSci: optimal cache invalidation, naming things, and off-by-one errors. 1 hour ago
  • OH: "Well, the Title title can just be the title, but reign_title can't be the reign title, or the title title." 4 hours ago
  • Know Drupal? Dig wrestling? Looks like the WWE is hiring... http://j.mp/bSu4pB 2 days ago
  • I want to be the Malcolm Gladwell of Drupal APIs. My breakout book will be named 'Clear Cache.' 4 days ago

SXSW Interactive 2011!