Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

GPL Hindering Two-Way Code Sharing?

Posted by kdawson on Sun Sep 02, 2007 02:54 AM
from the thank-you-and-goodbye dept.
An anonymous reader writes "KernelTrap has some fascinating coverage of the recent rift between the OpenBSD developers and the Linux kernel developers. Proponents of the GPL defend their license for enforcing that their code can always be shared. However in the current debate the GPL is being added to BSD-licensed code, thereby preventing it from being shared back with the original authors of the code. Thus, a share-and-share-alike license is effectively preventing two-way sharing." We discussed an instance of this one-way effect a few days back.
+ -
story

Related Stories

[+] Linux: Linux Wireless Driver Violates BSD License? 355 comments
bsdphx writes "After years of encouragement from the OpenBSD community for others to use Reyk Floeter's free Atheros wireless driver, it seems that the Linux world is finally listening. Unfortunately, they seem to think that they can strip the BSD license right out of it."
Firehose:Stealing Versus Sharing by Anonymous Coward
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by Anonymous Coward on Sunday September 02 2007, @03:01AM (#20438579)
    You are in a maze with twisty little passages.
    Do you tag this article:
    * noshitsherlock
    * duh
    * wateriswet
    * slownewsday
    * cowboynealsayalloftheabove

    Sigh.
  • by msimm (580077) on Sunday September 02 2007, @03:06AM (#20438591) Homepage
    This is nothing new. Provide a permissive license and expecting everything to be returned to you is contradictory to the very license you've chose. Forking happens all the time, usually around licensing or management issues. So aside from the little dust storm we've seen recently regarding the wifi driver and the copyright clause I don't see how this is news.
    The GPL and BSD type licenses coexist perfectly, so long as both parties take the time to understand each other. Which is mostly the way it's happened. Kind of making this a none story.
    • by Chemisor (97276) * on Sunday September 02 2007, @08:15AM (#20439907) Journal
      The point is that we have the GPL camp and we have the BSD camp. The GPL camp takes code from the BSD camp and the BSD camp is not able to merge those changes back into BSD code. The issue here is not that this is a license violation; it is not. BSD people, like me, want other people to use our code. The complaint here is about the hypocrisy of the GPL camp, who claim that they don't want anyone to use their code without giving back the changes, but then turn around and do just that to the BSD people's code. Again, I emphasize that this action is not a problem to us; we want it and we expect it. The problem is with the GPL camp saying how they are somehow "more free".
    • by Bluesman (104513) on Sunday September 02 2007, @12:27PM (#20442403) Homepage
      The way I see it, it takes nearly no effort at all to contribute the changes back to the BSD camp that provided you with the base for the code. All else being equal, that seems to be the ethical thing to do.

      It takes more effort to change the licensing in such a way that the BSD camp can't use the code. So it's kind of a slap in the face. I think that's where the animosity comes from, especially since the GPL camp proclaims to be all about freedom and sharing.
  • Reyk Floeter (et al) [madwifi.org] put the following license on their code:

    * Alternatively, this software may be distributed under the terms of the
    * GNU General Public License ("GPL") version 2 as published by the Free
    * Software Foundation.
    If you think adding this to Linux would do anything the code's original authors did not want to happen, you don't understand what "alternatively" means.

    Clue: it doesn't mean "as well as".
  • by lordlod (458156) on Sunday September 02 2007, @03:21AM (#20438651)
    Having talked to a few BSD licence fans most of them like the licence because it allows another group to take their code and close it off.

    This is exactly what the Kernel and other guys are doing, they are taking the code and putting a GPL header in there, closing it off from the BSD developers.

    The only difference here seems to be that because the BSD developers can see the changes and improvements being made they want to include them. Whilst putting the GPL on may be against the spirit of cooperation it seems to me to be exactly the kind of closing off of the code that the BSD developers want to allow.
  • by Anonymous Coward on Sunday September 02 2007, @03:27AM (#20438685)
    Quote Sam Leffler, the original author of the code, in http://uwsg.indiana.edu/hypermail/linux/kernel/070 9.0/0159.html [indiana.edu] (emphasis added by me):

    I dual-licensed the code so folks could adopt and use it however they saw fit. As I've said before I don't care what people do with the work I give away so long as they don't claim it's their own.

    [...]

    I am speaking up as the author of the code that set the dual license in place. I have the definitive say and I have said that any of my code that is dual-licensed can be made gpl only.

    Sam


    So Theo and the rest of his OpenBSD-Trolls better shut up.
  • by Rogerborg (306625) on Sunday September 02 2007, @03:36AM (#20438723) Homepage
    Netrek 2006, for example, has a BSD/MIT style license that says "Do what thou wilt except re-license under a (L)GPL or similarly viral license". The author of that license specifically identifies GPL as reducing the freedoms of the developer, which to be fair I'm inclined to agree with.
    • by nurhussein (864532) on Sunday September 02 2007, @03:58AM (#20438813) Homepage
      Netrek 2006, for example, has a BSD/MIT style license that says "Do what thou wilt except re-license under a (L)GPL or similarly viral license". The author of that license specifically identifies GPL as reducing the freedoms of the developer, which to be fair I'm inclined to agree with. So, what the author of the license is basically saying is, it's even okay if you re-license the BSD code under an anally-restrictive proprietary license which allows that restrict every kind of freedom for everyone (users and developers included), just as long a those dirty, dirty GNU/hippies don't share the code their way. Because... it's... restrictive sharing in a way that we snobbishly disapprove of! Yeah. Because no sharing at all is better than GPL-style sharing.
      • by CowboyBob500 (580695) on Sunday September 02 2007, @05:06AM (#20439117) Homepage
        The problem I thnk a lot of people have with the FSF and GPL is that it's moving away from a "this will protect your code whilst allowing others to use it" licence, to a "we have a philosophy about how the software should be used" license. This is why I have removed the "and any later version" clause from my GPL v2 code, and why these restrictions are being placed in other licenses.

        It's not that people like me don't want to share the code, just that we don't want to join the Cult of the Gnu either. For it is, almost, turning into a religious issue of whether you swallow the FSF dogma, rather than a practical one of whether you just want other people to benefit from the code.

        Bob
  • by drabgah (1150633) on Sunday September 02 2007, @04:16AM (#20438897)
    Q: What happened?
    A: A contributor of a patch to the linux kernel didn't notice that it contained both dual-licensed and BSD-only code, and posted a diff that GPL'ed the whole thing.

    Q: What happened then?
    A: Several things. 1) The mistaken (and clearly incorrect) change of license on BSD-only code was rectified. 2) Theo de Raadt leaped upon this golden opportunity to accuse the linux kernel developers of stealing code and eating babies 3) Separate issues of the legal and ethical obligations related to license changes, dual-licensing, proprietary software, and the price of peanuts in Perth were immediately injected in the discussion and a classic internet blizzard of bullshit blanketed the land of free software.

    Q: Latest news?
    A: Several developers involved have attempted to help the situation by saying they want collaboration and harmony and dual-licensing their code, but these positive efforts have gone mostly unnoticed as everyone on all sides proceeds to get angry and confused. Apparently high intensity behind the scenes consultations with Eben Moglen have resulted in a daring mission to dual license an OS/2 + Novell Netware application stack under GPL 3 as translated into Babylonian Cuneiform, thus simplifying the situation for everyone.

    Q: What's the moral of the story?
    A: Sometimes, cooperation is harder to achieve than competition, or "the greedy fox gets stuck debugging the rotten oysters".
  • Yes, but! (Score:5, Insightful)

    by RAMMS+EIN (578166) on Sunday September 02 2007, @04:18AM (#20438907) Homepage Journal
    In one sense, the GPL does hinder two-way code sharing. You can't distribute, modify, etc. a project as a whole under the terms of the BSD license if some code in the project is under the GPL. So adding GPL-ed code to a BSD-licensed project does hinder two-way sharing.

    However, the fact to the matter is that it is the _BSD_ license that allows you to do this. The BSD license simply does not require you to share your changes.

    So, if you are asking yourself why changes aren't being shared back, the answer really is that the original authors (who put their code under the BSD license) said it was OK to use their code without sharing back.

    Of course, you can still call into question the behavior of people who take something willingly shared with them and then put up obstacles for sharing back with the original authors.
    • Re:Yes, but! (Score:5, Interesting)

      by An Onerous Coward (222037) on Sunday September 02 2007, @05:00AM (#20439089) Homepage
      Here's an analogy for you: Say that I have a magic jellybean, and that magic jellybean can make as many red jellybeans as you like, but only five black ones each day. So I take my magic jellybean to the market, where I see Theo DeRaadt, and try to exchange my magic jellybean for a cow. It has a bit of a limp, but it makes chocolate milk on Thursdays. That's pretty nifty, so I offer him fifty black jellybeans. Then he says he'd also like a date with my sister, and I say, "I have two, and you'd better not mean the married one," and he fires back with, "Hey, you promised this analogy would be relevant to this discussion."

      No, Theo, I promised no such thing. Just like nobody promises to share their changes with the BSD team when they take advantage of BSDL'ed code. The BSD'ers say people ought to be able to do what they like with their code. Well, what the GPL'ers would like to do is protect their modifications from being appropriated by people who won't share the code. If they automatically hand their changes back to the BSD folks to distribute as BSD code, then they lose the protections they wanted from the GPL in the first place.

      Theo is basically saying, "The Linux people are hypocrites because they say they believe in software freedom but they don't believe in my definition of software freedom." Which is pretty lame.
  • The Linux code is being patched to fix the license problem, says TFA. Here's the content of the patch [marc.info].

    Note what the patch is doing, very carefully. The patch is changing the copyright notices on top of the modified files to say that these files are licensed under the GPL, but are also based upon an earlier work licensed under the BSD, and then reproduce the copyright and license statements as required by the original BSD licenses. This makes completely transparent the following things:

    1. The new work is released under the GPL license only. Anybody who uses, modifies or distributes this new work must abide by that license. They don't have any other license to that work.
    2. The new work is based on older work whose authors released under the BSD license, and the authors of the new work received the original under that license. In order for the authors of the new work to comply with the license that allows them to release a derivative of the original work, they reproduce the copyright and license notices of the original. These license notices only apply to the portions of the new work that are taken from the original one.
  • by pschmied (5648) on Sunday September 02 2007, @05:29AM (#20439203) Homepage
    If you think about the BSD license in terms of an academic citation, it makes more sense.

    In the original patch, it appeared that some Linux folk took some code, stripped the BSD copyright notice and put it under a GPL license. Viewed through an academic mindset, it sounds less like "building on existing research" and more like plagiarism. Were they legally entitled to do what they did? I suspect probably so. Still, it seems like bad form not to cite your sources.

    -Peter
  • by DaMattster (977781) on Sunday September 02 2007, @10:04AM (#20440779) Homepage
    The GPL has hindered code sharing. Do you remember the Broadcom wireless driver debacle wherein Theo recieved a nasty gram for porting the code to BSD? No, well here goes. Theo recieved a warning from the Linux project maintainers of a Broadcom wireless driver. This was really in poor code-sharing taste and ultimately caused the cancellation of the porting efforts. In the end, both Linux and BSD users lost out. Was OpenBSD really going to profit from it or commercialize it, no! It is simply in the spirit of hardware support. Now, let us look at OpenSSH, a fine product from OpenBSD. Linux and GPL people use it all of the time. I am hard pressed to find a more significant contribution to Linux. After all, OpenSSH is the foundation of secure remote administration, logins, tunnelling, and more. Now, someone tell me what Linux has contributed to BSD of similar significance as I cannot think of any.
    • by NickFortune (613926) on Sunday September 02 2007, @05:00AM (#20439093) Homepage

      Honestly, the way some people talk about "Freedom", you'd think it was something you could buy by the wheelbarrow load. Freedom isn't something that exists in and of itself. It only exists in relation to people and activities.

      To say that the BSD licence hinders freedom is just insane: it grants close to maximum freedom TO users, developers, and distributors TO DO pretty much whatever they like. v The GPL on the other hand deliberately restricts the freedom of one of those stakeholder groups - the distributors - in order to preserve the freedom of the users and developers in the longer term.

      If you say that the GPL licence is more or less free than the BSD licence, all you are really doing is criticising a group of developers for their failure to share your own priorities. That always strikes me as an ugly, intolerant, narrow minded way of thinking.

      This whole mess has the stink of FUD about it. There are a lot of people who would like nothing better than to get the GPL devs and the BSD guys together and say "hey, why don't you and them fight?"

      I have a suggestion to make: let's disappoint them.

      • Re:BSD (Score:5, Insightful)

        by Daengbo (523424) <daengbo.gmail@com> on Sunday September 02 2007, @03:40AM (#20438737) Homepage Journal
        I've read Theo's rant, and I found the section about not sharing code back to be pretty humorous, considering that's the way the BSD license is written. If you wanted to ensure that code be shared back into your projects, you'd use a copyleft-style license instead of a BSD/MIT-style license, wouldn't you?

        I personally prefer the GPL, but I've been around Slashdot for a few years and understand the "more freedom" argument from BSD fans. That "more freedom" is the freedom to relicense or even completely close up the code, returning nothing to the original project.

        Why's everyone got their panties in a bunch over something which the license allows? (I also understand the origin of this anger being the removal of the attribution and BSD text from the wireless kernel patch proposed, but it was just proposed, not accepted, and the situation was immediately resolved.)
        • Re:BSD (Score:4, Insightful)

          by kestasjk (933987) on Sunday September 02 2007, @07:35AM (#20439683) Homepage

          I've read Theo's rant, and I found the section about not sharing code back to be pretty humorous, considering that's the way the BSD license is written. If you wanted to ensure that code be shared back into your projects, you'd use a copyleft-style license instead of a BSD/MIT-style license, wouldn't you?
          The reason I like using the BSD license is that it's supposed to be progress. When you write good BSD code there's no reason anyone will need to rewrite that code, and it's the kind of code that you hope everyone will use because it makes applications better, or an application developed on top of it will be high quality itself.

          Contrast that with the GPL, where code written with the GPL has to be rewritten if you want to use it for proprietary purposes. If you want to end all proprietary code then that's obviously a good thing, but it's not so good if you want the best code to be used, and for no-one to have to needlessly rewrite the code you're writing.

          Take SQLite for example. It's in the public domain which is only slightly less restrictive as BSD. Anyone can use SQLite for any purpose. If I'm developing proprietary software and I need a lightweight database engine I know SQLite is available. It saves me time and money, and the software is going to be better as a result. That's why drh chose to make it available so freely: It's the best there is, and if someone can improve on it good luck to them.
          Both licenses have their purposes of course, but I hope you can at least see why someone would prefer the BSD license.

          So if it's supposed to be extra free then what's wrong with relicensing it as open source? Well there are two possible outcomes of releasing GPL changes to a BSD/MIT/public domain project:
          • The developers which wrote the software take the changed code and start using the GPL; the code can no longer be used in proprietary software. Whether you think that's a good thing or not it's a decision made against the original developer's will.
          • The developers which wrote the software continue developing their code and ignore the changes; the software is now either forked, causing compatibility issues, or changes are made in parallel, causing duplicated efforts. BSD is chosen so that no-one has to duplicate efforts, because the code is free.
          Both of these outcomes just don't help. They don't help the software improve, they don't help anything. Rather than ask "Why choose BSD?" (which I hope I explained well enough earlier) why not ask "Why relicense BSD code under a different open source license?" Does he think that the developers of the BSD licensed code will start using his modified code along with the GPL license?

          Take SQLite for example. Imagine if someone took SQLite and made some nice updates to it, but released the changes under the GPL. Now there are either duplicate efforts and compatibility worries, or the developer of SQLite is forced to use GPL and his software can't be used everywhere like he intended. A stable piece of code that used to be universal no longer is universal.

          Using the GPL to close the original developers out is using a share-alike license to avoid sharing, and using an open collaboration license to prevent collaboration.
          • Re:BSD (Score:5, Insightful)

            by Daengbo (523424) <daengbo.gmail@com> on Sunday September 02 2007, @04:20AM (#20438917) Homepage Journal
            Telling me I can do something and then rebuking me for doing it is kind of a shitty practice, isn't it? If you want me to share code with you, put it in the license. Microsoft and Real won't contribute back, either.
            • Re:BSD (Score:4, Insightful)

              by Haeleth (414428) on Sunday September 02 2007, @07:45AM (#20439733) Journal

              Telling me I can do something and then rebuking me for doing it is kind of a shitty practice, isn't it?
              No, not really. It's a way to reconcile moral views and freedom: give people the right to do something you disagree with, while retaining the right to disagree with them if they take advantage of that right.

              For example, I believe people should have the right to troll on Slashdot, because I believe that's the only way to ensure that people who genuinely hold controversial views feel able to argue their case. Does that mean I shouldn't have the right to mod trolls down? If so, why?

              If you want me to share code with you, put it in the license.
              No, that's for if you want to demand that code be shared. If you would like code to be shared, and intend to complain if it isn't when it reasonably could be, but absolutely do not want to take away the licensee's freedom to decide for themselves whether to share or not, then you should not add anything to the license. It would probably be appropriate to mention your attitude in the README, though.

              (One very good reason not to put this kind of stuff in the license is that the GP apparently was specifically interested in allowing large companies to use his code. Large companies hate custom licenses. Stick with something standard if you want the commercial world to even bother looking at your code.)
    • Re:Simple solution (Score:5, Interesting)

      by EvanED (569694) <evanedNO@SPAMgmail.com> on Sunday September 02 2007, @03:46AM (#20438767)
      Or did someone issue an edict that Linux kernel code can't be dual-licensed, at some point when I wasn't paying attention?

      I think the point of the story is the following:
      1. Developer A writes some code for OpenBSD (or whatever)
      2. Developer B says "that's cool, I wish Linux had that"
      3. Developer B ports developer A's code to Linux
      4. Developer B then starts improving on A's code

      However, developer B doesn't want to release his changes under the BSD license, so the improved version goes out GPL-only. Developer A says "hey, wait, that sucks", because now he can't incorporate those changes back into OpenBSD, which does (I assume) have a policy that all code must be BSD-licensed.

      One one hand, it's unfortunate, because OpenBSD loses out. On the other hand, the original author wrote the code knowing that someone could take it and not release changes (for instance, incorporate it into Windows or Mac OS X or SunOS or something like that), and this really isn't all that much different.
    • Re:Simple solution (Score:5, Insightful)

      by deviate_this (304733) on Sunday September 02 2007, @07:02AM (#20439547)
      Everyone seems to be completely missing the point here. As someone else pointed out, GPL supporters love to claim the moral high ground when it comes to comparing the GPL to anything proprietary and they love to say how the GPL promotes sharing and openness. So how do you claim the moral high ground when you just took someone else's project and forked it so that they can't use it the way they originally intended?

      So what if that's what if that's what the BSD license allows people to do! It's about moral hypocrisy, pure and simple. How can you claim to be free and open when you just basically told the original author that he/she needs to follow your rules in order to benefit from anything you add to it. It wasn't your project to begin with, but you're arrogant enough to fork the project and slap your own license on it, for what? Just because you don't like the BSD license?
      • Re:Simple solution (Score:5, Insightful)

        by JackHoffman (1033824) on Sunday September 02 2007, @08:37AM (#20440089)
        The BSD developers got what they wanted. Their code is in use. The BSD license intentionally trades away protection from inclusion in differently licensed projects in return for the increased likelihood that the code can be used.

        The GPL developers got what they wanted. Their code is protected from proprietization (And ONLY their code. Anyone can take the original BSD licensed code and do what they want with it).

        There is no story here. The GPL and BSD licenses try to achieve different goals and both work as advertised. If you want an analogy: BSD is like the girl who sleeps with everybody. She gets a lot of sex and is invited to every party, but nobody respects her. GPL is like the girl who is selective about her partners. She doesn't have quite as much "fun" and has earned herself a little bit of a hard-to-get reputation, but the people who know her treat her well. Proprietary licenses usually require payment.
        • Re:The Apple Tree (Score:4, Insightful)

          by NickFortune (613926) on Sunday September 02 2007, @05:40AM (#20439253) Homepage

          Actually, it has everything to do with the situation. Software is like that apple tree. No matter how many times you copy software, it remains undamaged. So there is no reason to "protect" it with restrictive licenses.

          I think the problem here is that you haven't told the parable in its entirety:

          Then one day, a powerful lord heard about the magical apple tree and sent his soldiers to build a wall around the orchard. "These are MY apples now", he told the villagers. "Anyone who wants one of these apples must buy it from me". And the villagers thought this to be most unfair, but they could do nothing against all the lord's soldiers.

          However, in the village there was a young boy who saved some seeds from the magic tree, and in later years he moved to a new village and planted a tree of his own. And around this tree, the villages set up a fence and a notice that said "Anyone is free to take these apples. They may eat them, sell them, give them away, or plant magic apple trees of their own. The only thing you may not do is build a wall around the tree to prevent others from picking their own apples".

          There you go: fixed that for you :)