Slashdot Mirror


Ask Slashdot: Comparing Open Source Licenses

El-ahrairah asks: "I've been working on several projects over the course of the last few years, each of which have reached the stage where we are planning their release to the public under Open Source licenses. I have done quite a bit of research into various OS models, but I am nevertheless no legal scholar. what I am wondering is this: what are the pros and cons of various licenses, are any YAOSL (yet another Open Source licence) models valuable, does a line by line comparison of longstanding and new licenses exist?"

24 of 104 comments (clear)

  1. Who'll want to use it? by Anonymous Coward · · Score: 2

    When picking a license you should consider who you want or expect to use your software, and what for...
    If you expect that projects under GPL will want to use some or all of your project, you need to remain GPL-compatible. Modern BSD (no advertising clause) and all GNU licenses are GPL-compatible
    If you expect that proprietary projects will want to use your code, and that's OK (because you're trying to popularize a standard, or protocol, not save the world) then you should choose LGPL (if they just need to link with it) or BSD or even Public Domain, so that they can just use it without worrying about lawyers...
    If you just expect people to use it, with you or your team doing all or most of the maintenance, then you could pick any license you like. If users don't like it, they'll explain why and since you still own the copyright you can change to a different/ better license later.

    Another thing to consider (but less important) is - who do I owe for all this?
    Linus for example, has said several times that his decision to license Linux under the GPL was influenced by the high quality of GNU tools like GCC, which were essential to continuing kernel development. If there's a tool which was a godsend when you were working on these projects, consider whether you should mimic the licensing of that tool.

    Finally - note that some people have found it appropriate to make things available under two or more licenses. Perl, AFAIK, is an example of such a project.

  2. Good Comparisons in the Open Sources book by Anonymous Coward · · Score: 2
    There are some very good Open Source license comparisons in the book 'Open Sources : Voices from the Open Source Revolution'. Especially the article by Bruce Perens and Brian Behlendorf are very informative regarding different licenses.

    Incidentally this book has just been released under the GPL. You can fetch it from http://www.oreilly.com/catalog/opensources/book/to c.html

  3. One thing seems clear in the chaos .. by Anonymous Coward · · Score: 2

    All of the discussion and ranting about the various licenses leaves me convinced of one thing ....

    If Linux had been under a BSD style license, MS would have an easy and clear way of destroying it as a competitive threat. They would create a prorietary fork, flood the market with it, and we would all live in an MS world for the indefinate future.

  4. BSD credit where due clause by Anonymous Coward · · Score: 4

    Many people happen to like the BSD credit where due clause.

    If someone takes my code and sells it as part of their product, the *least* they can do is be gracious enough to acknowledge my contribution to what they're selling.

    What the BSD license basically does is make this a requirement. Is this obnoxious? Well, if someone was going to do the right thing anyway and give credit to the people who actually wrote the code, then this creates no real additional burden. If someone was going to *not* provide credit where it's due, well, not giving any recognition either credit or financial to the people who's code you're selling is pretty obnoxious, don't you think?

    Also, you misinterpreted the wording of this clause in a major way. It says:

    All advertising materials mentioning features or use of this software must display the following acknowledgement

    Suppose I write code for a specific cool-neat-feature and you put it in your product. This clause does *not* require that all advertisements for your product contain the credit statement. It only requires that advertisements that specifically mentions my code or the use of my code acknowledge that it's my code. That's a big difference.

  5. GPL, BSD, Artistic, and so on by Anonymous Coward · · Score: 5

    Basically, software licenses in free software are a form of social engineering. Your choice of license should steer people towards doing what you really want them to do.

    Some examples of goals to consider:

    * Credit given to you. Beyond simply asking people to give credit where it's due, you also might want to have a way to refute when other people claim to have written your code. (it happens)

    * Integration into commerical products. Some people want this, for example in order to get the code/feature/technology more widely used. Some people don't want this, for example to prevent others from making a profit off your work.

    * Control over the "official" distribution. Some people want to make sure that the software named "foo" is theirs; if someone else creates a derivative, they should name it something other than "foo" so as to not confuse things and potentially hurt your reputation.

    * As a general rule, you want to disclaim everything you can and even things you can't. Otherwise some scumbag will sue you for their misuse of your free software.

    The first item basically summarizes the goals of the BSD license: prevent others from claiming that they instead wrote the code, and to require others to give credit where it's due. The BSD license is very typical of licenses that allow commercial products to take your code.

    The second item's other side basically summarizes the goal of the GPL: preventing your free code from becoming someone else's non-free code and someone else's profit.

    The third item basically summarizes the goal of the Artistic license: prevent bozos from releasing branch versions of your code with the same name and making you look bad in the eyes of users who confusedly thought their version was your program.
    Reputation protection.

    There are a whole lot of yet-another-licenses out there. Most of them suck and should be avoided. In particular, they have served to greatly confuse what used to be a relatively simple thing. Use a standard license if at all possible. Really. Better to have slightly less optimal legal terms that are well understood than optimal legal terms that people can't decipher. By the time lawyers are reading the licenses, something is usually wrong.

    Many of the new generation of "open source" licenses are "you have to be free, but we don't have to be free" licenses, which might also be phrased as "we want other people to write code for our product for free" licenses. Don't go there.

    1. Re:GPL, BSD, Artistic, and so on by Carl · · Score: 4

      Nice summary.

      If you want to read more please read the preamble of the GPL. And other articles on the fsf/gnu site starting with What is Copyleft article.

      Another good place is the Social Contract of the Debian project. There is some more info on their What does free mean page where they list some different licenses and the features of those licenses. (And a warning against creating Yet Another Free License).

      Cheers Carl

      P.S. You might also like the diagram showing relationship between different categories of software.

  6. A short, sweet alternative... by gavinhall · · Score: 2

    Posted by the.big.cheese:

    Why not use the Cartesian Burro-Friendly License? It works as a standalone license or in combination with other more headache-inducing licenses. See http://www.revoltingdevelopment.com/cbfl01.html for details.

  7. Get a clue, indeed. by Frater+219 · · Score: 3


    > All GPL'ed stuff belongs to Stallman, read the license.


    You can find the GPL here. If you actually do read it, you will find that noplace within it does Stallman, nor the FSF, claim copyright nor special privilege over GPLed software.

    The license does contain some passage specific to software copyrighted by the FSF, for instance the following:


    # 10. If you wish to incorporate parts of the Program into
    # other free programs whose distribution conditions
    # are different, write to the author to ask for permission.
    # For software which is copyrighted by the Free Software
    # Foundation, write to the Free Software Foundation;
    # we sometimes make exceptions for this.


    Read that carefully. FSF does not claim to be the author nor the copyright holder of all GPLed software. Your claim is at best a myth, and at worst a lie which comes close to being FUD.

    If you object to some particular provision in the GPL, release your software under a modified version. You could, for instance, strip out the versioning provision (the part which specifies that the licensed software may be licensed under newer versions of the GPL) or add a BSD-style credit-due provision.

    In the future, when you call on others to RTFM, please don't make claims which contradict the text of the relevant FM.

    1. Re:Get a clue, indeed. by Frater+219 · · Score: 3

      You are correct on the matter of revising the license, but not on the matter of versioning. In order for the versioning provision to be in effect, the author has to either explicitly state that the software is licensed under the GPL version N and "any later version", or not mention any version number.

      It may be that the FSF's model copyright notice uses the "any later version" language. However, the copyright notice is separable from the license itself; you can write your own copyright notice placing your software explicitly under the GPL version 2 and no other version.

      Furthermore, the original poster claimed that Stallman owned all software released under GPL. ("All GPL'ed stuff belongs to Stallman") This, of course, remains false. Copyright vests in the author, not in Stallman or FSF, unless the author assigns it to Stallman or FSF. While Stallman might like authors to do that, it's not a requirement of using the GPL, nor does the GPL even imply that Stallman or the FSF want copyright over all free software.

  8. The right license depends on YOUR goals. by jmorris42 · · Score: 3

    No way this thread can answer the question for you unless you tell us what YOU want to accomplish.

    As for me, I'm a selfish bastard so I'd never consider anything but the GPL or LGPL for any code I happen to generate. The only reason I'd let others have my stuff for free is to be able to get patches back.

    Others have different motives so would pick a BSD license. I can tell you that as a practical matter your choice is between a BSDish or GPL license. Any other sillyness in a license tends to just kill a project. It might not seem logical, but it is true.

    --
    Democrat delenda est
  9. LSL --- unenforcible ? by Phil+Hands · · Score: 2

    Given that copyright law relates to when one is allowed to copy something, attempting to restrict someone's use of a program once they have legally obtained a copy is not something that you can do with a copyright based software license (AFAIK).

    Hence, If I download a copy of your code, to have a play with it (i.e. obtain a legal copy). Then, once I have the legal copy, it seems to me that I can quite legally use it to run my business --- I just cannot copy it further, and distribute it.

    The only way to enforce this, is to get me to enter into a contract prior to giving me access to the code, in which I agree not to use the software for anything commercial.

    Dan Bernsein's take on the situation is probably worth reading, since I'm not a lawyer.

    --

    Debian: GNU/Linux done the Linux way
  10. License for your goals by Eivind+Eklund · · Score: 2
    Choose a license based on your goals. Be really, really careful about evaluating how the license will bring those goals about, taking care to remember that coorporations are extremely license sensitive, and will not work on badly (from the view of them making money) licensed codebases.

    Example: If you goal is to destroy the market for properitary software, use the GPL. If you goal is something else (like my goal, maximizing the amount of good open source software), choose a license that aligns with that.

    From my analysis, the GPL is directly counter-productive to my goal - it is, however, effective for what seems to be Stallman's goals - forcing all software to be free software. (See especially the end of the manifesto).

    A common fallacy is to believe that "all software is free software" is equivalent to "maximize the amont of free software" - it is not.

    Personally, I usually choose to use a BSD-style license, in order to optimize the amount of use my sourcebase gets. If somebody use my code in a properitary product - great! They're working on the code, and are likely to send back bug-fixes and enhancements - and if they don't, I'm no worse off than I would be if they didn't use the code.

    Besides, usage of free code is much more common in small, innovative comapnies than in the large juggernauts (who can usually just cross-license code anyway). Effectively, I help the innovative part of the commercial segment, kicking the juggernauts in the balls - which doesn't exactly detract from the experience :-)

    Eivind.

    --
    Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
  11. Which licence? by joe_fish · · Score: 3
    I've been working on a project for the past 6 months that is just about is a state worth releasing - and I've been considering which licence to use.

    I would have GPLed it already but for these concerns.

    • People go around saying things like 'GPL means you can't link with non-GPL stuff' Now IANAL but I don't think it does, and the confusion is not good.
    • There appears to be a GPL3 in the works and I would expect that it will address some of the issues that RMS complains about. So maybe it will restrict plug-ins. Is this good? Do I want RMS to be deciding how my project is controlled? (Maybe I'll be forced to call it GNU/Project! :)
    • I'm not sure I want to be involved with a project that simultaneously criticizes the BSD self advertisement clause, and engages in obvious self advertising with the GNU/Linux debate.

    Opinions?

  12. SETI@home (Re:Basic License Choices) by Cally · · Score: 2
    There's one you've missed ... the best license I've seen for a long time, and I write as someone owning a GPL T Shirt ;)

    SETI@home. Check it out.

    SETI@home, version 1.0: License Agreement

    You should carefully read the following terms and conditions before using this software. Your use of this software indicates your acceptance of this license agreement and warranty.

    Disclaimer of Warranty

    THIS SOFTWARE AND THE ACCOMPANYING FILES ARE DISTRIBUTED "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OR MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED. NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.

    Adviso

    I understand that strong signals will occasionally be detected and displayed on this screen saver during the course of data analysis. I will not get alarmed and call the press when such signals appear, as I understand that thousands of signals have so far all proven to be due to interference (human made artificial signals) or test patterns used to test the hardware and software. I understand that potential signals this program identifies must be checked by SETI@home scientists to insure they are not from terrestrial origin, thencompared with other observations from the same star, then independently confirmed by different group of astronomers with different equipment.

    Distribution

    There is no charge for this software. Distribution of this software is prohibited.
    --
    "None are more hopelessly enslaved than those who falsely believe they are free." -- Goethe
  13. Re:list of types of licenses? by Carl · · Score: 2

    For graphics or text you might want to look at the OpenContent License (OPL).

    For free software licenses see the Debian GNU/Linux Waht does free mean? page which lists all the commen licenses.

  14. Re:GPL vs. BSD by Jonas+�berg · · Score: 2
    This is a higly controversial question and I don't think it'd do much good to bicker about the issue much longer. However, it should be noted that while the BSD license gives you more freedom, it also takes away freedom because it doesn't make sure that additions or changes to the program remains free.

    Also, it should be noted that the BSD license contains an obnoxious advertising clause that forces you to include "This product includes software developed by the University of California, Berkeley and its contributors." with all advertisments for your own product.


    Whether you like to have your program possibly being turned closed source is a matter of personal belief, but do NOT tolerate this obnoxious advertising clause! If you decide to use the BSD license, do the community a service and remove that clause from your license, or consider another license.

  15. Re:Please, don't spread FUD by Eric+Kidd · · Score: 2

    It is quite clear that you only have to give due credit when the software with said clause is being totted as a feature of whatever you are advertising.

    Yes. This is a problem. For example, if you have thirty different credit clauses in your TCP/IP network stack, and you say that you support TCP/IP networking, you'll have a big credit block in every ad.

    If you want credit, ask for it on a splash screen or in the manual. This doesn't turn into advertising gridlock, and nobody really minds adding an extra few pages to their documentation. The credit clause wouldn't be so obnoxious if it only said "UC Berkley"--it's when every single developer wants separate credit.

  16. Basic License Choices by Eric+Kidd · · Score: 5

    The best license choices are (in no particular order) the GPL, LGPL, XFree86 and fixed BSD license.

    The GPL

    The GNU General Public License is used for Linux and GCC. It allows anyone to make copies of your code--and change things as they wish--but it doesn't allow one user to take these rights away from another user. Use the GPL if you want every user of your program to always have source available.

    The LGPL

    The GNU Lesser (or Library) General Public License is like the GPL, but allows proprietary software to link against a free library. The Linux C library uses the LGPL. Use this if you want your code to remain free, but don't care about who uses it in their program.

    The XFree86 License

    This license allows anybody to do anything with your code, but it tries to prevent people from suing you. For example, a software company could take your program and turn it into a proprietary product without giving you any money. The X Window System uses this license.

    The BSD License

    The BSD license is sort of like the XFree86 license, but older versions had a bad bug. The older BSD licenses required certain phrases to appear in advertisements for the software. Because of this, it used to be illegal to advertise a NetBSD CD-ROM without giving credit to 75 people in every ad. Newer versions of the BSD license often remove the obnoxious advertising clause. If you want to use the BSD license, it's probably safer to use the XFree86 license instead--they both do the same thing, but no version of the XFree86 license contains bugs.

    Custom Licenses

    Avoid these if at all possible. Writing new open source licenses is very, very difficult and most people (even good lawyers) screw it up. The licenses listed above should cover most possibilities, and each one is known to work.

  17. Protections for "commercialized" Open Source code? by CLAVDIVS · · Score: 4

    I was thinking about OSS licenses after reading the "Restrictively Unrestrictive" article. The mother of a friend of mine is a published SF/fantasy author; some other friends of hers include a band on an indy label. As a result, I've picked up some stories here and there about the troubles artists sometimes have trying to get artistic integrity and a decent paycheck to coexist.

    When these two topic threads collided in my brain, the idea that sprung forth was this: Essentially the FreeBSD license, but with an extra clause stating that if someone wants to incorporate part of the licensed code into a product to be sold for money, they need the programmer's permission to do so. The programmer reserves the rights under the license to negotiate conditions for the codes use: if he likes the company and feels charitable, he can just tell them to go on and do it; if he has ethical problems with the company or what they might do with the code, he could flat out refuse; or for various points between, he could negotiate payment for the code, either as a flat fee or a royalty (knowing more about the lit. and music business than the software business, I have no idea if the royalty thing would ever happen).

    Also, it should be clearly stated that previous arrangements for commercial distribution IN NO WAY set a precedent for future agreements (this would hopefully protect the programmer when he tells WeSaySo Inc. that he wants sagans of dollars for his code, and they yell and scream about how he let Applix use it all for just a free commecial-use license).

    Thoughts, anyone? Do I have a good idea here, or should I just lay off the crack?

    --
    "It's 106 miles to Chicago, we've got a full tank of gas, half a pack of cigarettes, it's dark, and we're wearing sungla
  18. Re:GPL vs. BSD by Neil+Franklin · · Score: 3

    > GPL protects the rights of the author
    > BSD license is more free

    I do not think that that describes the crucial difference. I fact it is borderline to being simply wrong.

    Both licenses aim at protecting the author(s), but they have different ideas of what constitutes "the author(s)".

    - BSD assumes an small central group ("cathedral") of authors (such as CSRG), who want to retain control over the end product.

    - GPL assumes multiple/many distributed ("bazaar") authors who want to attract more participants by guaranteeing no hording.

    So it is mainly an centralism/anarchism thing, an issue of social organisation style.

    To select a license for your project, read above two descriptions and select which authorship model you are more comfortable with. Then use the license developed for that type. Now what about that for choice?

    --

    --

    --
    Intellectual Property is Intellectual Robbery

  19. Liberal Source licensing (aka COSS) by Paul+Johnson · · Score: 3

    You might want to consider Liberal Source Software as a licensing model. We haven't produced an actual license yet, but its in the works. See here for details.

    Briefly, the idea is to distribute software with source code and a license that allows experimental use, modification, and the distribution of modified copies, but requires payment for any kind of "real use", for whatever value of "real" is appropriate to the software. In most cases that would be commercial use, but for example with a game it would mean actually playing the game. A key part of the scheme is that the revenue is shared amongst the developers in proportion to their contributions.

    This was extensively discussed on Slashdot a while ago, under the heading "Commercial Open Source Software". Some people thought it was a good idea, others did not like it. Since then I've added some more explanations and clarifications based on the comments I received.

    Paul.

    --
    You are lost in a twisty maze of little standards, all different.
  20. That's a *LIE* by dcs · · Score: 2

    Let me quote:

    3. All advertising materials mentioning features or use of this software must display the following acknowledgement:

    And now, let me quote you: with all advertisments for your own product.

    It is very explicit that you must only place that comment *IF YOU MENTION THE CODE YOU ARE USING IN THE ADVERTISEMENT*. For example, the new OS by Apple need only have that in it's advertisement if it said "includes NetBSD code!" or something like that.

    In other words, it's a claim credit clause. If they are going to use the presence of the code as advertisement, they need to give credit to it in the advertisement.

    Stop spreading baseless FUD.

    --
    (8-DCS)
  21. GPL vs. BSD by cmc · · Score: 3
    While the GPL protects the rights of the author if the author wishes to keep the code open for others to contribute to, the BSD license is more free in that it allows people to integrate BSD-licensed code into closed source products, allowing people to make money. They both allow the code to be sold, but only one allows it to be sold only in binary form, with source made unavailible.

  22. can't link against non-GPL code? by CBM · · Score: 3

    People go around saying things like 'GPL means you can't link with non-GPL stuff' Now IANAL but I don't think it does, and the confusion is not good.

    The GPL doesn't govern what you do internally with copylefted code. As it states,

    Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program).

    The only question comes when you want to distribute a work based on copylefted code. Then you need to be sure that you comply with all of the modification and distribution terms of the license. The GPL thus does not prevent a person from downloading libreadline (which is licensed under the GPL) and combining it with their own non-free work, as long as they do not distribute the combined work. If they do want to distribute it, then the terms of all components must be made compatible with the GPL.

    The LGPL may also be relevant. It does permit an author to distribute non-free works which link against a LGPL library. The non-free work can be distributed under the authors own terms, as long as it contains no library-derived code. As the license states,

    A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.

    Again, if the library and the program are linked, then the resulting derived work must be distributed under a compatibly free license.

    Therefore, I would argue that while there are still significant responsibilities to the author when he links against GPL or LGPL code, it is incorrect to say that "you can't link [GPL code] against non-GPL stuff."