August 18th, 2024

GNU considered harmful (By me, here's why)

The article critiques the GNU project and FSF, arguing their influence harms the open-source community, complicates code, creates divisions with GPLv3, and negatively affects documentation practices.

Read original articleLink Icon
GNU considered harmful (By me, here's why)

The article critiques the GNU project and the Free Software Foundation (FSF), arguing that their influence has been detrimental to the open-source community. It challenges the narrative that Linux was developed primarily for GNU tools, asserting that Linux originated from the Minix community and that the FSF's focus on the Hurd project was misguided. The author highlights that many popular GNU projects were maintained by external companies rather than the FSF itself, leading to a lack of authoritative control. The article also claims that the FSF intentionally complicates code to maintain its influence and that GNU's obsession with portability adds unnecessary complexity. Furthermore, it criticizes the FSF for creating divisions within the open-source community through the introduction of GPLv3, which has made code-sharing more difficult. The author expresses dissatisfaction with GNU's documentation format, Texinfo, arguing that it is unpopular and has negatively impacted traditional man pages. Overall, the piece presents a critical view of the FSF's practices and their implications for software development and collaboration in the open-source ecosystem.

- The article argues that Linux was not primarily developed for GNU tools, contradicting FSF claims.

- It states that many GNU projects were maintained by external companies, not the FSF.

- The author criticizes the FSF for complicating code and creating divisions in the open-source community with GPLv3.

- GNU's Texinfo format is deemed unpopular and detrimental to traditional documentation practices.

- The piece highlights the negative impact of GNU's practices on software development and collaboration.

Link Icon 2 comments
By @aeadio - 6 months
A genuine missed opportunity in not including one of the most infamous examples of GNU code quality / needless complexity,

https://drewdevault.com/2020/09/25/A-story-of-two-libcs.html

By @saurik - 6 months
The only reasons there are any issues with kind of issue merging code between different projects is 1) if you want to abuse users (which we should have no sympathy for) and 2) because Linus screwed everything up by modifying the GPLv2 to remove the automatic upgrade clause (maybe so his users could abuse their users). The latter is then part of why Rob made the even more awkward decision to do it to busybox, and why any of this is relevant to toybox... a project which shouldn't really exist for any reason other than because Rob really really wanted people to be free to abuse users going forward (having felt bad about some prior lawsuits over source code access). Only, as busybox is also now GPLv2 only, not only is busybox part of the problem, but you can't even use code from busybox in toybox without yourself becoming part of the same problem (as you get locked to GPLv2).

When you work on pretty much anything else, you really aren't going to run into this license compatibility problem: these are the only two projects I have ever come across that are using this fork of GPLv2, and, frankly, they are both traitors to the cause and enablers of companies like Samsung and Sony for doing so. And BTW, using some stupid bespoke license isn't just a thing people do with forking the GPL: the OpenSSL 1.x license was also incompatible with freedom-preserving licenses... but they fixed this in OpenSSL 3.x, and so the only real problems now are Linux and busybox. Regardless, blaming GNU for Linus and Rob screwing us all over makes no sense: if you want to be upset at anyone, be upset with projects that use non-standard GPL forks (including merely to deal with the OpenSSL 1.x license), not with the GPL itself, as it isn't at fault.