Non-Profits + Free and Open Source = ?
If you take the most out-of-touch assumptions about non-profits and the most out-of-touch assumptions about "free and open source" software, you could easily assume the two have a natural affinity for the other. And only because all of this would be based on assumptions, you'd be wrong. They do fit together, but those assumptions and misunderstandings are really the problem, and I think the reason the two generally don't sit together at the lunch table.
I've been employed in the non-profit world for 8 years now, and when I came to this for the first time, I quickly realized I had a lot of assumptions about non-profits that just were not grounded in fact. From having worked with many grassroots organizations in my past, I was of the mind that non-profits hardly have any dollars to spend on administration, software, or hardware. I thought every volunteer or case manager was in it mostly out of a dedication to the mission. I was painting all non-profits with the same brush based on knowledge of a couple organizations I knew. What I learned coming into my current position is how vast and complex the non-profit sector is. I still don't really grasp it all. There are non-profits that look like slick sophisticated corporations with accountants, lawyers, IT, researchers, and data analysts all the way to the ones that I was more familiar with where it was basically two people run ragged plus some volunteers doing whatever they could toward the mission with whatever skills happened to be at the table. All of these exist together! My current position is somewhat in the middle between the two extremes. (I am a Data Analyst.)
The legal definition of a non-profit is A corporation or an association that conducts business for the benefit of the general public without shareholders and without a profit motive. The key difference between nonprofits and for-profits is that a nonprofit organization cannot distribute its profits to any private individual (although nonprofits may pay reasonable compensation to those providing services). The point here is just like any business, non-profits have motivation to make good financial decisions, to have well-run infrastructure, solid technology, good data, and trustworthy research.
According to the Bureau of Labor Statistics, non-profits account for 10.2% of all private sector employment. (In Ohio, it's 12.2%!) Many times non-profits are competing against one another for the same grant money and donors, not to mention the need to stay relevant and credible.
...just like any business, non-profits have motivation to make good financial decisions, to have well-run infrastructure, solid technology, good data, and trustworthy research.
Since I happen to work in homeless services, I will only speak to this portion of the non-profit sector going forward. Even though homeless services is a large umbrella of services and organizations, most people think of emergency shelters when they think of "homeless services", and as such, we'll go with this example. Our example emergency shelter happens to be funded by the state (not all of them are), and enters data into a somewhat complex system because they are required to do so by the terms of their grant. There is also someone somewhere building that software, being sure it is secure, putting together trainings, and creating reports (like me! see this entire blog) in order to help end homelessness in communities. You can go here to see what kind of Performance Measurements we have to report to HUD, or here to see how we are using GIS to map Point in Time Count data, or here to see the online app that the city of Pittsburgh created and maintains as just a few examples.
The point of all this is to say that most non-profits are currently doing a LOT with technology and data, and right or wrong, we are getting it done with proprietary software. We get the non-profit discounts through TechSoup.org and we justify the expense as a cost of doing business. Which it is, don't get me wrong. We do need good software, we sometimes need support and to outsource more complex endeavors. The problem is we don't always get the quality of software we are paying for, or the support we need, or the freedom to use the software in the way that we need it.
Since I am newer to using free and open source software in a significant way for work, I can only really speak to my experience in the larger tech community when it comes to assumptions about non-profits. In my current position, I have come across some cringey moments at larger conferences where the [proprietary] software company would tell a story in the plenary about helping a poor non-profit (full of muggles!!) with this magical software. The assumption was that no one from a non-profit was even there among the literally THOUSANDS of attendees from all over the world. The other assumption, of course, is that all non-profits need volunteer tech wizards to come in and save them. Of course, non-profits would definitely benefit from tech types who are willing to put in some time volunteering, but I would venture to say we don't need "hackathons" so much as we need people who will show up to learn what it is exactly that we are doing, what we are trying to achieve, what data we have, and what it is that we need to know. We may not need someone to code something in a system we'll never be able to sustain- we may need it in a system we already have, and that's excruciating to code in. And that is not sexy, but if this is really about the mission and not about you, the programmer, then you'll see why this is an important distinction.
...we don't need "hackathons" so much as we need people who will show up to learn what it is exactly that we are doing, what we are trying to achieve, what data we have, and what it is that we need to know.
On the other hand, within the non-profit sector (although I have run into these misunderstandings no matter where I worked), there are a lot of assumptions about free and open source software. In general, some assume it to be inferior, more insecure, and lacking support. Also, maybe non-profits have come to mistrust some of the idealism associated with free and open source software, as sometimes, our idealism gets in our way. So, dear non-profit sector, this next section is for you!
Free and Open Source Software
A note: a lot of this information is straight from https://www.gnu.org. Please consult the information there if you would like more details.
"Free and open source" software is software that can be classified as both free software and open-source software. That is, anyone is freely licensed to use, copy, study, and change the software in any way, and the source code is openly shared so that people are encouraged to voluntarily improve the design of the software. This is in contrast to proprietary software, where the software is under restrictive copyright licensing and the source code is usually hidden from the users.
The term "free software" does not refer to the monetary cost of the software at all, but rather whether the license maintains the software user's civil liberties ("free” as in “free speech,” not as in “free beer”). There are philosophical differences between the "free software" camp and the "open source software" camp, but most software that is "free" (as in freedom) is also "open source", though there are some exceptions. I don't want to argue the nuances of this, but in order to explain the alignment I see between the non-profit sector and the free software movement, we should look at the four essential freedoms, as defined by Richard Stallman of the Free Software Foundation:
A program is free software if the program's users have the four essential freedoms:
- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help others (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
If you take away the technical nature of this list, these freedoms are about community, helping others, and autonomy. Certainly not all non-profits are about all three of these things (autonomy, for instance), but at least in homeless services, these things do align with our most basic tenets. We rely on community to provide us with guidance, information, resources; we all have missions that aim to help others in some basic way; and in doing all of this, we need the flexibility to adjust our tactics and resources to the situation, so we need the autonomy over our software to be able to do what we need. Another way we're into autonomy is more mission-related: our clients need the freedom and the autonomy to make decisions about where they live, what data they are willing to share, how they choose to manage addiction or any other barriers, etc.
So this is all great, and the ideals align, but what about:
Security: Open source software is no less secure than proprietary software. There are arguments on both sides, one that says open source software is actually more secure because you have more people working on a project, and with that much shared responsibility, vulnerabilities are quickly rooted out, and the other that says open source software is less secure because of forgotten software dependencies and the scattered nature of zero day events. All of this really depends on the extent to which you are using open source software. More importantly, this is less to do with the fact that the code is open-source as it does that each piece of free and open source software you are using is maintained separately, so getting needed information about potential problems may be hindered. This would only be a problem for very large organizations who are using a lot of different open source solutions, and there are solutions available to help with tracking your open source software if this is a concern.
A quality product: a product created by a handful of developers cannot compete with a product created by thousands of developers. Free and open source software has been built by developers who are also users, testers, and people inside the industry/-ies the software is meant to serve. Firefox, VLC, Gimp, Libre Office, 7zip, FileZilla, Linux, Chromium, and KeePass are all examples of quality free and open source software. (There are many more, obviously, and of course, just like proprietary software, not all of them are great.)
Software support: Depending on the particular software, there is usually good software support available. Some have paid commercial support, some have user forums, Twitter support hashtags, free documentation, wikis, etc. Depending on how widely used a particular software is, there's always paid consultants or even mentors who can help you through difficult spots like setup or migrations.
Compatibility with other current systems: Open source software is much better at adhering to open standards than proprietary software is. If you value interoperability with other businesses, computers and users, and don't want to be limited by proprietary data formats, open source software is definitely the way to go. R, for instance, can talk directly to SQL, Tableau, Hadoop, ArcGIS, and MANY others.
I know this has been long, but my main ask of the non-profit sector is this: the next time you are looking to accomplish something with some software that you don't currently have, add a free and open source software (or FOSS, as it's sometimes referred to) option to the list of softwares that you research. Prioritize it even. Weigh its advantages against the proprietary software choices, taking into account the idea of being free of a vendor contract, being free to use the software in whatever way you will want, and of course whatever features the product offers. Ask other users about their experience with the software, download it and give it a try. Do a google search as if you had a question about the software and see how many answers you get. If the experience does not go well, obviously go with what will help you accomplish your goals the best. But the Ask is to CONSIDER it.
My main ask of the free and open source software community is to be interested in our work as peers. If you are interested, you can volunteer through TechSoup or simply for a non-profit near you. And mostly just keep being awesome, answering us Twitter peeps, maintaining your open repos, sharing your excitement and ideas so freely. It is so appreciated.