GPL Licensing Complication (free speech AND free beer?)

GPL Licensing Complication (free speech AND free beer?)

Post by Nobbin Sun » Fri, 22 Nov 2002 18:43:21



Hi,

I hope this place is good place to ask this, if not, could you
possibly point me in the right direction? This is certainly not in the
GPL FAQ, most of the questions seem to be the other way.

I wrote some source code. However, apart from being "free speech" I
*also* would like it to be "free beer" in that I want to make sure it
cannot be distributed for profit by commerical companies. Is this
possible with the GPL?

The problem is I would like to let a GPL'ed program (not mine) make
use
of my source code (so I guess my source needs to be GPL too) - but
apart from a free version, this program is also distributed as part of
a commerical package (I have no problem with what they do with their
program of course). But I want to make sure that if this happens, it
cannot include my code in that version. Can I put such a clause in my
GPL'ed source code license? Will it still be license compatible with
the GPL'ed program?

This obviously assumes that the GPL'ed program authors are willing to
do
that - but they want to use my code, so I suspect that they will be
willing.

For clarification: My source code is like a module. There is no
technical reason why it cannot be easily disabled without effecting
the
application as whole.

Anyway, thanks for any help!

Nobbin

 
 
 

GPL Licensing Complication (free speech AND free beer?)

Post by bob » Fri, 22 Nov 2002 18:43:54




Quote:> *also* would like it to be "free beer" in that I want to make sure it
> cannot be distributed for profit by commerical companies. Is this
> possible with the GPL?

> The problem is I would like to let a GPL'ed program (not mine) make
> use
> of my source code (so I guess my source needs to be GPL too) - but
> apart from a free version, this program is also distributed as part of
> a commerical package (I have no problem with what they do with their
> program of course).

But GPL progams *can* be commercial programs.

I think you just need to retain the rights and write your own licence to
your likeing, something like: "Copyright 2002 by Xxxxx. You may freely use
this code in any non-commercail product. You may not use this code in any
commercial product. Commercial is defined as xxxxx. If you have questions
about your use of this code, contact the author. This code may not be
modified. This statement must accompany the code." etc.

Bob

 
 
 

GPL Licensing Complication (free speech AND free beer?)

Post by Jon Portno » Fri, 22 Nov 2002 20:32:25



> Hi,

> I hope this place is good place to ask this, if not, could you
> possibly point me in the right direction? This is certainly not in the
> GPL FAQ, most of the questions seem to be the other way.

> I wrote some source code. However, apart from being "free speech" I
> *also* would like it to be "free beer" in that I want to make sure it
> cannot be distributed for profit by commerical companies. Is this
> possible with the GPL?

> The problem is I would like to let a GPL'ed program (not mine) make
> use
> of my source code (so I guess my source needs to be GPL too) - but
> apart from a free version, this program is also distributed as part of
> a commerical package (I have no problem with what they do with their
> program of course). But I want to make sure that if this happens, it
> cannot include my code in that version. Can I put such a clause in my
> GPL'ed source code license? Will it still be license compatible with
> the GPL'ed program?

> This obviously assumes that the GPL'ed program authors are willing to
> do
> that - but they want to use my code, so I suspect that they will be
> willing.

> For clarification: My source code is like a module. There is no
> technical reason why it cannot be easily disabled without effecting
> the
> application as whole.

> Anyway, thanks for any help!

> Nobbin

Please be sure to also ask this on the newsgroup gnu.misc.discuss - they
can offer more specific information.

By having the GPL by itself, obviously they can use your code in a
commercial product (as long as they're willing to provide source code as
guaranteed by section 3 of the GPL version 2). The issue is that you can't
then tack on a license in addition to the GPL that takes away some of the
freedoms guaranteed by the GPL - you instead need to license the module
under your own license. The issue there is whether or not it's legal to
#include any code from the GPL'd program, because technically that code is
GPL'd and therefore cannot be included in a non-GPL'd work.

There's a debate going on on the Linux Kernel Mailing List relating to
this. You may want to read the archives from that (the thread name is
spinlocks, the GPL, and binary-only modules, there's a link to the
archives at www.kernel.org)

--
Jon Portnoy

 
 
 

GPL Licensing Complication (free speech AND free beer?)

Post by Tim Smit » Fri, 22 Nov 2002 21:30:57



> I think you just need to retain the rights and write your own licence to
> your likeing, something like: "Copyright 2002 by Xxxxx. You may freely use
> this code in any non-commercail product. You may not use this code in any
> commercial product. Commercial is defined as xxxxx. If you have questions
> about your use of this code, contact the author. This code may not be
> modified. This statement must accompany the code." etc.

