logo
Published on KernelTrap (http://kerneltrap.org)

OpenBSD: Stealing Versus Sharing Code

By Jeremy
Created Sep 1 2007 - 10:26

OpenBSD project creator Theo de Raadt detailed his concerns [1] regarding BSD-licensed code and Dual-BSD/GPL-licensed code being re-licensed under only the GPL as previously discussed here [2], "honestly, I was greatly troubled by the situation, because even people like Alan Cox were giving other Linux developers advice to ... break the law. And furthermore, there are even greater potential risks for how the various communities interact." He went on to add:

"It may seem that the licenses let one _distribute_ it under either license, but this interpretation of the license is false -- it is still illegal to break up, cut up, or modify someone else's legal document, and, it cannot be replaced by another license because it may not be removed. Hence, a dual licensed file always remains dual licensed, every time it is distributed."

Theo then talked about cases where a significant amount of code is added or changed, "if you add 'large pieces of originality' to the code which are valid for copyright protection on their own, you may choose to put a different and separate (must be non-conflicting...) license at the top of the file above the existing license." He then suggested, "if you wish for everyone to remain friends, you should give code back. That means (at some ethical or friendliness level) you probably do not want to put a GPL at the top of a BSD or ISC file, because you would be telling the people who wrote the BSD or ISC file, 'thanks for what you wrote, but this is a one-way street, you give us code, and we take it, we give you you nothing back.'"

Regarding the concern that the BSD license allows companies to steal code, Theo reflected:

"GPL fans said the great problem we would face is that companies would take our BSD code, modify it, and not give back. Nope -- the great problem we face is that people would wrap the GPL around our code, and lock us out in the same way that these supposed companies would lock us out. Just like the Linux community, we have many companies giving us code back, all the time. But once the code is GPL'd, we cannot get it back.

"Ironic."

He concluded, "I hope some people in the GPL community will give that some thought. Your license may benefit you, but you could lose friends you need. The GPL users have an opportunity to 'develop community', to keep an ethic of sharing alive. If the Linux developers wrap GPL's around things we worked very hard on, it will definitely not be viewed as community development."


From: Theo de Raadt [3] [email blocked]
Subject: That whole "Linux stealing our code" thing
Date: Fri, 31 Aug 2007 19:40:52 -0600

[bcc'd to Eben Moglen so that people don't flood him]

I stopped making public statements in the recent controversy because
Eben Moglen started working behind the scenes to 'improve' what Linux
people are doing wrong with licensing, and he asked me to give him
pause, so his team could work.  Honestly, I was greatly troubled by
the situation, because even people like Alan Cox were giving other
Linux developers advice to ... break the law.  And furthermore, there
are even greater potential risks for how the various communities
interact.

For the record -- I was right and the Linux developers cannot change
the licenses in any of those ways proposed in those diffs, or that
conversation (http://lkml.org/lkml/2007/8/28/157 [4]).

It is illegal to modify a license unless you are the owner/author,
because it is a legal document.  If there are multiple owners/authors,
they must all agree.  A person who receives the file under two
licenses can use the file in either way....  but if they distribute
the file (modified or unmodified!), they must distribute it with the
existing license intact, because the licenses we all use have
statements which say that the license may not be removed.

It may seem that the licenses let one _distribute_ it under either
license, but this interpretation of the license is false -- it is
still illegal to break up, cut up, or modify someone else's legal
document, and, it cannot be replaced by another license because it may
not be removed.  Hence, a dual licensed file always remains dual
licensed, every time it is distributed.

Now I've been nice enough to give Eben and his team a few days time to
communicate inside the Linux community, to convince them that what
they have proposed/discussed is wrong at a legal level.  I think that
Eben also agrees with me that there are grave concerns about how this
leads to problems at the ethical and community levels (at some level,
a ethos is needed for Linux developers to work with *BSD developers).
And there are possibilities that similar issues could loom in the
larger open source communities who are writing applications.

Eben has thus far chosen not to make a public statement, but since
time is running out on people's memory, I am making one.  Also, I feel
that a lot of Linux "relicencing" meme-talkin' trolls basically have
attacked me very unfairly again, so I am not going to wait for Eben to
say something public about this.

In http://lkml.org/lkml/2007/8/29/183 [5], Alan Cox managed to summarize
what Jiri Slaby and Luis Rodriguez were trying to do by proposing a
modification of a Dual Licenced file without the consent of all the
authors.  Alan asks "So whats the problem ?".  Well, Alan, I must
caution you -- your post is advising people to break the law.

I will attempt to describe in simple terms, based on what I have been
taught, how one must handle such licenses:

- If you receive dual licensed code, you may not delete the license
  you don't like and then distribute it.  It has to stay, because you
  may not edit someone's else's license -- which is a three-part legal
  document (For instance: Copyright notice, BSD, followed by GPL).

- If you receive ISC or BSD licensed code, you may not delete the
  license.  Same principle, since the notice says so.  It's the law.
  Really.

- If you add "large pieces of originality" to the code which are valid
  for copyright protection on their own, you may choose to put a different
  and seperate (must be non-conflicting...) license at the top of the file
  above the existing license.

    (Warning: things become less clear as to what the combination of
    licenses mean, though -- there are ethical traps, too).

- If you wish for everyone to remain friends, you should give code back.

  That means (at some ethical or friendliness level) you probably do
  not want to put a GPL at the top of a BSD or ISC file, because you
  would be telling the people who wrote the BSD or ISC file:

     "Thanks for what you wrote, but this is a one-way street, you give
     us code, and we take it, we give you you nothing back.  screw off."

In either case, I think a valuable lessons has been taught us here in
the BSD world -- there are many many GPL loving people who are going
to try to find any way to not give back and share (I will mention one
name: Luis Rodriguez has been a fanatic pushing us for dual licensed,
and I feel he is to blame for this particular problem).  Many of those
same people have been saying for years that BSD code can be stolen,
and that is why people should GPL their code.

Well, the lesson they have really taught us is that they consider the
GPL their best tool to take from us!

GPL fans said the great problem we would face is that companies would
take our BSD code, modify it, and not give back.  Nope -- the great
problem we face is that people would wrap the GPL around our code, and
lock us out in the same way that these supposed companies would lock
us out.  Just like the Linux community, we have many companies giving
us code back, all the time.  But once the code is GPL'd, we cannot get
it back.

Ironic.

I hope some people in the GPL community will give that some thought.
Your license may benefit you, but you could lose friends you need.
The GPL users have an opportunity to 'develop community', to keep an
ethic of sharing alive.

If the Linux developers wrap GPL's around things we worked very hard
on, it will definately not be viewed as community development.

Thank you for thinking about this.

[I ask that one person make sure that one copy of this ends up on the
linux kernel mailing list]


From: Dmitrij D. Czarkoff [email blocked] Subject: Re: That whole "Linux stealing our code" thing Date: Sat, 1 Sep 2007 10:21:20 +0400 On Saturday 01 September 2007 05:40:52 Theo de Raadt wrote: > It is illegal to modify a license unless you are the owner/author, > because it is a legal document. If there are multiple owners/authors, > they must all agree. A person who receives the file under two > licenses can use the file in either way.... but if they distribute > the file (modified or unmodified!), they must distribute it with thed. > existing license intact, because the licenses we all use have > statements which say that the license may not be removed. So true, the license You use can't be removed. But when You get the dual-licensed software, when You start modifying it You arrange the licensing deal on terms of either first or second or both licenses. You choose the license You gain You rights from and after You accepted it, You can do whatever You want copyright until the law and the license You accepted prohibit. The license You didn't accept doesn't restrict You any way until otherwise stated by the developper. -- Dmitrij D. Czarkoff
From: Theo de Raadt [6] [email blocked] Subject: Re: That whole "Linux stealing our code" thing Date: Sat, 01 Sep 2007 00:42:25 -0600 > On Saturday 01 September 2007 05:40:52 Theo de Raadt wrote: > > It is illegal to modify a license unless you are the owner/author, > > because it is a legal document. If there are multiple owners/authors, > > they must all agree. A person who receives the file under two > > licenses can use the file in either way.... but if they distribute > > the file (modified or unmodified!), they must distribute it with thed. > > existing license intact, because the licenses we all use have > > statements which say that the license may not be removed. > > So true, the license You use can't be removed. But when You get the > dual-licensed software, when You start modifying it You arrange the licensing > deal on terms of either first or second or both licenses. You choose the > license You gain You rights from and after You accepted it, You can do > whatever You want copyright until the law and the license You accepted > prohibit. The license You didn't accept doesn't restrict You any way until > otherwise stated by the developper. That is utterly false. All of the licenses we use in the open source world (1) Do not permit removal of the license by a non-author (2) Do not permit modification of the license by a non-author. If a license does not permit you to do the above, then you can't do it, and that is EXACTLY how some people (including you) are attempting to incorrectly interpret dual licenses. Perhaps English is your second language, because my posting was very clear. Please read what I said again. You cannot modify a developer's license, and then distribute the file. That is the problem at hand. When an author declares (or, even, does not declare) Copyright, the get certain rights. Then they surrender some rights to their audience -- with or without conditions. If a right is not surrendered, you don't have it. If the license does not say you may distribute the file without the license, you can't. If the license does not say you may modify the license, you can't.
From: Ihar Hrachyshka [email blocked] Subject: Re: That whole "Linux stealing our code" thing Date: Sat, 1 Sep 2007 11:37:19 +0300 If I understood clearly, following modifications of dual-licensed code should also be dual-licensed, wouldn't they?
From: Theo de Raadt [7] [email blocked] Subject: Re: That whole "Linux stealing our code" thing Date: Sat, 01 Sep 2007 08:14:18 -0600 > If I understood clearly, following modifications of dual-licensed code > should also be dual-licensed, wouldn't they? should, or must? must. Another argument has popped up elsewhere (by some poster, on kerneltrap.org), pointing out that the GPL itself may also require dual-licensed software to remain dual-licensed. The implication is that a recipient read both licenses, and then CHOSE the GPL, the GPL would then them to pass on the choice they had to whoever they distributed it to. Yes, you get to see me quote a paragraph from the GPL. Just this once. Never again. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. More can be found at kerneltrap.
From: David H. Lynch Jr. [email blocked] Subject: Re: That whole "Linux stealing our code" thing Date: Sat, 01 Sep 2007 08:52:45 -0400 Theo de Raadt wrote: > > For the record -- I was right and the Linux developers cannot change > the licenses in any of those ways proposed in those diffs, or that > conversation (http://lkml.org/lkml/2007/8/28/157 [8]). > > It is illegal to modify a license unless you are the owner/author, > because it is a legal document. With respect to both you and Eban, I would disagree.. The law requires complying with the license not preserving it. The license is a part of the copyrighted work. It grants users rights beyond those of copyright law. The ISC License requires little more than preserving the copyright notice, not the license itself, And even that I would think is redundant as removing a copyright notice would likely violate copyright law. BSD Licensed code has found its way into proprietary products, with no availability of source - and no preservation of license. The claim of the Free Software people has always been that BSD is a "License to Steal" I am not happy that the work of BSD developers is in essence being co-opted by Linux developers. To me it seems lacking in integrity for the GPL crowd to do to the BSD crowd what they have gone to great pains to prevent anyone doing to them. It certainly violates the golden rule. BUT I am having a hard time convincing myself that taking BSD/ISC Licensed code - and relicensing it while preservng the copyright notice, violates the BSD/ISC License. Whether it is honest or not, it still seems to conform to my understanding of both the spirit and the letter of the license. BSD advocates claim their license is more free because it allows you to do most anything with BSD code. Am I missing the part where that freedom includes removing the license ? How is what Linux developers seem to be doing less legal or ethical that what many commercial developers have already done ? If this is not one of the freedom's of BSD Licensed code, then craft your license to prohibit it. If I am mis-understanding the license I appologize, but my view of this dispute is that Linux developers are unethically and immorally, but quite legally doing to BSD Licensed code pretty much what the BSD License allows them to.
From: Theo de Raadt [9] [email blocked] Subject: Re: That whole "Linux stealing our code" thing Date: Sat, 01 Sep 2007 07:46:37 -0600 > Theo de Raadt wrote: > > > > For the record -- I was right and the Linux developers cannot change > > the licenses in any of those ways proposed in those diffs, or that > > conversation (http://lkml.org/lkml/2007/8/28/157 [10]). > > > > It is illegal to modify a license unless you are the owner/author, > > because it is a legal document. > > With respect to both you and Eban, I would disagree.. > > The law requires complying with the license not preserving it. > The license is a part of the copyrighted work. > It grants users rights beyond those of copyright law. You sure? That's a very slippery slope. Are you advising me to re-publich gcc tomorrow under a BSD license? Or with the GPL removed from it? It sure looks like the GPL says you can't remove the license, as well. Heck, it goes further -- the GPL says you must release software with the same rights you received it under. Go look. > The ISC License requires little more than preserving the copyright > notice, not the license itself, Look, you are oversimplifying things by a lot. The ISC license says a hell of a lot more than that. If we could simplify it to less than 3 lines, as you did above we would. But it is clear your 2 lines above don't explain what the ISC license requires and grants. You have mis-described the license. And, you have a backwards understanding of the law. Copyright law first gives me rights, then I even surrender some rights to the public. First I have rights, then I surrender rights. The ISC statement does not contain a statement which surrenders my right, as the author, to be the only one who modifies the license. > BSD Licensed code has found its way into proprietary products, with > no availability of source - and no preservation > of license. Wrong. The commercial products, when distributed as source code, do still contain the licenses. Just go look at how Apple did it. Or Sun. Heck, or how many BSD licences still show up on files throughout the FSF's code distributions. Or find me one counter example of a vendor publishing BSD licensed source code with a license removed, and then getting away with it. AT&T/USL did actually do this wrong when they published manual pages without showing the University of California copyright notice, and that did not end up well for them. > The claim of the Free Software people has always been that BSD is a > "License to Steal" It isn't that simple. When you oversimplify things, they are almost always wrong. What next... "the license does not say you can murder babies, so you can"? > I am not happy that the work of BSD developers is in essence being > co-opted by Linux developers. > To me it seems lacking in integrity for the GPL crowd to do to the > BSD crowd what they have gone to great > pains to prevent anyone doing to them. It certainly violates the > golden rule. > > BUT I am having a hard time convincing myself that taking BSD/ISC > Licensed code - and relicensing it while preservng the > copyright notice, violates the BSD/ISC License. Wow, you don't get it. Here, let me give you a very simple lessons: (1) You author an original work. You distribute it without a Copyright notice. VOILA. Even without declaring copyright... You AUTOMATICALLY have copyright on it, with the full rights as the author. You have all the rights of copyright, and noone else does. Noone else can do anything with it. Really! Go read up on this, if you don't believe me. If you don't believe this, you better start by learning why it is so. (2) You author an original work. You distribute it with one line at the top: Copyright (c) 2006 <name of author> VOILA. You have copyright on it, since you declared it. You have all the rights of copyright, and noone else does. Noone else can do anything with it. It's the same as case (1) above. (3) You author an original work. You distribute it with with the following text at the top: Copyright (c) 2006 <name of author> You may use this software. Someone may use this software. However, just like in cases (1) and (2) above, you did not permit distribution. Copyright law automatically retains that right for you, until you decide otherwise to give it up. You don't even need to MENTION the rights you retain. You retain those rights until the moment you give them up. (5) You author an original work. You distribute it with the following text: Copyright (c) 2006 <name of author> Permission to use, copy, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. In this case, read very carefully. I removed the word "modify" from an ISC license. Guess what? COPYRIGHT LAW gave the author the right to control modification, and they did not surrender it in their notice. Therefore, someone who receives this MAY NOT MODIFY IT. REALLY. All added up together, what is the lesson learned? If you are not explicitly granted a right by the author, you haven't got it. If you are told you must leave the notice to get all the other rights, you gotta leave it. If you are NOT told you need to leave the notice, you still gotta leave it. And you can't change it. Really. You seem to think that as authors we write the license text to RETAIN PROTECTION FOR OURSELVES. No! We automatically have the protection for ourselves, and we write these licenses text to GIVE UP some of those rights, to benefit the public sphere. > Whether it is honest or not, it still seems to conform to my > understanding of both the spirit and the letter of the license. No. Yes, there is an issue where we are asking others to follow the spirit of open exchange as well. But the Copyright surrender statement we give under a BSD / ISC / MIT license is partial, and very conditional. The notice must stay. > BSD advocates claim their license is more free because it allows you > to do most anything with BSD code. > Am I missing the part where that freedom includes removing the > license ? * Copyright (c) CCYY YOUR NAME HERE [email blocked] * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. Looking at an ISC license, it says it right there. It says that the author surrenders his rights ONLY IF THE NOTICE IS LEFT. Do you need to re-read it? > How is what Linux developers seem to be doing less legal or ethical > that what many commercial developers have already done ? No, what the Linux developers propose is both illegal AND unethical. It is illegal because they are voilating the rights of the author as enshrined in Copyright law. The author did not surrender those rights he automatically got under the law. But yes, it is also unethical for them to strictly impliment a "one-way street" around our freely given code. Companies which distribute copies of our code DO leave the notices intact. And companies follow the spirit of giving back all the time. Sometimes they don't, because they wish to be proprietary, because it benefits them. And that's what these Linux people are doing, right? Proprietary Linux, GPL enforced. Is that the spirit of the GPL or the ISC license? > If this is not one of the freedom's of BSD Licensed code, then > craft your license to prohibit it. We have crafted our license in that way, very carefully. The law says people can't modify the licenses, and the law and our notice says that they can't be deleted. It's not public domain. > If I am mis-understanding the license I appologize, but my view of > this dispute is that Linux developers are unethically and immorally, > but quite legally doing to BSD Licensed code pretty much what the > BSD License allows them to. You sure have misunderstood the license. Part of this is because people call them "licences", without understanding that there are diffferent kinds of licenses with different rules. A licenses under Copyright law starts off with a presumption of rights for the author even before the word "Copyright". According to the Berne Convention, and the applicable laws implimented in the signing nations to that accord, Copyright gives the author unrevokeable rights -- right from the start -- and then the author can choose to surrender some of his rights in a statement. Contract licenses has similar concepts such as "you can't pay someone else to break the law", and such.
From: Theo de Raadt [11] [email blocked] Subject: More on the Atheros driver situation Date: Sat, 01 Sep 2007 10:37:23 -0600 Well, it looks like the Linux wireless people have decided that their relatively small modifications to the Atheros driver will be GPL'd, and not given back to improve the driver in the *BSD world. http://marc.info/?l=linux-wireless&m=118857712529898&w=2 [12] All the email addresses you need to mail to express your distaste at this are right in that mail, except for one, which is Eben Moglen <moglen@softwarefreedom.org>. I've done what I can for now; Good luck to the rest of you.



Related Links:


Source URL:
http://kerneltrap.org/OpenBSD/Stealing_Versus_Sharing_Code