Happy Birthday To Gnu

26 years ago, more or less, I was a graduate student and beginning a teaching career, but short of cash. I remember an opportunity arose for me to make some money programming. I thought, “OK, I can make some money in this computer biz, and use that to cover doing what I really want to do, research and teaching.”

[A repost: Check out the comments on last year’s post.]

Just around that time, as I remember, I saw a long haired bearded guy from MIT being interviewed on TV, talking about free software, and how coding software was his art, his love, is vocation, and that he did things like teaching to get money to cover this interest of his.

I thought…. Hmph. Interesting.

Well, that was Richard Stallman, who was on the TV because he was getting some notice in the local news for his efforts to start up the Software Freedom Foundation.

That was back in the day when Unix was the operating system for serious computers, and Linus Torvalds would eventually be busily working away at cloning Unix.

Over time, Linus had created Linux, a clone of the Unix Kernel, and Stallman and the GNU project coded the GNU utilities. Much like the ancient oft told story of the glomming of peanut butter and chocolate to create the Reeses Peanut Butter Cup, Torvalds’ kernel and the GNU utilities were glommed together to form what we now think of as the Linux Operating System. (This is an oversimplification and trolls will be here soon to straighten this out for you.)

I was reminded of all this by Stephanie of Almost Diamonds who sent me the following video. Enjoy:

