Adding a clause to a GPL licensed product

Posted 21 Jan 2003 at 11:36 UTC by Dougiamas Share This

I'm considering adding a new clause to the otherwise standard GPL license that one of my products is under. It is basically designed to stop people selling my product under a different name without paying something towards my project.

The main reason my PHP web application Moodle is under the GPL license is because I wanted this software to be Free for the smaller institutions who couldn't afford my commercial competitors.

Now I find that the software is being taken up by some commercial companies, rebranded (it contains a small logo on the front page that links to my site) and sold under a different name. I'm happy they can sell it, but unhappy about the change in branding.

Leaving aside the fact that this may or may not be a breach of the GPL already (because they are not distributing my original source code with separate patches) I would prefer that they either made their customers aware that they are using Moodle, or paid for the privilege of not doing so (thereby helping me to continue working on the project).

The GPL itself seems a little weak in this area. Sure it may require that the original code is made available, but this means little when the software is sold pre-installed on a web host - the customer will never see the code and may know nothing about programming.

The clause I am currently considering adding to the GPL looks something like this:

All installations of Moodle on public web sites must display some acknowledgement of Moodle on the home page (for example the default "Made with Moodle" logo) with a link to moodle.com. If you wish to remove this acknowledgement in order to sell copies of this software under a different brand then please contact xxx@xxxx.com to negotiate terms and pricing.

My question is: does this sound reasonable? Does this conflict with the GPL? Is this anti-Debian? Is there a better Open Source license than the GPL that I should be considering?

Advice from the wise greatly appreciated.


Following up my own post, posted 21 Jan 2003 at 13:04 UTC by Dougiamas » (Master)

I know this makes it look like I hadn't spent enough time thinking about it in the first place, but as usual posting publically is a terrific way to clear the mind.

It occurs to me that any redistributing without providing the original source code (ie changing the branding) is already a clear breach of the GPL, so all I need to do is offer a separate commercial license to people who want to do this.

Probably GPL incompatible, posted 21 Jan 2003 at 13:30 UTC by sjmurdoch » (Apprentice)

This looks similar to the BSD licensing clause, which is apparently incompatible with the GPL - see The BSD License Problem.

IANAL.

original source doesn't need to be provided, posted 21 Jan 2003 at 13:32 UTC by LaForge » (Master)

The 3rd party is not required to distribute the original source code. It is perfectly fine if they distribute the sourcecode of the particular (modified) version they are running.

Re: Following up my own post, posted 21 Jan 2003 at 13:36 UTC by sjmurdoch » (Apprentice)

It occurs to me that any redistributing without providing the original source code (ie changing the branding) is already a clear breach of the GPL

Once again IANAL, but I don't think this is a GPL violation. If you make a modification to a GPL product then distribute the binaries then you have to distribute the source to those binaries. If you remove code from a GPLd product then you do not have to include the original code.

Another interesting question is while someone giving someone code based on GPLd code must include the source, this may not be true for providing access to a web server running the modified code. You only have to provide source to someone you have distributed the binaries to, and I think that providing a web based service does not fall in the definition of "distribution". This latter problem may be fixed by the next version of the GPL

Redistributing original source plus patches, posted 21 Jan 2003 at 13:53 UTC by Dougiamas » (Master)

Because of this passage in the Open Source Definition:

Accordingly, an open-source license must guarantee that source be readily available, but may require that it be distributed as pristine base sources plus patches. In this way, "unofficial" changes can be made available but readily distinguished from the base source.

...I was just thinking of adding this to the standard GPL:

Redistribution of modified copies of Moodle must be distributed as clean base sources plus patches, so that 'unofficial' changes can be readily distinguished from the original Moodle code.

If you wish to redistribute modified copies of this software WITHOUT including or mentioning the original Moodle software then please contact xxx@xxxxxx.com to request a commercial license.

That way I'm thinking it will still qualify for the OSI-certified mark (FWIW). How does that sound?

"Fixing" the BSD problem, posted 21 Jan 2003 at 14:05 UTC by SyOpReigm » (Journeyer)

"In a 1997 version of NetBSD, I counted 75 of these sentences. I would not be surprised if the list has grown by now."

GNU - BSD Licence Problem

There is an easy way to remove the problem of too many names and also keep the fact that a program is based on open source code.
Require that a when a program is advertised it must have a "Built with Open Source" logo, and there must be a link to all open source programs used on the website and in the program itself, in the form of eather a About page for GUI apps, a /os for command line apps, or a "about OS" page if it is accessed in a web form.

patches ? Affero, posted 21 Jan 2003 at 14:09 UTC by yeupou » (Master)

Redistribution of modified copies of Moodle must be distributed as clean base sources plus patches, so that 'unofficial' changes can be readily distinguished from the original Moodle code.

