The Including Public Licence

by and copyright Ron House 1998.

Version 0.01, 25 May 1998
Versions numbered below 1 are intended for discussion only. It is not recommended that software actually be released under the IPL until a version of the licence with a version number of 1 or greater is available.

Please read the accompanying Introduction to the IPL for an explanation of the ideas behind this licence.

Licence

Definitions

Premium Code: software derived from human-written source including a reasonable amount of commentary.

Discount Code: software derived from automatically-generated source, data, documentation, excluding a reasonable amount of commentary.

Commercial activity: any of the following: any use by a commercial enterprise or a military or political organisation except activities necessary to provide a free public distribution; any use by an individual for a profit-generating activity; any sale, distribution, or lending of the software for a charge other than a charge for recovery of the cost of the sale, distribution, or loan.

Non-commercial activity: any activity other than a commercial activity.

Software: the material to which this licence applies, including but not limited to programs, program source text, data files, and documentation.

Use of the software: includes all manner of use, such as running the software in a computer, compiling, disassembling, modifying, extending, or translating. It does not include distribution of the software to other parties. Copying the software onto multiple computers owned by a single person or organisation counts as using the software.

Distributing the software: selling, reselling, lending, giving away, placing on a public distribution medium such as the web or a bulletin board, and/or sharing the software or a derivative of the software, and/or causing or allowing it to be transferred into the custody of any other party by any other means. Selling, lending, or giving away a computer or other device containing a copy of the software counts as distribution.

Deploying the software: either using or distributing the software or a derivative of the software.

'Morally obliged': the interpretation of a moral obligation is left undefined by this document. You may understand it as you wish provided you agree that your interpretation cannot be forced on anyone else. If you believe that the ambiguity of this phrase places you in an undesirable position then don't use this software.

'You': the recipient of the licence to deploy the software.

Throughout this document, the singular shall include the plural and vice versa. In particular, the plural pronouns 'they', 'their', and 'them' are additionally used for singular persons whose sex is unknown or irrelevant.

No Warranty

The software is accompanied by ABSOLUTELY NO WARRANTY OF ANY KIND. All responsibility for ascertaining whether the software will do anything useful and whether it will refrain from doing anything harmful is entirely yours and yours alone. If you live in a jurisdiction in which this complete absence of warranty is not permitted, then this offer of a licence to use the software is not open to you.

