Building an Open Source Office

A case study from a grassroots organization

By: Arif Mamdani and Amanda Hickman

August 20, 2003

Editor's Note:

This article is based upon work done by Arif Mamdani in implementing GRO 's technology plan. Sadanori Horiguchi conducted initial research and interviews for this case study. Arif Mamdani authored the case study with Amanda Hickman, and Dirk Slater edited it.

The Low Income Networking and Communications ( LINC) Project of the Welfare Law Center has helped over 40 low-income led organizing groups use technology more effectively. When we learned of Microsoft's decision to discontinue support of their older operating systems, including Windows 95, we began to explore the idea of using GNU/Linux, a free operating system that works well with older computers. With or without manufacturer support, we were also troubled by frequent crashes, prevalence of viruses and other problems associated with Microsoft Windows. LINC set out to test the viability of building an Open Source office in the hope of improving our ability to provide stable desktop systems on donated computers.

GRO, or Grass Roots Organizing, is a Missouri community-based nonprofit organization with 300 dues paying members (about 75 percent low-income), four Staff people (two half-time) and an annual budget of nearly $200,000. GRO works to provide low-income families with tools and leadership opportunities to improve their conditions in both the real-life realm and the policy realm at local, state, and national levels. GRO's current work includes campaigns to: retain core social service programs, push positive welfare reform at the state and federal level, and improve mobile home environments and tenants' rights, demand implementation of recent Food Stamp improvement adopted by Congress, obtain oral and optical coverage in Medicaid, and preserve Medicaid itself.

We decided to work with GRO on this pilot project because they are an effective, membership based group of welfare recipients interested in bringing computers into their work. They were interested in exploring Open Source software and had a tie to a local Linux Users Group, MLUG. Our first case study on GRO was about the use of GNU/Linux as an operating system used on computers distributed to the homes of their low-income board members (see LINC Project - Case Studies).

When we first started working with GRO, it was a brand new organization, with one organizer in Mexico, MO and another in Columbia, MO. Both organizers were working out of their homes, using their own computers, printers, and fax machines. They used e-mail and e-mail lists to communicate with one another and with allied organizations, but had to rely heavily on their fax machines to share documents, in part because they were each running different software that didn't match up easily.

As we set out to do this project, LINC started by loading different GNU/Linux distributions on our own laptops. We spent a few months testing them out to see if we could work comfortably in a GNU/Linux environment. We were pleasantly surprised to find that after an initial period of re-adjustment, there was a significant rise in our productivity while using GNU/Linux. From what we could tell at that point, GNU/Linux was a user-friendly system capable of handling basic office tasks like e-mail, word-processing, and internet access. In addition, there were a number of nice image editing and manipulation tools, audio players, and instant messenger clients. From the start of our evaluation process, we considered three significant measures of usefulness: ease of setup, ease of use, and frequency of maintenance/support.

Ease of set-up:

Going into this project, we'd heard a lot about how GNU/Linux was difficult to install and get working correctly. As is so often the case, the hype was a far cry from reality. It doesn't take a computer scientist or a hard-core programmer to install and configure a GNU/Linux machine. We're none of those things, just a couple of activist geeks with minor tech skills. While it's true that installing GNU/Linux isn't like installing Microsoft Windows, it's also not difficult. GNU/Linux means learning a different way of working -- not harder, not more technical, just different. The challenge wasn't in the actual work; it was in getting over our habits (see Appendix 2 for a step-by-step guide to installing GNU/Linux).

Ease of use:

Probably the biggest area of concern for us, and the area with the most potential pitfalls was ease of use. Each person who uses a computer is unique, and each brings to the experience their own personal working and learning style, as well as their own expectations about how technology should work. As we were evaluating software, we kept the following questions in mind:

  • How intuitive is this desktop environment/application/operating system for new users, users with some experience, users with a lot of experience?
  • How much feedback does the user get? Especially on slower machines, the desktop environment just isn't very responsive regardless of operating system used. We needed to know that when the computer was "working" there was some feedback (think the Microsoft Windows hourglass or the Mac OS X spinning beach ball) so the user would not just keep hammering at the icon, thinking they hadn't clicked it properly.
  • How easy is it to find tech support or help with this application?
  • How hard is it to break this environment/application/OS (think dragging things out of the system folder in Win98)?
  • How easy is it to change settings and configurations?

As we tried to answer these questions, we found that, overall, GNU/Linux can be either very easy to use or fairly complex, depending on how it's configured and what specific software packages are installed.

