I too have had it with crappy licenses, code that can't be used because [X]PL doesn't go with [Z]PL. Licenses sucks, so I've made yet-another-license. Introducing The Foo License.
I too have had it with crappy licenses, code that can't be used because [X]PL doesn't go with [Z]PL. Licenses sucks, so I've made yet-another-license. Introducing The Foo License.
It is copied almost word for word by phk's Beerware license which I of course think is an excellent license. My new license goes like this:
/* ==================================================================== * "THE FOO LICENSE" (Revision 3.14159265358979323844): * * <firstname.lastname@example.org> wrote this file. As long as you retain this * notice you can do whatever you want with this stuff. If it does * anything you didn't want it to do, it is of course your own fault. * If we meet some day, and you think this stuff is worth it, you * can buy me a beer in return. - Ask Bjoern Hansen. * * ==================================================================== */
This does exactly what I want. It makes my code free. Not some complicated political kind of "free" that needs to be compared with speech or beer or whatever. Just free to use. And it can be read and understood by everyone with half a brain in less than 15 seconds.
it is of course copied FROM phk's license. Aaaahhhhrgh.
Øvbøv, jeg bruger allerede PHK's licens. (usual disclaimer for the danish impared.)
Well, I don't see the need for the stuff you added to phk's original license. I have used almost the same license for a lot of small projects and it really says what it need. I code for three reasons: The code should be used, I want credit for my work and beer is nice!
Story goes that RMS don't like the beerware license and sees it as making jokes about GNU GPL. If I know phk right rms is right.
While I respect the viewpoints of the enlighted programmers using GPL I feel sad for those who just slaps a GPL on their project because the think Microsoft sucks and GPL is the only real thing. My guess is that 90% of everybody using the GPL doesn't understand what it means and the of consequences of it.
In reply to brother:
I don't know if I'd say 90% don't get it. Most people get the concept; If you share the binary, you share the source. It's just that most people don't get all the little details; like that they could rewrite parts and keep the binary and source private (for example). It's that concept that's probably the most important, that source code should be free (as in freedom).
There are worse licenses, and the GPL is a bit more agressive (in a good way) about keeping the code public.
I've been writing Palm software lately. Way too much of it is closed source and some of the authors are hostile to open source and inquisitive people. Refusing to talk about what they did, how they did it, even if they never intend to sell the software in question. It reminds me of DOS shareware authors from the late eighties.
And some are even actively hostile.
I wouldn't put any of my palm software under a "beerware" license because I know that any good idea I had would be copied verbatim and sold on the number one closed source palm site, Palm Gear, in no time flat.
Which begs the question, why isn't there a good PalmGear quality site emphasizing OpenSource/Freedom software?
I have tried to collect some of the GPL Palm programs available in one place, but the list is far from complete or professional...
The profound difference is that GPL proponents want software to be free while BSDL proponents want people to be free to use/reuse their code. I find a grain of irony in the fact, that GPL is, perhaps, the best choice for closed-source shops that want to release some of their code as open source.
And the source code is still out there for the open source community to improve upon.
Roy Fielding makes a good point when he says that most open source projects can be replicated by a talented team in not too many months. What's the real strength of open source is not the code bases, but the communities.
...BUT if someone with more marketing power popularizes a proprietary version, it's harder to build a user community for the free version. It's the user community that does the most valuable SQA, both for the code and the documentation.
Perhaps I'm missing the joke, but if you actually want people to use your code you should probably use a bit more written-by-lawyers license that has the same effect, e.g. the X license. The foo license has the Artistic License problem, i.e. too vague to make lawyers happy, and lots of potential users require lawyer signoff before using anything. The beer clause shouldn't be in the license, it really has nothing to do with licensing. ;-) Though you could of course put it in all your files as an aside...
I guess you could think of legally questionable licenses as saying "if you need the legal department's permission, don't use this code," but if you're going to do that you may as well add a no-commercial-use clause up front and be honest about it. ;-)
If you don't want to use your brain you deserve to get ripped off.
GPL protects software from those who would rip you off.
Anything else is naively optimistic about human nature and the world as we know it.
Go read gnu.org and get informed.
In reply to hp
Cisco is using code released as beerware. I think it is the MD5-passwords that is beerware.
Commercial license as well protects software from those who would rip you off. Anything else is naively optimistic about human nature and the world as we know it. It just as well don't let competitors with more marketing power popularize a [competing] proprietary version.
GPL used to be a useful weapon in free software protest movement of 80s and 90's. The protest movement succeeded, and the weapon, the GPL, sort of fires back now. These days I hear this "rip you off" rethoric and see that "if you are not with us - you are against us" attitute demonstrated by /. readers and I wonder if GPL is really any different from other commercial licenses.
My history teacher in school tought us that any revolution after a short period during which things are "better" then before, inevitably plunges and things get worse then they used to be before the revolution. I watch the bloom of Free Software revolution and I'm starting to worry that we're sliding into the period of revolutionary terror and that a guillotine is to appear on the stage next...
I think that the license you want is "This is hereby placed into the public domain.". This is a well-established concept in Western copyright that everyone will understand.
I sympathize with your emotions about the plethora of complicated "open (source)/free speech/public" licenses. I once published a small code snippet with a license that said anyone could use it for anything as long as they made a sincere effort to e-mail me a piece of unique ascii art that they had drawn. ;-)
But for serious code, consider the following dialogues:
Engineer: We could use libblabber, which comes with a nice free license called the "Foo" license...
Manager: I would have to ask the lawyers to read the "Foo" license, and I would have to pay them $1275.00 for the favour. Forget it. Go implement the functionality yourself.
Engineer: We could use libblabber, which is in the public domain...
Do you need to retain copyright to properly disseminate disclaimers of liability? That is, even if the code is public domain, are you still responsible for its behaviour?
Lawyers don't like the idea that you might not need them, hence they make up excuses why you can't use license x, y, or z. Lawyers who don't specialize in open source will always, always tell you that it would be disastrous for your business to release anything with a free license.
The disclaimers excuse for public domain is particularly pathetic. If you make appropriate disclaimers yourself, there's no need to force other people to repeat them. You can't be responsible for what other people do with code you don't even own.
When picking a license, go with LGPL, GPL, or (my favorite) public domain. Don't bother asking your lawyers.
Last time I discussed copyrights and danish laws there wasn't such thing as public domain. Some sort of works just wasn't copyrighted (or had lost their copyright due to time). There was no way to say "I hereby place this work in public domain". But the Foo license is clearly not even close to being public domain. You have to aknowledge the original authors work. I still think the NO WARRENTY-clause is unneeded but I havn't lived in USAmerica, which could explain it.
In reply to ask, who asks: "...if someone "steals" your open source program, makes it closed source and sells it; what's the problem?" He says (I'm paraphrasing, if I do it wrongly, then I didn't understand his question, sorry) that what he cares about is good software, not the license.
Well, it matters to me, as a developer. Currently the books on the subject of programming for the Palm suck, and either ignore the GCC for palms or do a lousy job explaining how to use it. The O'Reilly book, Palm Programming has quite a few bugs, making me believe that they didn't even proof the writing or the code. It also suffers for orienting itself to only one type of app; a business data collection app.
I could read the book provided by Palm, but they cover a very narrow aspect of programming a palm. They explain what a command does, but don't do a very good job explaining when to use it or how. They are references, not tutorials.
What I do is go read the source of projects out there. I managed to write two programs using this way of getting things done. If there hadn't been examples for some of the stuff, they would never have been finished. I thank the people that used the GPL or Public Domain license.
But if someone takes my work and wraps it up in a closed source project, I'd be very mad. Now I can't learn from what they did. They took my work to help them, but they didn't return the favor. Maybe I know how to do what they did, but maybe someone else doesn't.
And it might matter to you as just a user of palm software. I'll give you a real example. My wife was looking at applications for traking workouts and found one that had some good ideas and was really close to what she wanted, but it's too buggy to be useful. If it was open source (or public domain) I could fix it. But it isn't, and I can't. So either she keeps on looking, use a program for the computer, or has me write one from scratch.
How are you, the customer (or user) benifited by this? I would argue that you aren't. A majority of the closed source programs for the palm are really close to being good, but don't go that last mile to make it truely useful. But I can drag a program that last mile if I have access to the source.
Regarding the argument that most open source projects can be replicated by a talented team in a few months. My answer: So what. If they want the functionality of my program, without having to pay the cost of returning the work to the community, then so be it.
The GPL is not without a cost. It's cost is that you must distribute the source with the binary. That may be too expensive for a company and that is okay. But it's not for me, and for anyone who might use a copy of my source.
My company wanted to use a license that tried to accomplish about the same thing as you Beer license. We talked to server lawyers and eventually came to license that is very close to BSD. It is OSI approved and you can see it at http://www.vovida.org/license.html
If I used your code, gave you a case of beers because I thought your code was great, then came a year later and sued you (assuming you live in the US) for some completely lame reason you would be a very unhappy camper. Many lawyers believe that your beer license would make you liable for many things. I'm perfectly happy to agree with you that the current legal system has some problems here, but given it's not changing real fast - you should think very carefully before using a license like the one you propose. Ask yourself, what is that I want to accomplish with my license that I can't do with BSD (or pick your favorite widely used license)? Why do so many other people go with something slightly more complex than my Beer license? Would I better be safe or sorry?
To follow your example, let's assume that I wrote the program your wife found, and I had put it in the public domain (or whatever license that would allow someone to take the code and make a closed source program).
Your wife finds EvilCorps closed source version of my program and it works well. Hey, great. She'll just use that. So let's say instead that she finds EvilCorps closed source version and it's horribly buggy. So then you'll just go back to my open source version, improve on it, send me patches and I have a better program, your wife has the program and if EvilCorp picks up on it (not likely, since they seem to not be getting it in the first place), their customers will have a better program too. How can it be better than that? It doesn't cost me anything to have them use my code, and they might even contribute some patches back to try to keep the common codebases in sync (so they more easily can use future versions of my code). If I had used something like the Apache License they would even be forced to advertise the existence of my code (so *you* would find out about it when your wife found EvilCorp's version).
Let's say that I GPL'ed my program instead, then EvilCorp would have to contribute back. I don't know what you think, but I don't think they would. I think they would either find a way around it; or (more likely) they would simply not use my code in the first place. Their product would probably suck even more and it's 100% certain that they wouldn't contribute anything. When your wife found EvilCorp's version you (a potential contributer) wouldn't in any way get to know about my version. So who would gain anything from that?
If you are a company, trying to make money on the program in the first place the issues might be different; but that's not what we are talking about here.
You make the argument that if you licensed your code GPL and EvilCorp ended up writing their own buggy version because they couldn't use your foundation code, then a person who stumbled upon EvilCorps product wouldn't be able to find out about your GPL app.
That's very possibly true, however - if in your first example you licensed it under Public Domain and EvilCorp incorporated your source into their closed source app, then there is no guarentee that a possible contributor would be able to find your app either (just as you said they wouldn't find it in your second example).
Perhaps the license you'd prefer would be BSDL with the advertising clause? Or at least with your example that'd be what you probably want.
The pool of available free software is a commons (as in the economist's "tragedy of the commons"), the GPL requires that companies give back to the commons, or not draw on the commons. If they chose not to draw on the commons, they have to compete on their own merits. If their software is, as you say, inferior, they will go out of business, as they should. Why allow an inefficient use of resources to continue. It's simple, the GPL requires that any entity wishing to draw on the work of people in the free software community, to draw on this common pool of software we've created, to contribute back to it, thus helping preserve this commons, and preventing it from being divided up into (less efficient, for being un-shared) proprietary fiefdoms. If entities are allowed to profit by destroying the commons, they will do so, while in the short run, it may appear that more/better software can be produced if anyone can copy anything, in the long run, you're better off with a healthy pool of common code.
Now if you feel that this pool of common code will not be jeopardized by people making proprietary/closed versions of the software with added features, then your argument still holds. Some of us are not so optimistic.
We need new and more confusing licenses. I propose the XPL - the eXtreme Public License. Its basically along the lines of the beer license, but with Pepsi Max instead of beer... ;-)
Fyndo, I never really understood this "steal" line of argument. Code does not disappear when used by someone. It's not "destroyed". The original source is still out there and will remain available.
If EvilCorp's product based on a sourceware product is inferior, users will ignore it. If the product is good and really adds value to end-users - fine, users are happy. If EvilCorp, after all, is not that Evil, they will be able to maintain interoperability with sourceware version more easily. [e.g RMS recommends not to look at proprietary code (if you have access to it) if you write a GPL'ed version; by the same logic Corp's programmers will try to not look at GPL'ed code while developing their proprietary version from scratch].
Of course EvilCorp might do a really good job and more and more users will prefer their proprietary version, but this is more about community building (as brlewis points out) and this can happen in the open source world too (emacs/xemacs being a prominent example), so I don't really buy this argument either.
As I've said in another posting, I see GPL as not very different from a commercial license, only you pay with code, not with money. That's fine. But please note the original complain by ask about code that can't be used because [X]PL doesn't go with [Z]PL. And as I said in yet another posting, the problem is what freedom you choose to provide, do you care about free software (in the FSF sense) or about freedom for people to reuse your code without subscribing to some particular viewpoint first.
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!