Some blobs are more equal than others

Today, Steve (the principal of our school), a few students and I went to Balamand University in the north of Lebanon to listen to Richard Stallman speak on “Copyright vs. Community”.

It was a very…interesting…talk, though I don’t think I buy into all of Stallman’s conclusions. He basically said that copying music doesn’t hurt the artist because the artist has already been screwed over by the record industry. Now, I’m definitely not one to argue against the last part of that statement, but Mom always taught me that two wrongs don’t make a right.

I also found it somewhat ironic to have him talking about copyright and patents in a place where patents are none existent and copyright has about as much weight as very thin tissue paper. Having said that, if Stallman’s ideas for copyright were ever to become reality, it would make for some very interesting changes from how things currently are.

The most interesting part of the talk was during the Q&A session, when Stallman railed against “binary blobs” in the Linux kernel. As I was well aware, and can somewhat understand, he dislikes proprietary firmware being included in the kernel. This seems to be the main reason that the FSF doesn’t consider Fedora a “Free software distribution”.

But later, Stallman said something that I found very surprising. He said that he has no problem with the firmware being burned into the hardware (via a ROM chip or the like). He said that he wanted a “black box”, and it’s obvious that he has no problem with proprietary firmware as long as it’s permanently embedded in the hardware rather than being loaded into it at boot time.

What I didn’t understand is why Stallman feels that there’s a difference? What is it? The method used to get the firmware into the hardware? Why make this the line in the sand? It seems very arbitrary to me.

And I think that sums up how I felt about the talk. I really respect Stallman for getting the Free Software movement going, but I think that there are far more shades of gray in software (and life) than he is willing to see.

I do want to thank Balamand University for inviting Richard Stallman to speak, and I do want to thank Stallman for coming to Lebanon. While I don’t necessarily agree with him, I love the fact that his talk opened my students’ minds to different ways of thinking about things.

Standardized gconf settings for Fedora 13

Over the past couple of weeks I’ve been putting together a Fedora 13 image to replace the Fedora 11 image we’re currently using in the school. One of the things I’ve been working on since we deployed Fedora 10 a couple of years ago is storing school-wide configuration in RPMs that can be easily updated with a new release.

One of these RPMs contains default gconf settings (SRPM) for things like the school proxy server, default icons to show up on the panel when a user logs in, keyboard layouts (our keyboards are dual English/Arabic), fonts, and now, with Fedora 13, default favorites for gnome-shell.

These gconf settings are stored in a location where they won’t conflict with the defaults set by applications but will automatically have a higher precedence.

A second RPM enforces mandatory gconf settings (SRPM) by using a small bash script that runs on bootup to take the combined defaults for specified keys and make them mandatory. This allows me to set things like /system/proxy and /system/http_proxy and not worry that somebody’s going to accidentally change it, messing up their Internet access.

It also gives me the freedom to change some things, like the background image, from mandatory for lab computers to default for school administration computers just by removing the key names from an easily editable configuration file.

Finally, I have a few packages with gconf settings for compiz. The idea is that if the computer can’t support compiz, you don’t install any of the packages and are stuck with metacity (VIA, I’m looking at you). If it’s one of our seven-year-old nvidia cards that barely supports compiz, you install the minimal effects package (SRPM) which will just have the cube and a few other simple odds and ends. If the computer is one of our year-old Intel desktops, you get a lot more bling (SRPM). And now, as an alternative to either of the compiz options, there’s a package that has gnome-shell by default (SRPM).

One thing I haven’t mentioned yet is the required background image (SRPM). As is pretty obvious if you look at it (it’s also at the top of this post), I take the default Fedora background from here (CC-BY-SA) and add the school logo. I’m quite happy with how it turned out this time.

Update 7/30/2010: As mentioned in my more recent blog post Better Building, all the packages we use in our school are available from http://koji.lesbg.com.