Naturally, we gravitated toward ease of use. In our evaluation, we came across a set of packages that would enable us to create what would, in essence, be a sort of "computing appliance" system. With this sort of configuration, the user would login and be presented with a screen holding two or three icons: use e-mail, write/edit documents, get online, and finally a button to logout. We spent a good deal of time evaluating and considering this minimalist approach. In its favor, there was close to zero confusion due to too many options and too much "eye-candy." On the downside, though, we felt it was too minimalist for an office desktop. The bare bones set up meant that changes to the configuration were too difficult for average users. While we didn't anticipate GRO office staff needing to make major changes, we felt it was betterto prepare for that contingency rather than trust in our foresight. In the end, we decided to go with a desktop environment and configuration that was somewhat more complicated in order to allow users more control over the configuration of their machines. While this may not be absolutely the easiest configuration to use -- it's hard to get easier than three or four icons -- it's the best compromise because it doesn't limit what the users can do. The Gnome and KDE desktops (these are graphical user interfaces that make use of a windowing system) for GNU/Linux were both very satisfactory. We used KDE in the Mexico, Missouri office.

Support

We chose to use GNU/Linux in this project in part because of the OS's reputation for stability and reliability. Our thinking was that the more reliable and stable an OS, the less support people would need. They would not constantly face the challenge of finding of tech support. Additionally, GNU/Linux operating systems support a range of free remote access tools like SSH (secure shell) and VNC (a remote desktop application, Virtual Network Computing). Still, we knew that people would need support at some point, whether over an issue with configuration, forgotten login passwords, or day-to-day questions about how to do a specific thing with a software application. To prepare for this, we worked with a local Linux Users Group, thinking that on occasion, members of the group would be able to provide support for issues that we weren't able to address remotely.

Ten months into the project we interviewed the GRO staff to assess their use of the new computers. GRO staff said they could no longer imagine not having computer technology at hand. Their efficiency and mobility have improved, and all of the staff pointed out that computers allow them to do their work more economically. The following describes the technology they use, and the resulting impact that they have experienced so far.

Within the Mexico, MO office there are two computers, one is a new machine with plenty of memory and an older machine with limited resources. We set up the new machine as a server running Linux Terminal Server , allowing the older machine to act as a client and run applications from it.

For e-mail they are usingKmail , a clean e-mail client that supports multiple accounts, message filtering, and other standard e-mail features. Using Kmail they can distribute information widely and instantly. Email has opened new lines of communication between members spread across a wide, rural region. They can recruit new members via e-mail, mobilize members more quickly and easily, and network with other organizations. Email also smoothes out their effort to communicate with and cultivate new funders.

They also use e-mail to hold government officials accountable for their actions and policy decisions. Board members e-mail letters to elected officials and other decision makers, and turn out membership to write similar e-mails. Keeping written records of communication is important when the time comes to renew efforts to educate and persuade officials.

Communication over mailing lists has helped GRO members and staff tackle issues at the Federal level, and e-mail discussions help them narrow down issues before a formal discussion, allowing smoother meetings and actions.

For Web browsing they are using Mozilla , a browser with features such as pop-up blocking and tabbed browsing. Using the Internet to gather information, they can find out what other organizations are concerned with, and can build alliances and collaborate more easily.

Database

Their database is a MySQL database with a PHP/HTML front-end. Using the database allows them to track and maintain information about the status, skills and involvement of membership and leaders. They also find it much easier to keep track of current and prospective funders. Databases are still lacking in the Linux world, at least as they compare to off-the-shelf or close to off-the-shelf software available for proprietary operating systems like Windows and the Mac OS. We dodged the database issue, for the moment, by writing our own using MySQL and PHP . It works, but lacks the ease of use and polish of commercial database products like Microsoft's Access or FileMaker Pro. We've recently become of aware of another MySQL/PHP database that's being written by a peer organization, and are evaluating it for use in Open Source offices.

Grass Roots Organizinguses its Web site to increase its visibility. PageTool , a content management application written in PHP, allows the organization to keep its Web site current in-house, so that its public face is always up to date. Since the PageTool interface utilizes Web-based forms that are accessible by most Web browsers, GRO leadership and organizers can update the Web site from any location that has Internet access.

Word Processing

