This Time Self-Hosted
dark mode light mode Search

Free Software is not only GNU

I don’t try to hide the fact that I think that FSF’s continuous stress over “GNU/Linux” is a huge ego stroke toward GNU that tries to deny that there is other Free Software beside GNU. But even considering this I don’t usually take stance against GNU for the sake of it. I disagree with some of the ways of Free Software Foundation (the original one), and I have said that I like Free Software Foundation Europe better (because they take positive approaches toward Free Software rather than negative approaches toward proprietary software), yet I don’t think this should deem me a bad person for what concerns Free Software.

And those who could still doubt of my caring for Free Software against proprietary software can take a look at my Ohloh page — keeping in mind that Ohloh only tracks assigned commits, and thus does not count most of the patches sent around the world of Free Software, where DVCS are not used, and thus are committed without my direct attribution. You thus only have my own word that there are many of those, as well.

With this on the table, would you still believe that I’ve been slandered before to be an anti-Free Software activist? Would you believe that when I criticised the quality of GNU’s code somebody went out of their way to say that my approach is “mining it [GNU’s code] to improve your work” (because wanting to use fold’s code and then release an utility based on it as GPL-3 is not giving back, it seems, unless I sell my soul and blood over to FSF, maybe?).

I know I’m getting boring with quoting Bill Maher, and re-using his own criticism strategies in my blog posts. And I also already used this line but never on this blog so I’ll use it again:

We’ve got to worship principles, not people.

With this I mean that even if I agree with the idea behind FSF and the GNU Project, I don’t have to see either Richard Stallman or Linus Torvalds as my personal God, nor I would have to accept the GNU project as the owner of all good software in this world. There is more to that. The same principles apply to other situations, even situations where GNU is laughed at, even situations where GNU’s code is laughed at but their license is used. Because what makes me dislike some of the GNU project’s applications and in general the FSF (America) approach, is not the license, otherwise I wouldn’t be using it extensively for my own projects, both personal and work-related.

When I criticise the over-engineering status of an utility such as fold, I’m not attacking either the idea of Free Software nor the GPL license. I’m just stating that the fold.c code is utterly a piece of crap, as it jumps through a ton of hoops, and is unreadable and impossible to re-use, to do something as simple as what fold is supposed to.

When I say that the groff code is a real mess, it’s because the code itself is messed up if you try to follow it; when I further add that requiring C++ (but not the STL) to do something as simple a what groff does is like shooting oneself on a foot, I’m not saying that Free Software sucks and proprietary software is always better. I’m just trying to find a better Free Software alternative. And I’m not entirely sure Heirloom’s doctools are the way to go, by the way.

When I find FSF’s negative approach excessively bad then I’m criticising their way to support Free Software, not detracting on Free Software altogether. Although I start to think this is simply the American way of getting your points through: you don’t show your best side, you try to point people at the others’ bad sides; another thing that I should probably learn from Bill Maher, when he talked about the way Political elections and Oscar nominations go in USA.

But this does not obviously cover all of GNU’s code… although I guess it does cover a lot of that; the fact that GNU project is now comprised of loosely connected smaller packages doesn’t make it much better. You have projects that are doing very connected work that keep separated (autoconf and automake), others that are developed behind closed doors without a public repository of any kind, and totally different code styles or development practises every two projects.

So GNU’s not perfect; what’s your solution? Keeping your eyes shut and screaming “GNU’s perfect”? I still prefer mine: saying that GNU’s not perfect, when it’s not, and either improve it or make something better. With the best tools available; with the best knowledge available; with the best license available (which, most of the time, will be the GNU General Public License, of some sort, but doesn’t mandate that).

