Why Choose Open Source

As a consultant, I usually start by listening to what my client wants, and then work out a plan that will get them what they want. But there’s always more than one way to get to any destination. Just as often as not, my own opinions affect what I recommend. Is this just personal bias on my part, or are there good reasons for the preferences I have?

Probably a little bit of both. But what follows is a brief overview of the rationale I use. My preferences tend to be for open-source software, doing business with small and/or local providers, and avoiding cloud-based solutions. While I will discuss each separately, you’ll find that there’s some overlap in my reasoning.

Open-Source Software

First, some definitions will be helpful. Open source can mean that anyone can read the source code. In this sense, every website, and every scripted software product is open source. This is part of the benefit. But often people talk about open source software projects by the license under which they are distributed. So it’s not just enough to be able to see the source code, but it’s also helpful to be allowed to modify, adapt, or contribute to the code. Here’s why:

Can you see the code?

Seeing the code means you can check it for bugs. And even if I don’t check it myself, I know that anyone else in the world can. Some software developers’ theory of security relies on obscurity: if you don’t know how it works, you can’t break it. But a much more robust theory of security is available when you do know how it works, and you’ve tried to break it, and any weaknesses that were discovered have been reinforced.

Can you change the code?

If code is open source but not freely licensed, you still have to rely on the developer to patch bugs and add new features. But if you are able to change it yourself (or hire a freelance developer to change it for you), then it’s potentially much more useful. Maybe there’s a tiny little feature you’d like to add. Maybe nobody else would care about that feature, and the developer isn’t likely to add it themselves. But if they’ve licensed you to be able to make changes yourself (like GPL or any of a number of other licenses), then you are able to add that feature and make the software work exactly the way you want.

Together, my preference for open source means that the software is visible and adaptable. You can see what it does, and you can change what it does. To me, that’s worth a lot.

Local Providers

Buy local” is often as much about morals or vibes as it is about good business. But I’ll take any reason. For me, I always tend to prefer local, small businesses over larger, far-away businesses for a few reasons:

  1. Local businesses are more closely tied to our community. So they are more likely to share our values and goals. They may employ my neighbor—keeping money nearby where it’s most likely to have a positive impact on us. And, more practically, they may operate under the same set of laws and social norms. That means our business together is more likely to flow smoothly.
  2. They are more likely to be accessible. If I can walk across town and talk to someone in their office if there’s a problem, that’s infinitely better than dealing with a chatbot or a foreign-country call center that is more interested in getting me to hang up instead of solving the problem.
  3. Big businesses, in general, are at risk of being so big that they can bully people around. I’m not saying that every big business is bad, but big businesses do tend to be more likely to be bad than small businesses. Small businesses can’t afford to be jerks. But big businesses can rope people in and then squeeze them for maximum profit. I would much prefer to be considered a valuable customer and not an asset to exploit.

Stay Out Of The Cloud

“Cloud computing” is just a fancy way of saying “someone else’s computer.” If you use a cloud-based application, that means you’re running a program and storing your data on someone else’s computer. Before you’re willing to do this, you should ask what your data is worth and whether or not it’s a good idea to give other people access to it.

Are you using a CRM in the cloud? That means all your customer data is being stored on someone else’s computer. This could be an issue for privacy. Your customers might not expect or want you to give their information to third parties. But it could also be a huge headache if that company decides to turn off their computer, either because they go out of business or they simply decide to stop letting you use it.

Using the cloud (someone else’s computer), at a minimum, means you need to rethink your privacy policies and explain to your customers (and their lawyers) why you thought it was a good idea to hand out their information to a third party. It also means you may need to think harder about backups, since you may not have direct access to your data when it’s on someone else’s computer. And if they use some kind of proprietary data storage format, well, that can make having real access to your data nearly impossible.

Or, you could avoid the hassle and keep your data on your own computer. Your data belongs on a computer that you can control and access. Sure, if it’s convenient to connect that computer to the Internet, by all means do it. “The cloud” just means “someone else’s computer”—it doesn’t mean unconnected. But if it’s your computer, it’s within your power to keep it on, run backups as needed, and ensure that your data is where it should be (and not in someone else’s spreadsheets).

Conclusion

When I consult for people, I always recommend a solution that is open source and self-hosted in a local datacenter, if at all possible. I might offer other options as well, if they may be useful for the client. But I always present the pros and cons of each. Can you control the software? Do you get to keep your data? Can you trust the providers? These are important questions.

Leave a Reply

Your email address will not be published. Required fields are marked *