Slashdot Mirror


Theo de Raadt Responds to Linux Licensing Issues

bsdphx writes "While Theo may have a reputation of being "difficult" in some circles, this response to the recent relicensing controversy is thoughtful and well penned. Through this whole process I've learned some new things about both GPL and BSD licensing, and especially about combining the two."

20 of 455 comments (clear)

  1. Just doesn't make sense by Anonymous Coward · · Score: 5, Insightful

    He says that you cannotmodify a file to remove a license without permission, but he fails to acknowledge that a dual licensed file gives you that permission with the other license. If the GPL gives me permission to modify a file, then I can remove the BSD license from that file. If the BSD license gives me permission to modify a file, then I can remove the GPL license from that file. So long as I comply with the remaining license, I have permission to distribute the result, as the remaining license is what gives me legal permission from the copyright holder.

    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.

    No, not ironic. Just dishonest. You say all along that taking without giving back is the ultimate freedom, you criticise the GPL for not allowing more of this, you allow it for proprietary software, but just as soon as GPL software does something you consider to be similar (even though the source is still out there, it's unusable to you), then you have a problem? You can't get the code back from proprietary software either, but you don't bitch and moan when proprietary software does it, in fact you criticise the GPL for not allowing it. This just looks like you have a problem with the GPL, hold it to a higher standard than everybody else, including yourself.

    1. Re:Just doesn't make sense by DaleGlass · · Score: 5, Insightful
      *scratches head*

      Your comment misses the point. What Theo claims (and he is right about it) is that by removing the BSD licence you don't contribute back to the BSD project that created the code you took. In other words you are doing just what you claim companies would be doing, because as soon as you put that under the GPL, the BSD project cannot use it anymore.

      Right, but the BSD in fact gives you the permission to do this

      What he said is that this type of action is equal to not playing the community game as far as the BSD project is concerned. Your code maybe available for Linux, but it is not available anymore for OpenBSD or other non-GPL project. In essence you are removing freedom on code you did not create. This is what is ironic.

      Weirdest thing I've heard lately. This pretty much agrees with the GPL concept of "freedom" and seems to imply that BSD should be GPL licensed.

      *head explodes*
    2. Re:Just doesn't make sense by roman_mir · · Score: 5, Informative

      *scratches head*

              Your comment misses the point. What Theo claims (and he is right about it) is that by removing the BSD licence you don't contribute back to the BSD project that created the code you took. In other words you are doing just what you claim companies would be doing, because as soon as you put that under the GPL, the BSD project cannot use it anymore.

      Right, but the BSD in fact gives you the permission to do this
      - BSD does not let you remove the BSD license from the BSD code. Also NO license can supersede the copyright.

      BSD allows you to use the code in your own project, your own project can be then redistributed with BSD code in it, however the BSD license cannot be removed from the BSD code. BSD code can be modified but the BSD license cannot be removed from the modified file either. It is not possible to add a new license to a BSD licensed file without permission of the original copyright holders.

      However you can take BSD code, add it to your own project and distribute just the binaries of your project without giving any source code to anyone and it is not illegal under BSD. But BSD is a license and it cannot be legally removed from a licensed file.
    3. Re:Just doesn't make sense by Jimithing+DMB · · Score: 4, Insightful

      Theo is bringing up two independent points in his message. The first point is that choosing to use the code under the GPL license does not mean you are allowed to remove the notice that it may be used under the BSD license. The second point is that while you are allowed to license modifications under a different license you are encouraged to license them under the BSD license. The points are somewhat intertwined which is why he makes them together.

      As for the first point, his argument is simply that the BSD license requires that it not be removed from the source file. It is a modified BSD so it no longer requires acknowledgement when advertising a product using the code which is the specific part that made it incompatible with the GPL. It does still require that the notice remain with the code. You will note if you look at a project such as Apple's xnu that the BSD copyright notice and license remain intact on BSD source files with the APSL added to it. Likewise, the Mach copyright notice and license remain intact on files that came from Mach. Similarly, I moved the region code from X11 into wxWidgets and you can clearly see in the source code (src/generic/regiong.cpp) that the X11 license remains intact. Did I have to do this? For X11 no because X11 only requires that the copyright stay in the source file and the license be part of the program's supporting documentation. Had it been BSD licensed I would have been forced to keep the BSD license in the source code. Regardless, I did it anyway as a gesture of good faith.

      This brings us to the second point, that of giving back to the commons you took from. As you point out, the BSD license does not require it! Yet somehow, the BSD codebase continues to grow with contributions not only from individuals but also from companies. The reason for this is that people feel obligated to give back useful portions of their work to the commons despite not being legally obligated to do so. Theo's observation here is simply that many companies are contributing back to BSD but that individuals wanting to use the code for GPL projects are taking a hard-line stance that because BSD does not require it, they will not do it. He's also pointing out that it's gotten worse than that because it has become so prevalent to insert BSD code into a GPL program and license the modifications under only the GPL that several individuals now feel they can remove the BSD license and copyright notices as well.

      In other words, modifying the BSD code and licensing the modifications under a different license is allowed by the license and therefore technically legal but considered wrong. Removing the BSD license is against the license and therefore illegal.

    4. Re:Just doesn't make sense by NoMaster · · Score: 4, Insightful

      I read Theo's rant a couple of times ...
      Your prejudice betrays you - if that was a rant, then it was the kindest, gentlest one in the whole history of public discussion.

      Now, Theo has a (somewhat) well-deserved reputation for abrasiveness - he certainly doesn't suffer (people who he thinks prove themselves to be) fools gladly - but the more I read of the bsd-* lists, the more I kinda like the guy. He doesn't bite without reason, though you may be left wondering what that reason is...

      Go read those posts again. He's not ranting, he's not raving, he's not flaming - he's stating fairly clearly why he thinks it's disappointing, in a sadly ironic way, that some people who ostensibly support a licence which forces freedom are taking advantage of a different one which merely hopes for it.

      From a BSD licence POV, it's like "free software" is a community space with free open access and a right to use however you want - and the GPL is where somebody has come along and built a fence around part of it. Theo's saying that yeah, sure, it's allowed - but it's just sad that a part chooses to take advantage of the generosity and open nature of the whole...

      --
      What part of "a well regulated militia" do you not understand?
  2. Dual licensing interpretations by Novus · · Score: 4, Informative
    While I am not a lawyer, it seems to me that Theo is confused about what the dual licence in question actually says. I quote:

    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.
    In other words, the author specifically allows you to distribute provided you meet all the requirements of the GPL and nothing else. Well, the GPL says that you have to license your work under the GPL (see section 2b), which they did. In other words, the wording of this dual licence allows the redistributor to choose one licence or the other and thus remove the dual licensing; Theo is wrong. Of course, Theo is right about removing the BSD licence from code.
    1. Re:Dual licensing interpretations by stony3k · · Score: 4, Insightful

      While it does appear that he could be wrong legally, he is quite right from an ethical perspective. There is a lot of great work being done by the BSD folks and it would be quite impolite to tell them, "Hey thanks for your code, but you won't get anything back from us". I think the right thing to do would be to continue to use the dual license for the work in question.

      If you're very worried about your improvements being close-sourced, perhaps it would be better to write your driver from scratch, rather than cutting off one part of the community. A tiff between the BSD and GPL camps is the last thing we need.

      --
      Freedom is not worth having if it does not include the freedom to make mistakes. - Mahatma Gandhi
    2. Re:Dual licensing interpretations by DaleGlass · · Score: 5, Insightful

      For example, I could invite you around my house and say "If you're hungry, grab something from the fridge". While it would be 'legal' for you to empty the entire contents of my fridge in to the back of your car and drive off with all my food, it's not exactly ethical.


      Exactly right! Except "grab something from the fridge" is very fuzzy, while the GPL and BSD are very specific about what exactly they mean, and have been debated to death. By now everybody understands exactly what the BSD means.

      Now the lesson is this: If what you feel and what say do not match, then you're going to have problems, and they'll only be your fault.
      If you say "Feel free to borrow my lawnmower whenever you need", and then your friend takes it right when you needed it, and that annoys you, whose fault is that? Your.
      If you say "Feel free to take my source and do whatever you want with it", and then they do, and the conditions under which they license it annoys you, whose fault is that? Your.

      The problem here is exactly this: Some people licensing software under the BSD do it trying to appear more altruistic than they actually are (not saying this is all of them though). In this case Theo seems to be demonstrating that what he thinks should happen with his code, and the terms he actually licensed it under differ.

      If there's something you don't want to be done with your software, don't release it into the public domain or under the BSD.
      If you don't actually want to have your project forked or built upon, don't release it under the GPL.
      If you don't want to have friends suddenly show up at 3AM, then don't tell them they can do that just because you wanted to look polite.
      If you offer to drive somebody somewhere, and that they actually accepted your invitation annoys you, then you shouldn't have done that.

      IMO, trying to appear more polite and altruistic than you actually are is the cause of much annoyance in the world.
    3. Re:Dual licensing interpretations by stony3k · · Score: 5, Insightful

      The point is that the original code could have continued to be dual-licensed and then it would have helped both BSD and GPL camps. By removing the BSD license (which they may not have the rights to do - IANAL but maybe that can only be done by the original copyright holder), they have now cut off part of the community. That is not ethical, IMHO.

      I'm generally a strong believer in the GPL, but in this case I find myself sympathizing with Theo. Also, even though the BSD license allows anyone to close the source, in general, the BSD developers like to have changes given back - they just don't like forcing people to give back improvements. It's like an honor system, and in this case they feel changing the license to GPL was dishonorable, especially since the Linux devs should have known better.

      --
      Freedom is not worth having if it does not include the freedom to make mistakes. - Mahatma Gandhi
  3. Re:GPL is about giving back to community by Zatacka · · Score: 4, Insightful

    So what he's basically saying is that he'd like modifications to the code to remain in the open. They should create a license that makes sure that always happens! Oh wait...

  4. GPL intends to be one-way by Russ+Nelson · · Score: 5, Interesting

    The intent of the GPL is to be a one-way trip. The idea is to create a large pool of identically-licensed code so that projects msy mix and match, borrow and steal from each other.

    --
    Don't piss off The Angry Economist
  5. Re:Compiz/Beryl by audi100quattro · · Score: 4, Insightful

    They made their rights clear when they licensed it under the BSD license. If you want others to share code, make it mandatory and use the GPL. If you just want credit for what you've written, you're still getting it with dual-licensed code. Oh, wait, you want to be able to use the changes as well under the original license? I'm sorry. Don't license it under the BSD license and expect someone else more comfortable with the GPL to make large changes and not use the GPL. The GPL is just more honest and upfront, and it's the GPL's fault?

  6. Re:Can't we by TheRaven64 · · Score: 4, Interesting

    The problem is that certain Linux developers don't want to 'just get along.' Driver support is an important issue for all Free operating systems. Projects like DRI have been really great for this. DRI drivers are licensed under the MIT license (as is the rest of X), which is about as permissive as you can get without going public domain; it's even more permissive than the BSDL. This has allowed the DRI drivers to be used on FreeBSD, and even on some more obscure and less UNIX-like operating systems (I believe Haiku has used some of their code, for example).

    Many people within the Linux community seem to view hardware support as something that gives them a competitive advantage over other operating systems, a viewpoint, perhaps, that they learned from Microsoft. Because Linux has the most restrictive license of any non-proprietary kernel, they make it hard for others to use their work, but continue to benefit from the work of others. Porting a driver from OpenBSD (for example) to Linux requires changing the interface. The converse requires a complete reimplementation.

    When Linux developers go to the trouble of reverse engineering a piece of hardware, no one is arguing that they shouldn't be allowed to pick their own license. The problem comes when an OpenBSD developer goes to this trouble, and the Linux team then decides that any changes they make to the driver will be licensed in such a way that they can't be ported upstream.

    In much of the community, it is generally considered bad form to add more restrictions to someone else's work. I tend to prefer the 3-clause BSDL for my own work, but some code I am working on now is based on some work that was originally released under the MITL. If I slap a BSDL at the top, then no improvements I make can be used by the original project, or by anyone else basing their work off the same source. If I stripped the MITL and replaced it with the BSDL then, as Eben Moglen points out, this would be illegal. This is the equivalent of what a few people in the Linux community wanted to do. I could place the BSDL above the MITL, covering my changes and the complete work, but not any of the original code. This would be legal, but it would be incredibly impolite. The F/OSS community is a community, and if it wants to survive then a culture of respect for the opinions and work of others is important.

    --
    I am TheRaven on Soylent News
  7. different is as different does by Gary+W.+Longsine · · Score: 4, Insightful

    The difference is that commercial entities which modify BSD code, compile it, and distribute binary-only distributions are not pretending to own the share and share alike happy friendly community open source high ground. The Linux community does try to own this high ground, really to the point where BSD gets no credit for having the less restrictive (more "open" and more "free") license. What Theo is saying is that if the Linux community wants to maintain its hold on this high ground, they should play fair with code they get from BSD, and share back with that project. Good in the world would be reduced if this turned into a war. Imagine BSD projects getting relicensed as a lever against Linux, say some sort of clause which prohibits dual licensing, and requires non-commercial entities to share code back to BSD. It could get uglier than that, but it probably won't, since the BSD camp has a long history of being the most open and free of free open source licenses, it's unlikely they would start using their license as a weapon at this point.

    --
    If you mod me down, I shall become more powerful than you could possibly imagine.
  8. Re:Hmmm by MysteriousPreacher · · Score: 4, Informative
    Bullshit. Read this comment regarding vendors using SSH that Theo posted on one of the OpenSSH mailing lists.

    These vendors include:

            Sun Apple IBM HP Cisco Netgear RedHat SuSe

            most operating system vendors except Microsoft

            nearly other major network equipment manufacturer

            (but many other vendors too)

    These vendors have never given us even a dime. (To put it more
    clearly, IBM loaned one developer a machine to make sure that OpenSSH
    would run better on it, but they INSISTED on it being a loan instead
    of just giving it to the developer).


    http://marc.info/?l=openssh-unix-dev&m=11431622462 7520&w=2

    You can't get much direct than that. I suggest you visit the link and read the rest of his mail.
    --
    -- Using the preview button since 2005
  9. Re:Compiz/Beryl by Anonymous Coward · · Score: 5, Insightful

    It's about PERSPECTIVE, dude. I don't know if you're being facetious, but things are relative. Just like in OO programming, if two objects are effectively identical in behavior and interface, they are interchangeable.

    From a BSD coder standpoint, the GPL IS no different from a proprietary license. Well, there is one difference. It's a white box instead of a black box. I can go in and see how it works and come up with my own algorithms. I could do it with a the black box as well, but it takes longer. But the reason why its no different is because as a BSD coder, I am no more able to use the GPL code DIRECTLY in my work as I am with a company that has locked it up.

    And that is PERFECTLY FINE. GPL or proprietary, someone has found a use for BSD code and it moves on. Directly or indirectly, EVERYONE benefits. But IF you are going to share anyway (note the big 'if'), why can't you share with the BSD coders who made it possible?

  10. bullshit by m2943 · · Score: 4, Insightful
    It is illegal to modify a license unless you are the owner/author,
    because it is a legal document.


    It is not "illegal" if the license permits it. The license says:

    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.


    Now, if someone makes the tiniest change to the code and only licenses their change under the GPLv2, then the entirety of the software can only be distributed under the GPLv2, which means that the portions of the BSD license simply are not applicable anymore.

    The usual way of doing this would be not to alter the existing copyright notice, but to add a second copyright comment that says something like: "Portions of this code are copyrighted by John Smith and are licensed under the GPLv2. Please note that as a consequence, the entirety of this file may only be distributed under the terms of the GPLv2."

    The effect is, however, the same: the file can only be distributed under the GPLv2, and the result is perhaps more confusing to users, which is why deleting the now inapplicable part of the original license is probably better.

    The fundamental issue that this kind of dual-licensed BSD/GPLv2 code can be turned into GPLv2 code is unavoidable, however: that's the purpose and intent of dual licensing. Note that the reverse is also possible: someone can make additions to the code and only license those under the BSD license, killing the GPLv2 portion of the license.

    (I won't even comment on Theo's use of terms like "illegal" and "breaking the law" other than to say that it's inflammatory bullshit.)
  11. Re:Compiz/Beryl by Dun+Malg · · Score: 5, Insightful

    So nothing is morally wrong with sharing modified BSD code with other GPL coders, but not with the BSD coders who made it possible? If BSD-license-using coders find it "immoral" for people to use their code under other, more restrictive license schemes, then why are they using the BSD license? Hasn't Theo de Brat long boasted that the BSD license is superior for exactly this reason, the true freedom to do what you like with the code? Releasing under the BSD license and complaining about BSD code getting "GPL'd" is the height of absurdity. The BSD coders don't get to use the code when it's expanded and the resulting app is sold in the traditional business, and they're fine with that. It's like what they say about freedom of speech: the price is that you can't silence people you disagree with.
    --
    If a job's not worth doing, it's not worth doing right.
  12. Re:Compiz/Beryl by zotz · · Score: 4, Insightful

    "But IF you are going to share anyway (note the big 'if'), why can't you share with the BSD coders who made it possible?"

    Is this an honest question? Isn't it obvious that the GPL folks will not do that because they cannot just share it with the BSD coders who made it possible. To share it with the BSD coders, they would also have to share it with the lock up coders. Something they are unwilling to do and hence their choice of the GPL and not the BSD in the first place. Do you see some third way I am not getting right now?

    all the best,

    drew

    --
    FreeMusicPush If you want to see more Free Music made, listen to Free
  13. Re:Compiz/Beryl by Anonymous Coward · · Score: 5, Interesting

    You're right, but that situation is BETTER. Theo pointed something very obvious out that you're missing:

    Many businesses give back to BSD.

    No GPL code will ever go back to BSD.

    GPL'ing BSD code is a slap in the face that says "We will never, ever, give back. Period."