ARM contributing to libc++ & libc++abi

We (ARM) intend to contribute to libc++ and libc++abi.

However, in order to do that, we would first need to add a ‘NOTICE.TXT’ file at the root of each of these projects which would contain:

I would mirror the LICENSE.TXT and call it PATENTS.TXT. Modulo paragraph
wrapping, it sounds fine to me.

Joerg

There is a LICENSE.txt in the ARM target of LLVM with similar but different text.

Is there a reason why these are different?

There are 2 main reasons for them to be different:

  • libc++ does not touch as much our core business as a target: instruction sets, architecture and micro-architecture, …

  • our legal people are getting more used to open source and feel (a bit) more comfortable: they have been able to come up with something short and which looks understandable to “normal” people.

Cheers,

Arnaud

I’m OK with this.
Not happy, because I think that this will lead to other companies wanting notices, but OK.

— Marshall

“necessarily infringed”? Does that mean that if ARM contributes code that unnecessarily uses ARM-owned patents, people don’t get the implicit license and are liable? Isn’t the point to limit patent claims by ARM on users of LLVM? I don’t see how this license would limit claims on ARM, nor why the project would care about that. Unless the lawyers have managed to corrupt the meaning of “on” in this case. Sebastian

We understand your concern, and agree with you.

We believe this should be handled at the foundation level rather than with a “notice” per project. We are discussing this subject with the foundation, but it will take some time (several months) before anything is setup; we do not wish to delay our contributions by that much. We think of those “notice” as an intermediate step; once everything is in place with the foundation, they should be removed.

Best regards,

“necessarily infringed”? Does that mean that if ARM contributes code that unnecessarily uses ARM-owned patents, people don’t get the implicit license and are liable?

[Caveat: I am not a lawyer] This wording can be found in many common CLA (contributor licence agreement). With my limited understanding of the patent parlance, this relates to a kind of transitivity between patents: people only get the licence for what is in the contribution; for example, the fact we contribute some code generation stuff (necessarily infringed) does not give people a licence on the target architecture (unnecessarily infringed).

Isn’t the point to limit patent claims by ARM on users of LLVM? I don’t see how this license would limit claims on ARM, nor why the project would care about that. Unless the lawyers have managed to corrupt the meaning of “on” in this case.

[Caveat: I am not a lawyer] It removes doubts and clarifies the situation, at least for the lawyers, and this better protects users, LLVM and ARM. Users get the licence for what we contributed to LLVM, but not to the complete patent portfolio. This ultimately benefits the LLVM project, which does not want to be in the middle of some patent madness.

Best regards,

This does not seem like a question that cfe-dev is qualified to answer;
according to http://llvm.org/docs/DeveloperPolicy.html#patents the right
place to direct your email appears to be llvm-oversight@cs.uiuc.edu.

We (ARM) intend to contribute to libc++ and libc++abi.

However, in order to do that, we would first need to add a ‘NOTICE.TXT’ file at the root of each of these projects which would contain: