LGPL and Licensing Freedom?
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)
mike
mjohnson@davesworld.net "
"...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 "
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:
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.
If you're not part of the solution, you're part of the precipitate.
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:
You might want to look at The Open Source website, expecally their short approved licences list.
Lastly I think you might want to look at Setting Up Shop: The Business of Open-Source Software 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.
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.
æeee!
You might want to look at the license for ACE and TAO. 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
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"
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! >
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.
--
-=DaveHowe=-
The BSD License is often criticized for allowing commercial vendors from benefitting from the work of free software authors
:)! BSD is criticized for allowing unassociated parties to just grab source change and keep it.
Not so fast
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 message on the other side of this sig is false.
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 , where Stallman explicitly states this intent:
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
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 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.
From the NPL FAQ:--
We have fought the AC's, and they have won.
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
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.
Any sufficiently advanced technology is indistinguishable from a rigged demo
--Andy Finkel (J. Klass?)
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.
Ahh - My eye!
The doctor said I'm not supposed to get Slashdot in it!
- Modifications to the existing NPL code MUST themselves fall under the NPL - and be available to Netscape for their own private use.
- 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--
-=DaveHowe=-
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 and LPRng. 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).