- Posted on
- • Tips
How to make any open source license universally usable
- Author
-
-
- User
- maintainer
- Posts by this author
- Posts by this author
-
What are the simple tweaks I have used, when I derived the Universal General Public License (UGPL) from the original GPL in 2001?
In US and UK judiciary it is common to use a terms section at the beginning of a contract to set up important legal definitions, which apply the contract.
You can use this section to expand the context and the scope of a common open source software license as follows:
Replace the definition for the term "Program" (GPL & Co.) or the term "Software" (MIT licenses), or the term "Binary" (BSD licenses) with a legal definition for abstract objects referred to in this licence:
Objects, in the means of this license, are any material and nonmaterial things, which can be covered by copyright, a patent or any other kind of intellectual property.Replace the definition for the term "source code" (GPL & Co.) or the term "documentation" (MIT licenses) or the term "source" (BSD licenses) with a legal definition for an abstract source code associated to the objects in the terms of this license:
The term "source code" means machine-readable or human-readable knowledge and/or full description how to build and to copy the object meant above.Introduce or tweak a legal definition for the term "copying", for example as follows:
Since the object is not only software or text in the means of this license, the word "copying" is used for any activity to make or create new instances of the licensed objects, such us copying their binary or source code representation, manufacturing physical copies of them or broadcasting them via networks.
If you are tweaking an existing license text to make it universally usable, the next step is to replace all occurrences the originally used terms with the references to the legal definitions you made at the beginning:
- If you are tweaking the original GPL replace
programwith object - If you are tweaking a BSD style license replace
binarywith object - If you are tweaking a MIT like license replace
softwarewith object
and replacedocumentationwith source code
Some licenses restrict also the whole derived work to be published under the terms of the same license as the original work, even the original work is left unchanged and only enhanced with some additional source code. So you should do something about it, if you want this to be changed.
For example, if you are tweaking the original GPL and, if you want to allow an enhancement or - let say - arrangement with some additional source, you can
- replace the folliwing part of the original GPL modify condition
But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. - with something like this:
The work of arrangement of the object whith other, not derived from this object, objects is considered as separate work too, when the object is used "as a blackbox". We speak of usage as a blackbox, when the object is included in its materialized form (not source code), only the official or native to the object interface is used and the the object is included into the whole without any modification. In this case the arrangement must carry a prominent notice stating that you are using an object licensed under the terms of this license. If you distribute or copy such an arrangement the terms of section 4 are apllyed to the used object. But when you distribute the same objects as a part of a whole which is a work based on the object, the distribution of the whole must be on the terms of this license, whose permissions for other licensees extend to the entire whole, and thus to each an every part regardless of who created it. This is the case too, if you are including a part of the source code of an object licensed under the UGPL into other source code and then create the new complex object from the so increaced source code.
The idea to tweak or replace some basic mathematical definitions for a theory or legal definitions for the scope of a license and/or contract is not new at all.
And also my idea to tweak some basic definitions of the GPL to create the UGPL was not new and has its roots in my idea to introduce an abstract definition for the term art.