Archive for May, 2006

On Linux, OSX, Free and Open Source Software

The past few days brought an interesting discussion between me and W.A. Gerrard from StrayPackets. So here’s the summary of our posts in chronological order:

Source Code is Always Valuable

Source code is a fundamental part of the free software movement. The GPL, as well as most open source licenses, put so much emphasis on the availability of source code, they think it’s a valuable asset. You’d think the reason is that most free software supporters are developers, but that’s only part of the truth. Me, you and our neighbor’s dog are the real reason.

Every other industry has been building on top off previous work, standing on the shoulders of the giants. Every theory, every formula, every stubborn scientist have contributed to build the world we’re living in today. Imagine if those didn’t make the “source code” available, where would we be?

Free software is trying to do the same thing. Disclose what’s behind closed doors. If it wasn’t for free software we would’ve been paying for each search query, buying books from regular stores downtown, putting up with the ever-growing prices of Windows, and wishing there was something like OSX. The availability of source code isn’t a luxury, and it has a great effect on end-users. Not direct effects, but great ones nonetheless.

Granted, most people don’t care, and they shouldn’t. They’re never going to tinker with the internals, they’re never going to sweat it if something doesn’t work, they’ll just get annoyed. They won’t be fixing their own software, but if that software is free, I can almost guarantee that somebody will. On the other hand, proprietary software works on a take-it-or-leave-it basis. If you don’t like something you don’t stand a chance in changing that, even if it breaks on you and costs you time and money. It’s like not being able to change the rooftop because Ford doesn’t allow it (I’m sick of that car analogy already).

All I’m trying to say is: Many free software projects are crappy, many are great, just like proprietary ones. But free software exists because we don’t have to put up with software limitations, company bureaucracies and whatnot. It’s because we have a chance to change that.

Open Source Is Not Free Software

Well not necessarily.

You see, proprietary software isn’t always closed source software (e.g. Java), and open source software isn’t always free software (e.g. Java).

The main difference between open source and free software is that the former is a business model, the latter is a philosophy. The slight difference is a long-term difference, a completely ideological one.

Now free software doesn’t focus on what you can do in other software, it focuses on what you can’t do. On Windows, for instance, you can’t choose which parts to install and which not, you can’t compile a live CD with breaking some legal documents, you can’t use high encryption in certain countries, you can’t do this, you can’t do that, it’s a huge list of “you can’ts”. Free software on the other hand says this (and I’m paraphrasing here): do whatever the hell you want to do, just don’t claim you created it.

The problem with free software is that its advantages are much clearer to developers, but it’s the end-users who are driving and motivating these developers. Your advantages as an end-users might not be apparent at first glance, but once you set developers free they don’t hesitate to work and improve the software that you, as an end-user, are going to use.

Being a developer doesn’t mean that I’m more tolerable to bad design. In fact, developers are more easily annoyed by the smallest glitches that would easily slide. Being a developer doesn’t mean I want my photo collection to look dull, or my music to sound bad, or my videos to be blurry. Being a developer doesn’t mean that I want spend hours tweaking and turning knobs waiting for my system to work, especially not when I’m in “end-user” mode.

Of course at the end of the day you’re free to choose any software you want, but that’s not what free software is arguing against, on the contrary, it’s all about freedom of choice. I don’t know why I keep coming back to the car analogy, I guess it’s the most simple for me to use: I don’t mind paying a premium price for a better car, but what I do mind is not being able to fix it myself, and by “myself” I don’t mean getting my hands dirty with the engine, I mean at least being able to choose the mechanic.

It’s not the availability of source code, it’s the rights you get with the source code. Nowadays you can get Windows’ source code, that doesn’t mean you can make actual use of it, but hey, it’s source code, right? The availability of source code is a key in free software, it’s an necessity for freedom, and it does affect end-users; it doesn’t matter to them, but it does affect them.

We’re supposed to demand freedom, not get excited about it.

Re: Flawed Look At Alleged OS X Flaws

Mac developers and power users no longer have the freedom to alter, rebuild, and replace the OS X kernel from source code. (emphasis mine)

I love Apple, I really do. It’s things like this that bother me most.

W. A. Gerrard, from StrayPackets, commented on my last post about OSX’s design flaws. It’s people like him that make me appreciate blogging, it almost never turns into a personal conflict.

Gerrard is right that few of the issues I raised don’t relate directly to the user, but that doesn’t stop them from affecting users. Users aren’t stupid, as far as I can tell, they just don’t want to spend time doing things they find useless; like squeezing the last 0.05% of performance.

On the other, it’s our job to do just that.

Monolithic vs. Microkernel

Linux found to be faster than OSX in many tests, and those were general benchmarks, not something specific like database querying or file indexing. Regardless, different people look for different things. If I tell you I can give you a car that performs two times better than you’re Roles Royces, for the same price, just without the leather, would you take it? I sure as hell would.

