I tried to get authorization donate my Drupal multi-site installer script back to the community and all hell broke loose. I need urgent clarification on the license of Drupal.

I attempted to release my script under LGPL. It is written under PHP and I felt that would make a GPL license inappropriate. Under a strict interpretation of GPL nobody could use it without making all of their code GPL. What I got for my efforts was a threatening email.

I was informed that it MUST be GPL, and that to make a non-GPL module or theme for Drupal would be ILLEGAL. That not only includes commercial but also public domain, LGPL, or any other non-cultist free license such as ASF.

That means that there can be no commercial modules or themes, any theme I develop for a client must be GPL before I can give a copy to a client, I may not have MY associated code under NDA and I cannot purchase a licensed theme and port it to Drupal if I do not have the right to release it as GPL.

I urgently need clarification on this before I commit any more sites to Drupal! If GPL is a requirement I will immediately withdraw the installer from distribution, and will not release the multi-site cron handler extension or the auto-configuration extension or any other contributions I wanted to give back to the community.

Comments

lekei’s picture

That should have had a link to:

http://drupal.org/node/30708#comment-68439

killes@www.drop.org’s picture

I've deleted that comment. I don't like it if mails that I write in private get published on the web without my consent.
--
Drupal services
My Drupal services

ezheidtmann’s picture

First: calm down, read the GPL, read some stuff about the GPL, and try to understand the situation. Use your own brain rather than relying on everyone else to answer your questions for you. And don't panic.

It may be true that all modules and themes must be GPL if they are released at all. It also might be that they must only be GPL-compatible.

It is abundantly clear, however, that if some piece of code is used only on a small number of sites and not publicly available, it need not be GPL. The GPL only takes effect when code is distributed.

lekei’s picture

Remember that the Free Software Foundation is a religious cult. They make no bones about the fact that GPL is designed to force the end of ALL non-free software.

The FAQ contains statements like:

To release a non-free program is always ethically tainted

The irony is that I believe contributing to the free software community. I have been doing so since the late '70s. I do not believe in forcing other people to give up all of their work... let them contribute what they want, keep what they want.

killes@www.drop.org’s picture

If you don't like the GPL, why do you use software that is licenced with the GPL? This seems quite a strange thing to do.
--
Drupal services
My Drupal services

lekei’s picture

I believe in the the principal of free software and contributing to the community. As I said, I have been contributing free software to the community since the days of the Commodore PET, Apple II, and CPM.

GPL is fine for programs that work stand-alone, but is not intended for code that works as a library or that invokes other code by calling it. Even the FSF admits that if Linux worked that way, there would never be any software ported to it or device drivers. That's why the Linux api and libraries are under LGPL.

I use GPL code, but if I write code I use LGPL or less. If I were to edit a GPL module, of course it would be GPL, I have no choice in that. Some of the viral aspects of GPL are against my personal moral standards.

That's why I checked "yes" I will honor GPL and added the comment that any software which is entirely my own would be under LGPL. For that I am banned from contributing.

ArneBab’s picture

Hi,

Why don't you just write the offer "you can also get this module under the LGPL directly from me" accompanied by a "I'll only add patches, for which I get the permission to license them as LGPL, too"?

By dual licensing like this, you could solve your ethical problem. As long as it's legal to use the modules with drupal, that is.

Wishes,
Arne
--
Being unpolitical
means being political
without realizing it.
- http://draketo.de

webchick’s picture

As someone with expertise in software licensing is much better able to give you a definitive answer.

However, the GNU GPL FAQ seems to make it very clear that if you're writing a piece of software that utilizes a GPLed library, the resulting software, if it is distributed, must also be GPLed. Such is the case with Drupal modules, which will not run independently of Drupal, and could be said of themes too although that's a greyer area (for the most part, themes are just HTML/CSS which could work anywhere).

GPLed software doesn't mean you can't charge for it, however. Only that it must be "free" as in freedom. This is also covered by the GPL FAQ. Though it's a long document, it contains very plain language to cover almost every scenario you can think of regarding GPLed software, so I'd recommend reading it, it should be able to answer your questions.

You also seem to be unfairly attacking Gerhard here. I don't see anything in his e-mail that constitutes as 'threatening' -- merely stated points directly from the GPL FAQ itself. It is your own responsibility to do homework on a software license prior to developing for an application covered by it -- don't shoot the messenger who tells you the way it works. If anyone is acting unethically here, I would point to the person who publishes private e-mails without the author's consent. :\

lekei’s picture

I was only trying to avoid creating a chain of comments accusing me of misrepresenting what I considered to be an official communication from the Drupal policy team.

No personal attack was intended against the messenger. The name was only provided as evidence that it was an official Drupal communication,

It is very scary that Drupal, as a PHP program is licensed under GPL and not LGPL. It has been a constant concern, but I dismissed it as an unrealistic interpretation. Other content management systems which are licensed under GPL have a greater separation of site design from code, so it is not such an issue.

When I tried to contribute a module and was informed that the use of LGPL is forbidden and "possibly illegal".

The GPL FAQ is quite clear on the point that in a linked or api type system, under GPL all code that touches or exists in the same process space, this includes both a main program that uses an api which means that your template must be covered by GPL, (precluding commercial themes) and modules, precluding commercial modules.

The GPL can be interpreted that if I give the client a copy of their web site, I automatically release them from the NDA regarding certain specialized scripts, because Drupal is written in PHP.

The ironic thing is that this all started because I wanted to contribute back to the community. I just wanted MY code to be LGPL because I do not believe in preventing people from retaining their IP rights if they so choose.

killes@www.drop.org’s picture

Just to make it clear: the fact that we do not allow non-GPL code in our repository is made very clear on the cvs application page (and also in the TERMS.txt at the top directory of the contrib cvs). You actually must have clicked "I will only contribute code under the GPL" in order to show up in the list of cvs applications.

That use of the LGPL with Drupal modules is "possibly illegal" (possibly!) is my interpretation of the GPL FAQ and not any official (what does that mean anyway wrt Drupal?) rule set forth by some Drupal institution.

As a consultant, I think you should review your business processes if you want to continue making money from free software (which is a good thing to do and I like it a lot ;).
--
Drupal services
My Drupal services

boris mann’s picture

The only set point is that code distributed in Drupal CVS must be GPL -- there are currently no structures in place to handle code which is licensed under other terms. This is in part a limitation of the project system, and in part a desire to avoid licensing issues with any code hosted here. You are free to release code under other licenses, it just can't be hosted here.

Gerhard is a core contributor who strongly believes in the GPL. His belief is that all modules must be GPL if distributed -- both the interpretation of the GPL and other opinion is split on this. We have had advice in both directions, and I believe even with legal council this will not be resolved. Gerhard tends to word things quite strongly and is German like me, so I am going to give him the benefit of the doubt and say that he did not mean for his tone to be threatening.