Comments 9
  1. Isn’t it logical, that GNU programs won’t always be the best free tools, taking into account that every day more programmers enter the free software community?Why should people have a problem when you point out technical points in the software? It’s not as if being a GNU package automatically means that it will be coded by the best programmers this world has to offer.It means first and for all, that it’s programmers care about freedom, and that they trust the free software foundation to further that freedom when they get copyright assignment.And there’s no guarantee that the ones who care about freedom will also be the ones with the best coding skills.The GNU tools for a free infrastructure of often boring low-level tools, and for that I applaud them. I can’t sayy much about their code quality, as I never looked into their code.Besides: Do you have a couter example of a GNU project with very good code quality?

  2. “First off, I’d suggest printing out a copy of the GNU coding standards,and NOT read it. Burn them, it’s a great symbolic gesture.” (c) Documentation/CodingStyleFSF is political-kind organization, imo, so… it’s ok for them to act as politicians (blaming others and so on). I respect them, when it comes to laws, licenses, courts and other such stuff, but I see no reason to refer them as code masters =)Still, I should say, GNU programmers made so much effort and provided us with so much useful and even vital tools, that they, obviously, should be respected as good people, at least. Just not make them gods =)

  3. Diego, I think your “Flame” are getting to high. But agree with the “worship principles, not people” statement, totally.I think coding, at it’s core, is a personal activity, but Open Source/Free Software “philosophy” make you, by nature, expose yourself and your decisions. But people still has the right to make choices, and some of them was made a long time ago, and achieves the goals set by them (like fold and groff code). Just for us to think a bit…

  4. I don’t think that the ‘GNU/Linux’ stress is due to an overinflated ego. What is commonly called ‘Linux’ is a project started by GNU. Without the GNU toolchain the kernel Linux would never be written (the GNU Hurd would be supported instead by all wannabe kernel programmers, and would probably overcome the hurdles that blocked it). The amount of the GNU code dwarfs that of the kernel, and in some smaller distros makes more than 50% of the distro code. And, there are non-Linux based distros (eg. Debian GNU/kFreeBSD), but AFAIK there is no distros without the GNU tools.(Also, when Stallman was asked the ego question, he replied: “Well, I don’t want you to call it Stallmanix”.)No offense meant to the kernel and its programmers, that’s a wonderful piece of software and a great folk. However, an important part of the Net ethics is “give credit where credit is due”. Calling the thing “GNU/Linux” is exactly this – giving credit to the single largest and often uncredited project that makes your typical “Linux” distro. That is why I think it is right.For all other (FSF’s approach and all), I couldn’t agree more with you.

  5. I agree with Grigor Gatchev.Debian GNU/kFreeBSD is coming along nicely, and it might replace my current GNU/Linux distribution.Besides giving credit where credit is due, one of the better reasons to call it GNU/Linux is because there are non-Linux distributions. GNU/Linux uses the Linux kernel, GNU/kFreeBSD uses the FreeBSD kernel, and GNU/Hurd uses GNU Hurd (GNU/Hurd is really just a complete GNU operating system), and all of these use GNU, like Grigor Gatchev said “makes more than 50% of the distro code”I personally think GNU should take the Mac OS X approach to their kernel, i.e. a FreeBSD GNU Hurd hybrid microkernel. Leaving pragmatic Linux out of it.I also agree that the Free Software Foundation does focus to much on what’s bad about proprietary software, but at the same time, you have to explain what’s bad about what people are using before you can suggest an alternative.

  6. Has anyone counted this “more than 50% of the distro code” number? Really? is the single largest piece of any distro, GNU tools make a small (but important) contribution. But even then, we have non-GNU, Free Software, i.e. the BSD’s. Or non-GNU Linux, e.g. Android.Free Software is more complex, more vibrant, and more exciting than sticking a “GNU/” on the start in order to acknowledge whose implementation of “less” you use

  7. By the way the only _technical_ reason to refer to GNU/Linux (as well as GNU/kFreeBSD and similar), is the same for which the tuple is called @linux-gnu@: the GNU C library (GLIBC) that is used as the main system library.Those (few) people who use that argument have all my support. All those that continue referring to GNU as the provider of the compiler don’t (FreeBSD is still – for a little while at least – using GCC as well). Nor do those that, as Jo pointed out, keep referring as GNU as “the biggest contribution”.As I said, GNU code has quite a few reasons to be what it is, and we have quite a few reasons to use that rather than, say, Busybox on a modern desktop system. But with the newest users they won’t ever be visible. GNU is no longer *that* relevant.And for the irony… GLIBC while technically part of the GNU project is being “resented by many”:… because it lacks an open development model. And is actually, for the most part, developed under the RedHat’s umbrella. Speaking about “Free Software”:

  8. As Steven J. Vaughan-Nichols says in his post: “Linux’s worst enemies? Linux fans”. We gotta learn to not be so blinded just because it’s GNU or it’s GPL. If the software sucks (be it because of the coding, the performance, the bloat, …) then it sucks and we gotta fix it. No matter what license it has or who was the dev.I agree with you, if a certain source code is utter rubish, we’ve gotta say it so it gets fixed.I started off with FLOSS over 10 years ago and I’ve seen some very interesting projects turn sadly into bloatware (aka OOo, KDE, GNOME, …). I think we should stop a second and dedicate some time to clean up code and optimize code. Get it upto shape and make it lean and mean like it once was.

  9. The whole “GNU/Linux” thing is just stupid. Seriously, TOOLS MORE IMPORTANT THAN KERNEL!? Try reading that again, and think about what problems does it have. Following this logic, you can use those GNU tools without computers of any kind.But if you ask me, even the name “free software” itself is misleading. What does “free” mean? It’s more like “freedom software” or something like that to me…

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.