22 votes

It’s time for the open source community to get real

12 comments

  1. [4]
    Deimos
    (edited )
    Link
    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...

    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)

    10 votes
    1. hook
      (edited )
      Link Parent
      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.

      1. make exciting tech in the public eye
      2. put it under a permissive license to encourage everyone to help you out for free
      3. when it gets big enough to be bought, turn it proprietary to make it more interesting as an M&A target
      4. get acquired by a big company
      5. 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

      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:

      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.)

      14 votes
    2. [2]
      teaearlgraycold
      Link Parent
      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.

      1 vote
      1. Celeo
        Link Parent
        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.

        4 votes
  2. [2]
    Celeo
    Link
    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?

    5 votes
  3. [5]
    spit-evil-olive-tips
    Link
    The HN thread about this article changed the headline to "Open source takes continued investment, and that must be subsidized somehow" which I think is a good summary of the issue. Development of...

    The HN thread about this article changed the headline to "Open source takes continued investment, and that must be subsidized somehow" which I think is a good summary of the issue. Development of open-source projects takes time and costs money. That has to come from somewhere. TANSTAAFL.

    4 votes
    1. [3]
      hook
      Link Parent
      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.

      7 votes
      1. [2]
        Lynx
        Link Parent
        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.

        8 votes
        1. hook
          Link Parent
          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”.

          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”.

          6 votes
    2. talklittle
      Link Parent
      There ain't no such thing as a free lunch, for anyone else wondering.

      There ain't no such thing as a free lunch, for anyone else wondering.

      6 votes
  4. teaearlgraycold
    Link
    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.