If you're involved in a small software company, as a developer, a guru, an MD or whatever, recent comments by Microsoft and announcements by Netscape must have made you seriously think as to what the future has to offer. Let me recall two events, which happened independently in January.
On January 9, Bloomberg interviewed Bob Herbold, Microsoft's chief operating officer. The interview focused on Microsoft's attitude towards the US Department of Justice and the fact that Microsoft ‘doesn't have a plan for revising Windows 98 in case a federal judge orders the company to make changes’.
Somewhere towards the end of the relatively short interview, when asked ‘how small software companies could compete on products that Microsoft plans to fold into its operating system?’, Herbold replied – in an astonishingly frank manner – that ‘smaller rivals had three possible paths: they could fight a losing battle, they could produce a successful product and then sell to Microsoft or another large company, or they could “not go into business to begin with because, hey, if you're a betting person you know which way it's going to go.”’
Later in the month, on January 22, Netscape announced that it would make freely available the source code of Netscape Communicator Standard Edition 5.0. This made a bigger impact. It has already received lots of comments which can be broadly classified in either: this is the best announcement ever made, or, Netscape really didn't have much of a choice – and it's probably too late to save the company. I'll explain later why I think the two events are important when viewed together.
The evolution of Windows shows that many software niches that once were viewed as clearly separate from the operating system eventually get integrated. So who is to say whether a product in development will fold into a Microsoft operating system or not, and when? If you can't answer that, then according to Herbold the only way you can have a successful software house is by hoping that you'll eventually be bought by Microsoft. There are better gambles in this world!
One wouldn't have been surprised if most small software companies, after reading Herbold's reply, would consider themselves doomed. This is where the Netscape story comes in and lights the future in a completely different way: just give away your binaries and your source code.
This is not new thinking. The Free Software Foundation (FSF) did that many years ago, and GCC and Emacs are pretty successful. As Tim O'Reilly, President of O'Reilly and Associates, summed it up ‘freeware is the lifeblood of the Internet’. To name just three other robust software projects for which the source code is freely available (and free): Apache, Linux, and Perl.
‘Giving away’ doesn't imply that you can't make money. One licence term that Netscape is contemplating as a possibility to adopt, the GNU General Public License, states: ‘when we speak of free software, we are referring to freedom, not to price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.’
Companies like Cygnus are successful by selling their experience: they specialise all the wealth of free code available to specific client needs. There is a real need for such commercialisation of free software. Even though free software tends to evolve faster than its commercial counterpart, especially as far as bug fixes are concerned, many commercial businesses are still reluctant to ‘acquire’ software which comes with no warranty at all. Software houses specialising in free software can offer customisation and warranties – for a price. Another way to make money out of free software is on the documentation side as O'Reilly and Associates can prove.
One common advantage of free software development is that it benefits from very experienced developers from all over the world. As Tom Christiansen puts it: ‘A person will do for love – in this case, the love of creation, the respect of one's peers – what they will not do for money.’ And it benefits from its most experienced users – when they want a new feature added, they just write it and offer it to everyone. That's not to say that there's only one model to follow to develop free software. Eric Raymond, maintainer of the famous Jargon file (aka the Hacker's Dictionary) and who has been involved in free software development for ten years, has written a seminal paper on the subject: The Cathedral and the Bazaar (http://earthspace.net/~esr/writings/cathedral-paper.html). Basically according to his paper there are two methods, the one adopted by the FSF which imposes a strict control on releases – the cathedral builder – versus the release often and early method of the Linux world – the bazaar. Both have been successful but work quite differently. Eric Raymond has been rumoured to consult for Netscape to advise on how to release Communicator's source code and how to maintain it.
However, free software is not the only alternative to traditional commercial software. The shareware market can also count quite a few successes, such as Quake or WinZip. This works by freely releasing binaries, and more rarely source code, and asking satisfied users to pay for the software only if they like it enough to continue using it. It relies on honesty so it tends to work only for software with large distribution, as honest users tend to be a minority.
Even though free software is not new, Netscape's move is the first change of status for a piece of software from commercial to free with full release of source code. Eric Raymond in an email to Tim O'Reilly commented: ‘I'm ready to dance on rooftops, and [everybody] is officially invited to join me. It's happening, people! The Internet culture and the Unix/free software/open-development model is winning.’
(C)1998, Centaur Communications Ltd. Reproduced with the kind permission of EXE Magazine.