Software developers love open source. And what’s not to love?! It’s easily downloadable, it’s prolific, creative and most importantly – free. There are thousands of programmers who have experience using open source libraries, so you can draw upon the free (or cheap) help from others. An open source code base can give you a big head start, getting you 80% of the way to the finish line in no time flat. For start-ups or companies in new, unpredictable markets, this free kick-start can be the only path to survival.
Almost all companies use open source products and libraries for internal projects, corporate IT needs, and some PC-based development projects. If the software to develop runs on an open application platform like Windows, Linux, Android or iOS, then you can sparingly consider open source. Open source in these situations is okay because multi-application software platforms such as PCs, tablets and phones are rebooted often and upgraded, bug-fixed and replaced on-the-fly with regular frequency. Characteristic open source code bloat is not a problem on a PC or phone because memory and processor power is plentiful – no harm, no foul. Usually…
For single-purpose embedded systems (such as ovens, security systems or treadmills) open source is usually a no-no. If these are mission-critical or life-critical (such as in a car or medical device) open source is definitely a no-no. Embedded systems have to boot up instantly, run perfectly, survive harsh conditions and are stingy with resources. A reboot or software update is not an option. These characteristics eliminate the use of open source software. Its bloat and lack of traceability to the programmers who wrote the code is too much for an embedded system to bear.
But even in the non-embedded world, the Heartbleed bug infamously highlighted another weakness with open source. If large-scale data, security or sensitive information is at play, there is risk. Open source is always susceptible to breaches – intended, nefarious or accidental. Use it very judiciously, or it could come back to bite you later.
Finally, when you use open source and things break badly, everyone gets thrown under the bus except the offending “free” contributor. Your company’s CEO, software director and the programmer will all take their lumps – while the original author is somewhere out there in anonymous cyberspace, moving on to the next hobby or hack job.