Dgraph: The license isn't really the Apache license

Created on 28 May 2018  路  8Comments  路  Source: dgraph-io/dgraph

By adding the no-resale clause, you have changed the license on your software no longer be the Apache license.

You should signal that by changing the text of your license to make it clear that you are not really using the Apache license at all and that your code is not open source as defined by the OSI.

There is nothing wrong with restricting your licensing, it is just better to be up front about it. Claiming to use the Apache license in one breath and then not using it is likely to confuse people.

kinquestion

Most helpful comment

The Apache license is intended and is customarily used to signify software that can be used without any restrictions beyond those specified in the Apache license. The text of the license grants downstream users the right to use the software for any purposes.

At Apache, we have already had evidence of the confusion in the form of people asking whether your licensing was compatible with Apache projects (it isn't). The problem is that you are essentially saying that your license is Apache and not Apache. That confuses people. Even more so because the "and not" part is couched in language that people have to dig to understand while the "Apache" part is widely understood.

It would be much better if you were to describe your licensing as something other than as an Apache license. One option is to call it the "Dgraph License". Simply putting the two clauses together doesn't really help since the conjunction is self-contradictory.

All 8 comments

The LICENSE.md file clearly states the commons clause restriction, as do all the code files. Where do you see one used without mentioning the other?

The Apache license is intended and is customarily used to signify software that can be used without any restrictions beyond those specified in the Apache license. The text of the license grants downstream users the right to use the software for any purposes.

At Apache, we have already had evidence of the confusion in the form of people asking whether your licensing was compatible with Apache projects (it isn't). The problem is that you are essentially saying that your license is Apache and not Apache. That confuses people. Even more so because the "and not" part is couched in language that people have to dig to understand while the "Apache" part is widely understood.

It would be much better if you were to describe your licensing as something other than as an Apache license. One option is to call it the "Dgraph License". Simply putting the two clauses together doesn't really help since the conjunction is self-contradictory.

When you see software packages that are "multiply-licensed", the conjunctive is "or". For example, "GPLv2/MPLv2" is interpreted as "You may use the GPLv3 OR the MPLv2". The downstream user/developer gets to choose the license they are using, and more specifically, which they may choose to use for their changes/redistribution.

However, your conjunctive is "and". As @tdunning notes, this no longer means you are using the ALv2, but a modified form. Please see the following FAQ about modifying the Apache License: http://www.apache.org/foundation/license-faq.html#mod-license

Short answer being: avoid the term "Apache License"

Perhaps you would be happier with a creative commons license such as:

https://creativecommons.org/licenses/by-nc-sa/3.0/

As it stands nobody who cares about licenses can actually use your code because of the self-contradiction in your license file.

Thanks for your comments.

First, to be clear, we are the authors of this software, so our responsibility is to choose our license terms and clearly communicate them to those who want to use the software. We have done that and we are obviously not trying to mislead anyone. We think our licensing statement is easy to understand. We have not changed the Apache license terms. We have added an additional term (Commons Clause) and clearly stated that we are applying the two together.

If we had changed the Apache license, we would not have referred to it by that name, as recommended in the FAQ. But given we have not changed the Apache terms, it seems to us more confusing to arbitrarily refer to those terms by a different name. The FAQ does not seem to have contemplated this particular situation.

We want to clearly communicate our terms but also be respectful of the Apache Foundation鈥檚 rights. If there is a better way, that does not introduce more confusion, we would be happy to talk to someone who speaks on behalf of Apache to sort it out. If that鈥檚 you, please contact me via email: <my name>@dgraph.io.

@manishrjain yeah, @tdunning is one of our current Directors of the Board. He can certainly speak for the Foundation. :-)

(I've got my own, long history with the Foundation, but will defer to Ted)

Let's defer to email for clarifying this point, I'll wait for Ted's email. I'm closing this issue here for now.

Manish,

I don't have your email.

Mine is [email protected]

Was this page helpful?
0 / 5 - 0 ratings

Related issues

MichelDiz picture MichelDiz  路  3Comments

djdoeslinux picture djdoeslinux  路  4Comments

pepoospina picture pepoospina  路  3Comments

xhochipe picture xhochipe  路  3Comments

KadoBOT picture KadoBOT  路  5Comments