Why bother?  With a license like that:

1. GPL'ed projects can't use the code, because GPL prohibits that kind of
restriction.

2. Commercial projects can't use the code, because the license prohibits it.

Knock out GPL and commercial use, and there aren't many projects left that
could use the code.

--Tim Smith

 
 
 

GPL Licensing Complication (free speech AND free beer?)

Post by Erik Funkenbusc » Sat, 23 Nov 2002 02:29:12



> Hi,

> I hope this place is good place to ask this, if not, could you
> possibly point me in the right direction? This is certainly not in the
> GPL FAQ, most of the questions seem to be the other way.

> I wrote some source code. However, apart from being "free speech" I
> *also* would like it to be "free beer" in that I want to make sure it
> cannot be distributed for profit by commerical companies. Is this
> possible with the GPL?

If your code is entirely yours, and doesn't depend on any other GPL'd code
then yes.  You simply add an exception to the GPL which states what you
want.  There are, however, some implications you need to consider about what
people that use your code for other purposes might have to deal with.

Quote:> The problem is I would like to let a GPL'ed program (not mine) make
> use of my source code (so I guess my source needs to be GPL too)

This sounds like the code may not be entirely yours, in which case the
answer is no.  The GPL does not allow adding extra restrictions unless all
authors agree to those restrictions.

Quote:> - but
> apart from a free version, this program is also distributed as part of
> a commerical package (I have no problem with what they do with their
> program of course). But I want to make sure that if this happens, it
> cannot include my code in that version. Can I put such a clause in my
> GPL'ed source code license? Will it still be license compatible with
> the GPL'ed program?

You mean, you want to use their code, but you don't want to let them use
yours?

Quote:> This obviously assumes that the GPL'ed program authors are willing to
> do that - but they want to use my code, so I suspect that they will be
> willing.

If they change their license, then yes.

Quote:> For clarification: My source code is like a module. There is no
> technical reason why it cannot be easily disabled without effecting
> the application as whole.

Not relevant.  If your code is an actual seperate program, called by a pipe
or similar mechanism, then it's not considered a derived work.  If it is
called within the same process context, then it generally is.
 
 
 

GPL Licensing Complication (free speech AND free beer?)

Post by Jon Portno » Sat, 23 Nov 2002 02:47:51




>> Hi,

>> I hope this place is good place to ask this, if not, could you
>> possibly point me in the right direction? This is certainly not in the
>> GPL FAQ, most of the questions seem to be the other way.

>> I wrote some source code. However, apart from being "free speech" I
>> *also* would like it to be "free beer" in that I want to make sure it
>> cannot be distributed for profit by commerical companies. Is this
>> possible with the GPL?

> If your code is entirely yours, and doesn't depend on any other GPL'd code
> then yes.  You simply add an exception to the GPL which states what you
> want.  There are, however, some implications you need to consider about what
> people that use your code for other purposes might have to deal with.

This appears to me to be false.

Relevant sections:

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.

Pay attention to the 'except as expressly provided under this License.'

More relevant:

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Minorly relevant from section 7:

If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.

Quote:

>> The problem is I would like to let a GPL'ed program (not mine) make
>> use of my source code (so I guess my source needs to be GPL too)

> This sounds like the code may not be entirely yours, in which case the
> answer is no.  The GPL does not allow adding extra restrictions unless all
> authors agree to those restrictions.

