OR WAIT 15 SECS
Take a tour through the world of freeware, shareware, shrink-wrapped, enterprise, and open source software.
Ctrl-alt-del. Nothing. I am beyond the frozen computer, beyond the blue screen of death, looking at the rarely seen BIOS message with the little bird. Most of you have probably never seen this, but I have, on several occasions. Why? Anyone in my IT department at work will tell you that I am promiscuous with my computer. I love to download software, especially if it is free, or nearly free. I am a shareware and freeware addict.
You can be sure that I have my reasons, and they are good ones. First of all, I have a bunch of hobbies that have generated many shareware and freeware computer programs. There are amazing software programs for amateur astronomerscomputer planetariums, artificial satellite locators, and observation databases to name a few. Similarly, contract bridge and rock-climbing enthusiasts have developed many software programs that are distributed freely on the Internet. Even my serious professional interests, such as medicine, are the subjects of hundreds of very useful shareware computer programs.
A quick fix
Shareware and freeware programs often answer my needs. And they do it quickly. For example, I might be cataloguing my CD collection in Microsoft Excel when I begin to wonder whether anyone has developed a shareware program for this purpose. A quick search through Tucows Downloads (www.tucows.com) or another similar shareware/freeware repository may net a dozen or so potential files. I may download a few and try them before settling on the one that works best. Along the way, I install and uninstall the losing entrants. Some of them may crash my computer or fail to work. Many have no support or information other than a very skimpy help file that comes with the program. Worst of all, most leave traces in the form of .dll files and other installed files on my system. These little time bombs are waiting for just the right moment (usually when I am busy writing an article on deadline) to unleash their particular damage. The result is a flaky computer with frozen or slow screens, the blue screen of death, or worse.
Shareware and freeware give users like me a quick fix. Often, I will use a shareware program for a few days, then gradually lose interest in the particular application that I am using the shareware for. If the program is free, I have lost nothing (or so I think!). If it is shareware, often I have not had to pay the modest fee for the program until I have used it for more than 30 days. Usually by then I have figured out whether I want to keep the software and pay the registration fee.
The problem is that freeware and shareware programs are designed and developed, for the most part, by individual and amateur computer programmers who are earnestly interested in providing software for people who share the same interest. Although talented professional programmers produce some shareware, individual programmers, who have little experience in the production and distribution of computer programs, produce much of it. They may not use the best tools for programming or may be unable to do adequate quality control and testing of the software, and costs may prohibit the testing of the software in all of the possible environments (different versions of operating systems, different computers, simultaneously running software programs). The result is that many freeware and shareware programs are fragile, operating improperly under some circumstances. Much more problematic, these programs can interfere with existing software and the operating system itself, causing erratic behavior and crashes. The time and effort required to fix these issues can be enormous, far outweighing the savings of using a shareware program.
Would I have had the same issues if I had used an off-the-shelf, shrink-wrap, program? Shrink-wrapped software is retail softwaresold on the shelf in stores like Staples, easily installed by the purchaser, and frequently boxed and wrapped along with the license. There is little relationship between the company that developed the software and the purchaser. Shrink-wrapped software is common in markets with enormous numbers of users; for example, word processing or spreadsheet software. I would probably not have had the same problems with off-the-shelf software, but there are no guarantees. Typically, commercial software, especially from reliable and well-known software companies, has been developed using modern techniques and software design practices, and it has been tested properly to ensure that it functions properly in many settings. This disciplined software development and testing is expensive, which is part of the reason that high quality software typically costs far more than shareware. Although the marginal cost of cutting a CD with software on it is pennies, the development and testing process for quality software can range from millions to tens of millions of dollars.
Interestingly, there are several freeware programs that can be used in clinical trial applications, typically in pharmacology, pharmacokinetics, and power/sample size estimation. Typically developed by an academic statistician or pharmacologist, many of these programs are DOS based. Although they may not be beautiful to look at, these programs may work as well as their expensive commercial cousins that do more or less the same thing.
Issues concerning freeware and shareware software programs may seem fairly distant from the clinical trial software that is being developed for pharmaceutical companies. In fact, some of the same considerations already discussed play a role in choosing software for a clinical trial application.
Clinical trials software
Clinical trials software is not typically the shrink-wrapped software that most people are familiar with. Most clinical trials software is either custom developed or sold as commercial enterprise software. Custom developed software is purpose-built. It can be developed by a pharmaceutical or a biotechnology company based on detailed specifications, or by consulting software companies. Custom-built software can be extensively tested in the exact environment in which it will be used. The builders of the software may be able to build the software to work in a particular networks architecture, on particular computer systems, because this type of software can be specified and standardized. Custom-built software can be carefully specified to work exactly as desired. It is like a Saville Row custom suit. The custom nature of this software can also be its downfall. Most major software needs bug fixing, updating, and linking to other software programs. With custom software, these activities must be done by software programmers. Thus, the ongoing support of such custom programs requires continued cost and effort from the developers. Of course, the developers also must properly validate each version of the software for use in clinical trials.
Commercial enterprise software is an alternative to custom-built software that provides a robust solution, but may require more process reengineering than custom-built software. The installation and configuration of such software can take a considerable amount of time, as can the training of support staff and end users. Of necessity, commercial enterprise software is developed for a common denominator of users, and therefore may be a less perfect fit for each user than is custom-built software.
This type of software solution typically costs far more than shrink-wrapped software for several reasons. The software typically has a much more limited market than shrink-wrapped software. The cost of developing and testing the software is therefore spread over far fewer purchasers. Finally, commercial enterprise software is often highly complex, requiring many dozens of developers to write, test, and document the software. This type of software serves as a stark contrast to freeware/shareware.
Commercial enterprise software provides a number of advantages for the licensee. Typically this software is extensively tested to work in many different settings. In addition, the commercial vendor is typically committed to the continued development of new versions of the software, product extensions, and links to other related software products. Third-party vendors may develop add-on products that meet particular needs of the user and are far less costly than developing the same add-on as a custom product. As with custom software, each new version requires validation for use in clinical trials. This validation effort can be partially performed by the vendor for all users of the software.
A final consideration is that of open source software. Typically, commercial vendors of software license an executable version of the software. The underlying computer code that was used to develop the software cannot be viewed or modified. If the actual computer source code is available to the end user, this is known as open source. Open source software is very popular in the academic world where many open source applications have been developed, especially for the UNIX computer system. In theory, developers can modify the source code and improve the software. Through the work of many expert developers, and with a central mechanism to merge the updated source code, the open source software program can be developed through many versions of improved functionality. Each version is tested by the user community, and bugs are fixed by volunteers. Many excellent computer programs have been developed this way. In fact, the LINUX operating system, a popular alternative to Windows, was originally developed this way and later commercialized.
Commercial vendors can also offer open source software simply by providing the source code along with the software. When this is done, the individual licensees can use the source code to modify the software. The result is that each purchaser of the software will be able to quickly develop a semi-custom version that requires full validation prior to use. In addition, once the licensee modifies the source code it becomes virtually impossible for the vendor to develop new versions or modifications of the original software. These changes or additions will no longer work with the original software. Thus, the licensee must commit to supporting, developing, and validating their personalized version of the software for its usable life. Commercial open source software cannot be supported by a vendor that cant possibly understand how it has been changed.
The development of software is a highly complex process that requires proper requirements, specifications, design, implementation, and testing. Failure in any of these arenas can lead to problems that can vary from system instability to data loss. The user of any software must be assured of the quality and stability of the system they are using or take big risks. With personal software, there are generally fewer risks with name brand, popular software products that are in broad use. With enterprise software, these same considerations are more difficult to make. Custom-built software must have a built-in process and a software development life cycle that guarantees the robust operation of the software. Anything less has far more consequences than merely damaging a personal computerit can interfere with data integrity and productivity. Commercial enterprise software must also be evaluated and validated along with the software vendor. The expectation is that future modifications and versions will follow a similar process. Finally, open source software is somewhat of a hybrid between custom and commercialit requires careful evaluation and validation, but once modified it becomes the responsibility of the purchaser to assure the continued integrity of the system. With all software for enterprise use, think about the total cost of software ownership. Caveat emptor!