1. 18

  2. 18

    These are interesting articles, and they highlight real issues about developing software for free software operating systems. However, I strongly disagree with almost all of the conclusions and many of the premises in this blog post series. In particular I think the author very seriously downplays the benefits that distributions bring to the free software world. Independent packaging by distributions is an essential balancing check in the user’s favor in several ways, and adds a lot of trust, robustness, and innovation to the free software world.

    Independent packaging means that there are extra, third-party eyes on the source, even if this is often only to a shallow degree. Also, the fact that distributions run their own build infrastructure increases trust in binary distribution. Without trusted third-party machinery building packages from source, there would be much less reason to trust that opaque binaries you download actually correspond to the source you see. Reproducible builds are the logical conclusion of this line of work, and I would stress that the push for reproducible builds was done largely by distributions rather than by application programmers who wanted to target a platform.

    The post decries the fact that distribution packagers change upstream defaults, but I want my distribution to patch bad ideas, or even user-hostile anti-features, out of the software they deliver me. An extra layer of vetting and configuring of software is strongly in the interests of end-users.

    Additionally, distributions packaging the software in various different environments helps software to be more robust, so that it can more easily be built for new, yet unknown environments in the future rather than being weighed down by deep assumptions about its current target.

    Independent packaging by distributions provides different options to different users with different needs. There are good reasons why some people want to use distributions that hold software back for months or years. And there are good reasons why some people use distributions that ship the freshest software.
    Importantly, the independence of different OS components to be developed independently and redundantly gives us the freedom to explore new and different directions independently. This unified vision leaves less room for projects like NixOS and Guix packaging, which are a much better, brighter vision of the future than Flatpack, for example.

    Ultimately, the author and I clearly value very different things when it comes to computing, and have very different visions of what “healthy” computing platforms look like. But I think he’s really overlooking a lot of strengths that are unique to the free software world of distributions while wishing it were more like the big guys. The big guys have a lot of things we lack, that’s for certain. But the strengths provided by independent distribution, such has auditing, configuring, changing release cycles, etc by third-party packagers working as a agents for the user are strengths that the big players can’t have, because they are some of the very core strengths provided by free software.

    1. 1

      Thanks for this. Very well said.

    2. 11

      I wrote and erased two somewhat technical posts. I don’t think I’ll write a third one because, while I think there are some valid points to be made, I simply don’t trust myself not to write a flamebait post. The lack of empathy with the larger community, and the arrogance of this post (and the one before it) make me way too angry to write something useful. There’s lots of stuff about desktop Linux that could be improved (maybe that’s the understatement of the day, really!) – but I don’t think this is the way to reach that sort of improvement.

      I just want to point out one thing because IMHO I think it’s too important, and too illustrative to not mention it, even at the risk of being an asshole (which I am desperately trying to avoid but wow…)

      For example, Ubuntu 18.04 (the current LTS) ships with GNOME 3.28 (from March 2018), includes significant changes to system UX and APIs (e.g. Unity-style dock, desktop icons, systray extension), and ships a branded stylesheet that breaks even in core applications.

      The ability to change code is one of the points of free software. That includes the possibility that some of these changes might be buggy, or that they might go against the design guidelines of the original program (and not just in the UI/UX sense). If you think this should not be allowed, why write free software in the first place?

      Why the Ubuntu team chooses to do that is besides the point (and frankly, I doubt it’s just because they want to establish their own brand presence – otherwise they could just ship Adwaita with a brown colour scheme). But it’s uncanny that someone would write free software, and then complain that people are modifying it and using it in unintended ways. That’s not just the license it’s distributed under, that’s right there on the “About” page of the Gnome project, which says:


      We believe that software should be developed in the open. Our development infrastructure and communication channels are public, and our code can be freely downloaded, modified and shared with others. All our contributors have the same rights.

      (emphasis mine)

      If you don’t want to deal with the consequences of people having these rights, then waive them and be done with it!

      1. 3

        Me too. I can’t describe how sick and tired I am of these Gnome dudes.

        If they want complete control over everything they should send their resume to Apple, and leave people alone who have chosen Linux due to free software.

      2. 4

        As an “old hat” Linux user who is not using it daily anymore, I was hoping in the meantime “desktop Linux” has matured enough to consolidate some of the problems from 10+ years ago, but sadly the situation looks even worse. If I ever start using Linux daily again, I’d go with Elementary for sure.