Themes are a separate issue, since they contain graphics, HTML, CSS, etc. which are not considered "code".

I, for one, would like to have a wider statement from the Drupal community that in fact we do support differently licensed modules (like Joomla and other systems), but this is a strong point of contention.

Geary’s picture

Lekei, you mentioned a couple of times some connection between the GPL licensing and the software being written in PHP. I'm a bit confused here. What does the programming language have to do with the license for sotware written in that languge?

killes@www.drop.org’s picture

In my opinion, it has nothing to do with it.
--
Drupal services
My Drupal services

lekei’s picture

In PHP, Drupal is treated as an API. For example, to place the breadcrumbs in your template, you use something like:

<div class='breadcrumbs' id='breadcrumbs'><?php print $breadcrumb;?></div>

Under GPL, the fact that PHP requires you to use function calls and variables in your template immediately requires your template to be under GPL (if you provide a copy of your code outside of your company). It is very explicit about this. Even if your template contains proprietary code which you thought was protected under NDA.

If Drupal interpreted templates, like some other CMS applications, eg:

<div class='breadcrumbs' id='breadcrumbs'>[#BREADCRUMBS#]</div>

Then your template would be yours to do with as you please.

The LGPL was designed to specifically address these issues, see: http://www.fsf.org/licensing/licenses/index_html#GPLCompatibleLicenses for the full list.

LGPL would allow commercial templates to be used with Drupal.

Currently, under GPL, it is not permitted to modify a commercial template for use with Drupal unless you keep the template in-house. If a client purchases a template and pays your to modify it, that may be an exception as long as long as you do not keep a backup.

Under either license, you are not permitted to create a module for Drupal which uses any non-GPL-compatible libraries or other code unless explicitly permitted (as in Mambo, et al).

Technically, as it currently stands, unless you put it into a manual block (ie. it is only in the database) incorporating Google adsense into your template or a module is prohibited, since the code is copyright by Google (of course it is in nobody's interest to sue or threaten people for doing so).

Likewise the assertion that publishing a web site with a GPL program constitutes public distribution.

This is why I have asked for clarification on the license.

Dublin Drupaller’s picture

hi lekei..

thanks for raising this interesting discussion.

Apologies in advance if this is a stupid question, but, your illustrative example of the breadcrumbs and how Drupal interprets templates had me wondering about the value of having a templating.module that plugs into Drupal and automatically processes sensible keywords, such as the [#BREADCRUMBS#] example you mentioned.

Where by the templating.module falls under the GPL, while designers & creatives who would like to get into Drupal in a bigger way, but, prefer to retain some sort of control over their designs.

There maybe a logic to why the Drupal templating system is as it is, which, at the moment involves using a lot of print $breadcrumb type statements - and if I understand your post correctly, that puts their designs under GPL.

Then again, in the same breath, this Drupal policy may have been an oversight.

There is an art to programming, but, I think the art of design should be kept seperate and perhaps it's unfair to force designers to, essentially, programme their designs under GPL. I was just thinking a templating.module might offer them a choice.

I hope that makes sense..

Dub

Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate

lekei’s picture

There are many reasons that Drupal is structured the way it is, which explains why Drupal sites usually load fast.

There is also a school that believes that separation of code, style, and content is so important that there is no reason compelling enough to break those boundaries.

If you use the xtemplate or smarty theme engines you should be safe, but phptemplate has become popular in a large part due to it's efficiencies.

Templates created under or converted to phptemplate will definately be captured by GPL.

lekei’s picture

Until I tried to contribute, I thought it was an oversight too. But when my contribution was refused for wanting my code to be LGPL, I realized that maybe there really is something to worry about.

GPL is really an extreme document and should not be taken lightly.

It is as far to one side as those who would seek to enforce a patent on, for illustrative purposes, the alternate conditional statement, are on the other.

Note: "elsif" used under license from Conditional Control Corporation. Protected under BS Patent #109477662. World wide rights reserved.

killes@www.drop.org’s picture

Don't get confused, his example is totally off the hook.
--
Drupal services
My Drupal services

Dublin Drupaller’s picture

Too late Killes..I'm sorta completely confused already. The morbus post below seems to make sense, but, I'm still struggling to grasp what the problem really is with the GPL.

is there really a problem or is it just a problem with pedantics?

Someone recently did a google search and came up with over 54,000 Drupal sites. not sure if that is accurate or just a few well linked Drupal sites with a lot of pages, but, you would imagine that more designs and themes would have been contributed back. This discussion/distraction got me thinking the reluctance of others to openly contribute back their creations may have something to do with the GPL.

Dub

Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate

killes@www.drop.org’s picture

In my opinion there is no problem at all. We cannot force anybody to give back the changes they made. I have myself made many customizations to Drupal that were specific to a specific Drupal site and did not get to the project.

The important part is that I do not infringe the GPL by doing so, since I do not distribute the code.

Were it not for the GPL I am quite confident that Drupal would not be where it is now. Everybody would have been busy to keep his changes for himself and Drupal would not have the amount of features it has now.
--
Drupal services
My Drupal services

mork’s picture

I sure hope this isn't the case. I know when ever I have submitted a patch or contribution to any open source project it isn't because it is GPL'd, it is because I want to get a warm feeling inside. To be honest I have submitted to projects without any knowledge of what the licensing scheme even is (GPL, LGPL, MIT, BSD, etc) - I frankly didn't care. Found some bugs, enhanced some features, submitted the patch. No lawyer consulted.

People worked hard to create it and are allowing me access to it free of charge, it is the least I could do. I sincerely hope the community of contributers aren't assisting in Drupal development because they feel legally obligated to share their changes - I tend to believe most people are doing it because it is the right thing to do and they'd like to be a part of the community championing a fine software product.

eaton’s picture

I wrote about it on my blog a couple days ago, but the number of Drupal themes out there seems to be proportional to the number of people who invest the time in writing a custom theme that is flexible enough to be used on many sites other than the author's.

How many Drupal sites out there HAVE custom themes that AREN'T 100% site-specific? The Onion, The Progressive, and other sites are working on highly customized one-off designs, not necessarily 'share-able' code.

--
Jeff Eaton | Click Here To Find Out Why Drupal "Sucks"

--
Eaton — Partner at Autogram

Dublin Drupaller’s picture

Hi Jeff,

I read that blog of yours...and was going to reply, but was stuck for time.

You maybe right, but, I tend to disagree with you're reasoning...the same could be said for modules, but, judging by the amount of modules contributed..it doesn't seem to be the case.

Modules start life as a 100% site-specific "template" of functionality.

Similarly, some would argue that Drupal (php) snippets start life as 100% site-specific entities, yet since I started the Sliced Bread PHP Snippets handbook section....it has exploded.

I would reason that there perhaps isn't a culture of sharing themes within the community. I maybe wrong...but, I'm willing to chance my arm that if the community was "nudged" a little in the right direction...we would see more people share their theming gems.

I have given this a good bit of thought..and my guess is that nudging the culture of sharing themes may work, but, I think it might be wiser if we "modularise" theme contributions.

IMHO that will be more succesfull at attracting contributions and I think, long term, a theme snippets respository will be more valuable than just increasing entries in the themes folder.

What I mean is that approaching theming with Drupal is not comparable to ZEN-Garden, for example...which is pretty much a 1-page-skinfest. There's a lot more to it than that...similarly, porting wordpress or php-nuke themes isn't really of much value. Drupallers are just going to strip them apart anyway.

Instead of more themes..I'd like to see the emergence of a CSS & TPL snippets repository, where the contributions are more modular. i.e. Template (TPL.PHP) snippets with accompanying CSS style snippets to make your blogs, comments, blocks, menus, footer etc. etc. look a certain way.

There's no harm in having more "shells" to get people started but, the snippets approach, to me, would be more powerful and practical than more "complete" themes.

I've already started it - as an illustrative example, if you click through to the PHP TEMPLATE section on the handbook...select "Example - Theming the user profile pages" and then select "User profile page Snippets".

If you consider that pattern replicated for blogs, comments, pages, admin pages, blocks etc. it enables Drupallers to not only contribute easily (as was proven with the Sliced Bread PHP Snippets section) but empower their theming skills.

So, I have gone completely off topic with this, but I was going to reply to your blog when I read it...i can copy n paste this as a comment if you like to see if it sparks any ideas with other Drupallers...

Anyway..that's my take on why there are very few contributed themes with Drupal and instead of "nudging" the culture of contributing back more themes or running competitions - as was suggested, I think a more modular approach to theming..where Drupallers can copy and paste tpl.php snippets or straightforward CSS style snippets would be more valuable.

Dub

Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate

eaton’s picture

This is really an excellent idea. The idea of distributing 'PHPTemplate Snippets' and 'CSS snippets for drupal tweaking' would be really helpful, I think.

I've done some stuff that I'd like to share with others, but know that the full theme that the techniques appear in would take TONS of work to make 'ready for public use.'

The fact that Drupal 4.7 has PHPTemplate built in makes it a lot more practical as well. It's very clean in the way that it breaks up different kinds of content-rendering, and lends itself to distributing 'pieces of useful code' than the old XTemplate system did.

--
Jeff Eaton | Click Here To Find Out Why Drupal "Sucks"

--
Eaton — Partner at Autogram

Dublin Drupaller’s picture

Thanks for the thumbs up Jeff..

I've already started it - as an illustrative example, if you click through to the PHP TEMPLATE section on the handbook...select "Example - Theming the user profile pages" and then select "User profile page Snippets".

I started with the user profile page because I had "one I prepared earlier"...

But the same principle maybe applied to:

blog.tpl.php
comment.tpl.php
blocks.tpl.php
forum.tpl.php
page-admin.tpl.php
page-whatever.tpl.php
user_profile.tpl.php
etcetera.tpl.php

ideally....Drupallers would be encouraged to contribute

(a) tpl.php snippet
and
(b) CSS Style snippet that accompanies the tpl.php snippet.
and
(c) a screenshot of what it looks like. not of the full screen. Just the area affected.

Hope that makes sense...we've gone totally off topic here..so perhaps it's best to discuss in a new thread..

Dub

Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate

Geary’s picture

The two examples you cited are fundamentally identical:

<div class='breadcrumbs' id='breadcrumbs'><?php print $breadcrumb;?></div>

<div class='breadcrumbs' id='breadcrumbs'>[#BREADCRUMBS#]</div>

The first example uses PHP code to read and print a variable.

The second example uses SRTL (Some Random Template Language) code to read and print a variable.

You could compile either one down to the same pseudo-bytecode:

LOAD breadcrumb INTO R1
PRINT R1

Why would the PHP and SRTL code be treated differently under the GPL? It's the same code whichever language you write it in.

lekei’s picture

The GPL FAQ explicitly states that if it's done with code it is forced to be GPL but if it is done purely from data it is not.

The authors of the GPL state that the GPL not appropriate for programs that link with other code and they even advise that in such cases (unless the intention is to force everyone to only use GPL code and no thing else) you must:
A) Provide explicit exemptions for certain applications, such as Mambo does for modules and themes (this is called a licence of Guile)
or
B) Use a compatible licence that dose not have these restrictions, such as LGPL, Apache PL (since there is an argument that even using GPL for ANY web service is problematic), or several others that they advise.

killes@www.drop.org’s picture

Would you please link to the paragraph of the GPL FAQ that you think makes a statement about "print $foo" requiring the printing programm to be GPL if $foo is generated by a programm licensed under GPL?
This essentially would mean that you could not run GPLed programms on non-free operating systems such as windows...

Edit: And it would also require PHP to be licensed under GPL...
--
Drupal services
My Drupal services

lekei’s picture

The rule is that if it parses or forks it's ok. If it's included or linked it's not. If it's called it's grey.

Also, with respect to output, the rule is if it is the sole derivitive of your work and data then it's yours. If the output contains code or the direct product of gpl code then it's gpl.

See: http://www.fsf.org/licensing/licenses/gpl-faq.html#UnreleasedMods and http://www.fsf.org/licensing/licenses/gpl-faq.html#WhatCaseIsOutputGPL
( and http://www.fsf.org/licensing/licenses/gpl-faq.html#CanIUseGPLToolsForNF )

The references in http://drupal.org/node/37504#comment-68924 are very explicit about these rules. I spent a lot of time researching that post.

The list of licenses at:
http://www.fsf.org/licensing/licenses/index_html#GPLCompatibleLicenses
lists some of the other variants and why you might want to use them.

pulsifer’s picture

Hello Lekei,

Its clear that you are trying to badger the developers to change the Drupal license, and some of the things you are saying are simply not true.

First, if the developers do not claim you are infringing their copyright by creating and distributing your own closed-source theme, then there is no issue.

Second, this statement "Likewise the assertion that publishing a web site with a GPL program constitutes public distribution" is completely wrong. The paragraph you link to on the FSF web site says exactly the opposite: it says that you can use/modify a GPL v2 program to publish a website and you do NOT have to publish your source. As the FSF states, that is something they are considering changing in GPL v3, but it is not an issue in GPL v2.

Finally, the GPL only applies to a work that is a "derivative work". A derivative work is defined by copyright law, and it essentially means a work that includes or incorporates parts of a GPL work, or is based on modifying a GPL work. For example, if you create a template by modifying a GPL template, and then you distribute your template, you must release it under the GPL. If however, you create a template completely from scratch, do not incorporate any elements from a GPL file and do not distribute it along with any GPL code, then it cannot possibly be considered to be a derivative work. The broad statements you have made about when it applies are simply not true--it depends on the specifics of what you are distributing and how it was created.

Allen

killes@www.drop.org’s picture

The term derivative work is defined in a rather broad way by the FSF. For example, if you share data structures between the original GPled programm and your programm, this might well make your work derivative. This in particular applies to Drupal modules and probably to dynamic themes such as phptemplate ones.
--
Drupal services
My Drupal services

morbus iff’s picture

I am not a lawyer.

First, let's remove a lot of complexity.

  • "cat" is a GPL'd piece of software from the FSF.
  • "cat filename.txt" is how you use that piece of software.
  • By using "cat", filename.txt IS NOT forced to GPL.

This logic is evidenced by from this bit of GNU FAQ:

Is there some way that I can GPL the output people get from use of my program? For example, if my program is used to develop hardware designs, can I require that these designs must be free? In general this is legally impossible; copyright law does not give you any say in the use of the output people make from their data using your program. If the user uses your program to enter or convert his own data, the copyright on the output belongs to him, not you. More generally, when a program translates its input into some other form, the copyright status of the output inherits that of the input it was generated from.

So here, "filename.txt", which contains all our user data, can never be forced under the GPL JUST BY USING THE "cat" PROGRAM. The key sentence here is "copyright law does not give you any say in the use of the output". Keep that in mind.

Now, let's go back to Drupal templates. The templates handle the OUTPUT of YOUR data in YOUR database. Use of Drupal, a GPL'd program just like "cat", can not copyright the output of the templates. Likewise, custom PHP code within your template DOES NOT CHANGE THINGS AT ALL. Just as adding a filter like "cat filename.txt | grep Monkey" doesn't force-GPL your text, adding "print theme_ugly_child()" to your Drupal theme doesn't either.

You can, of course, license your *template design* any way you'd like, just as much as I can convert a text file to a PDF, but have no legal ownership of the *PDF document specification format".

But, even though you can license your template design to, say, LGPL, that does NOT mean that Drupal.org will play host to it. When you signed up for a CVS account, you needed to agree that you would only use our services (bug trackers, CVS repositories, hosting, forums, etc.) for GPL code. This was a conscious decision by the Drupal developers so that we wouldn't have to get into these long and boring conversations which everyone would like to turn into a jihad.

The short end of it is, regarding themes:

  • yes, you can license your template design however you'd like.
  • if you plan to offer your template on Drupal.org, it MUST be GPL.

As for modules, the GPL FAQ is clear in "What is the difference between mere aggregation and combining two modules into one program?": If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program. Modules require Drupal to run, and most certainly reside in the same shared address space (ie., "global $user" works). This, however, does NOT mean you MUST release them ("Does the GPL require that source code of modified versions be posted to the public?"), or give them to folks that deliberately ask for them. If, however, you do make your code public, then it MUST be released under the GPL.

http://disobey.com/
http://gamegrene.com/

rnsi’s picture

This, however, does NOT mean you MUST release them ("Does the GPL require that source code of modified versions be posted to the public?"), or give them to folks that deliberately ask for them. If, however, you do make your code public, then it MUST be released under the GPL.

So just to be clear...
I can write a module (or theme or template...) for Drupal for a client. I can choose to not release the source code to anyone (including the client, even if they ask). I'm not breaking GPL. I must, however, release the source to Drupal if asked - just not my custom mods.

Is this correct?

morbus iff’s picture

Correct. Though, there's a grey area in regards to ownership in a "work for hire" circumstance. It doesn't affect this discussion too heavily, however: whoever the owner is (the freelancer, or the client who hired you) can choose not to release the code.

http://disobey.com/
http://gamegrene.com/

lekei’s picture

The cat command merely processes data, Drupal themes call api functions. The references that I quoted previously clearly state that it's all about the way it is written.

The FSF themselves say explicitly that unless you license a program like Drupal with LGPL or Specifically add an addendum saying that themes and modules may be under other licenses (eg. as Mambo does), the effect will be that no licensed copyright material can be used in templates or modules.

Of those thousands of Drupal sites, the majority use GPL themes or modified GPL themes (which are, of course GPL too), so those are obviously not an issue.

Those who use Smarty or Xtemplate are safe too.

Anyone with phptemplate (or pure php) templates is violating the license if they use or modify commercial templates (for example, I can't modify any of these templates for use with Drupal).

killes@www.drop.org’s picture

No, Drupal calls the theme's functions not the other way around.
--
Drupal services
My Drupal services

lekei’s picture

That makes themes modules and eliminates any discussion. What you are saying amounts to:

Drupal themes my not be distributed or published except under GPL, with the commensurate loss of rights.

If you are under NDA for any code you may not use Drupal.

If you have code which you protect under NDA but provide to a client, your NDA is null and void.

If you have a module or theme which includes material you have licensed from a third party, you may not release a copy of your site to your client, even if permitted by the license agreement of the material you use.

Whether I try to avoid being a party to this act by releasing MY OWN code under LGPL to protect those who use it is immaterial. By using Drupal under the GPL (which even the authors of the GPL state is the wrong licence for this type of product because of the above).

rnsi’s picture

What if you were to encode your modified code / themes , etc. with the Zend encoder or the Turck Encoder before releasing to the client? The client would then have the original drupal files with licenses intact, and your extra files that noone can read. Now the NDA is unnecessary because the client can't read the files.

Or does this break the GPL as well?

killes@www.drop.org’s picture

Of course, under the terms of the GPL you always need to include the source code.
--
Drupal services
My Drupal services

Dublin Drupaller’s picture

Hi Killes,

apologies in advance if this is a stupid question..but where does HTMLarea , Xinha & TinyMCE fit into the licensing thing?

When installing those modules you have to download the main "engine" software from another website..does that remove conflict with licenses? i.e. it's just the plugin modules that fall under the Drupal GPL.

Dub

Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate

killes@www.drop.org’s picture

The reason that we require third party software to be downloaded from their original sites is not a licensing issue - we do require this for all third party software regardless of licensing. We want to ensure that users get the most recent releases of third party sofware.

Since JavaScript is what drives these inline editors, there is no real integration into Drupal. Drupal only prints some JS that in turn will cause the browser to do something. However, I am not a JS expert so I could be wrong.
--
Drupal services
My Drupal services

lekei’s picture

Rumor has it that the default engine will no longer be XTemplate in 4.7 so that only the Smarty engine may be used to create themes which contain ANY copyrighted material, until such time as the Drupal license is clarified.

Since there are a few contributors who are on a Jihad to prevent any IP rights anywhere by anyone, this probably won't happen any time soon.

sepeck’s picture

Thank you for the measured tone of your post that helps continue the civility of the discussion. I will point out that the Drupal license is very clear. It is GPL and no one can give you legal advise but your lawyer.

It is not a rumor. It has been mentioned in the 4.7beta1 announcement and in other previous announcements. XTemplate engine will move to become a contributed theme engine.

-sp
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide

killes@www.drop.org’s picture

I've really read enough of the FUD you spread around. Can't you just stop using Drupal if you don't like its licence?
--
Drupal services
My Drupal services

lekei’s picture

Please read this in the calm and considered voice in which it was intended. It is hard to convey tone-of-voice in a vorum message. Read in more sadness than agression.

All I have been trying to do is point out the omission that the type of rider recommended by FSF for the type of application that Drupal is should have been added to the Drupal license to protect user's and client's IP rights. Most major open source projects in these situations contain such exceptions (Apache, PHP, Linux, GCC, Mambo, Joomla, Xoops, etc.).

Let me reiterate that I am a proponent of free software. I have been writing open source and free software for over 25 years. I didn't even realize that this was missing from Drupal until I tried to contribute to the project and was refused for wanting to have my original code licensed under less restrictive terms.

I originally thought I was doing the community a service by pointing out what I assumed to be a simple oversight that the license was not updated when the change was made to use phptemplate.

The only people that I see spreading FUD are those who take the stand that the intention of using an unmodified GPL for Drupal is to force all templates to be GPL, and therefore be prohibited from using copyrighted material.

I confess that, like many, I have always had a fear and distrust of the GPL because of its aggressive political/religious agenda which is against my personal belief in free will and the right to self-determination. Don't accuse me of that, I admit it.

I have written to the FSF for a final clarification on how GPL applies to PHP code and will make no further comment until I receive a reply.

At that time I will either apologize to the community or stop using Drupal as you request. I have invested over 7 months trying to get to know Drupal and it will be difficult to throw that away.

eaton’s picture

Releasing software under a particular licsense doesn't prevent other people from releasing other software under the license of their choice. GPL was chosen as the license for Drupal, and GPL it will be.

That doesn't seem very Jihad-like. As others have said, if your business requires you to make money based on work that other people have done and given away for free, consult a lawyer post-haste. Regardless of the specifics of the license it uses, That's A Good Idea.

--
Jeff Eaton | I heart Drupal.

--
Eaton — Partner at Autogram

drewish’s picture

exactly, if you don't like the GPL, dual license it GPL and LGPL.

lekei’s picture

I just received the following clarification from FSF. Brett Smith asked that to allow discussion of this I post the entire email to this forum. The only edit I did for security was to change the representation of email addresses:

-----Original Message-----
From: www-data [mailto:www-data[nospam at]gnu.org] On Behalf Of Brett Smith via RT
Sent: Tuesday, January 31, 2006 3:13 PM
To: 37504[nospam at]lekei.ca
Cc: licensing[nospam at]gnu.org
Subject: [gnu.org #263707] Clarification or the interpretation for PHP

> 37504[nospam at]lekei.ca - Wed Dec 21 12:54:31 2005]:
>
> Is there some legal clarification on the application of GPL when it
effects
> systems written in PHP?
>
> There is some confusion because a literal interpretation of the FAQ
> with regards to a content management system such as Drupal, which uses
> an
API to
> implement page templates instead of a token interpreter.
>
> Does this mean that page templates cannot contain copyright, NDA
restricted,
> or other proprietary or restricted distribution information if the
design is
> done for a client?

Dear Don,

If Drupal is licensed under the GNU GPL, with no exceptions of any kind, and templates call functions in the code like you describe, then we believe those templates would constitute a derivative work of the code. In that case, they would need to be licensed under the GPL as well.

If this concerns you, I encourage you to contact the Drupal developers to ask for a clarification of the license, or special permission to develop proprietary templates. If they say they don't intend for the GPL to apply to templates, then that's all you need; the licensor's intent holds plenty of weight in determining what licensees may do, even in court. And if there are many developers who expect to be able to do this, I think you'll probably get this permission.

> Please also indicate if your reply can be forwarded to the community
> as a whole to allow them to make the appropriate decision as to
> whether the license needs to be amended.

You may reproduce this e-mail in its entirety, including the portions that quote your original question, without modification. Please note that this is not legal advice; developers who want legal advice should contact a lawyer.

Best regards,

--
Brett Smith
Free Software Foundation Licensing Team

morbus iff’s picture

I'd want to see what you wrote him, exactly, specifically "and templates call functions in the code like you describe".

http://www.disobey.com/
http://www.gamegrene.com/
Developer of Drupal's Game API

lekei’s picture

The entire and exact text of my original email was quoted in his reply (above).

As per his request, I have posted the email exactly as I received it.

RayZ’s picture

First of all, thanks Don for your persistence in wading through the details to get to the bottom of this.

I think Brett's response to you leads directly to a very important question and that has to do with the "licensor's intent". In the case of Drupal, who is the licensor? And who has the authority to clarify the intentions of the "Drupal developers"? Does Dries?

I certainly hope it is actually possible to get a clarification of intentions.

My personal hope would be that the intent allows for templates (explicitly including PHPtemplates) and even modules to be licensed as the author sees fit (even if only GPL'd contributions are accepted for inclusion on the Drupal.org site).

I agree with you that it seems a bit strange to be using a license that FSF says is not appropriate for something like Drupal, without making any of these kinds of clarifications of intent.

Without them we are at best doomed to rehash these issues in the forums every several months.

killes@www.drop.org’s picture

My intention is pretty clear: I want everything that is related to Drupal be licensed under the GPL. And yes, I hold a (small) part of the accumulated copyrights.
--
Drupal services
My Drupal services

lekei’s picture


I have tried to edit this post to reflect the right tone but have to give up.
Please read it with a sad tone, not an angry or beligerent tone.


It is pretty clear that your opinion is that everything should be free, however people I licence artwork from do not believe that. They want to protect their rights.

I want to contribute to the Drupal community but I am forbidden because I wanted MY code to be ready to allow people to use commercial templates and modules if Drupal core developers change their mind.

Unfortunately, you are the person who decides who can contribute, so people who believe in free software, like me, are banned. GPL is not free. It is more restrictive than most commercial licences.

Just to be clear -- I DO NOT WANT TO WRITE COMMERCIAL CODE FOR DRUPAL. All I want is to be able to use licenced material in my templates.

The notion that Drupal is only licenced for 100% custom made sites or hobby sites seemed ridiculous. I believed that the intention of the Drupal developers was more benign.

As the email from the FSF stated, a lot of weight is given to the developer's intentions.... You have proven to me that the risks of using Drupal are too great, you are bound and determined to get people sued by Getty or cut-off by Google.

I never believed that this was the intention of the core developers. This started as a little "oops, you forgot this" comment and turned into a Holy War of the GPL. Even the people who WROTE THE GPL say that you need that one little line.

No licensed templates, no Getty, Imagebank or CanStock images. No code (including HTML and JavaScript) licenced from anybody (Eg: No Google Adsense or Site Search).

Sad.

killes@www.drop.org’s picture

I haven't checked the license of google's adsense code, but it it pretty clear to me that images aren't part of a template file unless you insist on harcoding their binary dump into it. Images are also typically called from the css file that comes with a template. I don't think that CSS files are automatically covered by the GPL. They IMHO do not share data structures with Drupal.
--
Drupal services
My Drupal services

sepeck’s picture

The page.tpl.php for my site is available. The style.css is copyrighted. The theme I did for another site I intend to write up notes on how I did this, but again, the style.css and the images associated with it are mine. The blue beach theme images are copyrighted.

I am confused by your confusion.

-sp
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide

RayZ’s picture

Yes, killes, your intentions are quite clear. But that doesn't address the question I raised ...

Who can speak for the "developers"? Have you been designated by the core developers to speak for all of them as a group on issues of the "intent of the licensors"?

If so, I believe we have our clarification, and I suggest it be added to the handbook somewhere and included in the "Is Drupal Right for You?" section.

If not, my question stands ... is it possible to get such a clarification? And who has the authority to make a statement regarding the "intent of the licensors"?

I'm guessing we'd have to go back to the one who made the decision initially to go with GPL, which I assume was Dries. I would hope that nobody in the Drupal community would attempt to hold Drupal hostage to a more restrictive intent than his own.

morbus iff’s picture

It is too late. Drupal is no longer "owned" by Dries - largely speaking, most of the code within Drupal now is Not His - it is by the community, made up of thousands of developers and patches. Even if the community COULD come to a decision, absolutely no one is going to make the time to hunt down and contact *every single committed patch developer* to get their input, and we'd have to to Do It Right (The Apache Foundation had to do this same sort of thing when they moved SpamAssassin to their organization, and it was a bit of a bitch).

http://www.disobey.com/
http://www.gamegrene.com/
Developer of Drupal's Game API

killes@www.drop.org’s picture

I just want to clarify that I am not speaking on behalf of the entire Drupal developer's community. I am solely advocating my own opinion on the matter. I believe that my opinion is shared by a number of core developers but I also know that other people don't share my point of view.
I think it will be quite difficult to obtain a consensus on the matter. Even if a number of people would agree to letting theme templates not be licensed under the GPL, you could still get sued by the rest of us.
--
Drupal services
My Drupal services

Geary’s picture

Even if a number of people would agree to letting theme templates not be licensed under the GPL, you could still get sued by the rest of us.

You must be kidding. Nobody is going to sue anybody to force them to GPL their Drupal templates. Not gonna happen. It's hard to imagine a better way to destroy the Drupal community.

I don't speak for anybody here, just making a prediction.

killes@www.drop.org’s picture

What is a licence worth if you are not willing to enforce it? If there were a company or an individual distributing non-GPLed templates or modules somebody would need to take them to court to settle the matter.
--
Drupal services
My Drupal services

lekei’s picture

You are the exact kind of fanatic we all must be fearful of and must be protected against.

Unless the licence is fixed we all must live in fear that someone like you will make some company, consultant or other person's life a living hell.

You will ruin Drupal for everyone except hobbyists and hackers.

Anonymous’s picture

lekei’s picture

It will be difficult to fix the Drupal license, but every expert opinion that I have received, agrees that it needs to be fixed.

This topic came up again at the conference in Vancouver yesterday in the session on software licensing, and the expert opinion was again that both the templates and believe it or not the HTML OUTPUT from Drupal are GPL.

Yes, under GPL, because drupal GPL code generates some of the HTML present in the output, by using Drupal the HTML is GPL. Therefore anyone can copy your site (at the output level) and there is nothing that you can do about it. It's crazy, but that is the way GPL works (if you don't put a rider into the license).

Also, if you do work for hire, but you retain some or all rights to some or all of your code, then all of the work becomes GPL,

I have 2 clients that want to order templates from http://templates.lekei.ca and have me modify them to work with Drupal. This would save them thousands of dollars, but I can't because I don't have the rights to make the templates GPL. It's an affiliate program only, they are not my templates.

Anonymous’s picture

I don't believe custom output is considered a derivative. In any case, sharing derivatives is optional not obligatory.

http://www.gnu.org/copyleft/gpl.html
"...or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language."

"These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License."

(Emphasis mine.)

My unique work, though accomplished with Drupal, is uniquely my own. Even if it wasn't, the option to distribute is still my own choice. Taking it from me is still infringement.

killes@www.drop.org’s picture

I am officially giving up on you, you are permanently confused. Claiming that the html output would be GPLed by running a GPLed programm shows that you have neither read or understood the frigging licence. That's spreading FUD at it's finest.
--
Drupal services
My Drupal services

lekei’s picture

The idea that the HTML output would be covered by the GPL seemed absurd to me too. But the expert opinions from the FSF, other specialists in free software licencing, including at the Drupal conference in Vancouver this week, and the GNU FAQ all agree that when output directly the code is embedded in the output then the GPL applies.

Ridiculous but true. I am just the messenger on this point. That is the EXPRESS reason that Bison, Emacs, gcc, and many other GPL projects have explicit riders added to address these issues.

It is also the reason that Apache, Linux and many other free software projects do not use GPL.

killes@www.drop.org’s picture

Your statement is utter nonsense. In the case of bison, actual GPLed code is copied into the output and then of course the GPL applies to the entire output when it is distributed. Drupal, however, DOES NOT DO THAT. We do not copy any Drupal code into the output (which consists of HTML). That would not make any sense or how would you expect your browser to render PHP?
--
Drupal services
My Drupal services

Geary’s picture

You seem to be making a distinction between the PHP code in the Drupal source and the HTML code in the Drupal source. I just read through the GPL, and I couldn't find any such distinction.

As far as I can tell, the HTML code in the Drupal source is covered under the GPL just as much as the PHP source.

And there is no denying that Drupal copies large amounts of its own source code into the output. common.inc alone has many functions that copy HTML code directly from the GPL source.

Therefore, any website that uses Drupal must be GPLed.

Well, folks, I guess that's it. Show's over. We all need to find another CMS unless you want to GPL your websites.

For those who want a strict interpretation of the GPL, no hard feelings. It was fun. Enjoy your license.

sameer.verma’s picture

As far as I can tell, Linux is released under the GPL v2. See http://www.kernel.org/pub/linux/kernel/COPYING

lekei’s picture

Even Linux kernel has a rider to indemnify users of Linux.

However, since Killes personally controls who can and cannot contribute to the Drupal project, this will never happen.

eaton’s picture

Sounds like this is turning into a personal grudge match. You yourself have argued for a MORE restrictive reading of the GPL than Killes himself does. Sounds like you're less interested in getting to the bottom of things than convincing everyone how bad things are.

Want clarification to be official? Vote +1 on the issue I posted to update the FAQ.

http://drupal.org/node/53242

No commentary on the issue, please. Just an up-or-down if you think it's useful.

--
Jeff Eaton | I heart Drupal.

--
Eaton — Partner at Autogram

lekei’s picture

I just wanted to contribute and was banned by one person on a crusade to prevent anyone using Drupal from using code that they didn't write.

What I thought was obvious was that while the majority of code in Drupal belongs in GPL there are some places where it puts unconscionable constraints on the user, such as preventing you from using any third-party material in modules or themes if you do the work for hire.

If you do not possess the copyright to something, you may not incorporate it into a GPL work (that you are doing for hire).

This means, for example, that you MAY NOT put Google Adsense into a Drupal module, block or theme or use Google search to replace the search functionality of Drupal (the code is copyright by Google). You may not use any licensed library or html template. The use of stock photography in templates is even dubious.

For pointing out this, I was banned from contributing to Drupal by one person. So, yes, there is some personal bitterness. That same person seems to hold the opinion that the above problems are a by design. That is terrifying. It totally mitigates the "intention of the copyright holders" defense.

I was told to get legal advice and the legal advice I got was to not use Drupal the risk may be low but the cost would be high. That was not what I wanted to hear. I have spent a year trying to get Drupal to work.

The repeated advice several experts (not just the one who permitted me to repost his comments) on open-source licensing was that the Drupal licence is broken and to keep bringing it up until is addressed.

I give up.

eaton’s picture

Is the meaning of the word 'addressed.' In the case of ALL the issues you've brought up, a clarifying FAQ is all that's necessary. I've created an issue to address one such point: HTML, CSS, and images in themes. You downvoted that FAQ clarification because it stated that PHP code would be GPL'd.

I can only assume that you would prefer ambiguity? I'm not trying to be antagonistic, here, lekei.

--
Jeff Eaton | I heart Drupal.

--
Eaton — Partner at Autogram

lekei’s picture

I downvoted because the proposed faq entry explicitly codifies what I pointed out to be a flaw: that all code in your theme and modules must become GPL.

That means you can't use any third-party code on a Drupal site (unless it is your own personal site).

This whole discussion started because I pointed out that we need a clarifying statement.

eaton’s picture

Theme and module PHP code is GPL'd. That's the way it works. I'm sorry if you don't like it -- I can see benefits to both the GPL and LGPL approaches, but this is the way it is.

If you need to utilize third-party code libraries, the solution is simple. Dual-license your module or theme under the LGPL, which is compatible with Drupal's GPL. Then integrate your module or theme with the third-party library. That allow OTHER pieces of code that your module uses (like an external library of PHP code) to operate under any license, since they do not interact directly with Drupal's PHP code. TinyMCE.module and SIFr.module are two examples of this kind of separation.

Perhaps THAT needs an additional FAQ entry. The one I wrote, however, and linked to in that issue, deals specifically with generated output sent to a web browser.

--
Jeff Eaton | I heart Drupal.

--
Eaton — Partner at Autogram

RayZ’s picture

The only way to ever get to fixing aspects of the license that may be "broken" is to start by clarifying the current state of things.

Jeff, I applaud your concrete steps in this direction.

http://drupal.org/node/48185
http://drupal.org/node/53242

And I agree another FAQ entry is probably needed for the issue of using 3rd party libraries.

killes@www.drop.org’s picture

there are some places where it puts unconscionable constraints on the user, such as preventing you from using any third-party material in modules or themes if you do the work for hire.

This is still wrong, never mind how often you claim it to be true. You can safely use third party CSS or images with Drupal themes.

Edit: I also did not ban you from contributing, I just did not grant you a CVS account. A CVS account on drupal.org is granted, not a right. You did not want to comply with the requirements for the account - one of them being to contribute only GPLed code - and thus didn't get an account. Can't be terrible hard to understand.
--
Drupal services
My Drupal services

lekei’s picture

To get a theme to work, like any web site, you need css, plus a considerable amount of code.

Images are another point entirely.

If you take a commercial template (eg. http://
templates.lekei.ca which is just a template monster affiliate page) and use it with Drupal, you violate the licence agreement for the template.

If you use Google code (Adsense, search, etc.) in your template you violate the Google licence agreement.

I have some dhtml libraries that I like to use in sites. I couldn't use them on a Drupal site for a client because I do not have the right to make them GPL. Even if the client doesn't distribute the code, GPL demands that I grant them that right, which I cannot.

The licencing experts I checked with suggested that images are a grey area if they are embedded in the code, or are effectively part of the code (eg. spacer images). If they are solely in the CSS then you are safe.

I have yet to find a tool that will let you build a site template in pure CSS.

You will note that on my application I wrote in that I will honor the wish of any author and GPL any additions to other people's code. It is against my moral and ethical standards to INITIATE code under pure GPL because it interferes other peoples rights, but my licence would, of course, be GPL compatible.

The current restrictions prohibit anyone from even rectifying the problem by creating a safe interface layer (eg. something like PHPtemplate but with a protective license).

eaton’s picture

http://drupal.org/node/53242

It's been updated and now includes two sections: one on HTML output and one on theme/module interaction with third-party libraries. The DHTML issue you mentioned specifically is covered by this.

Seriously. If the clarification is added to the FAQ, the problems you perceive will be over. If you prefer fixing to arguing, please cast a +1 in that thread.

--
Jeff Eaton | I heart Drupal.

--
Eaton — Partner at Autogram

killes@www.drop.org’s picture

If you take a commercial template (eg. http://
templates.lekei.ca which is just a template monster affiliate page) and use it with Drupal, you violate the licence agreement for the template.

If you use Google code (Adsense, search, etc.) in your template you violate the Google licence agreement.

These are your claims. IIRC nobody else thinks you are right about them.
--
Drupal services
My Drupal services

pulsifer’s picture

Hello Killes,

I agree with you on your interpretation. My understanding of the GPL is that I can take GPL code, mix it with LGPL code, mix it with proprietary code, add my own modifications, and use it for any purpose I want, as long as I don't distribute it to other people. Its the distribution that triggers obligations under the GPL. If I distribute my code, then I am obligated to also distribute the source and to license it under the GPL, but anything that is not distributed by me, I can use in any way I want.

Allen

killes@www.drop.org’s picture

The point where lekei and I apparently disagree isn't only distribution, but also "what is code as referred to by the GPL?". A CSS stylesheet is (to me) clearly no code and thus the "viral" nature of the GPL can't possibly apply. Same applies to images and static html templates. The case of dynamic php templates is less clear.
--
Drupal services
My Drupal services

Geary’s picture

The GPL itself defines "source code":

The source code for a work means the preferred form of the work for making modifications to it.

Note that this has nothing to do with whether this source code is written in a "programming language". The GPL defines "work" in a much broader sense than just a "computer program". (Actually, it doesn't define "work" at all--a work is whatever the thing is that you have licensed under the GPL.)

A CSS stylesheet is certainly the preferred form for making modifications, which makes it "source code" under the GPL. The fact that CSS doesn't feel much like a traditional programming language doesn't change that.

killes@www.drop.org’s picture

ou of course are right about this. If you modify a GPLed CSS style sheet, it will require you to GPL your changes. However, I was specifically referring to this http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins quote from the GPL FAQ. A CSS style sheet is IMHO not plug-in as described there. From that it follows that CSS style sheets that are used for Drupal can be licensed as the author whishes them to be licensed. Modules, however, have to be licensed under the GPL.
--
Drupal services
My Drupal services

lekei’s picture

I consulted more than one expert on open source licencing. They agreed that the above two points were the flaws in using an unmodified GPL licence for Drupal.

The reason is that the HTML and PHP are inseparable in a template file. Putting the Drupal PHP code into a template that you do not hold copyright to is not permitted if you are doing the work for someone else.

If you are doing work for hire and you provide the source code to the client that constitutes distribution under the GPL!

sepeck’s picture

1, I think you are wrong.
2, I think your argument is flawed but you are determined in that avenue of continuuous attack and spread of FUD with your inflamitory choice of words and persistent scanning of the forums to scare the hell out of anyone new to Drupal and your persistent refusal to work with Eaton who has tried several times to peacefully arrive at the clarification you so desperatly seem to need..
3, The GPL is what attracted me to the Drupal project. So the license must be working as expected.

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide

eaton’s picture

Lekei, I will say this as simply as possible.

I've attempted on numerous occasions to help clarify and explain -- even submitting issues to ammend the Drupal FAQ to clarify the intent of the Drupal community in regards to the license.

There are (I believe) three grey areas you have expressed concerns about

  1. The possibility HTML output generated by a drupal site being GPL'd
  2. The GPL compatability of modules and themes that use third-party code libraries (like javascript DHTML libraries)
  3. The GPL status of HTML layout information in PHPTemplate files that mix HTML with PHP code

The first two are non-issues -- they are simply subjects that have generated confusion in the past, and require clarification. I've opened a support issue to update the Drupal FAQ to cover both of them. So far, your participation in that has been to vote against clarifying the text.

The third issue (mixed HTML/PHP templates based on HTML that you do not own the copyright to) is a very specific issue that needs attention. Your approach thus far, though, has been to argue against members of the Drupal development community who try to tell you that it is permissible. This is not helpful or productive -- either to the Drupal community or to you.

Perhaps the license could be ammended to clarify that "Files consisting primarily of HTML, with trivial use of PHP for templating purposes, are not considered derivative works." Perhaps not. Either way, it will be resolved not via arguments, not via trrying to scare other users off, but via careful and clear attempts to address the very specific scenerios that are potentially troublesome. Updating the documentation, the FAQ, or the license are the only ways this will be solved. Period.

I really must wonder whether you do want things to change for the better. I've become convinced that you would only be satisfied if Drupal's license were to change from GPL to some other license. You have repeatedly said you wanted clarification, but you have fought it when it is given.

You have the opportunity to participate in the solution. Fish or cut bait. That is all.

--
Jeff Eaton | I heart Drupal.

--
Eaton — Partner at Autogram

kulfi’s picture

@eaton - I'm asking you directly as you seem to have a deep understanding of licensing. Hopefully you will be patient with me as I have read through threads discussing this licensing issue without really understanding what was finally concluded with regards to modules and themes: http://drupal.org/node/188954

killes@www.drop.org’s picture

Your last statement is evidently wrong, if I do work for hire, the copyright of any produced materials (unless agreed to otherwise) would be the paying client's and not mine.

--
Drupal services
My Drupal services

lekei’s picture

It depends on the agreement you use with your clients. Mine states that the "work product" is the specific billed client work and a license of the libraries.

Any libraries licensed on behalf of the client are licensed for their project, unless they are licensed for all work that I do (eg. libraries that come with tools, royalty-free artwork libraries, etc.).

Any GPL code is, of course, GPL. Same with software under other free or transferable licences.

killes@www.drop.org’s picture

Of course it depends on the agreement. We apparently agree on the work we've done being the client's. I don't use or want to use any non-GPL PHP libraries, so any problems from using them together with Drupal would be yours not mine. And quite clearly (to me) a potential CSS layout done by somebody else or images owned by some company don't interfere with the licensing of my PHP work. So, I don't have any problems with Drupal being GPLed.
--
Drupal services
My Drupal services

Briang’s picture

"These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works."

Why couldn't a theme or a module be considered a "seperate work?" I think such an interpertation is resonable if at least the follow condictions are met:

1) the theme or module is was written from scrach and didn't contain code from an existing GPLed theme or module.

2) The theme or module was not distributed as as part of a new version or fork of Drupal.

I'm not a lawyer and I'm a new guy to the Drupal community, but this seems to make sense to me. How is a module designed to work with drupal different from a program that is designed to work with an operating system. No one would consider a program designed to run on Windows a derivitive work of Windows. No one argues that the a program designed to run on Linux must be GPLed just because Linux is GPLed.

Briang’s picture

The GPL license only kicks in when someone creates a "derivative work." The definition of a derivative work is determined by copyright law as interperted by the courts. The problem is that the only way to get a legal definition is for it to be challenged and be resolved by a court decision. Taking the present case would mean the following:

1) Someone creates a non-GPLed module for Drupal.

2) They are sued by the copyright holders for copyright infringment.

3) The case is not settled out of court.