Terms and Conditions

  1. You are granted a non-exclusive licence to use and/or distribute the software for commercial and/or non-commercial activity provided you agree with the propositions and agree to abide by the conditions described in this licence if the licence indicates that they are applicable to the activities you wish to perform. If you cannot agree with the propositions in this licence that are applicable to the activities you wish to perform, no matter what the reason that you cannot agree, then this offer of a licence is not made to you. This licence does not constitute an offer of transfer or relinquishment of copyright.

  2. Mere possession (but not execution) of a single copy of the software, generation of a single printed copy, or generating enough temporary copies to permit short-term examination of the software in an editor or browser, is not contrary to this licence.

  3. It is contrary to this licence to deploy the software for commercial purposes under the terms and conditions for non-commercial deployment.

  4. Whether you intend to deploy the software for commercial or non-commercial activities, you must agree with the following two propositions:
    1. that commercial users are morally obliged to follow the instructions in this document applying to the making of gratitude payments to the authors of the software; and
    2. that if you choose to classify your activities as non-commercial, you will not take legal action against any party merely for criticising your choice or, if they believe you have misrepresented your activities, expressing their opinion of you, provided they do not make dishonest factual claims about you.

  5. All distribution of the software is subject to these four conditions:
    1. that the software be made available to the recipient only on the terms of this licence and that the licensee shall take no action having the effect of cancelling, nullifying, or removing this licence from the software;
    2. that the source code for the software shall be available on the terms of this licence, as described below;
    3. that additions to the software by the user which are not intended for distribution under this licence shall be in separate files and clearly marked; and
    4. that persons contributing to the software shall add their name to the 'authors' file (described below) only for contributions that are released under this licence.

  6. Non-commercial distribution of the software is subject to the additional condition that the recipient be supplied the source code or be informed how to get the source code. If you have added any material to the software that is not distributed according to this licence, you must make available or tell the recipient how to obtain a version of the source code that does not include your additions and that compiles into software that performs at least as well as the software that you originally obtained.

  7. Commercial deployment of the software, except for use by individuals, is subject to the additional condition that, if you have the capability to make material available on the Internet, you make publicly available on the world wide web or any other public Internet service a description of how you calculated the monetary value of your moral obligations according to the instructions below and a list of all software authors whom you have paid in the previous twelve months and the amounts paid, except for those authors who have indicated in the 'authors' file that they wish payments to them to remain private. If you are both an author and a commercial deployer, then you must reveal the amount you paid to yourself. You must also reveal the amounts you paid to authors who are connected to you by ties of business alliance, friendship, or familial ties and you must identify which authors fall into any of these categories.

  8. You may distribute works consisting of combined IPL and non-IPL code, provided that all non-IPL source code resides in separate files and that any linkage material placed in IPL files to link with non-IPL files is contributed under the IPL and is not claimed for in your entry in the 'authors' file. Binary files consisting of compiled versions of mixed IPL and non-IPL code may be distributed if the proportion of IPL code in the file is stated and its source is made available as described elsewhere in this licence. Such a binary file does not automatically fall under the IPL, but you cannot distribute such a binary unless you accept the obligations that this licence places upon you with regard to its IPL source components.

  9. Commercial distribution of the software is subject to the additional condition that the recipient be supplied the source code and/or be provided with a method of obtaining the source code that is comparable to and/or more convenient than and/or cheaper than the method by which they obtained the software. If you have added to the software any material that is not distributed according to this licence, you must make available a version of the source code that compiles into software that performs at least as well as the software that you originally obtained and you must supply full instructions on how to compile as well as appropriate scripts or other control files for building the software on at least one common platform. You must also tell the user the makes and models of the compilers and other tools that you used to verify correct compilation and you must tell the user if you know of any free sites for obtaining the source of the software.

  10. Distribution of the software is also subject to the additional condition that you state clearly in your documentation what proportion of your product's premium and discount code consists of IPL code (calculated as explained below) and the relative proportions of the premium and discount code.

  11. Commercial distribution and/or use of the software is also subject to the additional condition that you agree that you are morally obliged to make gratitude payments as described below to the authors of the software released under this licence, and that your payment, method of payment, or failure to pay these gratitude payments is a legitimate topic of public discussion, and that you will not take legal action against any parties for any discussion of this issue or expressing and criticism or opinion of you, provided said parties do not make dishonest factual claims about you. Further, you agree that deliberate failure to pay or deliberate delay in paying gratitudes by you shall convict you of morally reprehensible behaviour and bad social conscience.

  12. If you wish to cancel your licence and terminate this agreement, you must cease deploying the software and you must destroy all copies in your possession, except that, if you have been distributing the software commercially, you must maintain your obligations to provide source code for a further three years and you may retain for that period any copies of the software needed to enable you to fulfil that obligation.

  13. You cannot cancel any promises you may have made under this agreement, even if you cancel your licence.

  14. You must agree, whether or not you cancel your licence, that the terms of this licence may be quoted as a sufficient and complete defence against any legal action you may take contrary to your obligations under this licence. Further, you agree and promise that, in the event that you initiate legal action against any party for slander or libel in connection with any criticism of your moral character as a result of your behaviour in fulfilling or not fulfilling your moral obligations under this licence, then if that legal action fails because you are deemed to have broken your undertakings under this licence not to sue or if you withdraw your action under circumstances where such an outcome might be reasonably foreseen, then you shall be liable to pay to the party against whom you look the legal action an amount equal to the sum of the amount for which you had sued them and all their legal costs. This provision shall not apply if the other party sued you first over a matter immediately and directly connected with any reply you may have issued to their earlier criticism of you, provided you make your reply in a medium or media of comparable cost and effectiveness to the media in which the criticism was made. The intention of this clause is that all parties should restrict their contention to words alone and that neither party should use its greater wealth to address a wider audience than the other party can afford to command.

  15. If the software was made available to you under 'the Including Public Licence' then you may at your option choose to use the terms of a later version of the licence than the version originally supplied to you. If the software was made available to you under a particular version of the Including Public Licence then you must use the specified version of the licence.

  16. Usage gratitudes: Gratitude payments for commercial uses of the software shall be one third of the price of using fully costed commercial software of equivalent scope or functionality on the same number of computers. You may choose which commercial software you consider equivalent to the software supplied under this agreement, but your choice should be stated in your explanation of how you calculated gratitudes.

  17. Distribution gratitudes: Gratitude payments for commercial distribution of the software shall be ten percent of your gross receipts multiplied by that proportion of your product that consists of software licenced under the Including Public Licence. For example, if you sell product for $1000 and one quarter is IPL code, then the gratitude payment you owe is $100 x 0.25, which equals $25. In evaluating the portion of source code that consists of IPL code, you may use any measure you consider reasonable, provided you are ready to justify it. As a general guide, you may use lines of source code or numbers of characters, and you should divide the amount of discount code by a factor of ten relative to premium code. Where your product includes software not written or compiled by you, you may use the proportions stated by the suppliers if this is available; you must obtain the source and calculate it yourself if it is not. (But programs consisting entirely of IPL code will be easily calculated at 100%.) In computing the relative amounts of discount and premium code, you must do this accurately for your own contributions but you may rely on superficial indicators such as filename extensions in evaluating contributions by others.

  18. Commercial users and/or distributors are morally liable to make gratitude payments whenever their moral obligation amounts to more than $50 or every six months, whichever occurs last, but your obligation accumulates indefinitely and adds up over all the IPL software you use. Payments to each individual author should be no less than $50 less than their strict individual entitlement, provided that any amount you pay yourself if you are also an author or to authors who are allied to you by personal or business ties shall be strictly no greater than the exact amount owing.

  19. You should make reasonable efforts to locate authors to whom you morally owe gratitude payments, but if neither their stated email nor street addresses reach them and you have the latest version of the software, you should reallocate their entitlement to other authors. Once you have made a bona fide attempt to locate an author and failed, you need make no further attempt unless a later email or street address comes to your attention.

  20. In the event that there is formed a single, non-profit organisation open to all authors of publicly-released bona fide IPL-licenced work and only to such authors for no more than a nominal membership fee, and if that organisation advertises a service to accept gratitude payments and channel them to the appropriate authors, then sending a single cheque to that organisation for the total amount of gratitudes owing, along with full details of the works for which payment is being made, should be deemed to fulfil your moral obligation to pay gratitudes to the several authors of the IPL software you are using. Furthermore, if you do this, then you are relieved of obligation under this licence to publish details of your commercial deployment of IPL-licenced code. The benefits of this clause are withdrawn if you become aware of any significant controversy brought about by major IPL authors as to whether the said organisation is fairly representing IPL authors.

  21. The original author of a new work may describe that work as an "IPL Library" or as an "unencumbered IPL Library". Alternatively the authors of the majority of the IPL code in a work that was written by traceable authors may apply the term to an existing work if they sincerely believe that the work, although it may perform lots of tasks, performs no single coherent task, but instead consists of material useful in performing other tasks. Libraries are subject to distribution gratitudes and to usage gratitudes at the point at which they are linked with other material, but once combined with other material in such a way that their original identity as a separate work is no longer discernible and their capacity for use as a library (in the sense that it is understood in computer science) is lost, then they are not subject to distribution gratitudes, nor to usage gratitudes when the combined work is used. If the combined work is an IPL work other than a library, the authors of the library from which code is incorporated need not be added to the 'authors' file (described below) of the combined work. If the word "unencumbered" is omitted from the description of the work as an IPL Library, then such a combined work must carry a notice to the effect that it contains code from an IPL Library and the appropriate conditions of this licence for making available the source of that library must be carried out.

  22. As a concession to commercial distributors of collections of software packages (such as a Linux distribution), proportions of IPL code may be evaluated by the bulk measure of simply adding the storage sizes of the packages.

  23. Distributions of collections of software packages that include IPL-licenced work must display a notice to that effect in a place at least as prominent as any notice for any other software licence other than a notice within an individual package. If no such notices are displayed outside the individual packages, then a notice must be displayed to the effect that individual packages may have licencing conditions that must be observed.

  24. The 'authors' file included in an IPL software product shall contain the names of all authors who wish to have their contributions acknowledged. You may not delete this file. You may, however, modify the file as described below.

  25. If you wish your contribution to the software to be acknowledged, you may add an entry to the 'authors' file as follows: your name, address, email address, number of lines of premium code, and number of lines of discount code written by you. You may omit any or all of the parts of your entry, but if you omit all contact details, commercial exploiters are no longer under an obligation to pay you anything. If you don't want commercial licensees to publish details of payments to you, put the letter 'P' in parentheses after your name. (But remember, if everyone does this, we'll have no way to verify that commercial licensees are keeping to their obligations, as no payments will be available for scrutiny.)

  26. If you wish to add an entry to the 'authors' file describing your own contribution to a pre-existing work and there is no existing 'authors' file, you must count the premium and discount lines of code in the work as it was prior to your modifications, and create a new 'authors' file with an entry for "Previous authors" showing these figures. You may then add your own entry as described above.

  27. If the source is of such a nature that lines cannot be counted sensibly (for example, if the file is a graphic file), lines shall be deemed to occur every forty bytes.

  28. If you redistribute software, you must ensure that the accuracy of information in the 'authors' file does not suffer unnecessarily as a result of your actions. Redistribution of software without modification and with the identical 'authors' file as in the copy you received shall count as fulfilling this condition. If you modify the software by addition and/or minor modification, you may add a line to the 'authors' file as described above but you may not alter other authors' entries. If you redistribute only part of the software, you may modify the sizes of the contributions claimed by the other authors so that the new total claimed contributions of the other authors is reduced to a value bearing the same proportion to the original total claimed contributions as the size of the part of the software you are redistributing bears to the size of the original version of the software. You may do this either by reducing the stated contributions of all authors proportionately or, in cases where you have reason to believe you know who contributed which portions, by reducing or deleting the contributions of specific authors. If possible you must do this individually for both the premium and the discount code entries. You are under no obligation to discover the real facts concerning the contributions of individual authors and may rely on claims in the software as you received it in determining your actions. If you combine material from two or more different works under the IPL, you may scale the stated contributions in the various 'authors' files if you believe that authors in the different projects have used differing ways to calculate their contributions, but you should not do this in order to unfairly advance the interests of yourself or your associates at the expense of other authors.

  29. If you redistribute a work or a section of a work, you may not delete authors' attributions within those parts of the work that you redistribute. For example, if a code file or part of a file has a comment listing its authors, then if you redistribute that file or part of that file, you must retain the comment (although you may add your own name if you have added material to the relevant section).

  30. If you become an author by contributing to the software, then if you distribute your modified version, you must concede to the other authors in their capacities as authors that sharing and giving is the primary motivation for distributing software under this licence, that any financial rewards that you might or might not reap are necessarily inexact or may even be grossly disproportionate to effort expended or usefulness of a contribution, and that, beyond making a modest and superficial effort to ensure that the 'authors' file bears some vague resemblance to reality, other authors are not obliged to take any further action to safeguard your interests. You must agree not to take legal action against any other author in their capacity as author for any action or inaction, inadvertent or deliberate, on the grounds that you believe they have harmed your interests in the rewards of contributing to the software, with the exception that legal action is permitted against a commercial author who modifies the substance of or deletes your entry in the 'authors' file in such a way that the interests of the commercial author and/or their associates is furthered unfairly at your expense. It shall be a complete and sufficient defence against such an action for a commercial author to demonstrate that their method of modifying the 'authors' file is not overtly unfair and has the approval of the traceable authors of at least half of the software written by such authors.

  31. The file 'authors.wrk' may be used as a central repository to contain more detailed information about author contributions. You may add an entry covering your own contributions as an author, but should keep it brief. As a general guide, an entry one twentieth the size of your code, plus one hundred characters, should not be exceeded unless the originator of a particular work has indicated some other measure. You should not alter other authors' entries in this file without justification, except for reformatting for clarity or appearance. An author is justified in cutting a single piece of the minimum necessary size from your entry in the 'authors.wrk' file if your entry exceeds the size just stated. (It is recommended that cutting this file be left to the major contributors to any project.)

  32. You must agree to respect the moral rights of the authors of the software.


  33. If an author attaches to a work or portion of a work a condition that it is 'protected against alteration', then you may not edit that work or portion of a work except for reformatting and insertion of references to other material. Any additional material to which you insert references must be clearly identified as being written by other than the original author of the protected material.

  34. As an author you may attach additional conditions to material written by you, even if your material is distributed under the IPL, provided that your material resides in separate files containing no material by other authors, and provided that your additional conditions do not alter the substance of any conditions of the IPL, nor have the effect of placing additional conditions on material not written by you. In particular, you may not remove the right of deployers of the software to obtain source code under the terms of this licence, nor may you alter the legal or moral framework of this licence. If you include additional conditions, they must be annotated only in the relevant files wholly owned by you or, if a directory consists entirely of files owned by you, in a file in that directory, and your notice of conditions must be placed in such a position that it would be naturally encountered by any person proposing to act contrary to your conditions; if a condition is such that these two requirements cannot be simultaneously satisfied, then that condition may not be applied to IPL-licenced work.

  35. Binary and source code: A distributed work may contain source, binary, or both. If it contains only source or source plus binary made from that source, then the 'authors' file should reflect the contributions to the source only (that is, contributions should not be counted twice). If a file contains only binary or binary compiled from source that is not contained in the distribution, then the 'authors' file should reflect the contributions to the source from which the binary was made, and it is the responsibility of the creator of the binary distribution to supply an appropriate 'authors' file along with a statement of the proportion of the binary that was made from IPL-licenced code.