“Open source is wonderful - if you know what you’re doing.” - Richard Seidl
Today I’m going to be a spoilsport. Or a hall monitor. Your pick. I’d like to share a few thoughts with you about open source. For many people, it’s simply “free software”. Unfortunately, it’s not that simple.
Licenses
Even though open source software is freely accessible, that by no means implies you’re allowed to do whatever you want with it. And the jungle of possible licenses is vast. BSD, GNU, GPL, MIT and so on allow or prohibit commercial use, modification, attribution, and everything else you can define there. As a starting point, this is a good place to begin: Comparison of free and open-source software licenses
And seriously: pay attention to this. Ignoring licenses can get very, very expensive.
Maintenance and support
Open source projects are community projects. You have to work for your support yourself. Through forums, repositories, and the community itself. You can of course check all that in advance. But it can also be over very quickly when the project and its contributors go inactive or shift their attention to other projects. Sure, that can happen with commercial software too, for example when the company gets bought, but at least there you have contracts that give you a frame.
Quality
“Surely they’ve tested this”… yes, maybe. Maybe not. In my experience, open source projects are usually quite well equipped when it comes to tests close to development. But I also keep seeing projects that have few business-level, cross-cutting tests, and there are sometimes gaps in interface testing too. So if you use open source: don’t forget to test 🙂
Give and take
It’s tempting: on GitHub and elsewhere you’ll find open source projects on countless topics, like an all-you-can-eat buffet. But it’s not meant to be a one-way street. Open source lives on participation and community. So please always ask yourself: what can you give back? Maybe there are projects of your own you could make available? And if you’re not a programmer? Well, help the teams with feedback, feature ideas and above all: bug reports. We’re testers, aren’t we? This is where we can do the open source community a real service: with meaningful, reproducible defect reports. The community will thank you.