• 0 Posts
  • 684 Comments
Joined 3 years ago
cake
Cake day: July 16th, 2023

help-circle
  • I realize I oversimplified a complex set of moves and “shared source” is its own can of worms. My post was already too long.

    But my core point is that the code (as Valkey) remained available and remains available under the same free software license that it has always been available under.

    The only consequence of what Redis did was that they stopped giving away their “new” code to service providers like Amazon. Even Amazon can continue to use what was there before. And the community can continue to collaborate on the same code base that they were collaborating on before. The licence Redis chooses for its “new” code is largely irrelevant.

    We talk about permissive licenses like they represent some massive risk. I just do not see it that way. And they have many advantages including often attracting more corporate participation (more free code for me).

    I am a very happy user of Clang/LLVM. It is the product of collaboration between Google, Apple, Sony, Microsoft, academia, and other nerds. I am very happy we have licenses that encourage companies to create quality software for me to use.

    I am sure Redis chose BSD to begin with in case they ever had to make a move like they did. If the only option was GPL, they may never have released it as Open Source to begin with. Again, I am glad they did.



  • LeFantome@programming.devtoLinux@lemmy.mlYou can now use Debian without Linux
    link
    fedilink
    arrow-up
    13
    arrow-down
    6
    ·
    edit-2
    15 hours ago

    First, there has been massive amounts of MIT code in important parts of the Linux ecosystem for decades. Xorg, Wayland, and Mesa for starters. The sky has not fallen. I am not exactly panicking.

    But let’s address your specific example.

    Let start by pointing out that Redis was BSD, not MIT. But let’s assume your cautionary tale applies.

    A truly gigantic corporation, Amazon, was making all the money off Redis without giving anything back to the company that actually wrote the code (Redis). So, Redis tried to change the license to make that more difficult. The license they chose is the strictest free software license the FSF offers—the AGPL.

    Pop quiz: what part of the above are we “the community” outraged about? The clearly predatory Amazon stuff? Or the defensive action by the company writing all the code? That’s right, we are mad at the company that gave us all the code for free and that still licenses it AGPL.

    But even beyond that, what was lost again? Because the implication is that BSD (or MIT) somehow allows companies to “take” free software from us. This is false.

    What happened with Redis is that the original code remained 100% available. And it remained part of a 100% free software project. It remains 100% BSD licensed to this day. You can use it, you can study it, you can improve it, you can share it, and you can even sell it commercially! It offers you at least FIVE freedoms.

    https://github.com/valkey-io/valkey

    Not a single line of code was lost from the project. Yes, the project had to change its name (Redis owns the name Redis). Yes, Redis stopped contributing to the project. Is that not their right?

    It is that last bit that seems to drive us mad. We yell about corporations taking our code. But all the examples of bad behaviour we give boil down to them choosing to give us less of theirs.

    If “the community” is the one writing the code, nobody can take it from us. And even if big evil companies are writing the code, the only code that they can deny us is code they write in the future.

    I find it hard to be either outraged or even particularly afraid of that.

    Anyway, I do not want to talk you out of your license preferences. I have no beef with that. But I do wish there was less FUD slinging at projects that choose to license their hard work as MIT.


  • I do not know how that article covered so much background on GNU hURD and the quest for a micro-kernel UNIX without mentioning Redox OS.

    https://www.redox-os.org/

    Redox is also micro-kernel based POSIX compatible operating system (UNIX compatible). So quite like the GNU project and HURD in that sense.

    Redox is younger, 10 years old instead of 30, and more “modern” (eg. written in Rust). It can be seen as a GNU competitor as it does not rely on the GNU C library or utilities.






  • What an odd boast. What is it based on?

    MIT licensed software outnumbers GPL licensed software two to one or more in most Linux distros and elsewhere.

    There was more MIT code in the X server than there was GPL code in the world before Linux came along.

    And even Linux will never be GPL3 or even drop its exceptions. So, while it is ironically the crown jewel in the GPL universe, it is not even really GPL.


  • “Linux” as it is used in the real world means “Linux distribution” which is a Linux based operating system that runs the ecosystem of applications and desktop environments common to the “Linux” ecosystem.

    If people mean the “Linux kernel”, they say so. With few exceptions beyond trying to make GNU/Linux a thing*, people do not mean just the kernel when they say “Linux” on its own. Even the Linux Kernel Mailing List says “kernel”‘when that is what they mean. And you do not get the kernel from the linux.org website. Guess what you do find there—a bunch of information about Linux distros (real ones, not ChromeOS and Android).

    People ARE saying what they mean because they know what the word Linux means. Swearing does not make you more correct.

    If I say “United States”, only morons pop up to tell me that I need to say USA because otherwise people might think I mean United States of Mexico. Everybody in the world knows what United States means. Swearing and shouting “say what you mean” would be ridiculous. And nobody wonders if I mean the city or the country if I say Mexico. If I meant just the city, I would say so.

    And people know what Linux means too.

    • why isn’t GNU/Linux a thing? Well, amongst the many reasons is that many Linux distros that are clearly “Linux” and even “desktop Linux” do not use GNU software. The most extreme is Chimera Linux probably but Alpine, Void, Mandriva, Ubuntu, Serpent, and others match this description to various degrees. And outside of RHEL, actual GNU software makes up a tiny fraction of the software even in distros that use it (like say Arch). Chimera Linux, Void Linux, and Arch Linux are all remarkably similar though they differ dramatically in GNU usage. They are all “Linux” but not GNU/Linux. Android is totally different from all of them despite using the Linux kernel. GNU/Linux is one of the least descriptively accurate terms you could come up with for any reason other than purely political.

  • The kernel is copyleft (100% of it). The majority (more than half) of the other software in a typical Linux distro is not copyleft. The most popular license is MIT. Apache 2.0 (the license that Android uses) is pretty common in Linux distros as well.

    To top it off. the majority of GPL software has nothing whatsoever to do with the GNU project, starting with the Linux kernel.



  • People do not realize that Windows has, and has had, other subsystems. So the name seems dumb.

    When you realize that as far back as 1993 there was:

    • subsystem for Win32
    • subsystem for POSIX
    • subsystem for OS/2

    then Subsystem for Linux does not seems as crazy.

    Having “for Windows” at the end sounds natural if you only have one but putting saying “Windows subsystem for” makes more sense when you realize there are a bunch of them.

    Regardless, the decision was made 30 years ago and not recently as people assume.






  • It may be that they are picking geographically close mirrors that are massively slower. The difference between connecting to a very remote mirror can be up to a couple hundred milliseconds latency and a few percent in bandwidth due to “the Internet” itself.

    But the mirrors themselves can vary massively in performance. First, it may be older hardware that gets more easily overwhelmed. But it may also be on a connection with far less bandwidth. If that outgoing bandwidth is being shared across many users, you may not be getting much of it.


  • I am fortunate enough that the speed of the package manager itself would make a bigger difference.

    But connecting to a slow mirror can be a killer so, If that was a frequent problem for me, it would absolutely factor into my decision.

    I guess the other factor is how often you are updating. For a rolling distro, it would be essential.

    On Debian Stable, I would care a lot less. Just let it update overnight once in a while.


  • As somebody with a dozen workstations running MUSL, I disagree. But you are going to want to use a performant allocator.

    The issue with C libraries is that you will have problems using pre-compiled binaries that are dynamically linked against a different C library.

    If I gave you a binary dynamically linked against MUSL, it would not work with Glibc either. It is not some kind of MUSL deficiency.

    The issue of course is that most pre-built proprietary software was built against Glibc. The proprietary NVIDIA drivers are a good example. But all the in-tree GPU drivers are fine.

    There is gcompat which pretends to be Glibc and forwards calls to MUSL from software that is trying to call Glibc. That may be enough to make things work sometimes.

    So there are two answers to “what works with MUSL?”.

    The first answer is that, if the software is linked with MUSL when it is built, almost everything works. A musl based distro could have a huge package library.

    The second answer is that, if you are trying to run software that was dynamically linked against a different C library when it was compiled, then basically nothing works. This is no different than missing any other dependency. Gcompat is a hack that makes programs use MUSL when they try to call Glibc, and that will work some of the time.

    As an aside, MUSL allows you to statically compile programs which means they include the C library in their binary. This allows these programs to run regardless of what C library is available on the local system. For this reason, MUSL is often used to create static binaries even on systems that use Glibc. Pacman on Arch is a good example.