Section 7.3. Reducing the Skills Gap for Getting Started


7.3. Reducing the Skills Gap for Getting Started

The next step in productization is to make an open source project easy to use. This means automating as much of it as possible so that beginners can avoid as many complexities as possible.

7.3.1. Installation Scripts

Most projects come with some scripts that help unpack the project from its compressed form. Then, a README file explains the steps required to compile and install the project. This is where people with beginner and intermediate skills start to get nervous. Most of the time, they don't know how to get the project from its unpacked state to a working state. Some projects don't offer an installation script that can actually anticipate all the different settings and configuration options that might be needed to get a project running. However, if an easy-to-use installation script is available, beginners and intermediates will appreciate the quick start and it won't get in the way of advanced and expert users.

Tools are available for making open source easier to install, such as RPM. However, the installers that come with open source software are rarely as easy to use as the ones on consumer PC systems. The easier that open source installers are to install, the easier it will be for users of all levels to use open source.

7.3.2. Configuration Tools

While installation is the process of fitting software into the environment in which it will run, configuration is the process of controlling the software's behavior. Most software has a variety of mechanisms controlling its behavior, from settings in property files and databases to small scripts that are executed at predefined points. The worst case is when these mechanisms are undocumented and can be understood only by reading the source code. Sometimes documentation in the form of comments is included in property files. The best programs have interactive environments for changing settings in a way that makes it easy and clear, and protects the user from common errors or combinations of settings that do not make sense.

7.3.3. Administrative Interfaces

Many programs include common configuration tasks that are performed repeatedly, such as adding users or changing permissions. The same sorts of interfaces that make configuration easy are also needed for administration.

7.3.4. Operational and Diagnostic Consoles

Most large-scale software has a log file that various parts of the program write messages to during normal operations. Software diagnosis frequently begins with an examination of these log files. One of the biggest favors that any software designer can do for future users is to build diagnostic functionality into the software that goes beyond log files to confirm the operation of various software components, thereby making it much easier to diagnose problems. Such diagnostic routines are generally found only in the highest-quality software.

For example, if an application relies on getting data from a service on the Internet, a simple diagnostic routine could confirm proper operation of that service. Alternatively, if an application is implemented by services that run on several different servers, a diagnostic console could confirm the proper operation of those services.

With these tools, beginner and intermediate users can extend their abilities, and expert and advanced users can save a significant amount of time.



Open Source for the Enterprise
Open Source for the Enterprise
ISBN: 596101198
EAN: N/A
Year: 2003
Pages: 134

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net