All operating systems crash, save maybe those used at NASA, and even those go wrong sometimes. Windows crashes, Linux crashes, BSDs crash, OSX crashes too. It’s a matter of how often and how severe the crash is. That’s pretty much minimized in all *nix systems.

But my main argument was about performance, since we all know that both Linux and OSX are very stable. Of course users want the computer to do “stuff”, but they don’t want the computer to get in the way, they probably don’t want to wait for a photo editor to entertain them with a splash screen, they don’t really care. And it’s our job to make sure they never have to.

OSX doesn’t do a lousy a job in that, it’s just been topped.

Portability Issues

It might not be as big an issue as all the others, but I believe it does matter.

Apple is following a plan similar to Adobe’s: give Reader for free and sell Acrobat. Give away low-margin software in order to sell the complement. Even Joel wrote about this before. And that’s a sound plan, except these guys can do better.

If portability wasn’t an issue, every single designer would’ve made the switch to Intel Macs. What do you think is stopping them? Photoshop CS2, they can’t have that yet. And why can’t they have it yet? Portability.

Packages

When you look at OSX as just an operating system, then obviously software wouldn’t matter. The sole purpose of an operating system is to talk to the hardware, and make it easy for developers to write software.

But when you look at OSX as a platform, software comes into the picture. I know that most Linux distributions have tons of repositories filled with incompatible packages, but that’s a topic for another post. Software and packaging are part of the system architecture in the same sense that library names and directory structures are part of it.

There’s nothing wrong with the current model of OSX, it’s just the same as Windows’ model. I only think that certain Linux distributions (like Debian and Slackware) do a better job at making users’ lives easier.

Administration

Honestly, how many professional companies use those Xserver things? They’re barely servers in terms of performance. Just because Apple has a server product line doesn’t mean that it’s selling. Apple used to have cameras, Kodak-rebranded cameras, if I recall correctly. They failed.

What I like about Apple is that they don’t surrender to failing, and when they do fail, they just admit it and move on. They admitted the failure of MacOS, and look what we have now, OSX.

Of course the best system administration is no system administration. But any sysadmin knows it’s a myth. There’s no such thing as “no system administration”. Somebody always has to screw up something. All systems get mysteriously hosed from time to time. And that’s when you need powerful administration tools by default, not as an extra value-added option.

Freedom

Yes, that kind of freedom.

I don’t think those who are concerned about their freedom are a small choir anymore. The last two decades didn’t have an alternative. People got used to buying self-limiting software, and that in itself is a problem.

I was going to publish this post yesterday, but got busy. You know, yesterday I would’ve swore that I don’t accuse Apple of “not playing nice”. Today’s news changed that.

I can see how freedom itself can’t convince most people to switch to free software. These people have things to do, they don’t want to be bothered by things they don’t know. It’s like learning how to drive again, this time with your feet.

Most people don’t read EULAs, they don’t go over long documents, and that’s how Microsoft tried to slip nasty stuff into XP legal documents, which fortunately didn’t work. If only more people read their rights, and carefully considered the options, I think we would’ve seen a greater shift to free software.

I have to clarify a few things here:

First, I’m a fan of Apple and their products. I used to design on a G3, then moved to a G4. But that doesn’t mean I should tolerate whatever they do, especially when they do wrong. I still think that the only advantage of OSX is the really cute interface, but that’s not the only advantage of Apple. As I’m writing this, I’m staring at the MacBook, their recent member of the family, and considering replacing my Toshiba with it. That’s completely aside from my criticism.

Second, and most importantly: The freedom I’m looking for isn’t the freedom I “like”, it’s the freedom I want and value. I don’t really care about the ideology of those who are developing the software. For all I know, Linux could’ve been developed to operate nuclear bombs and catastrophic explosions. I don’t care, as long as I get the freedom to operate my own nuclear bombs and make my own catastrophic explosions.

I see using proprietary software is like buying a car that you can only drive on certain roads, for certain number of times, in certain times of the day, with a limited fuel tank that only the car maker can refill. That can work, it just makes getting around much more difficult.

Fixing Skype Sound Problems on Linux

Skype’s backend is based on OSS. This causes Skype to have many problems with full-duplexing. OSS is fairly old, I think it already served it’s purpose and served it well, but that’s about enough, move on to ALSA already.

On Linux, Skype’s not a very good citizen, so if you’re getting “Problem with sound device” errors and “/dev/dsp-1: Device or resource busy” errors, here’s what to do:

  • Install alsa-oss package, wraps around software that uses OSS and makes it ALSA-compatible. Most distributions (at least Fedora, Ubuntu and Arch) call this package the same.
  • Run aoss /usr/bin/skype
  • (Optional) Rename /usr/bin/skype and put a bash script in its place to run aoss
  • Enjoy free calls!

Update: You don’t need to this anymore because Skype have already released an ALSA-compatible version for Linux. Let’s go nuts.

« Older Entries

Tweets from