Some philosophical questions

So where are you coming from? The basic idea is to make the use of the licence easy and fun so we can enjoy sharing free software with each other. But the question of commercial users raises its ugly head, and I was not satisfied with either the GNU or BSD solutions. GNU seems more designed to prevent programmers getting paid than to implement any coherent policy as regards commercial use. Stallman (the designer of the GNU General Public Licence, or GPL) seems to hold the ethical belief that, in all the world, only programmers are not entitled to payment for the fruit of their labour (you can easily check on this by reading his Manifesto). He accepts that programmers may be paid for distributing or supporting their products, but not that they be paid for the product itself. Merging GNU software with commercial code is prohibited, but getting rich selling convenient packages of GNU code isn't: the only difference seems to be that to put out a joint GNU/commercial program, you would have to do some real work and become a programmer - which puts you on Stallman's blacklist. If you're a mere sales droid regurgitating the work of others, you can get as rich as you please on the backs of the authors of GNU software. I couldn't accept that solution. BSD, on the other hand, is a pure give-away, which is generous, but I think lots of us believe or hope that there is something in between giving it all away and being a hard-bitten commercial operative.

My aim, therefore, was to give everyone the joy of giving without having to devote more than a token effort to commercial considerations. (If you want credit you have to put your name in the AUTHORS file.) If the software ends up being used only for non-commercial purposes, fine, we'll all share and have fun. But what if the thing you wrote is precisely what a commercial company needs? BSD says they can have it if they give you credit. GNU says they can't have it. In my opinion, one gives too much and the other too little.

I have pondered over this for years, tinkering with the idea of a licence that places a legal obligation to pay only on commercial operators, but the stumbling block is that software developed in the free environment has a certain chaotic nature. In many cases no one is quite certain who wrote exactly what, nor how to compute the relative values of, say, a GIF versus a hundred lines of code. No company with a half-competent legal department will accept a risk of being sued under those circumstances.

The solution I first stumbled upon was to impose only a moral obligation to pay on commercial operatives, but to force them to admit their liability to pay and to accept that if they don't, they will be criticised. However, in the aftermath of feedback from my release of the previous discussion version, it became clear that the idea of a pure moral obligation without any legal framework was misunderstood widely. Therefore in this version the requirement for commercial operators to pay is a legal condition of the contract, but the licence exempts them from the threat of legal action to recover monies owing. The right of others to criticise delinquent operatives remains, and to give people the confidence to actually get up and say something, there must be legal conditions in the licence to dissuade commercial licensees (CLs) from suing their critics. If you say nasty things against them for not paying, they can reply to your comments to protect their reputation but they can't sue you - well, anybody can do anything, but there's heavy penalties if they do it.

But how can you be sure that businesses, or their critics, will be reasonable? I can't. Since all we are talking about is talking, we can all feel free to disagree. Let's say I think that if a CL fails to pay a $100 royalty, the CL is a scumbag. I might post an article on an Internet newsgroup that says so. The IPL makes them promise not to sue me, and imposes penalties if they do. I believe there is enough agreement about the general idea of what's right and wrong that a company will know what kind of actions will draw criticism.

Okay, morals are personal, so what's your personal moral agenda? I believe we should try to benefit everyone of good will. This licence is an attempt to let us do that. Programmers are benefiting everyone else by releasing software under a licence that permits everyone else to use their work and that guarantees open distribution of source code. Non-commercial users and distributors are benefiting programmers by retaining the AUTHORS information so programmers get credit for their work. Commercial users and distributors are also feeding a small amount of their earnings back to the programmers who have made their business possible. In short, all of us, users, programmers, and businesses, can work together cooperatively.

What if I don't agree with your agenda? One of my moral goals in designing this licence was to make sure that we can disagree about ethics. If you have a different agenda, you can still use IPL code in your projects because the licence is designed not to be contagious: it doesn't force you to apply the IPL to your code just because you want to use some of my code. You have to protect my code against losing its IPL status, but that is only reasonable. It would be good, of course, if we can avoid filling the world with a multitude of slightly different licences, so if you can live with the IPL it would be helpful to everyone to use it unmodified. I am attached to the basic idea behind this licence, but not its precise form. At first I am only releasing a 'discussion' version so you can point out all my goofs and I can fix as many problems and limitations as I can and make it as useful as possible.

Why not the GPL? I don't like the GPL. It's contagious, and it's based on the proposition that of all the people in the world, programmers alone are not entitled to any recompense for or any control over the use of their work. (Read Stallman's manifesto if you don't believe it; I suspect that very many kind-hearted people who believe in sharing and giving choose the GPL without reading the manifesto to find out just what they are really dealing with.) The GPL is designed to deny programmers their rights. It is designed to force you, if you find you need GPL code, to either keep code your write to yourself or give it away under the GPL and thereby lose your rights.

