Six Steps to Adopting Open-Source Software at Your Organization

Are you debating whether to adopt Linux or open-source software at your organization, but can't figure out how to get started? The NonProfit Open Source Initiative (NOSI) created this guide to help nonprofits make an informed decision about whether to make the switch.

Here, NOSI outlines six steps you can take to begin to put open-source software to work in your organization, and in the process learn more about it, its capabilities, and its cost-effectiveness.

Step 1: Shared Web Hosting

It is very common for small and medium-sized nonprofit organizations to purchase a Web and email hosting account from an external virtual hosting provider. These accounts cost from $10 to $40 per month. This is because external hosting (also called virtual hosting) requires less support and is less expensive.

There are many, many virtual hosting providers, and the vast majority of virtual host providers use an open-source operating system, either Linux or BSD (another open-source UNIX variant). They use these because they are more cost-effective and stable, and it is easier to administer many machines with fewer staff than using Windows.

If you are already using a virtual host for your Web site and you did not specifically ask for Windows, then you are very likely already using the open-source operating systems Linux or BSD, and the provider is almost certainly using Apache. You also likely have access to open-source application development using the quite popular languages PHP and Perl and to the database system MySQL. Thus, you already have experience with OSS, use it every day, and you can check off Step 1! (Step 5 of this section will explore more on how to do it yourself.)

Step 2: Open Office and Mozilla

Word processing, email, Web browsing and spreadsheets are the primary software programs used by nonprofit staff members. Fortunately, the proprietary software programs typically used to perform these functions all have well-developed open-source alternatives that run on Macintosh and Windows platforms in addition to Linux.

You can download and install one or both of OpenOffice or Mozilla . OpenOffice is a full-featured office suite that can read and write Microsoft Office files (.doc, .xls, .ppt), and Mozilla offers open-source programs Firefox and Thunderbird that do Web browsing, email, IRC, and HTML editing. All of these software packages install easily. They are easy to try out and evaluate.

Step 3: Small Desktop Trial

If some of your staff are primarily using only the programs mentioned in Step 2, then you could experiment by installing Linux on an extra workstation on your internal network. In addition to providing the applications mentioned in Step 2, Linux comes with many other multimedia and productivity applications.

To evaluate using Linux on a desktop, you can take an old desktop that might be gathering dust in the corner (preferably a Pentium processor of 400 MHz or better), and install a distribution of Linux on it. For a thorough listing of Linux distributions, their features, cost, licensing, and other information, visit Wikipedia's Comparison of Linux distributions .

Acquiring and trying out various Linux distributions will give you an idea of how to use it on the desktop, and introduce you to a wide range of OS packages for you to test out. It is a good way to understand how Linux works. In addition, there are several ways (see list, below) to use Windows software on your Linux desktop when needed.

A security note: Don’t place this test Linux desktop on a static public IP address without NAT or without being behind a firewall (talk to your tech staff member or consultant if you have one). Although generally regarded as more secure than Windows, like any computer you put on your network, you need to be aware of how to make it secure before it is open to the public Internet.

Step 4: Network File and Print Server

One of the easiest ways to use Linux in a network environment is to use it as a file and print server, to replace or retire the Windows server that you might have serving this function. (Note: A dedicated file/print server is recommended for organizations with seven or more staff members.) The case studies show examples of the use of Linux for just that purpose. SAMBA allows the Linux server to share network directories (folders) so that they can be accessed by Windows clients.

If you would like to use Linux as a print server, and you have an unusual (or very new) printer, we recommend checking out to make sure that Linux supports your printer.

Step 5: Self-Hosting of Web, Email, and Email Lists

As mentioned above in the virtual host section, Linux is very good at Internet server functions (Web and email hosting, and other Internet server functions). If you have a DSL connection with a static IP address (you generally have to pay more for such an account), or a T1 or higher broadband connection, then self-hosting your Web site and email is quite easy using Linux. You can easily use an older server machine or desktop for this function. Again, you can find or download any distribution of Linux that you like.

