Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
The Internet

LGPL and Licensing Freedom? 66

Father asks: "I'm trying to develop a cross platform alternative to ASP (Active Server Pages) based on Object Pascal (Delphi) and have hemmed and hawed for some time over licenses. I want to LGPL, but I would also like to create a commercial version (binary only) compiled from the LGPL version. My idea is to keep a register of contributors and their activity, and pay them a gratuity for assisting in the GPL version provided they post updates/fixes to my site, and they are 'accepted' for the primary distribution." Sounds like an interesting idea. Would a BSD-style license allow something like this or is the LGPL good enough?" (More)

"...I do not want to hinder other distributions, but create an LGPL product that can also help pay those heating bills. Basically I want the software to work like a journal... great good and all, but a little spare change doesn't hurt.

I know there are a host of License buffs out there on /. and I am hoping to at least get an idea as to whether I'm heading down the right road. If not, perhaps I'll just leave it at LGPL and go along my merry way.

Please help,
mike
mjohnson@davesworld.net "
This discussion has been archived. No new comments can be posted.

LGPL and Licensing Freedom?

Comments Filter:
  • by Anonymous Coward
    You can very easily release your code under two seperate licenses. You can [L]GPL it and BSD it if you'd like. You are the copyright holder and remain in full control of how you license your works.
    The question is not whether he can use multiple licenses. Obviously the copyright holder can do whatever they wish. The question was on how to handle contributions from other parties. He has full control over his own source code -- but without agreement from contributors, he cannot make use of their changes/additions.
  • by Anonymous Coward
    If you release your product under LGPL it can be included in commercial closed-source products without paying you anything and that obviously isn't what you want.

    Instead, release it under the GPL and specify on your homepage (or whatever) that it also is available under other licenses for commercial use. When you then get a request from someone who wants to include it in a closed source product you are free to license it to them under any terms you agree upon.

    However, that demands that you either remains the one and only copyright holder of your product or that you get anyone who submits you patches to accept that you also can release the code under whatever additional license you see fit. This is generally not a problem for minor patches, people tend to accept that, as long as you continue to maintain a GPL version. Make sure to state VERY clearly that any patches that are sent to you might be released under other licenses as well, that might save you a lot of trouble later on in case of a missunderstanding.

    The only real disadvantage is that you can't include previously GPL:ed code that might prove usefull (unless you can contact all the contributors to that code and get their acceptance). Also, if you loose your status as maintainer of your product (someone forks the GPL version and gets accepted as the new maintainer by the community), you might not get any usefull contributions anymore, but that is a risk you have to take and as long as you do a good job as the maintainer, the risk is very small. You can minimize that risk by trademarking the name of your product, that way they can't fork it and use the same name unless you allow them.

    /Tord

  • by Anonymous Coward
    The BSD License (with advertisements) works best in this case. It gives you the freedom to utilize other's contributions. It would also give you the freedom to not pay a royalty to contributors should that eventually become a managerial or other kind of nightmare :)
  • so if it dosen't say this, somebody just say "it dosen't say that" or whatever.

    It doesn't say that.

    See http://www.gnu.org/copyleft/gpl.html [gnu.org]

    --

  • The BSD license is best because it's short, simple, clear, unambiguous, and fair.

    If you want to create a reference implementation or framework, and your mission is to promote the standard protocol or language embodied in that framework, then the BSD license is a great choice. After all, in this situation you don't mind a commercial vendor picking up your code base and not contributing changes back to the community. You are just happy that they are advancing the standard. This is the mission and the achievement of the internet plumbing pieces that Brett cites in his post.

    If however, your mission is to create an implementation that will remain open to the community (presumably based on standards that are well established and don't need further help), then the GPL is an excellent choice, since it will encourage improvements and changes to keep flowing back into the original code base, and protect the code base from being hijacked into binary only products, (unless of course some arrangement has been made with the copyright holders of the GPLed code).

    On the gripping hand, if your mission is to make big wodges of cash, then you'll probably want to keep your development closed, and sell binary copies under an obnoxious UCITA-friendly shrink wrapped license.

    It does not seem to me that a programmer who wants to encourage his colleagues to contribute to a project should adopt a license whose explicit purpose is "ban" them from making a better living than a grad student!

    I think you misread the motivation. I can make big wodges of cash by picking up a sawed off shotgun and visiting a few of my local banks. Yet for some reason, society "bans" me from engaging in this wholesome and profitable activity. RMS seems to feel that, being as the vast majority of software technique is a common pool developed by the contributions of thousands, arbitrarily walling off portions of the noosphere on the grounds of patent and copyright might be a little like robbing the intellectual bank. You can argue the specifics of how society might best encourage innovation, while at the same time not choking the golden goose of a free enchange of ideas, but please, lets not invoke base motives here. It seems to me that RMS himself has done considerably better in his financial life than the average grad student.

    Remember, 80% of software development is of custom code that is valuable only to one specific customer anyway, so none of that work is going to be imperiled by the red menace of the GPL. On the contrary, the wide availability of quality, community maintained tools and infrastructure should only make our lives as programmer more productive and pleasent, since we no longer have to labor with black box APIs that are changed at the whim of incrutable marketing departments...

  • i think i read somewhere in the GPL that in the process of GPL'ing the code, you give the copyright to the FSF.

    Is that your final answer? Would you like to use your lifeline? ;)

    No sorry, that is incorrect. You have confused the policy of the FSF, which is to get copyright on all contributions to projects they maintain assigned to themselves, and the language of the GPL itself.

    You can most certainly GPL code, and keep the copyright to yourself. This is the situation with, for example, the Linux kernel. The result of this situation is that after awhile, it becomes quite impractical to determine who holds the copyright to what part of the codebase. This is not a problem if it is not desired to distributed the code under a different license as well (and this is the case with the Linux kernel)

    However for those, such as the poster, or Cygnus, or Aladdin, who want to be able to release a GPL version of their project, and also make money by licensing their codebase to binary-only folk, it is essential that they retain sole copyright on their codebase. This is accomplished by asking patch contributors to formally assign their copyright to the project maintainer.

    The FSF also requires copyright assignment. In their case, the justification is that in the event of a legal dispute, they would be in a position to prosecute any violations of the GPL on their projects without needing to involve anybody else.

    Summary: you continue to hold copyright on any code you place under the GPL, unless you specifically assign that copyright to someone else (for whatever reason)

  • Essentially true...

    It is the responsibility of the copyright holder to defend the copyright from infringement. If you fail to do so for long enough, then other parties can start claiming rights. This is why so many Big Media Corporationstm err on the side of rabid lawyers attacks when their copyrighted properties are being used. Even when the actual use falls under fair use provisions. After all, their lawyers are on retainer, so its only you that has to spend money to defend yourself. But I digress...

    The GPL is based on the notion of using existing copyright to provide legal teeth to the basic "play nice" notion of copyleft. So in order to mount a legal defense of a particular work, it would have to be undertaken by the copyright holder(s) of that work.

  • It's all true! We commie bastiches will not rest until every red blooded American "programmer" is out on the street begging for used DIMMs.

    But not just yet... First I have to go re-line my football helmet with tinfoil!

    Meanwhile, I'm eagerly awaiting TomC to weigh in on the immorality inherent in the system!

  • As to the language issue, he (and I) may find C as ugly as you apparently find Pascal. And C++ bears all the signs of committee work.

    Leaving aside personal opinions and aesthetics, however, Pascal is a more straightforward language to parse than C or C++, and is relatively pure on the Borland branch. C would be better than C++, as it would avoid tremendous complexities, but another issue lurks: C, C++, and Java all muddy the same syntactic pool. An approach based on Pascal would not represent yet another pollution of C-flavored syntax.
  • There's already PHP [php.net] - a crossplatform alternative to ASP. Why not help them instead of starting all over, using a Pascal-ish language (ugh)? Because of the money?
  • By all means, it's his time and he's free to spend it however he wants. I was merely pointing out an option, although that was probably not what he asked for.

    If he goes through with the project, it's very commendable of him to work on a free version. My comment might have come out the wrong way, sorry.. Mondays. Hate'm. :)
  • One note on this: people who write software for your product don't necessarily have to assign the entire copyright to you. They could theoretically assign to you the right to distribute their patch, or to distribute it under the GPL, or to distribute it in North America, or...

    How many rights you require people to assign to you before you accept the patch is up to you. You might choose to only require some subset of the rights be signed over to you, if that would "sweeten" the deal and get more people to work with you.

  • The LGPL doesn't really do what he wants, since it allows the library to be used in commercial closed source applications (since it is only linked in). GPL is really what he would want in order to retain the freedom to require commercial companies to pay for the use of his library.
  • Microsoft's spokesperson for ASP said:

    So, let's try it slowly:

    ASP = language independant object toolkit for writing server side web applications

    PHP = combination of a new high level scripting language and a way of embedding it in HTML and having an http server execute it.


    Zend [zend.com] = free language independent parsing engine for writing server side web applications, powers PHP4


    ASP is a well thought out object model that gives access to session maintenance at a range of persistence levels and scopes, as well as cached, efficient DB connections, and feature rich objects that handle HTTP transactions.

    Feature rich objects, now with 40% more widgets! :)

    Session management is built into PHP4, and is available in PHP3 through PHPLIB. I have no idea what qualifies as "cached, efficient DB connections", but I know MySQL is quite fast and effecient. Plus, you don't have to pay $1500 for MS SQL Server.

    Sorry, I can't help it. I'm a PHP advocate.

    - Scott

    ------
    Scott Stevenson
  • You can very easily release your code under two seperate licenses. You can [L]GPL it and BSD it if you'd like. You are the copyright holder and remain in full control of how you license your works.

    -----------

    "You can't shake the Devil's hand and say you're only kidding."

  • Maybe he has legacy OP code that needs to be used here? Maybe he feels that (ugh) way about the PHP-language. Maybe he's just really bored. That's not the point.

    The man asked a question and instead of helping to answer it, you have (without any knowledge of his reasons) told him that his efforts are a waste and insinuated that he is greedy. It's too early for this sort of thing.

    -----------

    "You can't shake the Devil's hand and say you're only kidding."

  • IANALEOAL (I am not a license expert, or a lawyer (nor do I sell double-glacing)), so what follows may not be correct anyway;)

    I suppose it depends on the difference between the normal and binary only versions. It might make sense to issue the 'core' program LGPL, and then charge for binary-only additions (modules), which the LGPL would cover AFAIK.

    Of course this wouldn't make sense if the binary-only one has extra 'core' functionality, in that case can't you just re-license anything that is (c) you, and request that all contributors do the same, to allow the entire thing to be released binary-only.

    Personally, I'm not convinced that using (L)GPL'd code like cripple-ware is a Good Thing (tm), and think that a 'free for non-commercial use' clause might be better.


    --
  • Enhydra (the OpenSource Java Application server) has similar issues.

    So, they've decided to mix and match. [enhydra.org]


  • i see. okay. then the FSF has no power to, on it's own, enforce a GPL violation involving code whose copyright belongs to somebody else--is that right?

  • this is a perfectly reasonable post, and usually it would be right, but...

    i think i read somewhere in the GPL that in the process of GPL'ing the code, you give the copyright to the FSF. in that case, it seems that you would no longer be able to distribute the same program under a different license (the same way an employee of a software company wouldn't be able to sell his company's product).

    anyway, i am not trying to slander the GPL, so if it dosen't say this, somebody just say "it dosen't say that" or whatever.

    so, am i right?

    sh_
  • You would pay for the non-GPLed version if you want to do something with it that the GPL does not allow -- i.e. make and release binary only versions.

    Or you want to write BSD-licensed software.
  • One thing you might want to look into: Your main code gets GPLed. Modules get GPLed. However, there's a convenience tax :) Anyone who wants the binary to install must pay for it. The source itself is what the GPL covers as I've read it. The funny thing about Linux/BSD is that while the resources required for running software can be low, compile jobs require a considerable amount of power. And even permanently connected machines cannot be in continous update mode. And no one running a business would 1) waste the bandwidth nor would they 2) waste the resources constantly recompiling the only thing available, the source. As for the approved patches only approach, the Linux source is maintained exactly this way. Nothing new here. So I guess what I'm saying is if someone is going to try to skip on the price for the binaries, they'll have to invest in some serious hardware. It isn't exactly the best option for a business tho even if they do make money. Any resources they have have to be allocated to handle customers' needs. (I sort of have the idea that if somebody is going to go the hard way, might as well reward them for investing their time in their own education. Every business has certain things they do inside and other things they depend on others. It goes with the territory of whatever type of business your in. There is no business that can last going the easy way at all times. Companies have to commit to the mundane/time consuming stuff if they want to be taken seriously as well as keep up with the rest of the world.)
  • One thing you might want to look into:

    Your main code gets GPLed. Modules get GPLed. However, there's a convenience tax :) Anyone who wants the binary to install must pay for it. The source itself is what the GPL covers as I've read it.

    The funny thing about Linux/BSD is that while the resources required for running software can be low, compile jobs require a considerable amount of power.

    And even permanently connected machines cannot be in continous update mode. And no one running a business would 1) waste the bandwidth nor would they 2) waste the resources constantly recompiling the only thing available, the source.

    As for the approved patches only approach, the Linux source is maintained exactly this way. Nothing new here.

    So I guess what I'm saying is if someone is going to try to skip on the price for the binaries, they'll have to invest in some serious hardware. It isn't exactly the best option for a business tho even if they do make money. Any resources they have have to be allocated to handle customers' needs.

    (I sort of have the idea that if somebody is going to go the hard way, might as well reward them for investing their time in their own education. Every business has certain things they do inside and other things they depend on others. It goes with the territory of whatever type of business your in. There is no business that can last going the easy way at all times. Companies have to commit to the mundane/time consuming stuff if they want to be taken seriously as well as keep up with the rest of the world.)
  • I think that the proposal you make creates a fundamental conflict of interest; and isn't necessary anyway. At Hewlett-Packard we recently had a similar problem come up when we explained to our management why we wanted to open source e-speak [e-speak.net], a piece of infrastructure software for creating free (as in speech) services markets.

    The conflict of interest is between asking people to accept that you are using the GPL to show the world that the software you are releasing will create a level playing field while at the same time reserving a priveleged place for yourself. At any point you can argue that your software isn't making enough money because you didn't reserve enough of a special position for yourself, leading you to close the source to more of the product, and alienating the open community that is trying to grow around it.

    The first step IMHO is to consider the development costs of the software a writeoff -- and start considering instead how you can make money from the service surrounding the software instead of the software itself.

    The key argument that I make to my management is that even if the source is open, that doesn't make it a product. There are some people who are willing to download and work with software without any support and packaging, but those are precious few and their attention is divided among hundreds of different pieces of software that they could possibly be working on.

    But by combining that source code with a good test suite (to minimize package bugs, and control backward compatibility), a product release stream (to make it easily installable, include GUI management front-ends, precompiled with a top quality compiler, etc.), a call-in support line, and company backed performance guarantees, you have added something that the source by itself doesn't have.

    It is an ongoing area of controversy, but I really think that after releasing a set of code under GPL you should never look back, but push forward to really gather in the community you are trying to create and avoid sending mixed messages like: you can use this for free, but please don't compete with me.

    That having been said, if you really want to do this I know that there has been at least one successful counter-example to my opinion; take a look at the ghostscript site and see if you can cope with that model.

  • The GPL has never been tested in court. In particular, the GPL's unusual "copyleft" provisions (as Stallman calls them) are most likely invalid. Other portions are suspect as well.

    The X11 or BSD licenses, by contrast, says what they mean and that's that. Under these licenses, you know your rights. With the GPL, you can't be sure.

    --Brett Glass

  • Regardless of what license you choose for your code -- or even if you do not release it as open source -- there is always a risk of a competitor getting a bad patent. To claim that the GPL increases this risk is misleading.

    --Brett Glass

  • Regardless of what license you choose for your code -- or even if you do not release it as open source -- there is always a risk of a competitor getting a bad patent. To claim that a license other than the GPL increases this risk is misleading.

    --Brett Glass

  • The other message with the same title should stay.
  • The GPL is based on the notion of using existing copyright to provide legal teeth to the basic "play nice" notion of copyleft.

    "Copyleft" is not a "play nice" notion at all. (As Richard Stallman himself puts it, "The GPL is not Mr. Nice Guy.") "Copyleft" is an attempt to destroy programmers' livelihoods and hurt commercial developers.

    --Brett Glass

  • If you want to start with the LGPL, you could consider adding a Stallman-approved binaries exception of the kind used by WxWindows [wxwindows.org]. This preserves copyleft on all source distributions, but gives everyone the right to make proprietary binary products. If you want to reserve that right to yourself you'll probably have to wade in and try dual-licensing. Aladdin Ghostscript is the pioneer example.

    You might also consider adding a copyleft term of some sort to the MIT (BSD without advert clause) license.

  • Okay, so this is offtopic, but shouldn't it be +1, Funny? Congratulations to the AC who posted this. I had a good laugh.
  • if the two are identical why in the world would I pay for the commercial version? I think you have answered your own question. You would pay for the non-GPLed version if you want to do something with it that the GPL does not allow -- i.e. make and release binary only versions.
    Anomalous: inconsistent with or deviating from what is usual, normal, or expected
  • Why not JSP (Java Server Pages)? You get to break free from Win32 tyranny and have a great object oriented system that will soon support multiple scripting languages.
  • Only the sole copyright owner of a project is allowed to release a product under multiple licenses. As soon as you start accepting improvements from the free software community, you have to worry about who ownes the changes. If someone gives you an improvement under the GPL, you are only a licensee of the improvement, and thus you cannot redistribute it under your own terms. You need to get OWNERSHIP of the contribution if you want to keep using a dual-licensing scheme, and far less developers are likely to go along with it. I have been in such a situation, and I in fact refused to contribute.
  • Ghostscript is released under the GPL (18 months late), as well as having a "proprietary" release (1st 18 months).

    I gather that changes are accepted under the condition that they can be used both with "GNU Ghostscript" and "Aladdin Ghostscript."

    This seems to have been a decent trade-off over the years; people have considered it worthwhile to contribute changes without necessarily being paid directly.

    I'd tend to think that three factors should come in:

    • Make sure that it is clear that code contributions will be used in the two ways.
    • Make sure that code contributions are made public.

      There will be fewer "games" played of the sort there are in Hollywood with I sent you this script, see, and you made a movie based on it, and so I'm going to sue you!

      Whether patches are "accepted" or "rejected," they should be tracked, perhaps in a public archive.

    • Lastly, if there are to be rules about payment, apply them in a timely and scrupulous manner, lest people decide you're untrustworthy.
  • NO NO NO NO

    ASP is a well thought out object model that gives access to session maintenance at a range of persistence levels and scopes, as well as cached, efficient DB connections, and feature rich objects that handle HTTP transactions.

    It also provides a means to access this object model via Windows Scripting Host and any language that can be plugged into WSH. These include to my knowledge JavaScript, VBSCript, and PerlScript.

    So, let's try it slowly:

    ASP = language independant object toolkit for writing server side web applications

    PHP = combination of a new high level scripting language and a way of embedding it in HTML and having an http server execute it.

    People may have written PHP modules that emulate many of the methods available in ASP. That does not make it the same thing by any stretch of the imagination.

    I know there is a perl module Apache::ASP that attempts to closely replicated the object model used by ASP.

    It is a good object model, and people would do well to use it as a base for similar projects.

    Needling comment about Open Source not innovating should be inserted at this point.
  • I beleve the LGPL (or maybe even stright GPL) works, as long as you don't mind shipping source to all your "binary customers" (or shipping it on request). Of corse it won't prevent other people from doing the same thing, but Red Hat seems to be making enough money even with SuSE, Caldera, Slackware, et. al. in the ring.

    However I think you may want to look at the MPL (Mozilla Public Licence) as well. It has a few advantages to people who want a shrinkwrap and free reslease:

    • If someone modifys your MPLed source to use a Patented algo, they also assign the rights to use the patent (for at least the MPLed program) to anyone else who has the MPLed program. I assume this only works if they have the right to assign rights (i.e. if Lucent added an XOR cursor to Mozilla the right would assign, but if I did it, it wouldn't assign because I don't hold a patent on XOR cursors, Lucent does). This is applicable even to software where you are not intrested in doing a shrinkwrap release. It is a large part of why I picked it for w3juke [sourceforge.net].
    • You (the original author) are granted the special right to make your own modifications to the code without releasing them. In the long run it will be simpler to release them and get the benifit of more coders debugging, but it might be helpful to add a few features to a shrinkwrap version and fold them into the real release later (something like what Aladin does with Ghostscript).
    • It is far better to use a licence people accept as Open Source allready (after all people accept Mozilla as OSS, even if there is debate on how successful it has been). If you end up with the LGPL or BSDL and need to add/change it a little then you could be in for a bumpy ride, both in getting it accepted, and later in finding out if it does what you want if it gets chalanged.

    You might want to look at The Open Source [opensource.org] website, expecally their short approved licences [opensource.org] list.

    Lastly I think you might want to look at Setting Up Shop: The Business of Open-Source Software [hecker.org] which has a discussion of some of hte licences, and some bisness models to make money useing them (I havn't read this yet, just skimed it, so I appolgise if it isn't as good as I hope).


  • Basically he asks contributing hackers to sign ownership of the code over to him. He makes all code available through the GPL, but sells exceptions to commercial OS vendors.

    You can find the business model and licensing here [devlinux.com].
  • This means you can release it under whatever license or licenses you want. You can simply release an LGPL one and a proprietary one that differ only in source availability. This works even if both versions are essentially the same.

    The GPL is designed to give rights to the end-users, not to take them from the creator of the work.
  • You might want to look at the license for ACE [wustl.edu] and TAO [wustl.edu]. If I understand them correctly, they are BSD-ish in that they allow anyone to use the software without supplying source or having to return modifications.

    However, the license also contains a clause where you agree that if you do submit a patch, you implicitly agree to assign copyright to the ACE/TAO maintainers.

    ACE and TAO are an interesting open source project -- run by a university research group, with industry support for Dr. Schmidt's group and with private companies offering support, packaging, and custom development.

    Good luck, whatever you do.

  • Doing a dual license GPL(or LGPL or MPL) release doesnt prevent you as author from releasing the software under other licenses too, nor variants of it providing you dont incorporate other peoples patches.

    If you use a BSD license your competitors can pick up your code, they can trivially enhance it and refuse to provide your with their changes. If they are feeling bored they will also file a patent claim against you so that you cannot sell your own software any more without a huge lawsuit bill while they can smile and make all the money you should have made.

    The GPL has a patents with distribution rule for exactly these kind of reasons.

    If your code is a module or library and you want control of the module only then the GPL/LGPL can be excessive, in which case the MPL may well strike a good ground.

    If you simply want to throw code to the world and don't care who uses it for what and if they make your commercial life hard then the BSD license (epecially without the advertising clause) is pretty much perfect. Its a 'you have it you do what you like but dont sue me please' license.


    Alan
  • Do bear in mind, though, that many open-source coders are loathe to submit code under the NPL or MozPL, simply because the code can be put into a commercial product. I saw at mozilla.org (I believe) that they're of the opinion that there are more Mozilla developers within Netscape than without. (My apologies: I'd provide a link, but it was a couple months ago, and I've spent the last 15 minutes or so searching the site to no avail.)
    Yep, I remember that - I seem to recall it from the resignation letter some months ago however, and that it was blamed on too much of the original code being kept back by Netscape (so that a lot of work had to be done just to get to the same standard as NS 4 now "enjoys" :+). If I had a suspicious mind (and sadly I do) I would suspect that some of the replacement modules are actually replacing code NS couldn't release as they were bought-in libraries, and that NS are now getting free replacements for that code.
    To be honest though, I think ANY scheme that allows the author to sell a closed-source release of the package is going to be viewed with a certain distaste; the author might be better off going for the Redhat model - sell boxed sets, complete with support, and then sell support - based on his greater familiarity with the package than recent contributors, he should be able to manage something from that - particularly if he can appeal to the business market that tends to want a Retailer to have a contract with...

    < schnipp! >

    • If you take code out of one of the files contained in the Source Code and place it in a new file, whether you add new code or not, that is a Modification, and it is covered by the NPL.

    This is where the difficulty arises; assuming you are replacing an existing (or stub) routine, can you be 100% sure you haven't included one or two lines identical to the original? a library call? a data structure? No piece of code in a package this large can be an island, and you must have read hundreds of lines of code before you feel confident enough to contribute. Even assuming you carefully work around every identical code routine to keep your contribution unique, can you guarantee the next person to patch it won't drag in code from the main body, and contaminate your offering? as I say, it's a difficult area, and the FAQs don't really cover it well enough.
    --
  • The BSD License is often criticized for allowing commercial vendors from benefitting from the work of free software authors

    Not so fast :)! BSD is criticized for allowing unassociated parties to just grab source change and keep it.

    The GPL as I've read it says take my stuff change it but when you give binaries to someone you must give the source. It also says that the next in line gets the same rights as the previous person to receive the source. Note the word same. That's a BIG word. Now I read that as, unless otherwise noted, I can charge someone if they change source I have downloaded and edited from someone else and they want to take my generation and go binary only w/ their changes. See the thing is that as long as the original author (ie FSF) made no requirement of transfering back copyrights, I can charge people if they want to change the license on their generation. BSD I can't.

  • The BSD license is best because it's short, simple, clear, unambiguous, and fair. It also has a great track record: The programs which form the infrastructure of the Internet -- including BIND, Apache, X11, and BSD UNIX -- all use it. The availability of the BSD TCP/IP stack under the Berkeley license is largely responsible for the existence of the Internet today. Because virtually anyone can incorporate the code into a product or project, we have tremendous compatibility across a wide range of systems.

    The GPL, on the other hand, is long and complex. It includes a political manifesto which is required to be included with every copy. It prevents commercial reuse of the code, which means that it is fundamentally unfair. Anyone can use the program for what he or she wants except the commercial programmer, who is precluded from incorporating it in a product that he or she does not give away. This provision was intended by the GPL's author, Richard Stallman, to reduce the salaries programmers can make for programming and thus hurt their livelihoods. See The GNU Manifesto [fsf.org], where Stallman explicitly states this intent:

    "For more than ten years, many of the world's best programmers worked at the Artificial Intelligence Lab for far less money than they could have had anywhere else. They got many kinds of non-monetary rewards: fame and appreciation, for example. And creativity is also fun, a reward in itself.

    Then most of them left when offered a chance to do the same interesting work for a lot of money.

    What the facts show is that people will program for reasons other than riches; but if given a chance to make a lot of money as well, they will come to expect and demand it. Low-paying organizations do poorly in competition with high-paying ones, but they do not have to do badly if the high-paying ones are banned."

    It does not seem to me that a programmer who wants to encourage his colleagues to contribute to a project should adopt a license whose explicit purpose is "ban" them from making a better living than a grad student!

    The GPL also deters standardization by preventing commercial and closed-source products from using the same code base as open source products.

    In short, the GPL is a poor choice. The time-honored BSD license, or the MIT X license (which is nearly identical), is a much better way to go.

    --Brett Glass

  • Do bear in mind, though, that many open-source coders are loathe to submit code under the NPL or MozPL, simply because the code can be put into a commercial product. I saw at mozilla.org [mozilla.org] (I believe) that they're of the opinion that there are more Mozilla developers within Netscape than without. (My apologies: I'd provide a link, but it was a couple months ago, and I've spent the last 15 minutes or so searching the site to no avail.)

    OTOH, you *do* need to protect yourself with something like one of these licenses if you don't want to hassle with getting additional permission from each author; otherwise, it opens up a world of legal hurtin'. :) You might consider discussing with each contributor licensing terms and royalties upon submission of their code (or possibly even before they submit their code).

    The Netscape Public License FAQ [mozilla.org] has good explanations of not only the NPL, but several other open-source licenses as well, including BSD, GPL, LGPL, and the Artistic License.

    It's my understanding that the major differance between the LGPL and the GPL is simply the fact that you can link to GPL-incompatible libraries using the LGPL. Unless that's all you want to accomplish over the GPL, then there's really no major difference. 'Course, you could always make an Open-Source Copyrighted Undistributable Software Product. ;)

    Good luck in your endeavor.

    PS.

    However, as far as I know, the distiction of "what is entirely new code" is sufficiently hard to draw that most code ends up under the NPL. I am ready to be corrected on this, of course :+)
    From the NPL FAQ:
    The following is a good guide to what constitutes a modification.
    • If you change anything within one of the files contained in the Source Code, that is a Modification, and it is covered by the NPL.
    • If you take code out of one of the files contained in the Source Code and place it in a new file, whether you add new code or not, that is a Modification, and it is covered by the NPL.
    • If you rename a file or combine two or more files contained in the Source Code, that is a Modification, and it is covered by the NPL.
    • However, if you add a new file that does not contain any of the Original Code or subsequent Modified code, it is not a Modification, and is not covered by the NPL. This remains true even if the new file is called or referenced by changes you made in an NPL file; the changes made to the NPL file would need to be covered by the NPL, but the code in the new file could be under any other compatible license.
  • by itp ( 6424 ) on Monday January 24, 2000 @03:53AM (#1344348)
    Dual licensing isn't a problem at all if you're the sole copyright holder. Ask all contributors to assign you copyright before including their code contributions, and you're free to release it under any licenses you want.

    The GNU project retains copyright to all of their projects, so that (I assume) the switch to a newer version of the GPL, if and when this is necessary, is not a problem at all.

    --
    Ian Peters
  • From the question, it appears that the idea is to have an LGPL version and a commercial binary-only version. Dumb question, if the two are identical why in the world would I pay for the commercial version?

    As I understand it, The LGPL lets me ( Binary-Only Software Inc) get away with just about anything if I dynamically link, or merely requires me to provide a linkable object file containing my proprietary binary(and there are tools to combine a pile of object files into one massive one, so shipping one .o file would potentially meet the requirement), as well as requiring the distribution of the original LGPL code.

    Are these minor hassles to Binary-Only Software Inc. really worth paying you money? I doubt it.

    With the Cygwin distribution, Cygnus uses a dual GPL/commercial licence to ensure that binary-only developers need to pay for a licence. This would probably make more sense. I realise that such a licensing scheme would make life difficult for BSD'ers, but from a revenue-generating standpoint it's the only variation of this business model that really makes sense.

  • by Father ( 118609 ) on Monday January 24, 2000 @04:55AM (#1344350)
    Well, I'm not going to charge for PSP... it seems like too much ahssle and that I would cause more harm than not by trying to make money directly from it. BTW, you can downloaded Beta v.9 at Torry's delphi pages and also the Pascal Super Page! It doesn't have all the nice explainations... its a rogh cut and all, but I'm still working on it....

  • So would all contributors get an equal slice of the pie? So that the contributor who puts forth a 5-minute 2 line fix gets the same as the one who spends 3 weeks debugging a 1200 line mega-function?

    Or do you plan to somehow determine the "worth" of each contributor's code? What method would possibly be fair? Lines of code? Profiling?

    I think you might be asking for disputes.

  • by DaveHowe ( 51510 ) on Monday January 24, 2000 @03:53AM (#1344352)
    If I recall correctly, the Netscape licence for Mozilla allows for this - a public code base, but with an explicit licence for Netscape themselves to release any "improvements" added to the public base as part of their closed-source version. The exact details are on the Mozilla licence [mozilla.org] page, but basically it falls into two groups:
    1. Modifications to the existing NPL code MUST themselves fall under the NPL - and be available to Netscape for their own private use.
    2. Entirely new code may be licenced under NPL or under the Moz licence (code under the Moz licence is not available to Netscape for commercial purposes)
    However, as far as I know, the distiction of "what is entirely new code" is sufficiently hard to draw that most code ends up under the NPL. I am ready to be corrected on this, of course :+)
    --
  • by Anonymous Coward on Monday January 24, 2000 @03:54AM (#1344353)
    Remember, the copyright holder can release code under multiple incompatible licenses. So, the key thing is for you to insist that all patches be signed over to you (or, more appropriately, the company you found to handle the commercial side of things); if they won't sign the patch over, refuse to accept it. So, then the copyright holder is Widgets, Inc., and is free to release under both the GPL (or LGPL, or BSD, or Artistic, or whatever) and under a commercial license.

    You can then track who gives you patches, make them shareholders in Widgets, Inc., and give them a portion of the proceeds. The key thing is to get all the code under one copyright holder, so you can then do whatever the hell you want.

    For some real-life examples of this, check out CUPS [cups.org] and LPRng [astart.com]. Both release both GPLed and commercial versions, and both operate like I've suggested (though I don't believe either one contributes net profits back to patch contributors).

The Tao is like a glob pattern: used but never used up. It is like the extern void: filled with infinite possibilities.

Working...