Free Stuff that Does Stuff by
Andrew Devenish-Meares
What we’re looking at in this work shop is Free Software. First, we’ll examine what free software is as well as the history and philosophy of free software. Then, we’ll have a look at some software that you might be able to use at your stations to help enhance what you do, and not need to spend any money.
Important Terms
Source Code is the human-readable file(s) programmers write.
A
Compiler takes the Source Code and turns it into an executable. It checks the syntax as it goes.
Executatble is the binary file that the computer can actually understand and run.
(Examples can be viewed in the supporting materials)
With me so far? I’m not asking you to have a comprehensive understanding of software development – it’s far more complex than this – I just want you to have a broad understanding of how this works.
So, you go to your local software retailer, and buy a program. You get a box, you get a disc (CD or DVD usually), sometimes a manual and usually lots of loose bits of paper. You’re buying the executable.
A History of Free Software
If we jump in our time machines and go back to ancient computing history, say the late 1950 or 1960’s, there weren’t that many computers around and the few that were around were situated mainly at Universities and the like.
People at the Universities frequently wrote software, which they’d share with others. Some of the most important early developments in Operating Systems and Software happened at places like the University of California, Berkley and the Massachusetts Institute of Technology.
In 1969, Bell Labs, who were then part of the Telecommunications Company AT&T , started writing a new Operating System, called UNIX. In 1973 they migrated much of the code to C, which was something of a revolution. It meant that only a little bit of code had to be changed to make the UNIX system work on lots of different types of computers.
Bell licensed Unix, and sold it fairly cheaply. But rather than just the executable part, they also provided the source code so that the system could be changed to meet the needs of particular users.
During the 1970’s a bunch of people at UC, Berkley wrote some improvements for UNIX, which they sent back to Bell to be included in future releases. These were known as Berkley Software Distribution. Meanwhile, another group at MIT were writing other pieces of software to run on the system.
At the end of the 1970’s and the start of the 1980’s companies started to charge for all their software, and only provide binary versions, making money from what we now call proprietary software.
Before 1983, Richard Stallman was working in the Artificial Intelligence Lab at MIT. As the commercial software world grew, he found himself ethically at odds with non-free software. When he was asked to sign non-disclosure agreements, he eventually quit MIT to work on the GNU project. The GNU Project contributes significantly to another important project, which we’ll talk about a bit later.
Stallman did a number of important things. He founded the Free Software Foundation, published the first copyleft licences.
Yes… copyleft. It’s a play on the word copyright. Basically, everything we produce is covered by a limited amount of copyright. The Copyleft removes those rights and lets others do what they want with it. In the computing world, the GNU General Public Licence is probably the most well-known of these, but there’s another popular variety from Creative Commons called Share-Alike.
OK, so after that short history lesson, what did the Free Software Foundation come up with as a definition of “Free Software”?
’The word "free" in our name does not refer to price; it refers to freedom. First, the freedom to copy a program and redistribute it to your neighbors, so that they can use it as well as you. Second, the freedom to change a program, so that you can control it instead of it controlling you; for this, the source code must be made available to you.’
- The freedom to run the program for any purpose.
- The freedom to study and modify the program.
- The freedom to copy the program so you can help your neighbor.
- The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.
Open Source
To confuse things just a little, lets look at Open Source for a moment.
The Open Source Initiative (OSI) was formed in 1998 when the Netscape Communications Corporation published the source code for their Netscape Communicator.
The OSI have 10 conditions that software licences have to meet before they’re considered Open Source. We won’t go through them here, you can view them
here
Basically there’s some different philosophy on a couple of points. The practical upshot as far as most of you are concerned, is exactly the same: Useful software that you can copy, modify and redistribute.
So you can see that Free Software is different from Freeware and Shareware, not that there’s anything wrong with those types of software.
Probably the most well know example of Free Software is GNU/Linux, which I want to look at briefly.
When Richard Stallman started the GNU Project one of the main aims was to produce a free UNIX-like operating system. As a part of this, he wrote the GNU General Public Licence that we have just discussed.
So, Stallman started this project, and lots of people contributed, apart from one key area – the Kernel. That’s the bit that works between the User Interface (like Windows) and the commands that actually do things like read a file from disk. Without that GNU, as an operating system, was useless.
In 1987 a free Unix-like system called MINIX was released. Source code was available, but it couldn’t be modified and redistributed. It also didn’t take advantage of the new Intel 386 CPUs.
If we look back to the 70’s, I mentioned the Berkley Software Distribution, or BSD. UC Berkley made some improvements to Unix. After that they tried to make a free Operating System called BSD. In 1992 the development of BSD was halted by lawsuits from AT&T.
A Student in Helsinki based student named Linux Torvalds announced to the world that he had written a free Kernel. It was just a hobby, and was never meant to be professional like GNU. It was initially published under it’s own licence, with a restriction on commercial activity.
In 1992, Torvalds switched to the GNU Licence, and work began to integrate the GNU tools with his kernel, resulting in the release of GNU/Linux.
The collaborative and open approach lead to the goal of a large number of people – a free and portable Unix-like operating system.