4) The court decides whether this is infringement or not.

killes@www.drop.org’s picture

True, this is how it would be resolved. I don't really see that happening. Be advised however, that creating non-GPLed modules might make you quite unpopular with many of the Drupal developers. Not that it matters much, but...
--
Drupal services
My Drupal services

Briang’s picture

The door swings both ways. If we want a wide definition of "derivative work" to be applied to GPLed software, the same wide definition will be applied to non-GPLed / propriatary software. This could potentially created problems for open source projects that depend interacte with propriatary software. For example, Wine can use Microsoft libraries, does this make Wine a "derivative work" of Microsoft windows?

Personally, I think our socity has gone overboard with "intellictual property" law. This is why I like open source software. This is why I run Linux. We shouldn't defend stronger copyright laws in order to protect open source. If we do we may win a battle, but lose the war.

killes@www.drop.org’s picture

If you want to discuss IP laws at large, ie not restricted to Drupal, you should find a more apprioprate place, ie not Drupal.org,
--
Drupal services
My Drupal services

Briang’s picture

I just wanted to point out that Copyright law it not done in a vacume. We don't get to have one copyright law for Drupal and one for everything else.

killes@www.drop.org’s picture

Well, there is already more than one copyright law. One per country, to be precise. And nobody knows how compatible they are.
--
Drupal services
My Drupal services

Briang’s picture

Even if we did get a court to make a ruleing in the US it wouldn't be binding in Germany, for example. In the end there may never be a final resolution to some of these issues.

Briang’s picture

The Civicrm module is not licensed under the GPL it's licensed under the Affero General Public License, which I don't think is compatable with GPL2.

killes@www.drop.org’s picture

The actual civicrm.module is licensed both under the GPL and the Affero GPL. http://drupal.org/project/civicrm
--
Drupal services
My Drupal services