25 years after Stallman first set the GNU project in motion, what have these ideals achieved, and what can we do to ensure the future of free software? Linux Format spoke to him to find out.
While Linus Torvalds gets most of the plaudits nowadays for the Linux kernel, it was Stallman who originally posted plans for a new, and free, operating system. Free had nothing to do with the cost of the operating system, but with the implicit rights of those who were using the software to do with it exactly as they pleased. "I launched the development of the GNU operating system back in 1983 specifically to make it possible to use a computer without ceding these freedoms and accepting the dominion of the software's developers," he told us.
Those freedoms mean being able to share, edit, copy and add to software without explicit permission from the original author. The oft-repeated mantra of those four essential freedoms, courtesy of Richard Stallman, is as follows:
1. To run the program as you wish.
2. To study the source code, and change it so the program does what you wish.
3. To redistribute exact copies when you wish.
4. To distribute copies of your modified versions, when you wish.
As a programmer, Stallman was in a fortunate position. He was able to put code behind his idea by making the first offering to the GNU operating system himself.
He created GNU Emacs, the GNU Debugger (GDB) and the GNU Compiler Collection (GCC), and to protect his work from commercial exploitation, he penned the first version of the GNU General Public Licence in 1989. This covered the usage rights of the software he'd created under the umbrella of the GNU project, and the GPL has gone on to become the most popular free software licence in use by developers today – at least if the licences used by the top 100 projects on SourceForge are anything to go by. But developer popularity is only one side of the coin.
Running free software as a user doesn't have the same requirement for freedom, as most users aren't technical enough to care about access to the source code. They're far more likely to care about the cost and functionality of free software. But do any of those users know or even care about the philosophy of free software that drives the development of those applications, and is the issue important?
Michael Meeks, Novell engineer and OpenOffice.org developer, thinks there's never been a problem. "Free software has had to run on proprietary platforms from the beginning. That's a given." he told us. "Hence the 'system exception' in the GPL. You can even link GPL software to proprietary software of its part of the underlying OS (eg Win32)."
But those terms in the GPL licence were agreed before the free software community had a truly viable alternative operating system. "Whether that is a good thing now that we have fully free systems like GNU/Linux or even GNU/OpenSolaris is an interesting question," explains Michael. "I personally think so – but I'd like to hope that people in our community would show leadership and set a good example by using fully free systems."
One of the most problematic uses for the GPL over the last few years was with Tivo, a subscription-only television recorder built around Linux. The problem was that despite being built on Linux, Tivo included hardware technology that blocked people from making their own modifications to the system, a process that has since become known as Tivoisation.
Tivoisation goes directly against the original intent of free software, even if it doesn't go against the word of the GPL. In 2006, this issue split the free software community into two groups: those who believed that Tivo could, and should, do anything it liked as long as it followed the GPL, and those that believed Tivo was exploiting a loophole in the original licence. Linus Torvalds felt there was nothing wrong with what the Tivo was doing, and kernel developer Greg Kroah-Hartman agrees.