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."

23 of 151 comments (clear)

  1. Re:Copyleft is much of the reason for our success. by Arandir · · Score: 3

    Go look at the freshmeat submissions on any day, and you'll realize where developer sentiment lies.

    There would be no way to find out, but it would be interesting to know how many developers chose the GPL because a) they had to in order to use some other code, or b) because they thought they had to. In the case of the latter, I've seen enough posters here on Slashdot who think the GPL is the only approved Free Software license. And I have even received an email from someone asking me to GPL my otherwise BSD licensed code because "I will only use Free Software."

    Otherwise, they'd be dupes, unpaid employees working for someone else

    Oooh! A direct insult :-) Am I being exploited? No! I have made a conscious decision to share my code with zero strings attached. If someone else can make money off of my code, my hat goes off to them, because I sure can't. There is no way in the world they can lock up my code. It's physically impossible. It's on my harddrive, on my website, and on a few others as well. No matter what they do with their copy of the code, my copy is still here untouched. You can't steal what is free.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  2. 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
  3. 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 Menthos · · Score: 3
      Perhaps some day, people will understand that the GPL does make code free, not just for now, but for ever.
      Freedom is something which can be enforced, and if it is enforced, it will always be freedom.

      Yes, there's a difference between "force" and "enforce". You are never forced to follow the GPL, only if you accept GPL software to begin with. The original developer granted you freedom to begin with under the promise that you will also give that freedom away to others as it was given to you. This is what the GPL enforces, it does not force you to do anything else. To me that is very fair. You can't blame the original author for wanting his work to remain free. If you didn't like that, you shouldn't have accepted it in the first place. You're not forced to use or modify GPL software at all.

      --

      GNU/Linux. The Freshmaker.

    2. Re:Gnu's Not Free... by Black+Parrot · · Score: 3

      > Perhaps some day, people will understand that the GPL does not make code free.

      Perhaps some day people will understand that the Open Source movement would never have gotten off the ground without that hard-nosedly idealistic RMS and his overly picky GPL.

      Of a certainty, we wouldn't be here arguing about licenses on Slashdot.

      --

      --
      Sheesh, evil *and* a jerk. -- Jade
    3. 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.

    4. Re:Gnu's Not Free... by RangerElf · · Score: 3

      On the contrary, to obtain and maintain freedom, be it in software, in the personal domain, or whatever, one must be prepared to use force. Why? Because there are other people or entities who, under the guise of I'll do this and that for you, don't you worry about this, I'll handle it or Tell me where you live, I'll send you lotsa free stuff... would take a bit here, and a bit there, of your freedom away.

      To be free is to be responsible; it's not easy, it's not comfy, and it's not nice; but then, you have the personal, private satisfaction, that you acted responsibly, intelligently, and according to your own interests and thoughts.

      BEFORE everyone and {his,her,it's} {dog,cat,gerbil} starts tossing what you're saying is that I can use my freedom to do such-and-such (ugly) things to other people, well, they're free to take retribution on your asses also. Remember: responsibly, intelligently. Which means survival also. So, don't go pissing off a bear or something. Or, if you're stupid enough to want to go piss off a bear, PLEASE do so, the world is already overly populated with stupid people, you'll do us all a favor.

      -elf

    5. 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.

    6. 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

  4. What about legal legitimacy? by 1nt3lx · · Score: 3

    Do the words of the licenses actually stand up on a purely legal aspect? Is tacking a Copyleft (GPL) in the header of your code a real way to protect it? Shouldn't it actually be copyrighted and released under the GPL, et al?

    This area brings a lot of ambiguity. What is the legitimacy of the Open Source licenses on a global level?

    It seems that while the licenses are worded well and seem legally sound they depend a lot on good faith on the part of the user/company using the code.

    1. Re:What about legal legitimacy? by FigWig · · Score: 3

      Is tacking a Copyleft (GPL) in the header of your code a real way to protect it?

      As soon as the work is created it is copyrighted by the author. By tacking the GPL to ALL of your source files grant additional rights (along with some responsibilites) to the user of the code. This provides no more or less protection than any other license. The real protection would be in the enforcement of the license. This is why many have transferred copyright of there GPL code to the FSF. Only the owner of a copyright is able to enforce it and the FSF probably has more legal resources than you or I.

      --
      Scuttlemonkey is a troll
  5. 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
  6. 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.

  7. Painfully True by Frums · · Score: 3
    This is painfully true. The GPL does not st code free, but merely gives it a prettier prison. If it were FREE there would be no restrictions on how it is used.

    Case in point: If Linux were actually free software, not locked in GPL, MSFT could cull whatthey desired fromit to include in Windows without having to open Windows up.

    There is the critical distinction: Free, as long as you do .... means it IS NOT FREE. It has a price, therefore it is not free.

    Now, I am not talking free as in beer, but free as in first amendment (which we no longer even have in the states as long as I cannot call the state capitol and tell them I have planted 2000lbs f eplosives there and have it be legal).

    No one wants freedom, we don't trust it. We all want to call our desires freedom because it sounds nice, and it might be a prettier prison, but they are very rarely, if ever, actually desires for freedom.

    The GPL is a actually a much more restrive, if prettier, prison than regular proprietary source code. The reason being that with proprietary code the potential exists for it to become actually, truly free. With the GPL it is locked into the GPL in perpetuity. It is like releasing someone in the US from jail, telling them they are free, and letting em walk away. They look, feel, and think they are free, but if they try to exercise that freedom, by say smoking some bud, beating up and old lady, or calling the white house and claiming to be a sniper looking at the door at that very moment, then they find out how little freedom they have. You cannot do what you want, you are not free. You merely have a more comfy, better disguised enclosure.

    Frums

  8. 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.

  9. in the end, everything's forced by dalinian · · Score: 3

    You don't understand that in order to have freedom and not anarchy, everyone needs to give away certain rights: for example, the right to hurt other people. The GPL is a means to do just that.

    BTW, this is a pretty basic topic in political philosophy, eg. Jean-Jacques Rousseau expressed his views on it in his work "The Social Contract".

  10. Brian Behlendorf: GPL and APL finally compatible? by Carl · · Score: 3
    It seems that the next version of the Apache Public License will finally be compatible with the GNU General Public License. The following was just posted to the debian-legal mailinglist:
    I'm working with Stallman now on modifying the Apache license in such a way to make it GPL compatible, since I believe fundamentally our philosophies are compatible. Ask most people who BSD or Apache license their code if they feel that GPL advocates should be able to use their code, most will say yes.
    See http://lists.debian.org/debian-legal-0012/msg00088 .html for the whole story.
  11. Re:I Want one more license scheme by rgmoore · · Score: 3
    5. Free Software license - license for authors who whish to guarantee that all derivative works based on their code are Free Software.

    This means that you could mix my code with software under any free software license, assuming that the license of the other software would not be violated.

    This is much harder than you think, and probably impossible in the long run. Why? Because some of the licenses that your code might wind up in (like the BSD license) are specifically designed to allow incorporation of their source into non-free projects. Once your code was put into a BSD licensed project, it could then be transfered into a proprietary one. To protect your intent, they'd have to relicense the part of their project that incorporated your code under a different style of license, which specifically undermines your goal of letting your code play friendly with everyone else. It's just not possible to have code that's useable by any free software project but not by a proprietary one.

    --

    There's no point in questioning authority if you aren't going to listen to the answers.

  12. 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.

  13. 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

  14. Thoughts about licence messes by Simon+Brooke · · Score: 3
    I'm responsible for a package (a servlet toolkit called Jacquard) which is released under BSD-style licence. Recently, I needed to add some regular expression functionality, and initially used the GNU RegExp classes. But because of licence problems I stripped them out and replaced them with the Apache Jakarta RegExp classes.

    Now I need to add file upload capability; there is a file upload component out there, but the license is weird and definitely not compatible with what I'm doing. So I'm going to have to reinvent that wheel, and I'm going to have to do it 'clean room' even though I know that there are a lot of tricky little tweaks which someone else has already sorted out...

    There's no doubt that open source licensing is a bit of a mess. I've a great deal of respect for RMS; we wouldn't be anywhere like where we are now without him. But at the same time after a lot of thought I've decided that the BSD-style licence is best for what I'm doing, because I want my work to be useful to the widest possible number of people and that explicitly includes people working in shops where they aren't realistically going to be allowed to publish their mods.

    I'm increasingly of the opinion that life would be a lot simpler, and we would get a lot more innovation done, if the Intellectual Property laws (including copyright) were just scrapped. And yes, I do earn my living doing this.

    --
    I'm old enough to remember when discussions on Slashdot were well informed.
  15. A good source for Licensing Information by Kiss+the+Blade · · Score: 3
    Can be found here

    They have detailed information on all the licenses currently used, the conflicts between them and describe suitable business models for each. I mention it because my friend, Jane, works there ;) It is suited perfectly to this issue.

    KTB:Lover, Poet, Artiste, Aesthete, Programmer.

    --

    KTB:Lover, Poet, Artiste, Aesthete, Programmer.
    There is no

  16. Is convergence a good and a practical thing? by squiggleslash · · Score: 3
    One of the reasons why there are two "types" of licence at the moment, the BSD "no strings" licence group, which includes the X licence, Apache licence, and a bunch of similar types, and the GPL "Do unto others as you would wish to be done yourself" which includes, in a roundabout way that RMS would probably object to, many of the commercial licences including the MPL, SCL, and even Apple's Darwin licence, is because there are massively different approaches to what people want out of licencing.

    GPL'ers want free (as both in beer and speech) software to be the norm. Many commercial entities have no objection to handing out sourcecode but want measurable benefits in doing so and so go the GPL-inspired licences route. Other commercial and non-commercial outfits just want their code out there being used. They don't care if someone profits from it - the worst that can happen is that they won't have the source code to modifications a third party has made, and that's not a big deal if you're already delighted the work you've done has made it elsewhere.

    Trying to argue that we can somehow resolve these issues is, in my opinion, a waste of time. For myself, I fall into the latter group - I'd like what I write to be made use of, and if I were to write a TCP/IP stack that turned up in Windows 2010, I'd be proud as punch and pretty delighted about it. I also want access to code I don't have to be bothered about rules applying to if I make modifications. Others, I know, feel very differently, and I think they have a perfect right to feel differently and to want their code handed out under a different set of rules.

    If we try to get the world of open source licences to converge, IMO, we end up disenfranchising those who want to write code under whatever conditions they feel most appropriate. And given the willingness of programmers to duplicate work they find interesting, I don't necessarily see it as something that has massive negative consequences. I also suspect that the practicality of seeing the licences converge is close to zero. People will develop under whatever conditions they find most appropriate, and, for myself, if BSD and X were to decide to incorporate the GPL conditions into their licencing models, I'd probably just move out of their licencing arena, and develop under different conditions.
    --

    --
    You are not alone. This is not normal. None of this is normal.