Slashdot Mirror


Open Source Licensing Issues

msuzio writes "Web Techniques has a good editorial column this month on Open Source licensing issues. They focus on the difficulties in resolving both a single license (GPL, BSD, Apache), but also the deeper tangle of how to handle multiple licenses mixed into one project (a piece from GNU, a piece from Apache, etc). I think this issue will continue to dog efforts to bring together multiple open-source components, both in open-source and commercial projects using open-source."

10 of 151 comments (clear)

  1. Use your common sense... by Arandir · · Score: 5

    When all else fails, use your common sense.

    1) Use the license YOU want to use on your own projects. If you don't like copyleft licenses then don't use them. If you don't like unrestricted licenses then don't use them. Easy, isn't it? But by all means, don't go creating your own new license. There are enough good ones out there that it isn't necessary. There are still some licensing niches to fill in the OSS hierarchy, but I doubt your project fits that bill. The BSD, MIT, GPL, LGPL, MPL, QPL and Artistic licenses are sufficient to meet your needs.

    2) Don't get religious over licensing. The well known licenses all have their place. As soon as you say "I will never use the BSD/GPL/QPL/whatever license" you will immediately run across a situation where you will need it. I am personally not fond of copyleft, but if I were to release a commercial open source product that faced competition, you can bet you bippy that I would seriously consider using the GPL. Likewise, don't let license bigotry get in the way of your helping out on other people's projects.

    3) Assign your copyrights over to the author. Don't insist on holding on to the copyright for your bug fixes and minor contributions. That's so egotistical as to be stupid. You will get mentioned in the credits, so don't worry about it. You will make the author's life so much easier. If your are the original author or project maintainer, then insist that all copyrights be assigned to the you or the project. If you want your project to be "community based", then seriously consider assigning your copyright to the FSF, creating your own non-profit org, or placing it in the public domain. Do you really want the submitter of a five line bug fix to be in control of all licensing decisions from here on out?

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  2. Gnu's Not Free... by NevDull · · Score: 4

    Perhaps some day, people will understand that the GPL does not make code free. Freedom is not something which can be forced, for if it is forced, it is not freedom.

    -Nev

    1. Re:Gnu's Not Free... by mdavids · · Score: 4

      This is an argument that I find as perplexing as it is pervasive. Who's being forced to do what?

      If you don't like the GPL, don't use it. Nobody can force you to use it. Publish your work as freeware, or proprietary software for that matter. Nobody's going to stop you. However, you should expect that people who care about their freedom won't use your product.

      Now where is the element of force that the anti-GNU libertarians get their knickers in a twist over? Presumably it's the so-called viral aspect of the GPL, the requirement that free software can only beget more free software. If I, as a software author, distribute my work under the GPL, I have violated your freedom to take my work and use it to make a proprietary work. Therefore free software is the enemy of freedom, QED.

      Of course this is just semantics. In the real world most would accept that it's ridiculous to speak of the sanctity of, for instance, the freedom to enslave. Freedom of action is rarely an absolute good, but must be judged in the context in which the action is taken, and with regard to consequenses. As RMS says, "Your right to swing your fist ends at the tip of my nose."

      Now as a software author, I must make my decision on how to distribute the product of my labour in the same way, recognising that peoples' interests conflict, and that the protection of certain freedoms depend on the restriction of others. In other words, I must make an ethical decision based on an evaluation of which freedoms are the most valuable. Let's assume I find proprietary software harmful to society as a whole. I can choose to protect the freedom of those who may wish to base proprietary software on my work, or I can restrict that freedom, in the interests of enhancing the freedom of others.

      Another way of looking at it is that of Henry David Thoreau (who as far as I know was not a hacker):

      It is not a man's duty, as a matter of course, to devote himself to the eradication of any, even to most enormous, wrong; he may still properly have other concerns to engage him; but it is his duty, at least, to wash his hands of it, and, if he gives it no thought longer, not to give it practically his support.

      In other words, no matter how objectionable I find proprietary software, I may be justified in thinking that what Bill Gates chooses to do is no business of mine. However, it is important that I ensure that my work is not used to further a harmful enterprise.

      The freedom to determine what you work for (or indeed against) is a fundamental good, and a prerequisite for being a full human being, as opposed to a machine. It's curious that people who are outraged by the limitations on their freedom imposed by the GPL, are not at all bothered by the impositions of, for instance, a standard employment contract, which are without question an order of magnitude greater.

    2. Re:Gnu's Not Free... by Menthos · · Score: 4
      This may be a new concept to you, but when you copy software the original copy does not get destroyed. Imagine the possibilities: I can write software and give it away, but STILL keep it myself!!

      This may be a new concept to you, but when some people write software on their spare time and let people all over the world use it, they might do it of the reason that it remaining free will help them improve the software in the future. They want the software to be able to cycle in a circle of development, improving over time to the benefit of everybody. They want contributions to remain open so that they can incorporate all improvements done by others back in their original tree. This makes the software evolve, merely by people using other's people work, hack it according to their needs, and putting their changes back online.

      If the license does not enforce freedom, this chain is broken. The original author writes a piece of software, a company finds this software and adds lots of interesting features and turns it into a closed-source product. Will the original software ever be able to use those additions? No. Will the freedom that the software initially had, and the closed-source company used, be of any benefit to all others, ever? No.

      The GPL is about helping software improve by keeping it free, as the freedom was what made the code happen in the first place.

      Imagine the possibilities: I can write software and give it away, but STILL keep it myself!!

      Maybe I didn't write it just for me and just for a particular moment in time, but I actually use the stuff and want to improve it, and want the rest of the world to also benefit from all improvements. Now if the rest of the world does not allow me to use their improvements of my software, how can I possibly add all improvements? How can anyone be able to use any improvements at all except their own?

      Your argument just doesn't make any sense. If MS were to use some of the Linux kernel in Windows, the Linux kernel would still be free to use how ever you wanted? What would anyone lose by MS using Linux w/o releaseing their code changes?

      Believe it or not, but as much as I dislike Microsoft, I do believe they can also do good stuff. Now if they fixed bugs in my code I had spent months trying to fix, or added features, but they didn't release their changes, yes, I would lose. I would lose the possibility to improve my software to everyone's benefit because of some company's refusal to let the improvements benefit anybody but themselves. So in other words, they used the freedom I provided them with to use my stuff and do improvements, but they won't give me any freedom back in return to use those changes, and let everyone benefit.
      The GPL exists exactly of this purpose - to help code remain free, to everyone's benefit.

      --

      GNU/Linux. The Freshmaker.

    3. Re:Gnu's Not Free... by Bruce+Perens · · Score: 4
      Lots of folks around here have this very simplistic view of freedom. They think men are islands. What you're saying is that you are not free unless you have the right to make me a slave. The GPL is a way of avoiding a particular sort of "slavery", as are the laws of most nations. The problem is that people live in communities, they are not islands, and to preserve freedom in the large you do indeed have to restrict it in the small.

      Thanks

      Bruce

  3. Equivalence classes. by Black+Parrot · · Score: 4

    As a first approximation, you should think of the software produced under the various licenses as falling into separate equivalence classes. If you discover a "leak" between two equivalence classes that lets you use the code or components from different classes together, well and good -- but don't assume that things will work that way until it has been demonstrated.

    To paraphrase another poster, decide in advance which equivalence class you want your code to be in. That tells you which license to use.

    Notice that this is not notably different from proprietary software. All of Sun's secret code falls into an equivalence class separate from all of Microsoft's, and there's no a priori reason to expect that you can freely combine the two.

    What I don't get is why so many people hear "open source" and think they have an intrinsic right to use the code however they please. If you use code under a license, you are bound by that license just as surely as you are bound by the controls on code coming out of Sun and Microsoft.

    Granted, this forces a duplication of effort between equivalence classes. If you are working in Class A and need a widget that is only available in Class B, you have to re-implement it in your own class.

    Still, the mere existence of the "open" classes has been a huge boon to code reuse, and as Open Source catches on, the number of members of each class continues to grow phenomenally. Regardless of which "open" class you release your code into, you are participating in a sharability far beyond anything you can participate in with proprietary code.

    So pick a class that's large and growing, and that has a license that suits your ideals, and go with it. But don't waste your time whingeing about not being able to steal stuff out of the other classes. A license is a license, and you should take it seriously. No one promised you unrestricted access to anything you might happen to want. You might as well complain about not being able to use Microsoft's source code in your own project.

    --

    --
    Sheesh, evil *and* a jerk. -- Jade
  4. Some thoughts by update() · · Score: 5
    Yeah, this article is naked flamebait. But I'm trapped inside by a freaking hurricane (in Boston in December!) and the Patriots still suck so I'll bite...

    I used to use the GPL for my software because I liked the idea of having control over my code. But two points came up during the KDE/QPL dispute that made me change my mind.

    1) The idea that free software should only be reused in free software is attractive. But the viral nature of the GPL means that a line of code that is copied from one project to another contaminates other code that might be used in a third project. That's the intent of the GPL - to eventually encumber the entire free software pool. To me, it's distasteful that a line or two of code ties the hands of developers who have written a huge project of their own and who may never have seen a line from the original GPL project.

    2) And it's not even up to the original author. IIRC, there was no case where an author of GPL code objected to its use in KDE. (RMS's "forgiveness" notwithstanding.) As soon as the words "GPL violation" are used, the Slashdot/Technocrat/FSF lynch mob heads out, apparently in the belief that since they're Members Of The Community, they somehow get to act as the aggrieved party. I'd prefer to keep control of my code, but I'd rather see it wind up in Windows than have it used to ruin a well-intentioned project.

  5. I would most like to see licenses be simplified by richie123 · · Score: 5

    In my estimation there are basically 4 license schemes that would fill just about every niche.

    1. BSD - license of choice for authors who beleive that anyone should be able to do whatever they want with free software they create.

    2. GPL - license for authors who wish to garantee that all dirivative works based on their code also be relesed under the same free software license.

    3. LGPL - license for people who wish to allow diferently licensed software to be linked against their code, otherwise similar to GPL

    4. GPL/dual-license (e.g. qt, new mozilla license) - software licensed under GPL, but with declared provision for use not normally allowed by the GPL. This scheme works well for authors who wish to support free software, but also want to add flexibitity in licensing, and even a possible profit stream.

    I can't posibly think of reason anyone whould want to use a license such as the artistic license, or a custom license, other than to be perverse, and confusing.

  6. Re:It's easy enough to obfuscate the source by Coward,+Anonymous · · Score: 5

    You don't need to find a judge fluent in assembly, you need to find an expert willing to testify that it is likely that the source code was stolen. The judge can rule that source code from both parties be turned over to the court and the court can then make an informed decision about whether source code was stolen or not.

  7. Copyleft is much of the reason for our success. by Bruce+Perens · · Score: 5
    When we get into BSD vs. GPL discussions, it's important to note that not all of the people in the discussion are the developers who actually choose the licenses. Go look at the freshmeat submissions on any day, and you'll realize where developer sentiment lies. Users and other folks can have whatever licensing they want, as long as they don't make me write their code.

    Linux is probably the first real kernel written by volunteers - BSD was written by people working on a government grant, and is derivative of ATT Unix, although later modifications are contributed by volunteers. Why do those volunteers feel good about writing free code? Because abuses are prohibited by the license. Otherwise, they'd be dupes, unpaid employees working for someone else who makes all of the money on a product and puts economic locks on that product using proprietary software, cutting out the free contributor. In that case, the free code would actually be weakening the free software movement by playing into the abuser's hands. That's why more developers choose the GPL. And it's the developers who matter here - no code? Then there's little prospect for users.

    The choice is simple here, at least for me. I write BSD-licensed code when someone else is paying me to do so and they insist on the BSD license. I write LGPL or GPL-licensed code the rest of the time, and I feel good about that it's doing for the free software movement.

    Thanks

    Bruce