Originally all computer software was free because it would only run on the hardware for which it was written and because a lot of it was written in universities who, in the US, were obliged to make the results of their research available free of charge. Users would share improvements and bug fixes freely.
This began to change in the 1970s for a variety of reasons including the development of software separately from the hardware. As the programmers were not being paid for the hardware, they charged for their software and insisted that no-one could change it or copy it.
Things came to a head in 1984 when AT&T, which had previously been banned from selling computing equipment, was broken up and began to sell Unix, a system developed with the assistance of various universities. The Systems Department of the University of California, Berkeley developed its own version, known as BSD Unix, which now powers Apple computers, and Richard Stallman, who worked at the Artificial Intelligence Laboratory of the Massachusetts Institute of Technology, recruited a number of like-minded programmers to develop a free version of Unix. They never succeeded but they managed to write a lot of very useful software which runs on most Unix-like systems.
Though the term ‘open source’ was not coined until 1998, this way of developing software had been started in 1988 by Intel. They had hired Michael Tiemann to write the software for a new engineering chip and then gave it away with the chip, telling customers who were themselves not sufficiently skilled to use it to contact Michael for help. Gradually all the major computer companies adopted this approach, giving the software away free and only charging for development or support. This is the normal way in which businesses pay for most of their software today. If you want a personal website, most website hosting companies only charge you for their support, not for the software you are using because that is free.
In 1992 a computing student at Helsinki University, Linus Torvalds, became so impatient waiting to get onto the university computer that he wrote his own operating system which, with the help of the systems administrator at the university, who called it ‘Linux,’ he put on the Internet. Within 36 hours he had people contacting him and within 18 months they had developed a kernel which worked well enough with the software which Richard Stallman and his colleagues had developed to make it a viable system.
At the time, Unix-like systems needed very expensive computers but Linux was a Unix-like system you could run on a home computer. Today Linux powers every type of computer from supercomputers to digital televisions, most of the Internet, increasing numbers of mobile ’phones (mostly under the Android brand) and many embedded systems such as in-flight and in-car entertainment systems.
It generated a lot of interest in writing new software and to deal with this, a new way of organising programmers was developed with the support of major computing companies like Intel and IBM — the charitable foundation. These include
the Apache Foundation which manages the development of a large number of programs on behalf of companies and programmers
the Linux Foundation which manages the Linux kernel development and employs Linux Torvalds.
All encourage users to submit bug reports or requests for improvements, most also offer versions of their software which run on Windows and most have forums on which users can exchange experiences and solve problems for each other much as the first users of computers used to do.
The foundations enable companies to avoid duplication of effort in the development of software even if they are competing in the provision of support. Full-time, part-time and hobbyist programmers can collaborate in ways which are impossible in a commercial environment. According to the US Department of Homeland Security, which has undertaken detailed surveys of the vulnerability of software to attack since 9/11, free and open source software is generally less vulnerable to attack than commercial software because the openness of the process means that bugs are spotted and fixed more quickly.
An unexpected dividend of the development of free and open source software has been the way it has opened up for small countries like Macedonia, Bhutan and Vietnam the possibility of developing their own home-grown computer systems.
More importantly, it has offered a model for co-operation between government, commercial and voluntary organisations that has stood the test of time, delivering quality outcomes to far more people in the world than possibly any other community or voluntary enterprise ever.