How to judge an open-source software and avoid the pitfalls?

Published
2015-06-03 11:12
Written by
There is a jungle of donor management systems. All promise the heaven on earth for development officers, fundraising professionals and nonprofit executives. And if you think CiviCRM is just one among many, you might want to take a closer look.
 
Aside from its fully integrated system which manages all contact information and activities around all people involved in your organization, CiviCRM is also state of the art technology with a very attractive price point as open-source. There are no licence fees. It’s all installed on your host if you’d like to stay in control of your environment, data and security. As with any software system, it needs its fair share of set-up, configuration, maintenance and training.
 
I have been burned with open-source software quite a bit in the last decade but working with open-source has also been the biggest delight. There are open-source software communities that stand out and CiviCRM is definitely one of them. 
 
How to judge an open-source software and avoid the pitfalls? 
 
As with any technology project you have to look from three different angles: the technology, the processes, and the people involved.
 

Technology:

For most mature technology projects, the technology is sound. The engineers put their hearts and souls into it and gave it their best. I always assume it’s really good. 
Most technology projects don’t fail because the technology decisions were wrong. Most of the time, it’s the people and the processes which become the hardest to align. 
CiviCRM has been built with PHP probably, the most used web programming language. It runs on a LAMP stack (Linux, Apache, MySQL and PHP). It is an open-system for developers. It has a managed public API and maintains an infrastructure for custom extension. If a software has been around for almost 10 years and successfully installed around ten-thousand times, it’s safe to assume most of the bugs in the core were already discovered and fixed. 
Both the maturity of the CiviCRM system and the managed infrastructure for developer contributions make for an excellent basis upon which to build organization’s core administrative tool for employees. 
 

Processes:

Next step on my CiviCRM journey was to dive into the processes of the CiviCRM community. 
In this case, processes mean to me: where to find documentation and discover how current it is; find out how can I ask questions, what is the process to report bugs or errata in documentation; discover how forums are run, how was the wiki assembled and how does the issue tracker work. 
 
I witnessed first hand how the community came together and jumped through hoops to become an official Stack Exchange public forum and sunset the existing forums on the site. This was a major effort. You need to prove to Stack Exchange there is a sufficient enough community to support a forum on the site. Stack Exchange doesn’t want ghost towns. The process opens up the community to even more users and also allows for many more people to help each other out while relieving the core contributors from the vast amount of forum posts to be answered and moderated. 
I read through all the documentation and successfully installed CiviCRM on top of WordPress, in our company’s test server.
 
Again, a pleasant surprise. I did not experience a single hiccup or mismatch between the documentation and what I saw in reality. Until this experience I found it quite normal that complex systems would not always behave like the best case scenario in the documentation. 
 
I don’t normally get it right the first time. Nine out of ten times, luck would have me hit a roadblock or surface a bug no one else had found. With CiviCRM I didn’t encounter any of it. 
 
The developing contributors did a fantastic job testing the code before is was released and thoroughly documented  the phases of installation and configuration. We all love when a plan comes together. But when you have been around technology long enough, you really don’t expect it to go smoothly right off the bat.  
 
While testing the systems and diving into several different use cases and requirements  for the my first project, I received plenty of assistance through the people volunteering on the forums. When I read through the documentation I mostly found the necessary additional information on how to handle special cases of events or a so-called household memberships. 
 
For fun, I also read about scheduled reminders and scheduled jobs. Of course, at this point I was set-up with higher expectations but CiviCRM did not disappoint at any level of my self-paced, fast-paced education. I tested the membership module, events module, the email mass mailing software and the contributions module. Nothing brings more knowledge and lets me test drive a system than when applied to a real life project. So later that year, I took on migration of a membership organization from Filemaker 7.0 to CiviCRM. 
 

People:

Equally important to technology and process, if not more important for its success, are the people who run the software and the community around it. Who are the people involved? How large is the community? Who are the leaders? How approachable are they? How welcoming is the community to newcomers? How can normal everyday users get help? Is there a network of consultants available to do the heavy lifting for organizations which don’t have their own IT departments? 
I started interacting with the CiviCRM community about 15 months ago, when I was searching for a speaker for the local Tech4Good group. 
 
In my search, I reached out to Donald Lobo, CiviCRM’s founder, and  David Greenberg (co-founder)  got back to me. What a delight. Although as I mentioned I didn’t know any of them, their status in the community soon became quite clear. Both were very helpful - I felt quite welcome. Unfortunately, we didn’t find an evangelist for CiviCRM in Florida.  If there is a need, and my interest is peaked, I normally run with it and research some more. Donald and David definitely planted the seed. 
 
After a few months of testing and documenting some of the lessons learned, I started to get even more involved with the CiviCRM community. I signed up for the CiviCRM User Summit in September 2014 and was really amazed about the climate of collaboration and community. The CiviCRM User Summit started with a social showcase gathering the night before in an art gallery with four presentations in which  implementers and nonprofits showed-off their use of CiviCRM or discussed new modules or extensions.   
 
The presentations and presenters at the User Summit the next day were outstanding. I was totally intrigued by the versatility of CiviCRM software and the generosity of the consultants, implementers, contributors and community managers. 
 
I finally met David Greenberg and CiviCRM newsletter editor, Linda Wu Pagano, in person after connecting with them often on twitter and on the CiviCRM site, it was like meeting long time friends again. I also met new people, like Tony Mazzarella of Web Access, who showed off some amazing implementation for a political campaign; Nate Porter of Ukuu People, who I met again at WordPress Camps as well as at #15NTC; Frank Gómez and Michael Daryabeygi, the fearless CiviVolunteer code wranglers of Ginkgo Street Labs, and Paul Keogan from BackOffice Thinking, who with his team around Linda Wu Pagano and Brad DeForest started the newest 501TechClub in Pennsylvania. There are so many more interesting CiviCRM people with whom I hope to connect. I’m looking forward to this year’s CiviCRM User Summit (register here) September 24 and 25, which is spearheaded by Andrew Hunt and the team at AGH Strategies
 
The CiviCRM community radiates a genuine spirit for making this world a better place with the best tools available and that spirit enables better software and collaboration. 
After working four years extensively with WordPress, I learned to embrace the community driven software and if I have choice to work with open-source vs proprietary software, open- source wins every time.