GRO staff use word processing software to create professional documents, and have found that professional appearances add credibility to their documents. They are also able to keep the handouts they use in workshops and presentations current and accurate. For these needs they are using Open Office , a fully functional office suite that includes word-processing and spreadsheet clients, along with advanced clerical tasks like mail merge and complex spreadsheet calculations.

They use calendaring software to coordinate activities around the state and to check availability of staff and leadership. For this they useBrown Bear Software 's Calcium (which is not open-source), a Web calendar application that runs on a machine with a Web server in the Mexico office and is accessible via a Web browser from anywhere on the Internet.

Desktop publishing wasn't on our list of requirements for this project, so we didn't dig too deeply into available options.

Accounting

Accounting is a somewhat different area. While several GNU/Linux accounting packages that we looked at appeared likely to meet the needs of our groups, GRO and other groups we are working with right now rely on outside consultants to keep track of financial records. These outside consultants have no software requirements that our groups need to meet, so we haven't been called on to explore the accounting options available for a GNU/Linux desktop.

Despite the few caveats noted above, we feel confident that Linux is an entirely appropriate platform for grassroots organizations.

It is important to note that GRO could not have undertaken this project by themselves. GRO needed LINC for translation, installation and training and they will rely on MLUG in for future support and training needs. This software is not the kind of stuff that average grassroots staff will be able to download, install and configure on their own.

Overall, LINC spent close to a month of time on this project. With three weeks of time in researching open-source solutions and developing the MySQL/PHP database, and a week of installation and training with the GRO staff.

Since the inception of this project, we've been met with the full range of responses ranging from an incredulous devotion to Microsoft products to a evangelical adherence to all things Open Source -- including an admonishing e-mail from Richard Stallman, founder of the Gnu Project, telling us that we really should be referring to the OS and software as "GNU/Linux", instead of just "Linux."

We understand that for many people, Linux may seem to be reserved for masses of unwashed hackers muttering strange incantations over dimly lit black monitors with small indecipherable green lettering. This section is intended to (hopefully) dispel that myth and provide an overview of what it takes in terms of technical knowledge and skill to do a similar project.

First things first -- if the only thing you've ever really worked with is a Microsoft Windows product or a version of the Mac-OS prior to OS X, forget everything that you think you know about operating systems and how user-interfaces should work. GNU/Linux is a different operating system, and while knowledge you bring from other operating systems will help you, it's folly to treat your prior knowledge as the only way that computers should work. You should, however, know that once you get the operating system installed, there are desktop environments for GNU/Linux that do a nice job of looking and acting enough like Windows to make you feel right at home.

Second important point of note: GNU/Linux is sometimes referred to as an alternative to Microsoft Windows, and it is. What it isn't is a replacement for Microsoft Windows, and while this semantic difference may seem slight, it is actually an important one to grasp. If you view GNU/Linux as an alternative, you're primed to see differences and try to understand those differences. If you are looking for a replacement, you will be disappointed because you can't replace proprietary code and intellectual property without running afoul of copyright laws and lawsuits.

For More Information visit the LINC Project - Case Studies page.

The Open Source Tool List for Grassroots Groups

GNU/Linux Operating Systems

Red Hat Linux:
distribution with big business behind it
Mandrake Linux :
distribution with the aim of "making Linux easier to use for everyone"

Office Productivity

Open Office:
office application suite; includes word-processing, database, and spreadsheet application
Abiword :
a small, but very functional word-processing application

Internet Applications

Evolution :
a full-featured personal information manager (PIM) includes task list, calendaring, e-mail and other features
Kmail :
e-mail client.
Mozilla :
Web browser
GAIM :
instant messaging client compatible with multiple protocols including AIM, ICQ and a bunch of others
Gftp :
FTP client
Konqueror :
graphical FTP client and SSH client
OpenSSH :
secure shell server
Mailman :
an e-mail discussion list manager
Sendmail :
an SMTP server
Postfix :
an SMTP server

Web Creation/Maintenance Tools

Quanta :
for Web page creation and editing
Pagetool :
a Web site content management system
PHP :
scripting language used to engage MySQL databases with Web pages
Apache :
Web server

Databases

MySQL :
powerful database back-end

Utilities

Red Carpet :
software package updater
Xtraceroute :
trace Internet traffic
Smoothwall :
firewall and virtual private networking (VPN) software
IPCop :
firewall
ux Terminal Sever Project :
run a Linux desktop off of a high resourced server using a low-resourced client machine

Graphic Image Editing

GIMP :
GNU Image Manipulation Program