The GPL does not allow adding extra restrictions period. Refer to section
6. (As an aside, this would be a _really_ stupid thing to allow. The GPL
is there for a reason. Adding your own license that breaks it and mixing
it with GPL'd code would be a disaster. Once you add your own terms, it's
no longer the GPL. Otherwise people could take out any clauses that
guarantee perpetuation of freedom and mix it with GPL'd code.)

[snip]

--
Jon Portnoy

 
 
 

GPL Licensing Complication (free speech AND free beer?)

Post by Erik Funkenbusc » Sat, 23 Nov 2002 04:58:27





>>> Hi,

>>> I hope this place is good place to ask this, if not, could you
>>> possibly point me in the right direction? This is certainly not in
>>> the GPL FAQ, most of the questions seem to be the other way.

>>> I wrote some source code. However, apart from being "free speech" I
>>> *also* would like it to be "free beer" in that I want to make sure
>>> it cannot be distributed for profit by commerical companies. Is this
>>> possible with the GPL?

>> If your code is entirely yours, and doesn't depend on any other
>> GPL'd code then yes.  You simply add an exception to the GPL which
>> states what you want.  There are, however, some implications you
>> need to consider about what people that use your code for other
>> purposes might have to deal with.

> This appears to me to be false.

> Relevant sections:

>   4. You may not copy, modify, sublicense, or distribute the Program
> except as expressly provided under this License.  Any attempt
> otherwise to copy, modify, sublicense or distribute the Program is
> void, and will automatically terminate your rights under this License.

The part you are forgetting is that if you are the author, you can dictate
any license terms you like, including modifying the GPL with exceptions.
The FSF itself does this.

Quote:> Pay attention to the 'except as expressly provided under this
> License.'

This is referring to anyone that licenses your code.  Not you, the author.
As the author, you can dictate any license terms you like.  You are not, in
any way, bound by the GPL so long as you are not using any other GPL'd code
from any other source.
 
 
 

GPL Licensing Complication (free speech AND free beer?)

Post by Nobbin Sun » Sat, 23 Nov 2002 15:34:36


Thanks for all your responses guys. It is very much appriciated.
However, I seem to have got conflicting view. Let me explain the
situation more:

Basically, I have developed a file format that encapsulates extreamly
complicated information. The code I have written to load and use the
information stored in these files is obviously also extreamly
complicated. Due to the nature of the problem that they files were
designed to solve, I would like it that no money should be made from
any program that wishes to load and use these files.

So basically, if you want to use the files contained by this file
format, your program has to be free in both senses of the word.

The application that wants to use these files, comes in two forms. A
free public version, and a pay-for version that provides some other
related bits and support supplied by a company not related to the
authors of the program, but is distributed with permission
(obviously).

I would like to set it in stone that that company (or any other
company) may not make any profit from a program containing my source
code to a project that I have been working on for over two years. I
don't object to this idea in general - it is just that *for this
particular situation* no money should be made.

So basically, the company in question will have to disable/remove my
code before they can distribute the program. The end result is that
the commercial version will not be able to load files of the file
format that is described by my code.

That is it really!

Both myslef and the authors of the program would like to integrate our
code, because it has advantages for everybody. However, due to the
problem domain, I seriously object to any money being made from it.

Anyway, on to the mails...


> If your code is entirely yours, and doesn't depend on any other GPL'd code
> then yes.  You simply add an exception to the GPL which states what you
> want.  There are, however, some implications you need to consider about what
> people that use your code for other purposes might have to deal with.

Yes, my "module" is completely mine, and does not use any other
libraries. Howvere, the application that I would like to use *my* code
is not at all mine.

Quote:> This sounds like the code may not be entirely yours, in which case the
> answer is no.  The GPL does not allow adding extra restrictions unless all
> authors agree to those restrictions.

So if the authors of the application that want to use my code agree to
add such a restriction, they can use my code? Obviously they will have
to disable my functionality when bundled in the "commercial release" -
but that is exactly what I want.

Quote:> > - but
> > apart from a free version, this program is also distributed as part of
> > a commerical package (I have no problem with what they do with their
> > program of course). But I want to make sure that if this happens, it
> > cannot include my code in that version. Can I put such a clause in my
> > GPL'ed source code license? Will it still be license compatible with
> > the GPL'ed program?

> You mean, you want to use their code, but you don't want to let them use
> yours?

Not sure how you interpreted it like that. Basically no, not at all. I
wrote some code - both I and the authors of the application want it to
be used in said application. That is it. I don't want to use their
code. I just want them to be able to load and use these very complex
files.

As I said, the problem is that I do not want any money to be made from
the result of my code being in the application. If people want to use
my code, then they will have to only supply that functionality in a
"free beer" version of their application.

Quote:> > For clarification: My source code is like a module. There is no
> > technical reason why it cannot be easily disabled without effecting
> > the application as whole.

> Not relevant.  If your code is an actual seperate program, called by a pipe
> or similar mechanism, then it's not considered a derived work.  If it is
> called within the same process context, then it generally is.

This is better explained in the description of the situation at the
top of this post. But basically it is not a seperate program, it is a
description of a file format. Code to load and use files in this file
format.

Anyway, thanks again for your ideas guys!

 
 
 

GPL Licensing Complication (free speech AND free beer?)

Post by Nobbin Sun » Sat, 23 Nov 2002 15:53:50


[snip useful pointers]

Thanks for that! I will go have a look.

Kieron

 
 
 

GPL Licensing Complication (free speech AND free beer?)

Post by Jon Portno » Sat, 23 Nov 2002 17:25:50



> Thanks for all your responses guys. It is very much appriciated.
> However, I seem to have got conflicting view. Let me explain the
> situation more:

> Basically, I have developed a file format that encapsulates extreamly
> complicated information. The code I have written to load and use the
> information stored in these files is obviously also extreamly
> complicated. Due to the nature of the problem that they files were
> designed to solve, I would like it that no money should be made from
> any program that wishes to load and use these files.

> So basically, if you want to use the files contained by this file
> format, your program has to be free in both senses of the word.

> The application that wants to use these files, comes in two forms. A
> free public version, and a pay-for version that provides some other
> related bits and support supplied by a company not related to the
> authors of the program, but is distributed with permission
> (obviously).

> I would like to set it in stone that that company (or any other
> company) may not make any profit from a program containing my source
> code to a project that I have been working on for over two years. I
> don't object to this idea in general - it is just that *for this
> particular situation* no money should be made.

> So basically, the company in question will have to disable/remove my
> code before they can distribute the program. The end result is that
> the commercial version will not be able to load files of the file
> format that is described by my code.

> That is it really!

> Both myslef and the authors of the program would like to integrate our
> code, because it has advantages for everybody. However, due to the
> problem domain, I seriously object to any money being made from it.

> Anyway, on to the mails...

In order to avoid vague legal areas it may be best to avoid licensing your
code under the GPL. Instead, what you might want to consider is writing
your own licensing terms for your code. As long as you aren't #include'ing
large chunks of GPL'd code (there is some debate as to what constitutes
'large') you're safe. There's precedent for this, i.e. the binary-only
modules for the kernel (nvidia, etc).