If you do not want to take on the responsibilities and cost of hosting your server yourself, you can get a dedicated Linux server from many hosting providers, starting at around $99 a month. With this kind of server you can install any specialized open-source software (OSS) that you might want to use in your organization.

Unlike Windows servers, Linux comes with all necessary server functions in the box, and there are no per-seat licenses for anything (Windows servers do come with Internet Information Services --IIS -- the Windows Web server that has no additional license fees, but all additional server software, like email, requires additional costs). Unlike Microsoft Exchange, where you have to spend $8 (discounted) to $40 per email account, Linux will allow you to have unlimited email addresses at no additional licensing costs. There are a number of mail servers that are available, including Sendmail, Postfix, and Exim. Linux also comes with Apache, the most popular Web server.

Email lists (discussion lists, e-newsletters, fundraising appeals) have become increasingly important to nonprofit organizations. There are a number of OS mailing list managers for Linux/UNIX, with a broad variety of functionalities and ease of use. Probably the most popular and easiest to use is a program called Mailman. Others include Majordomo, Sympa, SmartList, and EZLMM.

Step 6: Moving Towards an All Open-Source Office

There are a variety of other open-source tools that can allow you to move to an entirely open-source office.

Database Servers

There are two database servers that are often used in Linux/UNIX environments (and both have been ported for use on Windows): MySQL and PostgreSQL. They are both popular, although MySQL is the most popular. They can be used for any basic DBMS functions that MS SQL server (or even Oracle) can be used for. MySQL is most often used for Web-based databases, and PostgreSQL is considered a possible replacement for Oracle, because of how full-featured and robust it is. Both can be used as back ends via ODBC, with Microsoft Access serving as the GUI (graphical user interface) front end.

There are also the membership and donor management packages eBase and ODB , and although they are built upon proprietary development environments (FileMaker and Visual Basic 5 respectively), they provide access to the source code. There is an open-source server-based accounting package, called SQL-Ledger, which some nonprofits have begun to use, and a desktop accounting package called GnuCash for Linux.

Undoubtedly, the options will improve as developers realize that there are needs to be addressed. NOSI has generated an online database of open-source projects that are specifically of interest to nonprofit organizations, and a CD (distributed with some versions of this booklet) that provides installation programs for relevant Windows and Mac-compatible OSS programs.

Here are two tables that compare and contrast proprietary software options with OSS options, both for the desktop and the server.

Server Software


Proprietary Options

Open-Source Alternative


File Sharing

Microsoft Windows 2003 Server

Samba running on Linux or BSD

Samba is very mature and robust.

Email Server

Microsoft Exchange Server, Lotus Notes

Sendmail, Postfix, Exim, SuSE OpenExchange


Web Server

Microsoft IIS


Apache is the most popular Web server.

Database Server

Microsoft SQL Server, Oracle

PostgreSQL, MySQL

Both projects are very robust and full-featured, and will run on windows as well as Linux/BSD.

Desktop Software



Open Source


Office Suite

MS Office, Corel Word Perfect Office

Open Office, Koffice, Abiword, Gnumeric

Gnumeric is comparable to Excel.


Quickbooks, Blackbaud, Peachtree

GNUCash, SQL-Ledger, Appgen

GNUCash is not as complete or polished, but can be quite adequate for smaller nonprofits. SQL-Ledger is a Web-based accounting package that is mature enough to be used by even large nonprofits.

Web Design

Front Page, Dreamweaver

Open Office, Bluefish, Mozilla, Quanta

On the whole, OS alternatives produce much cleaner HTML, and are as easy to use, but not as full-featured.

Grapics/Desktop Publishing

Photoshop, Indesign, Quark

The Gimp, Scribus


Fundraising/ Contact Management

Raiser's Edge, Paradigm

Ebase for Mac or Windows, Organizers' Database (ODB) for Windows

Ebase and ODB are open source, yet for now are tied to proprietary back-end formats (Filemaker and Access).

Project Management

Visio, MS Project