User login

Drupal, GPL and Charging for Templates

Got to say this first: I'm not a lawyer, so this does not constitute legal advice.

Right, with the disclaimer out of the way, I want to share a few thoughts on GPL as it applies to distributing Drupal extensions, be it modules or themes. Drupal is released as open-source software under the GNU Public License (GPL). This is to ensure the freedom to use, share and change the software as you see fit. Essentially it guarantees that you can freely change and share the code, with the responsibility of maintaining this freedom. You can read the full GPL License on the GNU site or in the text file that came with your Drupal download.

For developers my understanding is this:

1) If you distribute adaptations or extensions to Drupal they must be licensed in a way that is compatible with the GPL. This means making sure that the source is freely available, and it too is GPL.

2) If you don't distribute your extensions and they are for your own use only, then you are not required to make the source freely available.

In discussion at Drupalcon this year I heard from several people that the common understanding with Drupal is that anything that runs within the boundaries of the Drupal code must conform to GPL, anything else can be licensed as you wish.

An example of this are the commercial themes being sold by ThemeSnap. The actual template files they provide are required to be GPL - and they are therefore required to provide free access to the source code for these (although I couldn't find any reference to their distribution on the website). The commercial license is applied to the rest of the theme files, i.e. the images and CSS. The rational behind this is that the browser fetches the CSS and images as separate requests and they are therefore not part of Drupal's execution.

One of the complaints I heard about Drupal recently was of the lack of quality templates (themes). If more developers took this commercial approach, could they develop themes of the quality available commercially for Joomla? Or is Drupal destined to be a tool for developers who have the ability to create their own themes, or customise the themes that are freely available?

A lot of GPL software are

A lot of GPL software are facing the "charge for templates" problem. Joomla, osCommerce etc. and it was/is topic of many discussions at the forums there.
But - unfortunately - what companies like ThemeSnap or Templatemonster are doing is legal due to the fact that the GPL is about code and not about layout. A layout itself doesn't contain GPL code, so the designer can decide if he/she puts it under GPL or not.

And in my eyes it's very important that the GPL makes a difference between code and layout. Cause otherwise it would mean that paid copyrighted material like a bandphoto would automatically turn into GPL when a designer use it in a template. The photo could now be spread under GPL rules for free! That's unthinkable. It would be a real money-printing machine for the lawyers of Magnum, Veer and all the other photo agencies...

Unfortunate, or not?

I can imagine this is a debate that has been going on for some time, especially with the apparent proliferation of commercial theme sites for Joomla.

I only mention this here on my blog because it is something I have started to think about recently. On a few occasions I have met people who have stated the lack of quality designs as a reason for not using Drupal. Developing Drupal themes takes three distinct skill sets: Graphic Design (for the web), CSS and PHP. For many people this out of budget and so they look to a quality commercial theme.

You say that it is "unfortunate" that it is legal for these companies to operate commercially, but if the availability of a high quality commercial theme brings users to Drupal that would have otherwise looked elsewhere, is that not a gain for the Drupal project in the long run?

I would tend to agree with you. From a purely selfish point of view, I make money from providing bespoke theme development services for Drupal, and someone buying an off the shelf commercial theme could have otherwise been a potential client for myself or one of my colleagues within the Drupal developer community. From the point of view of ThemeSnap, they could benefit from community developments being contributed back to improve their product.

But at the end of the day, if there is a demand for a service like this, then isn't it good that someone provides this for Drupal so users don't end up looking elsewhere?

Charging for code is legal

It's perfectly legal to charge someone for product that is GPL licensed. The GPL does not dictate price, nor providing that product to someone free of charge. The GPL is about ensuring that the source code is provided to the person who receives the product, and then ensuring that the recipient is legally allowed to modify that code to suit their needs.

So they can charge you whatever you want, but better make sure they don't try to tell you what to do with the GPL licensed code after you receive it (Other than making sure that you follow the GPL).

Note that this doesn't include images of CSS in the case of Drupal themes.

Thanks for clearing that up...

There's a useful guide to GPL compliance on the software freedom site.

So you can sell your Theme for Drupal to someone, but they can do whatever they like with the actual Template files. This could include replacing all the images and CSS and reselling the Theme. The template files are GPL, but images and CSS can be licensed however you like. As pointed out by comment#1 - photos, particularly stock art, will have more restrictive licenses anyway.

Wordpress, Themes and GPL

Wordpress statement on GPL status of themes:

http://wordpress.org/development/2009/07/themes-are-gpl-too/

I guess the same applies to Drupal themes as the mechanics of using a template engine are the same.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.