There's been a ton of drama and debate over the last few days about open-source projects and their licensing and funding. This was touched off by Redis Labs introducing a new restriction they're...
TL;DR IMO and in very short: kill it with fire. As for Rebloom, well, as long as you use the old version (or a fork thereof), it should be OK. But the new license is to be avoided and IMHO...
TL;DR
IMO and in very short: kill it with fire.
As for Rebloom, well, as long as you use the old version (or a fork thereof), it should be OK. But the new license is to be avoided and IMHO discouraged. We could maaaaybe weasel around it since you’re not selling anything (hmm, how would donations count?), but in any case it would be best to avoid it to discourage such practice.
General info
Apart from HN (first page has some good threads) and Twitter, there is a discussion thread on this topic in the Legal Network and while the reason and questions that the “Commons Clause” tries to solve are being met with some sympathy, the answer (i.e. the clause itself) doesn’t seem to have any friends on the list.
It seems Apache Foundation is not amused either, since it is most often used together with Apache-2.0 license. There is also an issue open in Apache Legal JIRA, but the discussion hasn’t flown yet there (publicly at least, from what I hear).
And as far as pairing it with the GPL-3.0 license family (as e.g. Neo4J does with AGPL-3.0 for its commercial offer) is concerned, it seems that as a licensee you cannot follow at the same time (A)GPL-3.0 and the “Commons Clause” – you would be violating one or the other as soon as you distribute. Which makes it completely useless for you. It is debatable what happens if you follow the §7 rules of the (A)GPL-3.0 and try to remove the “Commons Clause”:
If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term.
Wild speculations
I have heard a speculations that I haven’t even tried to confirm, but it does seem to make sense.
Namely, that such actions are a new start-up scam strategy to get bought.
make exciting tech in the public eye
put it under a permissive license to encourage everyone to help you out for free
when it gets big enough to be bought, turn it proprietary to make it more interesting as an M&A target
get acquired by a big company
profit!
A further hint supporting this is how Bain Capital (also investor in Redis, together with Goldman Sachs and Dell) spoke about this in this article on GeekWire
The Redis core is, and always will remain, an open source BSD[-3-Clause] license. Certain modules, however, are now licensed as “Apache 2.0 modified with Commons Clause.”
Affected modules
On a quick look, the following modules seem to be affected (i.e. all currently actively maintained modules):
reJSON – Apache-2.0 with Commons Clause
RediSearch – Apache-2.0 with Commons Clause
RedisGraph – Apache-2.0 with Commons Clause
Redis TimeSeries – Apache-2.0 with Commons Clause
RedisML – Apache-2.0 with Commons Clause
Rebloom – Apache-2.0 with Commons Clause
The following modules are still under the same license as before, but also have not been updated in a while:
RedaBlooms – AGPL-3.0-or-later (deprecated by Rebloom)
Redex / RedisEx – AGPL-3.0-or-later
Redis Secondary Index Module – AGPL-3.0-or-later
PyRedis / RedisModulesSDX – MIT
CountMinSketch – AGPL-3.0-or-later
TopK – AGPL-3.0-or-later
Password – AGPL-3.0-or-later
GraphicsMagick (the Redis wrapper for it) – AGPL-3.0-or-later
pam_auth – AGPL-3.0-or-later
(IANYL TINLA, if anyone even thought that you could casually enter a lawyer-client relationship and therefore get legal advice on an online forum.)
From the rebloom license: What does the bolded clause mean, really? If you're just using that one module for a small amount of functionality in the site then you're free to commercialize the site?...
From the rebloom license:
the License does not grant to you, the right to Sell the Software.
For purposes of the foregoing, “Sell” means practicing any or all of the rights granted to you
under the License to provide to third parties, for a fee or other consideration (including without
limitation fees for hosting or consulting/ support services related to the Software), a product or
service whose value derives, entirely or substantially, from the functionality of the Software.
What does the bolded clause mean, really? If you're just using that one module for a small amount of functionality in the site then you're free to commercialize the site? Obviously it's safer to just avoid the tainted code altogether. But this seems to be a legal pain in the ass. Any law suit would probably be entirely focused on this clause, each side arguing that the software did or didn't make a substantial contribution.
The article (not the license itself, mind) has this:
The article (not the license itself, mind) has this:
if your product is an application that uses such a module to perform select functions, you can use it freely and there are no restrictions on selling your product. However, if what you sell is basically the functionality of the module packaged as a cloud service or on-prem software, Commons Clause does not allow it.
I was reading over the Redis licensing news, but all I had was a bunch of HN comments; good to see a more formal article (though here are those comments anyways, with some from the Redis Labs...
I was reading over the Redis licensing news, but all I had was a bunch of HN comments; good to see a more formal article (though here are those comments anyways, with some from the Redis Labs CTO).
From the license:
“Sell” means practicing any or all of the rights granted to you under the License to provide to third parties, for a fee or other consideration [...], a product or service whose value derives, entirely or substantially, from the functionality of the Software\
And from the article:
if your product is an application that uses such a module to perform select functions, you can use it freely and there are no restrictions on selling your product. However, if what you sell is basically the functionality of the module packaged as a cloud service or on-prem software, Commons Clause does not allow it
So basically they're just making sure that AWS doesn't package it up and offer it as a service, i.e. Elasticsearch Service?
Very much so. But the “Commons Clause” is not the (or even a good) answer. What is true is that we have to figure out new business models for developing FOSS, which are both legal and legitimate.
Very much so. But the “Commons Clause” is not the (or even a good) answer.
What is true is that we have to figure out new business models for developing FOSS, which are both legal and legitimate.
Commons Clause isn't even an answer to the question "How can we finance FOSS development?" because including it automatically makes the software proprietary. Sure, it's a business model, but it's...
Commons Clause isn't even an answer to the question "How can we finance FOSS development?" because including it automatically makes the software proprietary. Sure, it's a business model, but it's incompatible with free software by definition.
They say that these modules can't be maintained long term by developers working for free. Maybe they're right. I guess we'll see if the inevitable forks get maintained. If they do, the licensing...
They say that these modules can't be maintained long term by developers working for free. Maybe they're right. I guess we'll see if the inevitable forks get maintained. If they do, the licensing change was needless.
There's been a ton of drama and debate over the last few days about open-source projects and their licensing and funding. This was touched off by Redis Labs introducing a new restriction they're calling "Commons Clause" and tacking on to their licenses. This is something that affects Tildes as well, since I'm using their ReBloom module (though it's still an old version before they changed the license, and certainly not essential).
Anyway, this is a pretty good article about the controversy and some of the related topics that it's brought up.
(@hook I'd be interested in your thoughts on this if you're around)
TL;DR
IMO and in very short: kill it with fire.
As for Rebloom, well, as long as you use the old version (or a fork thereof), it should be OK. But the new license is to be avoided and IMHO discouraged. We could maaaaybe weasel around it since you’re not selling anything (hmm, how would donations count?), but in any case it would be best to avoid it to discourage such practice.General info
Apart from HN (first page has some good threads) and Twitter, there is a discussion thread on this topic in the Legal Network and while the reason and questions that the “Commons Clause” tries to solve are being met with some sympathy, the answer (i.e. the clause itself) doesn’t seem to have any friends on the list.
It seems Apache Foundation is not amused either, since it is most often used together with Apache-2.0 license. There is also an issue open in Apache Legal JIRA, but the discussion hasn’t flown yet there (publicly at least, from what I hear).
And as far as pairing it with the GPL-3.0 license family (as e.g. Neo4J does with AGPL-3.0 for its commercial offer) is concerned, it seems that as a licensee you cannot follow at the same time (A)GPL-3.0 and the “Commons Clause” – you would be violating one or the other as soon as you distribute. Which makes it completely useless for you. It is debatable what happens if you follow the §7 rules of the (A)GPL-3.0 and try to remove the “Commons Clause”:
Wild speculations
I have heard a speculations that I haven’t even tried to confirm, but it does seem to make sense.Namely, that such actions are a new start-up
scamstrategy to get bought.A further hint supporting this is how Bain Capital (also investor in Redis, together with Goldman Sachs and Dell) spoke about this in this article on GeekWire
Redis specific details
An excerpt from a thread I started on Nextcloud forum:
Redis has recently changed the license of some of its modules from Apache-2.0 to Apache-2.0 together with the so called “Commons Clause”.
This new clause at the very least makes those Redis modules not FOSS any more and may cause issues with downstream distributors and hosts. As an example, in Fedora it seems they will not distribute those modules in the future.
More info:
The most important Redis-relevant bit:
Affected modules
On a quick look, the following modules seem to be affected (i.e. all currently actively maintained modules):
The following modules are still under the same license as before, but also have not been updated in a while:
(IANYL TINLA, if anyone even thought that you could casually enter a lawyer-client relationship and therefore get legal advice on an online forum.)
From the rebloom license:
What does the bolded clause mean, really? If you're just using that one module for a small amount of functionality in the site then you're free to commercialize the site? Obviously it's safer to just avoid the tainted code altogether. But this seems to be a legal pain in the ass. Any law suit would probably be entirely focused on this clause, each side arguing that the software did or didn't make a substantial contribution.
The article (not the license itself, mind) has this:
I was reading over the Redis licensing news, but all I had was a bunch of HN comments; good to see a more formal article (though here are those comments anyways, with some from the Redis Labs CTO).
From the license:
And from the article:
So basically they're just making sure that AWS doesn't package it up and offer it as a service, i.e. Elasticsearch Service?
Reads like that to me.
Very much so. But the “Commons Clause” is not the (or even a good) answer.
What is true is that we have to figure out new business models for developing FOSS, which are both legal and legitimate.
Commons Clause isn't even an answer to the question "How can we finance FOSS development?" because including it automatically makes the software proprietary. Sure, it's a business model, but it's incompatible with free software by definition.
No, but it is perhaps an answer to “How to get my start-up to make money, while trying to appeal to modern devs to work for me for free”.
There ain't no such thing as a free lunch, for anyone else wondering.
They say that these modules can't be maintained long term by developers working for free. Maybe they're right. I guess we'll see if the inevitable forks get maintained. If they do, the licensing change was needless.