The Including Public Licence (or IPL) is intended to provide a simple way for software authors to make their work available to others and to protect the availability of source code. If you intend to use software released under the IPL for a non-profit activity, then the software is free. If you intend to make money using the software, then the authors expect you to recognise their contribution to your profits by making a financial payment, either a royalty (in the case where you resell or otherwise obtain money for the product) or a fee (in the case where you use the product in the course of your own business activities). In this way, we hope that programmers can share and contribute to a growing body of code that is useable by everyone for both commercial and non-commercial purposes. Only in this way can we all bootstrap off the efforts of others and give software authors the twin joys of freely giving others the benefit of their work whilst not being taken advantage of by commercial interests.
In order to achieve these goals, the IPL contains clauses governing both non-profit and commercial use (the latter stipulating the payable fees and royalties). Unlike traditional business contracts, however, the IPL promises business users that failure to pay the charges will not result in legal action: yes, you, the business user, are obliged to pay, but we leave it up to your conscience whether you fulfil this obligation. In other words, the only thing that forces you to pay is your own morality. Apart from the moral reasons why I believe a moral imperative is healthier for our society than a legal threat, there is a second reason peculiar to open-source software development: we want software released under this licence to be used freely without complications when multiple authors contribute to a project under what might be quite chaotic conditions (Internet co-operative projects, etc.) and it might not be clear precisely how much is owed to whom. If the payment conditions were subject to court enforcement, then significant difficulties would arise for everyone: contributors (programmers) would have to waste time they would prefer to spend programming in safeguarding their interests in any potential commercial development of their work (and they would have to do this at the outset, even when no commercial interest is forthcoming or even foreseeable), and commercial users would have to deal with a minefield of legal uncertainties in the precise nature of their obligations, given the undisciplined way in which much free software develops.
The IPL is primarily a licence to protect the continuing availability of source code and provide authors with defences against being exploited when commercial interests use their work. It is an attempt to create cooperation between software developers and users by primarily moral means rather than legal compulsion.
Should commercial users fail to make good on their moral obligations, there is no legal remedy, but the contract does require them to sign away their rights to get upset (read: sue you for libel) if you say nasty things about them for welching. Therefore community approval (or otherwise) is the carrot and stick that will motivate compliance by business. After a period of feedback from the public release of the previous version of this licence, it was clear that many commentators doubted the efficacy of this instrument. I am certain that this is a bigger 'weapon' than most people thought, because of the great importance of good publicity (read 'advertising') for major businesss.
Have fun! The software is absolutely free.
There is a fee equal to one third of the cost of a similar, fully commercial product. If your obligation is less than a certain amount (read: you're small fry!) you don't have to pay. If you're big enough to have to pay and big enough to own a web site, then you must put up a page telling us how you fulfilled your obligation to make this payment. You can say "I split my seams laughing on the way to the bank" if you wish, but by doing so you expose yourself to our collective outrage and you can't sue us for venting our opinions.
To redistribute unmodified software you obtained from someone else, you must make sure the recipient knows how to get the source code for any IPL component of the software and you must make sure they receive the full documentation about the licence (which amounts to simply giving them all the files you received).
To redistribute unmodified software you obtained from someone else, you must provide a means for the recipient to obtain the source code for any IPL component of the software by means at least as cheap, easy, and convenient as the means by which they purchased the binaries. You are also under a moral obligation to pay royalties to the software authors. These are 10% of the amount you charged software and, as with using software commercially, we can say horrible things about you if you don't pay.
Write your software, make sure the source is available under the appropriate terms (depending on whether you release the product commercially or non-commercially), add a file called AUTHORS that has a line in it telling your name, address, and how many lines of code you wrote (see the licence for details). Include a copy of the licence, this document, and a statement that the software is being released under the IPL. Include your own copyright notice if you wish, because the IPL doesn't steal your copyright.
If you modify and redistribute an IPL product, then in addition to the requirements for distributing unmodified software, you should add a line to the AUTHORS file telling how much code you have contributed. It gets a little bit hairier if you do funny stuff like extracting and combining bits and pieces from various different projects, but such major reorganisations don't happen often. Most software development consists of modifying an existing product. The bookkeeping needed to maintain this file is about the minimum we can expect to preserve the rights of donors of free software whilst permitting commercial use.
You can do it, but you have to advertise the fact and make known how much code is IPL and protect our rights to obtain the IPL source code for the IPL components. You still have an obligation to pay royalties on that proportion of the product that came from IPL source and you can't sign away the rights of the IPL authors in relation to your customers.
That licence looks vaguely like Mozilla. Yes. Version 0.02 of the IPL was made by adding to and modifying the Mozilla Public Licence by Netscape. The IPL differs substantially from the MPL and the two should not be confused. There are two main differences: addition of the material about payments, and a weakening of the requirements to put notices in files (to make it easier and more fun to put out code under the IPL). I am very grateful to Netscape for making the MPL available and giving permission to modify it.
Some of the clauses in that contract look pretty complicated. True. It is intended as a legal document, even though it describes some circumstances to which no legal compulsions apply. Very few of the clauses apply to non-commercial users, and the bookkeeping needed by the average author is minimal. Non-commercial distributors have only a few extra obligations concerned with source code. If you got the stuff from XYZ's web site, then tell that to those you give the software to. Much of the rest of the verbiage is designed to put a fence around commercial operatives who want to deliberately misunderstand their obligations under the contract.
What if my main interest is giving others the use of my software for free? Great! Just put it out under the IPL and watch the rest of us have fun using your software. We'll enhance it, extend it, and your name will go down in history. And maybe one day, you'll get a pleasant surprise in the mail from a business that found your software useful.
So what will make commercial users pay? Actual payment by commercial users is not enforced under the IPL, but agreeing that they have an obligation to pay is! In other words, if someone uses IPL'd software commercially and doesn't pay, people can say nasty things about them in public and they can't do a thing about it because, by their own admission, they are acting immorally.
Is this enough of a threat to make commercial users pay? We won't know if we don't try it - but can you imagine, say, Microsoft making a public acknowledgement that they are delinquent corporate citizens, and giving people carte blanche to publicise their admission, just for the sake of a few dollars (or even millions of dollars)?
How do I collect the monies owed to me as a programmer if I use the IPL? Just put your name in the AUTHORS file with a short description of your contribution, then forget it. If commercial users don't pay, too bad, you can't force them (although you can go on the web or TV and call them horrible things); if a commercial user pays someone else and not you, tough luck (although, within reasonable limits, the commercial user has an obligation to make payments fairly, so again, if they do something outrageous you can call them unpleasant names).
But I just want to write code; getting credit doesn't bother me. We all thank you for your generosity. Just write your code and add it to the project; you are under no compulsion to describe your own contribution in the AUTHORS file. Alternatively, you can put your work in separate files under a different licence (but not the GPL, because it attacks other licences), although we implore you not to do this unless you feel strongly about it, as the more licences that get involved in a single project, the trickier it gets for others. (In fact, someone else might dump your contribution and reprogram it themselves, it they feel strongly about it!)
What if my main interest is selling my software? Software isn't profitable by-and-large, unless you have the clout of a large company or want to go to an awful lot of trouble. Even companies as large as Netscape have found that they can only develop market share by giving away software. By distributing under the IPL, you will build up a large base of non-commercial users. Admittedly they aren't going to pay (but let's face it, maybe 75% of non-commercial users wouldn't use most of their software if they had to pay for it, so whether this is a great loss is debatable) but your software will get known, students using it for free today will want to use it when they are employed by General Motors tomorrow, etc. Maybe a few smaller companies won't pay, but the bigger a company is (read: the bigger a potential customer they are), the less they will want to expose themselves to criticism for non-payment.
How do we know whether a company is paying their dues? The IPL contains a clause specifying that details of payments are public property. Any sizeable commercial enterprise must supply details in a public place on the web. This requirement is subject to legal action for noncompliance.
Here are some more programmers' questions and answers.
What if I want to use IPL'd software non-commercially? Go right ahead, no charge. But if you modify or redistribute the code, you will have to abide by the licence conditions for those activities.
What if I want to use IPL'd software commercially? No problem: you first agree to the licence condition, which basically says you have an obligation to make a payment to the authors of the software, then just go ahead and use it. Within six months, send out payments to the authors according to their contribution; there is a limit on how accurate you need to be so that you don't find yourself mailing a thousand cheques for five cents each.
But what if I want to use the software commercially but I don't want to pay? You won't be sued, but if people comment adversely about you, you can't sue them either.
What if I want to use IPL'd software in commercial products for resale? Again no problem: make sure you have separated the IPL'd and other free software from any commercial software, make sure you satisfy the terms and conditions for redistribution, and go right ahead. As you sell your software, set aside the appropriate amount of your gross receipts for the royalty payments, and pay each author their share at the appropriate intervals as described in the licence.
What if I want to sell CDs containing lots of software, some of which is IPL'd? No problem. But you are a commercial user. Just as a publisher of a book must pay royalties to an author, you are obliged to make payments to the contributors of the IPL'd software. It isn't onerous, nor expensive: if only 1% of the CD is IPL'd, then you only pay 1% of the normal 10%, which is 0.1% of whatever you receive.
I'm a commercial user or distributor, but sorting out all the people to pay is hard work! Too bad. You want to use or sell someone else's work for profit, then put in a bit of effort. Note, though, that if you don't put the product to much use, you don't have much work. Say you calculate your obligation at $100. You are only obliged to be accurate in payment to within $50, so if you look in the AUTHORS file and see two contributors of lots of code and lots of contributors of small stuff, then you won't go wrong by just sending a cheque for $50 each to the two big contributors. But if you are Microsoft and you want to put IPL code in every copy of Windows 2000, then sure, you'll have to get your accountants to sort out the gratitude payments in detail.
What if my company doesn't want to release details of payments? Individuals and small concerns (Nan and Pop's Corner Store) don't have to go public, but if you are big enough for us to want to know about you, then too bad. Corporate conglomerates snoop into the lives of private citizens all the time; just for a change, you can suffer a relatively minor case of the snoops from the rest of us.
Can we get around the commercial conditions by giving the IPL'd stuff away free in conjunction with charging for our stuff? You must agree to your moral obligation to pay for commercial use. Any use by a commercial entity counts as commercial use. You've agreed that commercial users have an obligation to pay, so smart footwork to get around paying will result in a barrage of hostile criticism. If you've tried to be 'clever', people will see you for what you are.
This 'moral' stuff seems weird. It's a new idea, for sure. We see so many bad news stories these days that we can't help but wonder how simply telling someone "You really should pay for that, you know" could possibly work. But look, for example, at the incredible success of the movie Titanic, which explicitly rejected the cynicism of the modern entertainment industry and appealed directly to primeval archetypes of goodness, loyalty, love, and sacrifice. There is a thirst in our society for ideals and projects that rise above legal manipulations and courtroom battles. This licence is intended to be legally sound only to the extent that it protects authors' copyrights and acknowledgement rights, requires release of source code, and prohibits legal bunfights. This is necessary to ensure that the 98% of us who want to do the right thing are not preyed upon by the remaining 2%. As for what remains uncertain in the licence, it is my hope that the great majority of people who believe in an ethical society will have the moral power to shame large corporations into fulfilling their obligations. But, if in fact it doesn't work out, we're no worse off than if we released our code under a BSD-style licence.
Is your licence legally sound? I doubt it, I'm not a lawyer. In any case, there is no legal remedy permitted for the large chunks of it that describe payments owed, so those parts shouldn't see the insides of a court room in any case. Most of the rest is modelled on Netscape's Mozilla Public Licence, which I presume they got a good lawyer to take a peek at. As for the rest, I am hoping that people with legal skills will let me know where I've committed bloopers - that's why I am releasing this version for discussion only. At the moment, we are just looking at this thing to discuss the concept and tighten it up, so that sometime soon we will have a sound version. Rome wasn't built in a day.
Will you release your own code under this licence? My code isn't ready yet, but once it is, if I have gained enough feedback to make a version of the IPL that I feel confident in labelling VERSION 1, then I shall definitely release work under it.
Here are some searching philosophical questions and answers.
| Ron House house@usq.edu.au Created: 26/5/98 Modified: 20/1/99 |
[ Back to home page ] [ Back to IPL licence Intro page ] |