So if you don't like it, don't use it! Exactly. I don't like it. That's why I have designed this licence. There is a moral agenda behind this licence just as there is behind Stallman's. But whereas, as near as I can figure it, Stallman's agenda is denying programmers the rights to their work, mine is protecting the rights of everyone: the right of a programmer to distribute work either for free or commercially, and the rights of both commercial and non-commercial users to obtain and use source code for the IPL programs they use. However, I believe that the success of the GNU project in generating large amounts of software has something to tell us. I don't believe for an instant that the many good people who put out their work under the GPL necessarily agree with Stallman; I think the reason is that by-and-large people are basically good. We get a great kick out of simply giving something to others, and if the cost of giving is to lose ALL rights over our creation, many people have proved that they are willing to pay that price. This is a truly wonderful thing and shows that amongst all the negativity of the modern world there is still hiding somewhere in our mangled society something good and precious, and I feel I owe the contributors of code released under the GPL - people such as Linus Torvalds and his Linux team - a great debt of gratitude for showing me this. But it is a debt that will never be repaid because contributors under the GPL have lost their rights. I want to provide a means for people to have the joy of giving WITHOUT losing their rights. (It is interesting to note that, after cajoling so many other people into losing their rights, Stallman himself has baulked at losing his own rights: his GPL denies us our right to acknowledgement for our contributions, yet he wants everyone to call Linux "GNU/Linux", on the grounds that the FSF's contribution wasn't acknowledged - a mean suggestion, in my opinion, in view of the fact that so many others apart from FSF have contributed to the totality of the Linux system. About five seconds' thought brings to mind Netscape, the X Consortium, TEX, and BSD, all of whom have made comparable contributions to Linux, so Stallman's suggestion cannot remotely be construed as a mere suggestion to give credit where it is due.)

Now hang on! You talk about contributors to GPL code losing their rights, but nothing stops an author releasing their software under more than one licence. Quite apart from the strange fact that this amounts to saying "the GPL is good because you can use something else", this argument isn't as powerful as it first seems. The whole point of the GPL is to allow others to access your source code and modify it, and as soon as that happens to any substantial extent (as with Linux) the ownership of the resulting code is spread amongst maybe hundreds of people, all of whom would have to agree in order to reissue the combined code under another licence. Sure, Linus Torvalds can sell his own original contribution to Linux, but he can no longer do this with the total Linux operating system because he doesn't own all of it. For all intents and purposes, the GPL is the only licence Linux can ever have, so all those hard-working contributors have become victims to Stallman's plan to deny them their right to any control over their product. For this reason, unless there is a facility for allowing commercial development in the original licence, programmers will have to sit back watching others making a profit from their work and never personally seeing a penny of it. You might be willing to do this right now, but I wonder how you will feel if you contribute to a wildly successful project such as Linux, and then in a few decades' time you are homeless on a park bench and you read in the financial pages of that newspaper you're using for a blanket that someone else is making millions reselling your work?

How about the BSD-style licences? At least these are moral licences: they simply give away the work they are attached to, provided you acknowledge the authors. But it would be nice, if someone makes a billion dollars out of your work, for you to see a bit of that action.

What about Mozilla? The MPL by Netscape is an excellent free licence. It is more careful than BSD to protect the continuing availability of source code so that we can all learn from each other. But like the BSD, obscenely rich companies can make money from the work of struggling programmers without feeding anything back. Both BSD and MPL have the advantage that you can put your code out under them without forcing other contributors to do the same, so in that sense they are good licences. The IPL will work with code under both BSD and MPL (provided you keep them in separate files), so you can choose the one you personally approve of.

But I'm just interested in giving and sharing my code. I don't want the money, so why should I bother with the IPL and all that morality stuff? Obviously I have nothing but praise for your intentions, so might I suggest an altruistic reason why you might like to use the IPL? You will probably agree that a legalistic, hard-boiled, economic rationalist ethos has infected society to its great detriment. The free marketers are very fond of quoting Adam Smith and his "Wealth of Nations", but how many of them know that Smith believed that the free market could only function in a society with a strong moral code? Our society has been progressively losing its common moral basis for most of this century, and the decay of our cities and the rising tide of lawlessness bears witness to the fact. Indeed we now mostly assume that only a watertight legal contract is likely to protect our interests. Yet the increasing litigation in our courts shows that even the best-worded contract has tiny cracks through which well-trained yet rubbery lawyers can squeeze. The IPL is one small effort to try to reverse this process. By taking an explicitly moral stand, not even trying to play the game of legalistics (beyond protecting us from legal action by the unscrupulous when we make moral claims), the IPL puts the amoral section of the business world on the spot. It effectively asks "Are you prepared to concede publicly that your selfish actions are immoral?"

The power of a community with a moral voice is not to be underestimated, nor even the power of a single individual. When the Hindus and Moslems were slaughtering each other during the partition of India and Pakistan, Mahatma Gandhi went on a hunger strike. "Sure," he in effect told them, "you can go on killing each other, but as I shall not eat until the killing stops, you will have my death on your conscience." And the killing stopped. Now of course trying out a new software licence is not to be compared with a hunger strike, but it is nice to think that we can stand in the same corner as the Great Soul (translation of the title "Mahatma"), on the side of a true and moral justice based on care and love as opposed to a legalistic "justice" obtained from squeezing the maximal benefit from the semantic mistakes of our opponents in a legal contract. To make a difference it isn't good enough for one person to give away their work: the commercial-minded are asking if morals is just for altruists or whether workable commercial arrangements can be based on morals too. If we can succeed in creating a body of worthwhile software under the IPL, I would envision extending these ideas into other areas of life, until, once more, we live in a society of caring and ethics rather than selfishness and legalities.


Ron House
house@usq.edu.au

Created:26 May 1998, Modified:15 Jan 1999
[ Back to home page ]
[ Back to IPL licence Intro page ]