I’m contemplating changing the licensing for the source code in this project. I’ve started a new branch in which the Apache 2.0 license is replaced with a new license specific to this project.
This new license is based on another license whose terms of use seem to imply that I’m not allowed to mention where it came from if I change it.
The main improvements of the new license relative to the Apache 2.0 license are:
- It is much shorter and clearer, and
- There’s less of it everywhere, and
- It makes demands that are more specific to this project.
So while this is probably just “license bikeshedding”, it removes a lot of cruft and makes it more clear to people what they should do if they want to use my code.
Re: that last point, the new license requires that the contributors (me) be given credit in a way that users can find: the About screen of any derivative binary program, e.g., the home page of a derivative web service, etc. But since the Local Yarn Code is used to publish stuff on the web and in print, I have also included a requirement to give credit in any published work created using Local Yarn Code.
I have also preserved Apache 2.0’s requirement to include NOTICES.txt
, since I am using some 3rd-party code that is covered under another license.
You can read the proposed new license. I’ve also changed the branch copy of pollen.rkt
to give an example of the new per-file license notice.
Contributing and Credit
I had originally added a section that addressed the topic of “how to become a contributor”. I reasoned that if people are going to contribute, they would want to know what the procedure is for getting their name added to the “Required Credit” notice in the license.
This meant wrestling with a bunch of fiddly questions. What counts as a contribution? Do contributors need to sign something (as with the Fossil Contributor Agreement)? What if people send in a punctuation or spelling fix in the documentation, should that get them a spot in “Required Credit”?
In the end, I removed the section entirely. My uneducated legal theory on the new license’s approach is now as follows:
- Everyone who submits any change or addition is pretty obviously a “contributor” by definition. There’s no need to spell that out.
- The license does not address the governance of the Required Credit clause; thus, it is left to the discretion of those with “commit privileges” on the project — the ones with the power to actually write changes to the license file.
- This means there are two ways to get your name added to Required Credit.
- One, you could ask the maintainers of the project. They could say yes or no, but would still be able to use your contributions either way since you would still be a “contributor” under the license terms.
- Two, you could fork the project and add your name to Required Credit yourself.
- I am fine with both of these outcomes.