The vague legal area here comes up if your code is _directly_ included in
the GPL'd program's source instead of in a loadable module or
plugin format. If your code is directly included in the program's code,
this seems to be illegal, as stated in section 2:
<quote>
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.
</quote>

_However_:
<quote>
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.
</quote>

This is a messy and vague legal area; i.e., the question of whether or not
you can load non-GPL'd modules into a GPL'd program. However, the kernel
does indeed do this (load non-GPL'd modules into a GPL'd program)
See http://www.gnu.org/licenses/gpl-faq.html#MereAggregation about this.

For what EF said, he may be right:
http://www.gnu.org/licenses/gpl-faq.html#ReleaseUnderGPLAndNF

Interestingly, GNU says:
http://www.gnu.org/licenses/gpl-faq.html#GPLModuleLicense
<quote>
If I add a module to a GPL-covered program, do I have to use the GPL as
the license for my module?
    The GPL says that the whole combined program has to be released under
the GPL. So your module has to be available for use under the GPL.

But you can give additional permission for the use of your code. You can,
if you wish, release your program under a license which is more lax than
the GPL but compatible with the GPL. The license list page gives a partial
list of GPL-compatible licenses.
</quote>

...yet various kernel modules are not, in fact, GPL'd.

Overall, none of this has been tested in court and it's generally all very
vague. I'm not a lawyer, someone else might be able to more clearly define
the legal gray areas.

[snip]

--
Jon Portnoy

 
 
 

GPL Licensing Complication (free speech AND free beer?)

Post by bob » Sat, 23 Nov 2002 18:10:13





>> I think you just need to retain the rights and write your own licence
>> to your likeing, something like: "Copyright 2002 by Xxxxx. You may
>> freely use this code in any non-commercail product. You may not use
>> this code in any commercial product. Commercial is defined as xxxxx.
>> If you have questions about your use of this code, contact the
>> author. This code may not be modified. This statement must accompany
>> the code." etc.

> Why bother?  With a license like that:

> 1. GPL'ed projects can't use the code, because GPL prohibits that kind
> of restriction.

> 2. Commercial projects can't use the code, because the license
> prohibits it.

> Knock out GPL and commercial use, and there aren't many projects left
> that could use the code.

> --Tim Smith

So maybe it can be handled like a plugin. Example: GIMP can use Photoshop
plugins. Many PS plugins are closed source. Then it's up to the users to
keep things straight.

Bob

 
 
 

GPL Licensing Complication (free speech AND free beer?)

Post by Lee Sau Da » Tue, 26 Nov 2002 10:05:36


    Jon>   6. Each time you redistribute the Program (or any work
    Jon> based on the Program), the recipient automatically receives a
    Jon> license from the original licensor to copy, distribute or
    Jon> modify the Program subject to these terms and conditions.
    Jon> You may not impose any further restrictions on the
    Jon> recipients' exercise of the rights granted herein.
    Jon> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The GPL is  a contract between the software author  and users.  If you
are the sole author of program X, the above term doesn't apply to YOU,
as you're  the author, not  a user receiving  program X.  The  GPL has
nothing to do with this, as you are the author.

So, you, as  the *sole* author, still have  the rigth to re-distribute
program X  under any  other license  you like.  In  case of  a jointly
authored software, all authors must agree before they release it under
a different license.

