SUMMARY: The problems of proprietary models of software development are increasingly recognised. Growing popularity of free software operating systems such as GNU/Linux (whose tools provide the infrastructure of the internet) mean that it is a development model that cannot be ignored. Douglas Carnall discusses the strengths and weaknesses of the different models and licenses, and suggests that the free software development model is the only one likely to provide satisfactory application software for future medical applications.
Proprietary software is software that has been written and licensed by an enterprise such as a business, academic department or government department. Its use will be governed by a range of intellectual property protections: copyright mainly, but also patents, and possibly even trade secrets. In a proprietary software business model, binary code is a "product" that has been "assembled" (compiled in a suitable binary format, which is generally platform dependent) to be distributed as physical artefacts for which monetary payment is made. Latterly, the internet has enabled the sale of the same compiled binaries over networks, but the principle is the same.
This model of development assumes that the source code--the human readable language from which the compiler program assembles its binary product--remains a proprietary secret. This secret is the crown jewels of a software company: the valuable intellectual property from which it harvests cash.
The problem with this approach is that when there are problems with the software, for example there is a bug, or it needs to be modified to run a particular machine, or to meet the particular requirements of the user, the user is powerless. Changes can only be made to the upstream source file, reducing the user to a pleading supplicant to the software "manufacturer." Great fortunes have been made with this model, but it is not necessarily in the public's interest.
In fact, the main costs of software from the perspective of an organisation are not the costs of software and hardware (though these may be substantial), but the costs of maintaining the systems for their users, which mostly takes the form of IT support staff salaries. These staff, and their users, get locked into patterns of usage of software which can be physically, psychologically, organisationally and financially painful to change from. The cost of making such a change is the switching cost.
Knowing this, the software makers can charge their clients high prices for their wares compared with either the marginal cost of its distribution (very low) or indeed, the amount of work that has gone into its development (often also surprisingly low, whatever they might try to tell you).
When users are reluctant or unable to change their software without considerable organisational upheaval they are said to be "locked-in" and are at the mercy of their suppliers, who are the richest men on the earth today.
"Well," you might say, "it's the price of progress, and it's a free market." But there is another danger with this approach. One's fortunes are inextricably tied to the progress of the manufacturer. If they go broke, there is nothing you can do about it, but change--you do not have the option of paying another programmer to maintain the system for you. And in medicine, where decision support systems may assist in all kinds of outcomes for patients the idea of proprietary knowledge that is locked into a system away from the scrutiny of peers and colleagues is untenable. Classification systems that cannot be adapted by clinicians for their own practice are likely to prove intolerable and unworkable in practice.
Proprietary systems do provide methods for extending their classifications with custom codes. For example, the popular EMIS system for general practice in the UK allows general practitioners to extend the Read codes to include their own personal codes. What such a system does not provide is any ready method of polling for these changes and revising the classification process in the light of experience in use of all users. In the age of the internet this seems perverse. Language is an agreement among those who use it; they can be led, but they must also be free to develop.
Such user involvement in the revision and update of information systems in daily use requires a covenant on the part of the owners of the system that their efforts will not be wasted. It may be that proprietary software manufacturers will succeed in motivating a substantial proportion of their users to be involved in such feedback loops, but doctors would not be the first to question whether they are fairly rewarded for their involvement; if users add value to proprietary software surely they should be paid, not charged?
Such problems are essentially political not technical, so it is unsurprising that the solution is also political. In 1984, a programmer named Richard Stallman founded the Free Software Foundation with the intention of establishing the development of the first free modern operating system. Stallman argues out that existing intellectual property law was largely designed for a world of print, and is obsolete in the context of computer networks. Software is at its most useful when the source code is freely available so it can be modified, and furthermore, its marginal costs (the cost of each additional copy once one copy has been made) approach zero. It might be possible to smile and pass by such an idealistic theoretician, but for the fact that the operating system that the process has produced is reaching a level of maturity and a critical mass of users that makes it impossible to ignore. The implementation of Stallman's idea is called the GNU/Linux operating system (often popularly abbreviated to "Linux"): a Unix-like operating system that has been developed in open collaboration on the internet, and which provides the backbone for many of its major services. While Stallman's achievements as a programmer are not in doubt, his historic achievement is his authorship of the GNU General Public Licence, usually abbreviated to GPL.
Software released under the GPL (and other similar licences) becomes part of a virtuous circle of improvement. The GPL requires that the source code be freely available and that every user be given the right to copy and freely distribute the program. These measures ensure that any user who is competent to do so can easily modify the program, but if they do so, they must make the changes available to others on the same basis on which they received the software. The effect of this "spirale amicale" has been to generate a vast conglomeration of software components, freely available on the internet, that in true Unix style, can be assembled into applications for organisations.
The success of the approach is perhaps the defining moment of the 21st century. Politically, it suggests that open collaboration on networks beats hierarchies: technically it suggests that a distributed development method produces more reliable software than any proprietary quality assurance department could hope to find; and socially it is encouraging too: it is a model in which programmers gift their skills to a worldwide community, confident in the expectation that their efforts will be returned 1000-fold. And if they need to solve "the peanut butter and jelly problem" (meet living expenses) they can find as much or as little highly paid Unix systems administration work as they care to tackle. Another alternative is to set up in business providing services such as installation, customisation, documentation and support for the free software that they have mastered.
It is estimated that as many as 20,000 programmers participate in some aspect of free software development worldwide, a number that easily dwarfs the combined might of even the biggest of software companies. GNU/Linux's most prominent http server, Apache is the predominant webserver on the web (60% of servers), and the installed base of Linux workstation users is estimated at between 10 and 20 million worldwide and growing, particularly in education, and in the developing world. The history of information technology can be viewed as a series of "inflection points": points of critical change in technology about software houses must keep abreast to remain competitive.
Past inflection points include the development of mini-computers in the late '70s, the advent of the personal computer in the early '80s, their networking in the around the end of the eighties, and then the rapid growth of the internet as those networks are joined. The coming to age of distributed development of free software is undoubtedly the next big thing.
So where are the problems? Just as free software solves some problems it creates others. Free software and the internet pose a challenge to any existing business which bases its value on the hoarding of intellectual property. The business models of the future will be service oriented rather than outdated manufacturing metaphors. And undoubtedly even the most advanced distributions still have some way to go to match the ease of use of the Macintosh personal computer, or even arguably, Windows. Installation and upgrading currently require a degree of knowledge beyond that of the ordinary user, though that is also true for most other server systems.
What does this means for doctors? A doctor's unique expertise is to provide a human interface between the patient and the world of medical knowledge. And medical knowledge does not stand still. The problems of overload in a world of paper-based communication are well-recognised, and may even be intensified in a networked world. But if this is true for doctors, it will be even truer for patients. It is likely that doctors will continue to be pivotal influences on which internet services patients inform their healthcare choices, and patients will trust us, because we are here, listening to them, touching them, teaching them.
However free software offers the potential to build a networked suite of tools of the doctors' own choosing to make that job much more satisfying and rich. Imagine, for example that I am about to commence my studies in medicine at Sheffield University. I get an email account, and privileges on the university servers, libraries and teaching resources. After graduation I transfer to junior hospital jobs around Yorkshire but I continue my use of the Sheffield resources, because I know my way around them, and it's more efficient. As I build up new knowledge in practice, the protocols and care pathways of those hospitals shape my experience, so I will want to retain contact with them even after I have moved on. As a general practitioner in Cambridge, and latterly in London, I discovered and got very quick at using a powerful but somewhat quirky consulting application with prescribing and knowledge management modules. I make it a condition of my future employment that I have the right to download and interface this client with the systems of my future employers. There are no cost implications for my employer because another GP who was in the same boat a few years ago wrote a module that enabled the systems to interface and released it under the GPL: all I have to do is find it, download it, and install it. At any given moment in a consultation, I have access to all the information I have ever accessed, through a personalised interface that years of practice and refinement has enabled me to play with the dexterity and precision of a concert pianist.
Meanwhile the NHS is quick to grasp the power of the idea. An imaginative government minister rules that 5% of the NHS IM&T budget must be devoted to projects that will release code under the GPL immediately. "Why should the tax-payer pay twice?" she argues, "once when the software is written, and once when we pay for the bug fixes and upgrades? I'm much more interested in using public money to increase the public wealth than line the pockets of a few moghuls." She finds a precedent for her decision in the European Commission's decision in 1999 to preferentially fund development projects that yield free software as a project deliverable.
Existing software suppliers grumble and complain; a few go out of business, but rather more see the opportunity of leveraging their involvement in free software to the benefit of their customers, and continue to supply support and upgrades, albeit in a more competitive market. Hardware manufacturers are delighted by the standard reference operating system, which cuts costs in supplying drivers and other specialised software. The boundaries between private knowledge and publication blur as biomedical knowledge is increasingly systematised on large databases. All doctors will be expected to play their part in contributing to and maintaining medical culture and knowledge; being "published" will be nothing special. The challenge for the ambitious will be in attracting sufficient attention from peer reviewers to authenticate and publicise the work, and possibly attract the attention of one of the value-added medical publishers who shape the nature of generalism: the values and knowledge that all doctors must share.
The technology to enable that future is here today, and the raw substrate for the knowledge system outlined in the fantasy above arrives tomorrow. What do doctors need to do now to prepare themselves for the future? Firstly, they need to think clearly about their own learning needs for IT skills, and move from being uncritical accepters of chronically unambitious and often shoddy software to active users and developers. They should prefer open systems and standards, and wherever possible specify software licensed under the GPL. They will find it financially to their advantage to do so. And they should realise that the best software for medicine will be written when doctors themselves write the software *and* open it up to peer review and development.
Courses in medical informatics are springing up, and may be helpful, but the key to learning and applying information skills lies in a delicate balance of self-reliance and team-working. Underpinning that is must be an attitude that realises that high standards of patient care demand high standards of knowledge, application of knowledge, and communication, all of which requires high quality software, not the present disorganised babel. Only free software development can deliver this.
Copyright Douglas Carnall 12 July 2000
You may freely distribute this article in electronic form providing this copyright notice is also retained. Please mail requests for other uses to firstname.lastname@example.org
Douglas Carnall's homepage