RFC #3: Improving license & patent issues in the LLVM community

Hello LLVM community,

I am not currently a contributor to LLVM or associated projects, so I do not expect my opinion to carry much weight here. That said, I have noticed a few things that I would like to point out.

Several people have made statements along the lines of “I am not a lawyer.” Why should such a statement be necessary? The current LLVM license is concise enough that anyone can read it and understand what it requires: give credit where credit is due, and do not misuse the names of the authors to sell your own products.

Now I understand that this is not really a matter of debate. People seem to have decided that Apache 2.0 is the future and take its increased size and complexity for granted. But that brings me to my second point. Chris, you have mentioned that the lawyers working on this are “super smart legal folks.”

No doubt that is true. But I ask, if they are so smart, why were they not able to take a path of less resistance: to simply add a new document about patents? Why go to the trouble of dragging the community through a multi-year relicensing process? Lawyers are not cheap, and this drawn out process must have cost a pretty penny. From a project supported by volunteers.

The overarching theme that I perceive is that developer resources are being misused. People are wasting time debating legal terminology instead of writing software. Many have expressed doubts about what the new license requires in terms of attribution, and whether they will have to make changes or risk being sued. And the donations of many supporters and volunteers are being spent on high-priced lawyers.

Please reconsider whether this is the right thing to do, or if there is a simpler, easier way that all of us can support.

Hello LLVM community,

Several people have made statements along the lines of “I am not a lawyer.”
Why should such a statement be necessary?

It's possibly to set the context as non-legal advice. They want to be
honest that their views are from a non-lawyer. Beyond any requirements
their employers may need it just seems very honest. I am not a lawyer
either.

No doubt that is true. But I ask, if they are so smart, why were they not
able to take a path of less resistance: to simply add a new document about
patents?

These are extremely complicated matters and in general it's safer to
leverage existing work than to try to sticky-tape fix things. Ask
yourself - How would you word a new clause or additional wording to
deal only with patents? How would that be superior to something which
is available now and already addresses those concerns. The license
they've chosen has been reviewed by probably hundreds or thousands of
lawyers and across companies and jurisdictions. There's a ton of
people who are familiar with it, understand it and feel comfortable
with it. Please respect those people and their efforts and not
underestimate the amount of work involved here.

Why go to the trouble of dragging the community through a
multi-year relicensing process? Lawyers are not cheap, and this drawn out
process must have cost a pretty penny. From a project supported by
volunteers.

The motivation has been covered in a previous email.

The overarching theme that I perceive is that developer resources are being
misused. People are wasting time debating legal terminology instead of
writing software. Many have expressed doubts about what the new license
requires in terms of attribution, and whether they will have to make changes
or risk being sued. And the donations of many supporters and volunteers are
being spent on high-priced lawyers.

You seem to be making assumptions and trying to distract from the
original goal. Please read the original motivation and if you have
something against those specific goals please address them
specifically. fwiw I think the lawyers are doing this pro-bono and
volunteering their time and energy side by side with the engineers.

Please reconsider whether this is the right thing to do, or if there is a
simpler, easier way that all of us can support.

My favorite canned reply - patches welcome :slight_smile:

Several people have made statements along the lines of “I am not a lawyer.” Why should such a statement be necessary?

See wikipedia: IANAL - Wikipedia

Chris, you have mentioned that the lawyers working on this are “super smart legal folks.” No doubt that is true. But I ask, if they are so smart, why were they not able to take a path of less resistance: to simply add a new document about patents?

This was covered in the first round of discussion: we don’t want to “innovate” with a novel legal solution. The Apache 2 license is extremely well known and widely used. This makes it easier for people to contribute to LLVM, because they know what Apache 2 means. A novel solution is bad both because it may end up being “buggy”, but also because it reduces adoption simply through novelty.

Why go to the trouble of dragging the community through a multi-year relicensing process?

This was also covered in the first email, the motivations should be obvious.

Lawyers are not cheap, and this drawn out process must have cost a pretty penny. From a project supported by volunteers.

We are fortunate that the super smart lawyers in question were sponsored by the 4-5 respective companies that they work for, they did not come at direct expense to the LLVM community. We are also fortunate that Heather Meeker donated her time pro bono to the LLVM Foundation. We are getting the best result at zero direct cost to the community, this is a good thing.

The overarching theme that I perceive is that developer resources are being misused. People are wasting time debating legal terminology instead of writing software. Many have expressed doubts about what the new license requires in terms of attribution, and whether they will have to make changes or risk being sued. And the donations of many supporters and volunteers are being spent on high-priced lawyers.

Please reconsider whether this is the right thing to do, or if there is a simpler, easier way that all of us can support.

As you say, given that you are not a contributor to LLVM, I realize that you do not understand why this entire effort is important. The goals and motivations were explained in the first round of discussion. Simply put, we are working to ensure that the LLVM community is stable and robust for the long term (e.g. next 20 years). Trust me, I would not have wasted my personal time on this if I didn’t personally think it were really really important.

-Chris