Design: Copyfree license preferred

Created on 22 Apr 2016  ·  12Comments  ·  Source: WebAssembly/design

I know that an Apache License will satisfy the vast majority of situations, but only a Copyfree license (like BSD, MIT, or CC0) would satisfy 100% of them.

The Apache License doesn't fit this elevated standard of Software Freedom:

Condition 3 of both the Apache License 1.0 and Apache License 1.1 violates point 3. Free Modification and Derivation of the Copyfree Standard Definition by specifying conditions (beyond licensing) that must apply to modifications.

Section 4, subsections 2 and 4 of the Apache License 2.0 violate point 3. Free Modification and Derivation of the Copyfree Standard Definition by specifying conditions (beyond licensing) that must apply to modifications.

This issue applies to other WebAssembly repositories as well. There are better ways of doing a patent grant, if needed. Some browsers and development platforms that use a Copyfree license will not accept components that are more restrictively licensed.

No disrespect intended. I hope you won't respond with hostility. Obviously you can do whatever the heck you want. Have a nice day.

Most helpful comment

suggestion: Dual-license with the MIT/X11 License or some other copyfree license, as a means to . . .

  1. Ensure contributions are covered by AL2's patent provisions, by accepting contributions only when they are dual-licensed the same as the project as a whole.
  2. Ensure recipients are not unduly burdened by legal compliance issues.

All 12 comments

We're currently looking at using the Apache 2.0 license, but adding a runtime exception clause (for compilers and runtimes) as well as a GPL v2.0 exception. There are some complications, but I believe we'll be able work things out in the near future so stay tuned for more details.

@lbmn I don't expect any of the code in the spec will be needed for an implementation of a runtime or compiler or other tools, so does it constraint them? Wasm also seems a light layer for a runtime compiler, and probably a relatively small amount of code to write independently.

obligatory disclaimer: _I am not a lawyer. My comments are not intended as legal advice. If you require legal advice, I recommend you retain the services of a legal professional._ (please don't sue me for talking about legal topics)

I think starting with a fairly complex license that comes with several drawbacks[1], then adding multiple additional legal baggage, all in addition to license incompatibility issues that go beyond the narrow case of runtime exceptions and GPLv2[2], is far from ideal. As legal complexity increases, the potential for interactions between various clauses and documents in the growing network of legalities applied to a project giving rise to unintended and unexpected legal implications also increases.

If, as @lbmn seems to suspect, your goal is simply to use a non-copyleft (somewhat more permissive) license that comes with a patent grant clause, there are other options. I think the simplest is the COIL. I don't want to make assumptions, though. What is the actual intent in choosing AL2? I'd like to know exactly what goals AL2 might actually meet for this project.

NOTES:
  1. Drawbacks aside from license incompatibilities mostly deal with bureaucratic requirements that impose administrative overhead (maintaining a special file associated with the project, if and when someone adds such a file; keeping a log of changes for each file changed by downstream developers or potentially later project maintainers) and the simple fact of a lot of unnecessary (in my estimation, anyway) complexity.
  2. AL2 suffers incompatibility with the most common cases of copyleft licenses, and only works compatibly with GPLv3 because of special effort taken to ensure compatibility between the two licenses was undertaken on both sides. This means that the compatibility between AL2 and GPLv3 is a very narrowly applicable exception to a more general rule, for a special case (though a popularly used special case). Future GPL versions and a wide range of other existing and potential future licenses (especially if copyleft) are likely to suffer incompatibility with AL2.

@apotheon: LLVM is considering changing licenses, probably to AL2. The reasons there might overlap here. In addition, the repos here have some interaction with LLVM (some might use LLVM code or vice versa), so if LLVM switches, it's a motivation here as well.

That's awfully disconcerting news, considering the difficulties involved in AL2 management in derived works. I'll have to consider how to better segregate some work in the future from LLVM, if that's the case.

suggestion: Dual-license with the MIT/X11 License or some other copyfree license, as a means to . . .

  1. Ensure contributions are covered by AL2's patent provisions, by accepting contributions only when they are dual-licensed the same as the project as a whole.
  2. Ensure recipients are not unduly burdened by legal compliance issues.

Multiple lawyers from open-source projects as well as various companies have been looking at LLVM's license as well as ours for a bit of time. I'd appreciate it if we could let them come with a solid proposal before trying to find alternative solutions. I'm told things should be ready "soon".

I'd be surprised if you can require participants in a W3C Community Group to enter into some other agreement, like the Apache License, in order to participate in working on Specifications in the Community Group. (the various code projects that are not the spec are different)

Here is W3C's page on licensing for specs in Community Groups under the W3C CLA
https://www.w3.org/community/about/agreements/summary/

The CLA applies to Community Group Specifications (not to software projects).

You may want to consider using the W3C Software and Document License. That is a BSD style license. One of the design criteria for that license was to be able to move abandoned W3C specs to Community Groups so it was designed with compatibility with the CLA in mind. I suggest using that at least for whatever the CG considers the Specification that it wants the CLA to apply to.

Here are the W3C Community Group GitHub CONTRIBUTING.md and LICENSING.md templates.

For examples of use of these templates, see any of the repositories for specs in the W3C Web Platform Incubator CG and their Charter. They use the W3C Software and Document License.

I left out an important link. Here's the copyright deed for W3C Community Group Specs.

And here is the W3C CLA.

@wcarr: I'm not sure your point is the same as the original one. I'll follow up with Scott on Friday and get back to you, probably on a separate thread to keep this issue focused on copyfree license.

No activity in a while, closing.

@jfbastien - The last thing I saw was your promise to come back with more information after consulting with someone else. Perhaps there wasn't any particular activity here because people expected some kind of reply here.

I don't see any indication that this is a closed issue -- just a closed issue report, which basically looks like "won't consider, for no reason". Is there any reason this should not be re-opened? Should I open a new issue report to try to reach some kind of conclusion to the matter?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mfateev picture mfateev  ·  5Comments

aaabbbcccddd00001111 picture aaabbbcccddd00001111  ·  3Comments

chicoxyzzy picture chicoxyzzy  ·  5Comments

artem-v-shamsutdinov picture artem-v-shamsutdinov  ·  6Comments

beriberikix picture beriberikix  ·  7Comments