Comments

  1. #1 davem
    September 14, 2009

    So, I followed the links to gnu.org ‘The GNU kernel is not finished yet’. Oops. I follow the links to gNewSense, and get a list of 9 distros I’ve never heard of. More oops. They don’t like Ubuntu (and every other distro you HAVE heard of) because they allow you to download paid-for software. And the Ubuntu kernel contains paid-for software. Apparently. Yet, I’ve never paid a penny for my copies of Ubuntu.

    What planet do these guys come from?

  2. #2 Greg Laden
    September 14, 2009

    The Ubuntu “kernel” does not. It is the Debian kernel. The Ubuntu distro doesn’t either at the moment if you get the pure form, but if you click the right buttons you get the driver that will properly run your screen.

    I can tell you that Linus does not like the purity side of it. He sees no point in it. There is nothing inherently wrong with paying for software. It is just tha the proprietary model tends to produce crap and the opens source model tends to produce better stuff in most, but not all areas of functionality.

  3. #3 Tom
    September 14, 2009

    I wasn’t aware that GNU was actually kind of a coup: in terms what was there before GNU happened and the Free Software movement added a few new rules to the game.

    I recently read HR 3200 and got an idea about creating a new kind of financial instrument called a Common Public Derivative that uses Green Technology,etc.. underlying for leverage and a Dedicated Recirculating Liquidity Common Hedge Fund from which the public could hold certificates of Health Care Asset which would make the Public Option self sufficient in a few years after start up.

    It would be interesting if this could happen. I just figured that since the original inventors designed the first hedge fund to practically create money out of thin air, and it worked until they got greedy, why not reinvent the hedge fund to serve the best interests of the American People.

    My point is, in a Free Software Society a National Public Health and Welfare Hedge Fund which ties directly into the nation’s health care system, dramatically lowering costs, increasing both the quality of care and competition with existing health care insurers, would really be cool.

    Just a Thought.
    Tom
    ( ‘_ ?

  4. #4 Troublesome Frog
    September 14, 2009

    Never mind all of the other great stuff to come out of GNU, Stallman’s contribution of a free C compiler is probably among the greatest contributions to the advancement of software we’ve had in the past thirty years. It tore down the barriers to entry to serious programming for a lot of us, enabling us to dive into software development without access to university facilities or shelling out big money on a tool that we didn’t yet know how to use. Even this many years later, gcc is the shortest path to development for a million hobbyist systems. I can’t imagine how many great software projects we’d be missing out on today if it weren’t for GNU.

    Technology is great because every advance can be folded up into making the next breakthrough. Software is doubly great because the marginal cost of production is practically zero, so we have a huge set of fantastic tools that are freely available to use to make even better tools. All ideology aside, I’m starting to think that the free software people are doing more than anybody else to advance us toward a Star Trek-like life of plenty in which everybody has access to the building blocks to contribute something.

  5. #5 Nathan Myers
    September 14, 2009

    Gcc has been a good compiler, and is still getting better. Without it, though, something else would have surfaced. Likewise, all the other GNU tools, and the Linux kernel. Most likely what we got instead (except the BSD kernel, which was then much better than early Linux) wouldn’t have been as good, but would have improved rapidly.

    What made it a GNU system was the GPL. Without the GPL, we would have sunk into a morass of incompatible half-proprietary muck, and Microsoft would have steamrolled it, and that would have been that.

  6. #6 Troublesome Frog
    September 14, 2009

    Nathan,

    I hadn’t really thought about the GPL as an anti-forking agent, but I suppose that it is. With a GPL system, the only reason you’d fork it is to keep a private version that you never plan on sharing or to deal with some major architectural incompatibility you want to introduce. Otherwise, you might as well just submit your patches back to the maintainer. Interesting. There may be more to it than simple philosophy.

  7. #7 MadScientist
    September 14, 2009

    “… and Linus Torvalds was busily working away at cloning Unix”

    I haven’t read the comment on the original post, but 26 years ago Linus wasn’t working on Linux. rms started work on the GNU toolchain years before Linus started playing around with building his own operating system.

    I agree with Troublesome Frog that a free compiler is a HUGE deal. As a poor starving student I used to stare at the floppy disk boxes (and later CD boxes) of compilers and wish that I could afford them. Now as a poor starving scientist I know I can at least get my tools to play with even though I still haven’t got any money.

    Free Software is the only way to go. I have wasted far too much time reverse engineering things because some company had declared bankruptcy and left its clients with no means of supporting their hardware or software. With Free Software you only need to find a competent coding geek rather than someone who can tear apart hardware and software.

  8. #8 Jim Hall
    September 15, 2009

    @ davem & Greg,

    Just to clear up a misunderstanding:

    “And the Ubuntu kernel contains paid-for software. Apparently. Yet, I’ve never paid a penny for my copies of Ubuntu.”

    It’s not that the Ubuntu distribution or kernel contains “paid-for” software. Instead, the FSF folks object to “nonfree” software being included.

    Note that Stallman has a very specific definition of “free” and “nonfree”. In order for software to be considered “free”, it must meet the following conditions:

    0. Anyone should be able to run the program, no matter who you are, or why you want to run it.
    1. Anyone should be able to examine the program, and modify it to meet your own needs. (To do this, you need source code.)
    2. Anyone should be able to share (“redistribute”) copies of the program so others can use it.
    3. Anyone should be able to modify the program to do something differently (see #1, requires source code) and then share that modified version of the program with others (see #2).

    If ANY of these conditions are NOT met, then the whole software is considered “nonfree”.

    The issue for the FSF folks is that the Linux kernel includes a few drivers that come in two parts: a kernel-level driver that talks to the hardware, and firmware that gets uploaded to the device. The firmware is often provided by a vendor, and is binary-only (no source code.)

    IIRC, the Linux guys do not consider the uploadable firmware to be “part of the kernel”. But the FSF guys believe the other way, that those firmware “blobs” are part of the kernel. Since the firmware doesn’t include source code, the firmware is considered “nonfree” (see #1). Since at least one component is “nonfree”, the FSF folks view the whole Linux kernel as “nonfree”.

    Ubuntu and Fedora, for example, use a Linux kernel which has these firmware “blobs”. Without that firmware, you couldn’t use most wireless cards. In the case of my laptop, I believe Intel provided the wireless card’s firmware “blob”.

    But some distributions (also?) make it easy for the user to install software that is “nonfree”, like for high-end video cards (for example, Nvidia) The FSF considers all “nonfree” software to be bad. If a Linux distro makes it easy for the user to install “nonfree” software, like adding a “install non-free software” check box in the install program (Gentoo, Suse, Ubuntu, etc) then they consider that Linux distro to be “nonfree”.

  9. #9 Greg Laden
    September 15, 2009

    Thanks, Jim. I had kept up on this through the 8.x level of Ubuntu, as there was discussion of making a version of Ubuntu that was pure, and a version that worked. It seems to me that the people screaming about free-only went a little over the top ans started to get ignored a little.

    I totally get the value of “free” but a the moment, this issue only exists to a significant degree with desktop Linux distros in relation to drivers. I would argue that the distinction between circuitry and device-side blobs is arbitrary. It is not ideal to ignore it, but it is reasonable to ignore it. (and at the same time keep suggesting to the device manufacturers that they can stop making drivers entirely if they just provide the api’s… the OpenSource community will be happy to handle that for them!

  10. #10 Mal Adapted
    September 15, 2009

    As much as I admire RMS, and am grateful for all the excellent free software he has engendered, my own philosophy is closer to Linus’s. I’m glad to be able to use Nvidia’s “non-free” kernel and X11 drivers with Fedora 11. When I built my main home rig, I didn’t know the Nvidia GS7600 card I chose would be crippled without the Nvidia-supplied Linux drivers. Being able to go ahead and use them for free (i.e. without paying money for them) was a huge relief!

  11. #11 LightningRose
    September 15, 2009

    Just a quick observation, 26 years ago there were a great many different operating systems for “serious” computers.

    Unix, and it’s many derivatives, came to the forefront mostly because it was largely written in C, a higher level language, which made it much easier to study and port to different architectures.

  12. #12 Ian Tindale
    September 17, 2009

    In fact, the unix that I use the most – OS X – is largely “non-free”, but not to the extent that most would expect. Huge amounts of OS X are derived from open source projects, and Apple put back an immense amount of the resulting traction gained, which I think is a pretty good way of letting them eat cake sliced both ways and eating it too.

    http://www.apple.com/opensource/

Current ye@r *