A lengthy list of practical problems with shipping non-free software

Posted on by Chris Warburton

This has been written since Ubuntu Brainstorm doesn’t allow comments over a certain length, I want to cover this in as much depth as I can and I have a tendency to ramble :P

This is about non-free software (ie. proprietary, the cost doesn’t matter) and the practical problems which would be encountered if it were shipped by default in a distribution. This does not go into the Free Software vs. proprietary software political arguments, it is all about the undeniable problems that come with non-free software.

The main software for discussion is codecs, the software which can encode and decode different types of file. Codecs are simply algorithms, they are nothing more. They contain no GUI, no player, nothing except the algorithm. An algorithm (like MP3) is just a set of steps to follow, as an example an algorithm to read a book would be something like:

That’s obviously a very crude algorithm as it doesn’t take into account right-to-left languages, footnotes, etc. but it is a valid implementation of a book decoder. The copyright on the above text belongs to me, since I have written it, and will remain so for probably well over a hundred years. However, somebody can look at a book and make their own algorithm to read it without ever knowing that I’ve even written this blog post. My copyrights will not be infringed since their algorithm cannot be a derivitive of my work as they haven’t even seen it.

This is how LAME (LAME Ain’t an MP3 Encoder) was written. The developers didn’t look at how anyone else had decoded the MP3 format, they didn’t need to, and thus no copyright is infringed.

However, software patents allow me to patent the working of my algorithm, as long as it is novel and non-obvious to someone skilled in the field where it applies (the rigour for such things is often debatable though!).

The problem with patents on software is that it’s very easy for someone to make software, but they could be treading all over other people’s patents without ever know it!