Releasing  software  under  the   GPL  doesn'  mean  transferring  the
copyright of the software to GNU or the FSF.  The author still retains
the copyright.  As  such, he has the right  to re-release the software
to anyone under any legally-valid license.

    Jon> The GPL does not allow adding extra restrictions
    Jon> period.

That's to do  only with the receivers (users)  of the software.  There
is no license between the author AND HIMESELF.

--


Home page: http://www.informatik.uni-freiburg.de/~danlee

 
 
 

GPL Licensing Complication (free speech AND free beer?)

Post by Lee Sau Da » Tue, 26 Nov 2002 10:05:36


    Jon> The issue is that you can't then tack on a license in
    Jon> addition to the GPL that takes away some of the freedoms
    Jon> guaranteed by the GPL

Why not?

    Jon> - you instead need to license the module under your own
    Jon> license. The issue there is whether or not it's legal to
    Jon> #include any code from the GPL'd program, because technically
    Jon> that code is GPL'd and therefore cannot be included in a
    Jon> non-GPL'd work.

Why  not?  If  I were  the sole  author  of a  program X,  and I  have
released it under  GPL, and NO other persons  have contributed patches
and code fragments for X, then theoretically, I own the copyright of X
completely.   Nobody can  prevent ME  from using  the code  in  MY own
commercial package.   Nobody can  prevent ME from  giving the  code to
company A  under a  more restricted license.   Releasing program  X to
other users  under the GPL only  means that I have  a certain contract
(the terms in the GPL) with those users.  It doesn't restrict anything
that I can do with company  A.  Releasing X under the GPL doesn't mean
through it into a pool called GPL  and losing my rights on it.  By the
GPL, I am only allowing others to use and modify and copy my code, not
restricting my rights on it.

--


Home page: http://www.informatik.uni-freiburg.de/~danlee

 
 
 

GPL Licensing Complication (free speech AND free beer?)

Post by Rexford Ballar » Tue, 17 Dec 2002 00:59:42


You have several choices.

First of all, you can offer the product under a custom altered version of
the license.
A classic example of this is Trolltech QT and KDE.  Those using these
toolkits to distribute noncommercial software released under an Open
Source license can distribute it freely.  Those who wish to distribute
commercial software must negotiate a separate license.

The downside of having GPL and Commercial licenses is that you have to
negotiate commercial licenses with all of your supporters.  If someone
writes code based on a specification submitted to a newsgroup, based on
comments and issues raised by a tester who posted the issue to the
newsgroup, you would have to negotiate licenses with the coder, the spec
writer, and the tester.

Furthermore, if key advocates begin to "market" the freebie version, you
would have to negotiate terms for the promotion and publicity of the
commercial version.

Some companies like Red Hat and IBM are very ethical about this kind of
thing.  Other companies are more lazy and tend to assume that if they
negotiate with the coder, that they are covered.  Ironically, the U.S.
government, the NCSA, is a prime example of this "bait and switch" rip-off
of secondary supporters.  They accepted $millions in free research,
testing, and promotion, then sold the rights, including the derivative
works writes, to Microsoft for a mere $1 million.

The backlash is that now most of the research projects which are supported
by the NCSA now have their contributions placed under the GNU Public
License instead of the NCSA public license.  The most dramatic example was
Apache, which was actually the NCSA server and substantial body of
"patches" which were published under the Artistic License.  Eventually the
entire product was placed under the Artistic License, by those who
originally created, tested, and promoted the NCSA server.


> Hi,

> I hope this place is good place to ask this, if not, could you
> possibly point me in the right direction? This is certainly not in the
> GPL FAQ, most of the questions seem to be the other way.

> I wrote some source code. However, apart from being "free speech" I
> *also* would like it to be "free beer" in that I want to make sure it
> cannot be distributed for profit by commerical companies. Is this
> possible with the GPL?

> The problem is I would like to let a GPL'ed program (not mine) make
> use
> of my source code (so I guess my source needs to be GPL too) - but
> apart from a free version, this program is also distributed as part of
> a commerical package (I have no problem with what they do with their
> program of course). But I want to make sure that if this happens, it
> cannot include my code in that version. Can I put such a clause in my
> GPL'ed source code license? Will it still be license compatible with
> the GPL'ed program?

> This obviously assumes that the GPL'ed program authors are willing to
> do
> that - but they want to use my code, so I suspect that they will be
> willing.

> For clarification: My source code is like a module. There is no
> technical reason why it cannot be easily disabled without effecting
> the
> application as whole.

> Anyway, thanks for any help!

> Nobbin