18 votes

Redis adopts dual source-available licensing

17 comments

  1. unkz
    Link
    Seems very similar to what happened with elasticsearch, and presumably the same target -- AWS. Slightly awkward for me personally, as a fairly committed user of AWS elastic cache's hosted redis....

    Seems very similar to what happened with elasticsearch, and presumably the same target -- AWS. Slightly awkward for me personally, as a fairly committed user of AWS elastic cache's hosted redis. However, I expect AWS to fork the code from the last BSD point and maintain it.

    7 votes
  2. [3]
    ebonGavia
    Link
    I found this interesting blog post about the history of the project and how it evolved to the (rather sad) state of affairs today....

    I found this interesting blog post about the history of the project and how it evolved to the (rather sad) state of affairs today.

    https://www.gomomento.com/blog/rip-redis-how-garantia-data-pulled-off-the-biggest-heist-in-open-source-history

    5 votes
    1. [2]
      skybrian
      Link Parent
      I would have liked a bit more technical detail. Why is scaling Redis a tough problem? What is “advanced orchestration” and why are “large deployments” untenable without it? For that matter, what’s...

      I would have liked a bit more technical detail. Why is scaling Redis a tough problem? What is “advanced orchestration” and why are “large deployments” untenable without it? For that matter, what’s a “control plane?”

      1 vote
      1. devilized
        Link Parent
        As someone with a large globally-distributed Redis deployment: the in-memory nature of Redis means that it is super fast, but volatile if not your infra is not super stable. Running a single...

        As someone with a large globally-distributed Redis deployment: the in-memory nature of Redis means that it is super fast, but volatile if not your infra is not super stable. Running a single instance of Redis is easy enough, but once you get into HA deployments, you choose between master/slave setups using Sentinel or a sharded cluster deployment. Each has pros/cons, and each means you have to deal with data replication to make each node consistent which becomes a bottleneck in performance because network latency is much higher than in-memory. The more your database grows, and the more nodes you have, the bigger these issues become and the more complex that your monitoring has to be. You might also have a requirement for auto-scaling if your workloads are bursty.

        Cloud providers like AWS take care of some of that pain for you. You just say "hey, I want some auto-scaling, multi-region Redis" and it's ready to use (although their offering is single-region write, multi-region read). My team and I spend many hours caring and feeding for our self-hosted global Redis deployment, which has costed my company many thousands of dollars in developer time. It would've been nice to just order it, and that's what AWS does for the most part.

        That being said, AWS is charging customers for using something that they're getting for free. You could argue that at least some of that cost is for them to manage it and not really for the Redis service itself, but obviously Redis sees it differently and wants a slice of the pie. AWS knows this, and it's why they tend to develop their own proprietary competitive offerings as well like DynamoDB.

        12 votes
  3. [12]
    skybrian
    Link
    I don’t use Redis so I’m pretty neutral on this. I’m just glad they got the terminology right. Maybe open source licenses aren’t right for some software from some businesses, and that’s okay?

    I don’t use Redis so I’m pretty neutral on this. I’m just glad they got the terminology right.

    Maybe open source licenses aren’t right for some software from some businesses, and that’s okay?

    4 votes
    1. [7]
      vord
      Link Parent
      Eh, I think (A)GPL should be the default state of all software. End user freedom is more important than being able to make a buck from secrecy. If we had source to all our stuff, it would be...

      Eh, I think (A)GPL should be the default state of all software. End user freedom is more important than being able to make a buck from secrecy.

      If we had source to all our stuff, it would be (relatively) trivial to port all of our software between different hardware architectures, further empowing users.

      I get that it's their right to do this, but it does mean we'll be implementing alternatives as we upgrade our software.

      8 votes
      1. [2]
        smores
        Link Parent
        I could be missing something (I didn’t actually attempt to read the new licenses, for one thing), but it seems like not only are they still making all source code available, anyone is still free...

        I could be missing something (I didn’t actually attempt to read the new licenses, for one thing), but it seems like not only are they still making all source code available, anyone is still free to modify that source code for their own use as they see fit. The only change seems to be that you can no longer use Redis source code to sell a product that directly competes with Redis’ cloud offerings.

        I generally agree with you that the world would be a better place if all or almost all software was open source, but this feels like a pretty reasonable compromise for the engineers that maintain this software to be compensated for the truly immense value they’ve provided to the entire world.

        16 votes
        1. vord
          (edited )
          Link Parent
          I'm not saying they're wrong... in the state of the world it's even reasonable to choose to do so. But these additional licenses are far more complex, and it's easier to say 'we'll stick with an...

          I'm not saying they're wrong... in the state of the world it's even reasonable to choose to do so.

          But these additional licenses are far more complex, and it's easier to say 'we'll stick with an MIT/GPL, thanks' for our use cases.

          Don't get me wrong: My desire for a completely open source user-focused software world probably wouldn't have developed a massive software industry. There would likely still be the same number of programmers. Companies would pay them to develop and modify software...but there probably wouldn't be nearly as many people trying to get rich by selling software. And that would be just fine.

          The people whom are most afraid of a collapse of closed software are the big companies. Because it'd let small companies compete in ways we don't see anymore.

          10 votes
      2. [4]
        skybrian
        Link Parent
        Yeah, Redis (the company) is effectively creating a fork. Open source projects can fork! It may be annoying, but it’s an important right. The code uses the BSD license, which doesn’t require...

        Yeah, Redis (the company) is effectively creating a fork. Open source projects can fork! It may be annoying, but it’s an important right.

        The code uses the BSD license, which doesn’t require contributing back, either. Somehow the discussion around it seems to be confusing this with a copyleft license.

        I think people underestimate how libertarian open source can be. Using something you got for free, and even building a business on it, is… what many open source licenses are about?

        Getting paid for your labor is something many people understandably care a lot about, but it’s explicitly not part of the deal, though some can make it work.

        (They are going to a source-available license, so it’s not about secrecy.)

        4 votes
        1. [3]
          vord
          Link Parent
          Not disagreeing, but that's kind of because the term 'open source' was coined in the late 90's to make it more corporate-friendly and distance itself from the far more consumer-friendly terms of...

          Not disagreeing, but that's kind of because the term 'open source' was coined in the late 90's to make it more corporate-friendly and distance itself from the far more consumer-friendly terms of the GPL and other copyleft licenses (not that there were many others back then).

          Source available is just not the same, and I kind of see it as a canary in the coal mine. And Redis can do what Redis wants, just as Oracle was able to with Java.

          I see the BSD and MIT sytle as preferable to closed source software, but still objectively worse as an end user than the GPL.

          4 votes
          1. [2]
            skybrian
            Link Parent
            I think that “consumer-friendly” is not quite the right way to put it, since most consumers don’t care about the rights that GPL software gives you. Consuming is about using the software. If you...

            I think that “consumer-friendly” is not quite the right way to put it, since most consumers don’t care about the rights that GPL software gives you. Consuming is about using the software. If you don’t like how it works, the easiest thing to do is to find something else. Source code isn’t even needed to do that, and GPLed software doesn’t have a reputation of being easier to use. Consumers don’t even care that much about licenses - it’s an annoyance to click through.

            Maybe “community-minded” would be a better? It’s an implicit assumption that there will be a community around maintaining the software and improving it. This can have indirect advantages if you hire someone to make those improvements, or direct advantages if you learn to do it yourself. But that’s for people who take a hands-on approach. It’s like the difference between car nuts and people who just use a car as transportation.

            A lot of governance issues come up because there is a community that’s trying to work together, but consumers might not even be aware of the community.

            3 votes
            1. vord
              (edited )
              Link Parent
              That did not used to be the case, and treating end users like idiots who can't learn a compiler is how we got in this mess in the first place. ;) The GPL doesn't actually dictate that source code...

              That did not used to be the case, and treating end users like idiots who can't learn a compiler is how we got in this mess in the first place. ;)

              The GPL doesn't actually dictate that source code is available publicly...just many companies find that easier, since the end users could choose to re-share anyway. Subaru doesn't have to disclose their GPL software modifications to anybody other than the person who bought the car. I can request the source code and they'll ship it to me on a CD.

              There's a whole swath of people who exist in the space between "I can't turn on wifi without help" and "I reverse-engineer drivers." And just because they don't write code doesn't mean they wouldn't benefit from somebody else doing so. Even laypeople who don't customize their own hardware can benefit by having random people who do have these skills being able to fix and port things.

              "Click these three buttons and now your Nintendo Switch can now run Android Apps" is a thing that could be viable if not for Nintendo's DRM. Heck, as I proposed where the GPL is default: "Click these three buttons and now your Nintendo Switch runs Windows"

              "Hey Subaru, random dude patched the bug that causes the Infotainment center to crash every third time you start your car. Please get it tested and push it out as an official update."

              Entire layers of emulators wouldn't be needed if game source code was open by default, and the programmer types could port to different hardware and the laypeople could just download the new binaries.

              I probably wouldn't program my own smart TV. But I'd sure as shit flash a custom OS with Kodi baked-in, and would help anybody else within my periphery who asked.

              8 votes
    2. [4]
      Macha
      Link Parent
      The thing that burns me about this move, is that these software companies are building on the real open source ecosystem and not contributing to that as they feel people should contribute to them....

      The thing that burns me about this move, is that these software companies are building on the real open source ecosystem and not contributing to that as they feel people should contribute to them.

      To put it another way: Where's redis' funding of Lua and GCC? If they took the approach redis did, would redis have been built? Or the Linux kernel that their hosted service runs on?

      5 votes
      1. [3]
        skybrian
        Link Parent
        People find open source unintuitive and so they try to invent informal obligations where there aren't any. Yes, we all benefit from huge amounts of open source code written before us. You don't...

        People find open source unintuitive and so they try to invent informal obligations where there aren't any. Yes, we all benefit from huge amounts of open source code written before us. You don't have to contribute back. No matter who you are, you can take but not give, and it's fine. Yes, this is a very one-sided arrangement.

        If you think that's unfair and want to make an agreement so you get paid for your work, that's a perfectly reasonable thing to do, but It's not open source anymore.

        That's effectively what Redis is doing. From now on, they don't want to give everyone their improvements for free, so they're going with a more restrictive license for the new stuff. It's understandable.

        It probably also means they shouldn't expect others to contribute to their fork for free either? I'm guessing they're okay with that, though.

        It will be interesting to see which license people on the non-Redis forks switch to, because the same logic applies to them. Will they be okay with Redis using their code as a BSD license allows, or will they switch to more restrictive licenses?

        2 votes
        1. [2]
          Macha
          Link Parent
          It's the companies switching to shared source licenses that started to paint it in terms of obligations. Like a lot of their messaging is "people don't support open source like they should so...

          It's the companies switching to shared source licenses that started to paint it in terms of obligations. Like a lot of their messaging is "people don't support open source like they should so we're forced into switching to this kind of license".

          That's why the distance between how they treat the products they build on and how they expect people building on them to treat them bothers me.

          2 votes
          1. skybrian
            (edited )
            Link Parent
            I think there’s a lot of people who would like to be paid (or paid more) for working on open source. Someone else contributing a change doesn’t help you get paid. Who contributed more source code...

            I think there’s a lot of people who would like to be paid (or paid more) for working on open source. Someone else contributing a change doesn’t help you get paid. Who contributed more source code isn’t really the issue.

            In this case, Redis sees how much Amazon is making and want to make money too.

            People deciding they want to make more money isn’t about who started it or being forced to do anything.

            1 vote
  4. zoroa
    Link
    Update: Linux Foundation Launches Open Source Valkey Community This seems to continue a pattern of: "Open Source project gets popular. Project relicenses to be more commercially viable. A fork of...

    Update: Linux Foundation Launches Open Source Valkey Community

    Today, the Linux Foundation announced its intent to form Valkey, an open source alternative to the Redis in-memory, NoSQL data store. Project contributors quickly gathered maintainer, community, and corporate support to regroup in response to the recent license change announced by Redis Inc. Valkey will continue development on Redis 7.2.4 and will keep the project available for use and distribution under the open source Berkeley Software Distribution (BSD) 3-clause license.


    This seems to continue a pattern of: "Open Source project gets popular. Project relicenses to be more commercially viable. A fork of the pre-relicensed repo is created and maintained by the Linux Foundation".

    Previous example: Linux Foundation Launches OpenTofu: A New Open Source Alternative to Terraform

    2 votes