Thoughts from years of using Free Software in the wild

Vow of Software Freedom

I have taken a vow around September 1999, and it is sometimes hard to explain to people, so I’ll write it down here. I said to myself, "From this day on, I shall not use non-free software or secret file formats in my work, ever again." As you might notice, I’m still alive, which means that it’s possible to make a living without those two things. But it’s obviously not so simple, so here are:

Vow of (Software) Freedom: The Details

I will not use:

Software for which the source code is unavailable.

File formats for which the full specifications are not available.

When will I not use these?

When I produce a work product for myself, my employer or other humans.

When I share a file with my fellow human being.

Why will I not use these?

Because software for which you do not have the source is inherently suspicious.

Because software without the source often comes with very restrictive licenses, so I may not exercise freedom 2 and help my neighbor. I want to help my neighbor. I want to give away and improve software. I can’t do that with non-free software, so I see no reason to use it.

Because proprietary formats destroy information, stifle competition, are considered harmful, are impossible to implement and are just generally a bad idea, especially in today’s age of information sharing. Giving away files in secret formats only serves to strengthen these formats, so it isn’t wise.

How come this is doable?

Because of the efforts of millions of Free Software developers and yes, even those who call it Open Source. Because of the work of engineers that have their head screwed on properly and strive to publish specifications of their file formats.

Today, and since many years, you can have an entire PC operating system compile itself out of raw source code right in front of your eyes. In fact, severaldifferent systems are capable of this. You should be content with nothing less.

It’s your machine the stuff is running on, it’s your right to know what your machine is running and to decide about the formats you save your important information in. Don’t give this right away. It’s probably not a good bargain.

This entry was posted
on Wednesday, January 16th, 2008 at 6:42 pm and is filed under Uncategorized.
You can follow any responses to this entry through the RSS 2.0 feed.
Both comments and pings are currently closed.

3 Responses to “Vow of Software Freedom”

You should be careful about linking to Gentoo and/or FreeBSD when referencing OS projects that do not include parts for which no source code is available. If any of the OpenBSD crows reads this post, you might get some nasty flamewar started.

Gentoo is based on the Linux kernel. According to the OpenBSD community, both Linux and FreeBSD are not entirely free of binary blobs. Be it some magic numbers in driver source code written by a developer who signed an NDA in order to get documents, be it ports/portage including recipes for installing non-free software. Both of those systems are not for Free Software purists having pledged what you have pledged.

Wow! Thanks for your comment, I’m glad I double-posted this here instead of just on my blog.

So I must conclude that Debian GNU/Linux is not really a free operating system because it’s not on the gnu.org list, even though it has the reputation (and originally had the very goal, AFAIK) of being one.

To me personally, it doesn’t matter if the source was obtained via NDA’d developers, as it might be a necessary evil until hardware makers are more aware of the problem. Binary blobs are no-go of course.

In that case, the vow needs a patch, and it might not even apply in this form anymore, as I’ve been using Debian — nice wake-up call there. If I read you correctly, the OpenBSD guys would accept neither NDA nor binary blobs, which would make it the only can-compile-itself-for-you OS with full source.

All that remains is to hope that sometime soon, a full-source mainstream-friendly (Ubuntu-style) PC OS comes along, but that would require considerably more enthusiasm from hardware manufacturers.

As for no NDAs, this is debatable since the gNewSense devs didn’t write the OS. GNU, Linux, X, Debian, and Ubuntu devs wrote the OS, and they might have signed NDAs. …but, if the source code is free (and it’s a binary blob), then signed NDAs don’t harm the end user.

Whether an NDA is ethical depends on a lot of things. They can be annoying because they lead to a code contribution that no one else can easily modify, and they can be helpful because a developer of XYZ kernel can sign one, write some code, and then developers of ABC and DEF can use that code as documentation, which is better than nothing.