4.1. So Many Options for Applications
Linux includes an incredible variety of applications. The number of choices may annoy some users, as it can be difficult to glean the wheat from the chaff. Just browsing through what's available takes time. In this annoyance, I introduce some of the libraries of Linux applications. I provide some guidelines that you can use to find the gems in the forest. Then I'll provide an example of how you can find the application most suited to the needs of your users.
4.1.1. Linux Application Libraries
There are a number of excellent Linux application libraries available. The ones I find most useful are:
The Linux Online library
The Linux Online library is a database with rich features. While you can browse its categories and subcategories from the Applications web page at http://www.linux.org/apps, the strength of the library is its search engine. If you have a specific need, such as video editing, office suites, or money management, use the Linux Online search engine. You may be pleasantly surprised with the results.
The Freshmeat project trees
The people behind Freshmeat host the home pages for a substantial number of projects. Developers add their contributions to Freshmeat all the time, supplying software updates, messages, and more. Projects in the Freshmeat database are organized into several levels. Once you find the appropriate subcategory, projects are ordered by popularity.
For example, if you want to find the most popular Linux chat programs that can connect to the AOL Instant Messenger service, navigate to the Freshmeat libraries at http://freshmeat.net/browse/18/ and click Communications Chat AOL Instant Messenger. As of this writing, there are 85 projects in this area, and the most popular application is Gaim, which is covered in "Im Having Trouble Chatting on AIM, Yahoo!, or MSN" in Chapter 3.
One caution for Linux users: some software from Freshmeat projects is designed only for operating systems other than Linux.
The SourceForge Software Map
In its own words, SourceForge is "The world's largest development and download repository of Open Source code and applications." It is well indexed. Like Freshmeat, projects are listed in order of popularity. Like Linux Online, it has a powerful search engine that can help you find the application that you need.
You can search its applications engine directly from the home page at http://sourceforge.net, or search through its application categories starting with the Software Map tab. For example, if you wanted to search through applications associated with AOL Instant Messenger, you would click Communications Chat AOL Instant Messenger for the 247 related projects.
Both Freshmeat and SourceForge are maintained by the Open Source Technology Group; nevertheless, their project databases are different.
When you examine a project, know what you need. Some less popular projects may be perfect for you and your users.
4.1.2. Selection Criteria
I recommend that you use the following guidelines when selecting an application:
Availability for preferred distribution
Linux applications generally work best when built and tested on your target distribution.
Naturally, cost is always a key factor when selecting an application. While most Linux applications are freely available under an open source license, some are not. Some companies provide two versions of an application: one is open source, and a second includes additional features for a price. Some companies who have released open source applications sell support contracts.
The license associated with an application determines what you can do with it. Open source licenses allow you to freely modify the application to meet your needs. If you develop features that you're willing to share, you can release your changes to the community.
There are at least two levels of support to consider with any Linux application: support direct from the company, for which you pay, and support from fellow users (and often some of the developers), available through mailing lists.
Many applications are "not ready for prime time." If you find that an application is in alpha development, it generally has not been tested with any rigor on most Linux distributions. However, many (but not all) beta projects, which are nominally still in testing, are as stable as any Microsoft application that you can purchase today.
As described on SourceForge, there are seven levels of development: planning, pre-alpha, alpha, beta, production/stable, mature, and inactive. In most cases, you should not install planning, pre-alpha, and alpha applications on production computers. Beta software may or may not be ready for production computers and should be tested rigorously before installation. Production/stable software can generally be installed on production computers without as much testing. Mature and inactive applications may not have the latest features, or may be superseded by other applications.
Generally, it's best to use applications with a lot of activity, as defined by popularity and message traffic. Freshmeat and SourceForge list projects by their popularity, and most projects have a mailing list that you can peruse to check experiences of others. If the mailing list associated with an application hasn't seen a new message for months, it's probably inactive.
Whatever you install, even if it is stable production software, should be tested on your systems. What you do may be unique. The new application may have unanticipated effects. Only when you're confident of a positive result should you install the new application on a production system.
4.1.3. Sample Applications Search: Office Suites
If you need an office suite, the obvious choice on Linux is OpenOffice.org. As you'll see in the next two annoyances, the applications in the OpenOffice.org suite work well with Microsoft Office fileseven those that have complex embedded templates and macros. However, the OpenOffice.org suite may not be best for all Linux users. It takes up a lot of room. Every time you update the suite, you may download several hundred megabytes of packages.
If your users have uncomplicated Microsoft Office files, one of the other Linux Office Suites may be better for you. In this section, I'll guide you in a search of office suites through the Linux Online applications database, using the following steps:
Navigate to the Linux Online applications database at http://www.linux.org/apps/.
Under the Office category, click on the Office link.
Read through the available options. If none are satisfactory, search through the databases of the other application libraries described in this annoyance.
Pick an option. Evaluate it based on the criteria described in the previous section (except self-tests):
To find out its availability for your selected distribution, search for the package from your distribution's repositories. For a Debian-based distribution (or a distribution enabled with an apt repository), you can search with the following command (substitute the name of the package for searchterm):
apt-cache search searchterm
Alternatively, for distributions with yum-based repositories (such as Fedora Linux), you can search with the following command:
yum list | grep searchterm
In other cases, you can use the package search engines most closely associated with the distribution, such as SUSE's YaST or the Red Hat Network at rhn.redhat.com.
Alternatively, the developers behind a distribution may have built packages for specific distributions and made downloads available from their home pages. Or you can build the package from source code; however, that makes installation more difficult and suggests that the application may not be fully tested on your preferred distribution.
Check for a price or a fee. The listing for the application should list any direct costs associated with the application.
Inspect the license. The "free" versions of many applications may have limited functionality or may expire after a certain amount of time.
Find out about support. You (or your users) may need it. Your management may demand it. All applications are associated with some sort of learning curve. Support may be available for a fee from the developers (or third-party consultants); details should be available from the application's web page. Support may also be available online; it can help to search through the mailing lists for the application.
Make sure you're comfortable with the development status of the application. Generally, production applications should have a production/stable development status. There are risks associated with alpha software. Conversely, mature or inactive software may not be up-to-date, may not work with the latest distributions, and may not address the latest security issues.
Check the current level of activity associated with an application. It's best if you see a relatively regular revision history, as well as discussion on mailing lists. These measures suggest that the software is up-to-date and relatively popular.
Once you're satisfied with these steps, consider downloading and installing the application. Start with a test computer, configured with the same components as you would find on production workstations.
Download the application. Unpack and compile it if required. Install the application. Configure it as you would want your users to see it. Test it as it would be run by your users, with a variety of other applications. Inspect the results, including the additional messages you might find in related logfiles.
Only after you're satisfied with the results should you install the application on the production computers on your network.