This is a serious issue that forbid "binaries" (well, it's PHP) distribution. It's a contradiction with the GPL purpose.

About the BSD, note that now most of BSD software are released under the "Modified BSD" license, which is GPL-compatible as the advertisement clause is removed.

The whole problem is with PHP software that can be run on host, and as you said, end users do not see the code. I think you should take a look at the Affero Public License, a source of inspiration for the GPL v3 I think.

According to http://www.gnu.org/philosophy/license-list.html

The Affero General Public License is a free software license, copyleft, and incompatible with the GNU GPL. It consists of the GNU GPL version 2, with one additional section that Affero added with FSF approval. The new section, 2(d), covers the distribution of application programs through web services or computer networks. The Affero GPL is incompatible with the GNU GPL version 2 because of section 2(d); however, the section is written so that we can make GNU GPL version 3 upward compatible with the Affero GPL. That is why we gave our approval for Affero to modify the GNU GPL in this way.

http://www.affero.org/oagpl.html

Seems a good option for you.

patches ? Affero, posted 21 Jan 2003 at 14:09 UTC by yeupou » (Master)

Redistribution of modified copies of Moodle must be distributed as clean base sources plus patches, so that 'unofficial' changes can be readily distinguished from the original Moodle code.

This is a serious issue that forbid "binaries" (well, it's PHP) distribution. It's a contradiction with the GPL purpose.

About the BSD, note that now most of BSD software are released under the "Modified BSD" license, which is GPL-compatible as the advertisement clause is removed.

The whole problem is with PHP software that can be run on host, and as you said, end users do not see the code. I think you should take a look at the Affero Public License, a source of inspiration for the GPL v3 I think.

According to http://www.gnu.org/philosophy/license-list.html

The Affero General Public License is a free software license, copyleft, and incompatible with the GNU GPL. It consists of the GNU GPL version 2, with one additional section that Affero added with FSF approval. The new section, 2(d), covers the distribution of application programs through web services or computer networks. The Affero GPL is incompatible with the GNU GPL version 2 because of section 2(d); however, the section is written so that we can make GNU GPL version 3 upward compatible with the Affero GPL. That is why we gave our approval for Affero to modify the GNU GPL in this way.

http://www.affero.org/oagpl.html

Seems a good option for you.

Sorry for the Rik' VM side effect, advogato lag when I post, posted 21 Jan 2003 at 14:12 UTC by yeupou » (Master)

Sorry for the Rik' VM side effect, advogato lag when I post.

Affero etc, posted 21 Jan 2003 at 16:43 UTC by Dougiamas » (Master)

A few more ideas after some reading ...

The Affero GPL looks like a good small step forward for web-based applications, but it doesn't really address my issue: branding.

The Modified-BSD/MIT/X11 licenses address branding to an extent (ie they require copyright notices to be kept prominent) and they're GNU-compatible but they aren't copyleft (ie people are free to change the license, which I don't want in this case).

The binaries/source issue is not really relevant either since these are interpreted PHP scripts.

This pretty much leaves me where I started - trying to add one small condition to the GPL (which forbids modification). Sigh.

Maybe I have to try and write my own can of worms, er, license...

changing license?, posted 21 Jan 2003 at 17:30 UTC by bagder » (Master)

Dougiamas wrote:
    people are free to change the license
Not correct.

The BSD/MIT (and derivates) most often includes this phrase:

"provided that the above copyright notice and this permission notice appear in all copies"

Which thus prevents "anyone" from changing the license. Then again, the license doesn't prevent anyone from doing private changes and releasing binaries without source etc.

Then again the fear of exploitation is often without reason.

Re: changing license?, posted 21 Jan 2003 at 17:57 UTC by Dougiamas » (Master)

You're quite right - my apologies for the misinformation. All this lawyerese is doing my head in.

Great article too - thanks. Hmmm...

"Fixing" the BSD problem, posted 21 Jan 2003 at 18:22 UTC by SyOpReigm » (Journeyer)

"In a 1997 version of NetBSD, I counted 75 of these sentences. I would not be surprised if the list has grown by now."

GNU - BSD Licence Problem

There is an easy way to remove the problem of too many names and also keep the fact that a program is based on open source code.
Require that a when a program is advertised it must have a "Built with Open Source" logo, and there must be a link to all open source programs used on the website and in the program itself, in the form of eather a About page for GUI apps, a /os for command line apps, or a "about OS" page if it is accessed in a web form.

fear of the exploitation, posted 21 Jan 2003 at 18:45 UTC by yeupou » (Master)

badger, This "fear of exploitation" is IMHO crap.

They said "we liked the protection against exploitation from commercial corporation". And so they didn't at first at all understand the purpose of the GPL that is absolutely not a "protection against exploitation from commercial corporation". For instance, RedHat is a commercial corporation selling GPL-ed software and nodoby, obviously, object.

GPL is a protection against exploitation from proprietary corporation. It's not really a "restriction". It just forces people who want to get the code to behave just the same way.

The article conclude by "Fortunately, our experience is that most corporations are not purely cynical, and that they do contribute voluntarily unless there are strategical reasons against". Is this really naive? Indeed, proprietary software makes lot more of profit (it's not an equitable exhange), so each time it's possible for a company to make proprietary software, to include free software in their own software without giving anything back, they will, because it's a strong "strategical reasons". Unless a company is ran by Free Software believers or unless the company need to polish his public image, this company will have "strategical reasons againts". Microsoft is not the Evil, Microsoft is just a corporation. Microsoft behaviour is not unique. I wonder what is exactly the interest for this article author to promote BSD license against GPL. With good-willing people that care about software freedom, GPL does not hurt. So what?

Is it a way to ask developers to make software free as in beer while they make free software as in freedom?

Finally, Dougiamas was asking how he can protect his software, and asking more restrictions than the GPL provide and... finally, it seems that you're convincing him to choose a less restrictive license that is not at all accurate according to the problem he expressed first... Funny.

GPL most frequently used because of..., posted 21 Jan 2003 at 19:20 UTC by bagder » (Master)

yeupou,

Ask your favourite little GPL-using project why they use GPL, and in my experience most of them will reply that they do that so that the big bad companies can't steal their code and run off and earn fortunes on their code without giving something back when they patch it. That's what the article speaks of when it refers to "exploitation from commercial corporation".

It is clear that you don't agree to the conclusions in the article. That doesn't make your opinion any more facts than mine, sorry.

Many projects have released software FREE and OPEN under non-copylefted licenses for many years and got LOADS of contributions back. After all, how do you think Apache, Sendmail, BIND and the *BSD projects work?

Finally, my nick doesn't spell like that! ;-)

Re: Redistributing original source plus patches, posted 21 Jan 2003 at 22:26 UTC by sjmurdoch » (Apprentice)

Redistribution of modified copies of Moodle must be distributed as clean base sources plus patches, so that 'unofficial' changes can be readily distinguished from the original Moodle code.

I believe this clause will make your license incompatible with the GPL for the reasons stated for the QPL in GPL-Incompatible, Free Software Licenses. However I don't see how this will help your branding issue since there is still no obligation to give you credit on the PHP webpage, and the standard GPL (through copyright) forbids removing your copyright statement which includes your name. I don't see any advantage for you of imposing this restriction.

I think the issue of branding is more fundemental than that - and I think any restriction that would meet your conditions would almost by defintion make your license GPL incompatible. For example say I wanted to produce a PHP web application. Say your program has some really neat feature that I want. Even if I only take a small number of lines of code from your program I would have to add a "Made with Moodle" logo. Say now lots of applications are packaged under the same license as yours - now for every neat feature I want to take I have to put a "Made by X" logo on the homepage.

A clause like this eliminates some times of code sharing. The FSF seem to believe that this is not acceptable. If it is your code then you have the right to license it under whatever conditions you like but if you require the branding issue then you must distribute it under a GPL incompatible license. Also you will prevent some times of usage of your code, which you might otherwise not want to. From my understanding you will also prevent Debian from including it according to the The Debian Free Software Guidelines, but IANAL so check this up.

Too Much Amateur Lawyering, posted 22 Jan 2003 at 01:43 UTC by glyph » (Master)

Why are you worrying about this from a legal perspective? Do you really intend to sue anyone if they don't comply with your license terms?

You ought to consider a non-legally-binding document in your distribution that asks for things that you would consider "nice" from commercial interests using your software. This would not be legally binding, but it would give corporations an indication as to whether they can expect any help from you if they are looking for community support from people who are experts with your software.

When it comes down to it, your code is publicly available, and if they're looking to use it without crediting you, they will. A license is only as good as the legal representation you're willing to use to enforce it. If you use the GPL, you've got a lot of people that are interested in preserving that variety of freedom for themselves who might help you out. If you're using your own re-worded license that is instead designed to protect your own economic interests, you're going to have a harder time getting people to help you enforce it for free.

There's nothing wrong with wanting to secure your own prosperity, but legislation is not the right way to do it. Politicians and media moguls are making enough of a legal minefield for software developers as it is. We should strive not to make it any worse for ourselves.

Re: Too Much Amateur Lawyering, posted 22 Jan 2003 at 02:43 UTC by Dougiamas » (Master)

After sleeping on this overnight and more discussion with my users this morning, my perspective is exactly in agreement with glyph. The changes I was thinking of would do a lot more harm than good.

*BSD project work?, posted 22 Jan 2003 at 12:06 UTC by yeupou » (Master)

bagder, first I'm sorry for your name mispelled.

I'm not telling that mBSD-ed software does not work. Sure, they progress and companies that use them contribute since their business depends on them. And, as you said, nice piece of software are under this kind of licenses.

I was telling that if the same software was GPL-ed, the same companies would contribute too, since their benefits and interest would remain the same. But it would just forbid others companies to take without giving back. And that's the problem Dougiamas was talking about in his first post. Some people don't care about this, but Dougiamas in this first post showed interest about this point.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page