Issue #15 January 2006

Open source for non-profits

by Matt Frye

"The client database provides a vital role in supporting the services we provide, documenting what we do, and tracking client outcomes."

"A very high priority, as we prepare to open the women's facility, is having the client database in place. This has been just as important as having the proper staff in place."

Chris Budnick, Director of Programs, The Healing Place of Wake County

Throughout my experience with open source, I have felt that the community of creating free (as in freedom) software called for me to "give back" in some way. It was as if the process of creating free software philosophically suggested that I use it to make the world a better place. Beyond these altruistic leanings, I felt it was a natural progression for software free of licensure and fee to be given away with free support, i.e. volunteer support. Still, the politics and environments that characterize many open source projects, the elitism and flame wars, keep many well meaning people away. For the most part, I was among them, and I didn't want to waste my altruistic energies. I've long advocated the use of open source and volunteer programmers and sysadmins for nonprofits. It makes sense for organizations dedicated to the greater good to be spending their income on their mission, and not on licensing, or even support.

As a volunteer at The Healing Place of Wake County, I could see that a growing nonprofit can spend a great deal of resources on managing software (more about The Healing Place in a moment). Still, open source and non-profits seem to be a natural fit for collaboration. Why not harness the power of open source to benefit organizations where funds and personnel with technical experience may be limited, or non-existent? Businesses and academia have long recognized that open source can be a more secure, stable and cost-effective solution. The same beneficial effects can be felt in nonprofit computing.

Beyond legal definitions, the goal of a nonprofit organization is to accomplish positive change for the community. Money is not a goal, but rather a tool to effect this change. Still, the nonprofit sector pours millions of dollars each year in cash and received donations into the pockets of a few huge software companies. Why not turn those monies around to do the real work?

The benefits of open source to nonprofits are not entirely financial. The respective philosophies of the nonprofit and open source communities share some basic principles. For example, the concept of freedom is inherent in both communities. In the open source movement, the goal is to keep software source code visible. When programmers can read, redistribute, and modify the source code for a piece of software, the software evolves and improves.

Fundamentally, nonprofit groups distribute organized methods to provide freedom. Whether relief from oppression of poverty, chemical addiction, or from other human beings, when people are free from these bonds, they can accomplish more and live better lives.

Multiple nonprofits can benefit from support of their open source software, financial or otherwise, by supporting the software they use. Many of the personalities involved in software companies who produced and use open source or open source related projects contribute financial support to open source projects and bodies such as Open Source Initiative. You don't have to be a millionaire to help these projects. In fact, you don't even have to be a programmer. Marketing, public awareness, and technical support are just some of the many ways you can help a project used in nonprofits. Take for example, Fedora Core. There are likely thousands of nonprofits who use Fedora Core as their backend Linux server for email, file sharing, etc. By contributing thought, time, and creativity to the Fedora Core project, you are helping those nonprofits that use Fedora Core; those nonprofits you care about. Such contribution is both empowering and powerful to nonprofits and to open source.

Open source can also help a nonprofit to work more efficiently. Let's return to The Healing Place of Wake County for a moment. While volunteering there, I was asked to help on the database set up in Microsoft Access by Director of Programs, Chris Budnick. The database was a work in progress, but Chris needed some way to manage the clients and services served by The Healing Place. I was glad to help. Unfortunately, while working on the structure of the database, I saw a few fundamental problems.

The first problem was that no one could access the database without having Microsoft Access installed. The second major problem was that without costly Access-experienced personnel, we had no idea how to develop a front end for the database that would allow multiple users to modify records simultaneously without overwriting one another's work. Third, MS Access didn't seem to make efficient use of space. After only a few weeks of entering data, the database had bloated to an unruly 600 MB. Opening and closing this file commonly caused desktop machines to lock up or crash. I knew there had to be a better way. It was about this time that I decided I should learn MySQL. I had some experience doing system administration around Oracle and a handful of other databases, and I wanted to know more.

I set about building a new database through the fall of 2002, basing the table structure upon what we had in the current MS Access database. When it came to designing an interface, I used PHP and emulated the interface that users at The Healing Place were already used to.

Design of the Client Registration and Services Database (CRSD) was completed by early 2003, and it went live on May 1 of the same year. With donated hardware from my employer at the time, Rex Healthcare, The Healing Place now had a dedicated database server running Red Hat Linux, MySQL, and Apache with a web interface written in PHP. The need for database client software and licenses was eliminated, and workers could access the database from a web browser.

The fact that the database was open source allowed a great deal of freedom in modifying database application. This has a powerful effect for nonprofits because the application can be optimized for, or can conform to, their case management practices, rather than case management conforming to the software. Ultimately, every organization has to think about things like total cost of ownership (TCO) and strategic value. Since any inconvenience to users could be considered a drain on strategic value, optimizing software to case management practices tends to increase efficiency.

The potential for modification of an application also has positive effects on training costs. By reducing the learning curve for case management practices when software is introduced or replaced, training costs can be lowered, thus reducing TCO. In the case of The Healing Place of Wake County, the database web interface was modeled after the application they already knew, thus minimizing required training for the new database. Further modification to the database application allowed for greater flexibility in improving processes used in conjunction with it.

Let's talk about stability for a few moments. Stability obviously goes toward reducing TCO. It can be part of a nonprofits strategy to create a stronger organization. There have been several studies that indicate fairly conclusively that Linux is generally more stable and secure than other major desktop operating systems. In a 2003 survey conducted among 2500 corporate customers around the world, no fewer than 95% of them rated Linux's reliability as its most important contribution to business value, followed by cost of acquisition cost (89%). Again, the value proposition of open source is clear and can be easily realized by nonprofit organizations.

Although there are many non-financial or indirectly financial benefits to using open source in nonprofits, it should be noted that a great potential exists for the nonprofit organization to reduce or eliminate acquisition costs. Although I never did the numbers for The Healing Place's database, I figured my volunteer time as a programmer, database administrator, and system administrator was worth something. In the summer of 2005, I received an email from Chris Budnick stating that The Healing Place in Louisville, Kentucky had spent $80,000 on a similar system. Price tag for The Healing Place of Wake County: $0.00. These days, CRSD has transitioned to an enterprise project with a budget, and version 2.0 rolls out this month, to be immediately followed by seconds instance for The Healing Place of Wake County's Women's Center. I'm still volunteering my time and thoughts.

Further reading

About the author

Matt Frye is a Unix/Linux system administrator living in North Carolina. He is Chairman of the North Carolina System Administrators and is an active member of the Triangle Linux User Group. In his spare time, he enjoys fly fishing and mental Kung Foo.