Once upon a time, the idea that “only the code mattered” was sold as a way to be inclusive. No one would be shut out if their code was good.

But building software is more than code. It’s design. Planning. Discussion. It’s figuring out use cases, misuse cases, and failure modes. It’s interacting with people.

And if you allow some people to treat others like crap because only the code matters, you end up causing harm and driving people away.

Which obviously isn’t inclusive.

If you mistreat people or violate ethics to make your “technically perfect” software, those people have still been mistreated. Those ethics have still been violated. People have created marvels of engineering and fantastic art by abusing or exploiting others. People have done the same while abusing or exploiting people on the side. And people have created wonders while trying very hard not to abuse or exploit others.

The accomplishment doesn’t erase the exploitation or abuse. And if you can accomplish something incredible without mistreating others, it obviously doesn’t justify the mistreatment.

But the culture of “only the code matters” turned into a culture of tolerating assholes because they were good at their job. The ends justify the means. From trying to enhance freedom, to embracing Machiavelli.

It certainly didn’t help that 90s hacker culture had a significant BOFH element to it, with its built-in disdain for those with less technical knowledge. The Free part tended to prioritize programmers and sysadmins over “lusers.” It was Animal Farm with computer users. Sure, we tried to throw off the corporate overlords who were dictating how people could use their computers. But some computer users were more equal than others.

So a lot of people who could have become part of the Free Software community found a hostile environment and left in disgust. Or fear. And even if you don’t care about the harm done to them, consider their potential contributions. Free Software has always had a problem with coverage: Programmers work on problems that they find interesting or useful. The boring parts, the use cases that they personally don’t use, tend to fall by the wayside.

Yeah, your code is good…but the spec’s incomplete because you pushed away the people who would have pointed out a common use case, or just how easy it would be for a feature to be misused. You didn’t think they were worth listening to because they weren’t rockstar coders. But they also had information you didn’t.

Not that throwing off the corporate shackles has worked out all that well. Every platform now has its own walled garden. Microsoft is less dominant than it once was, but we have new mega-corps who’ve managed to leverage an internet built on Free/libre and open-source software into their own positions of dominance. And trying to maintain services for people who’ve come to expect free/gratis has brought us to the point where adware is the norm, and surveillance is everywhere…to better target those ads. And the majority of computing devices out there are locked down, preventing ordinary users from tinkering with them and developing that technical competence that might bring them into the fold…

If we’ll even let them join.

A few minutes ago I was trying to fix sound on my Linux box. Nothing would play, until Katie heard it beep to notify me of a new Twitter message. I closed Twhirl and suddenly my music player worked. The song lined up? Vertical Horizon’s “All is Said and Done.” The first line of the song? “I need you to hear me.” That gave us both a good laugh.

I thought a major point of PulseAudio was to let applications share the sound card cleanly. *grumble* Sound worked fine before Fedora switched. I can’t even blame it on a bleeding-edge distribution, since from what I hear, Ubuntu has similar problems.

At least now I know (sort of) why it stopped again after applying the Complete guide to fix PulseAudio and video/audio VLC Media Player issues.

Fedora LogoA few days ago, my Linux desktop at work popped up a message saying that Fedora 11 was available, and asking whether I wanted to upgrade automatically. Well, I didn’t have time to deal with it then, and in the past when I’ve upgraded Fedora (either from a CD or from a downloaded image), it’s been a big production, what with running the installer, rebooting, installing updates, updating third-party repositories, and finally rebooting again after all the updates are installed.

So I put it off for a few days.

Today I decided to try it.

The automatic upgrade program is called preupgrade, presumably because it downloads everything you need in order to prepare for the upgrade. It downloads everything while your system is up and running, then sets it up so that when you reboot, it will launch the installer. It installs everything, makes the changes, then reboots into the newly upgraded system.

And then it’s done.

It’s network aware, and works through yum, so it will actually take into account both third-party repositories and anything that’s been updated since the new release. It actually went out to livna.org RPM Fusion and picked up the appropriate NVIDIA display drivers.

Download while you work. Reboot. Wait. Done.

The only snafu I ran into was that it removed my copy of the Flash plugin, but I think I was using the experimental 64-bit one anyway, so it’s not terribly surprising.

I get the impression that Ubuntu has had a similarly smooth upgrade process for a while. And after my experiences moving from Fedora 9 to Fedora 10, I was seriously considering jumping ship. (Hazards of living on the bleeding edge.) But it looks like I won’t have to.

Now I just have to find time to play around and see what’s new!

Update: I’ve run into one snafu: xkb error popups every time I wake the computer from suspend. Resetting the keyboard worked.