What if I told you that there are software engineers that spend much of their free time writing and maintaining software that they give away for free? You probably wouldn’t believe me, or you might even call me crazy, because you’ve most likely had a hard time hiring an engineer for your company for cold hard cash. Well, it’s true! These people, myself included, love solving problems so much that we spend our free time doing just that, and then to top it off, we give away the fruits of our labor to the community at no cost.
You might be wondering why we people in a highly-sought-after profession would participate in this endeavor? The answer is simple — we like solving problems, abstracting the solutions we discover, and sharing it with the community, so other developers won’t have to deal with these headaches. (Side-note: we get street-cred in our respective engineering community for solving the problem). The best part is that you, the entrepreneur with that great product idea, get to piggy-back on our solutions (for free!), which enables you and your engineers to build your app faster.
This endeavor we participate in is known as the Open Source Movement, and the creations that are put out into the world are known as Open Source Software. This software powers the web. Not only that, popular open source software projects tend to be of higher quality than most other software, as this type of software, by its very nature, is inspected, edited, augmented, tested, and vetted by the community that uses it.
This begs the question, why should you use it? Simple — many open source projects, at least the ones that are maintained and vetted by the community, tend to solve common engineering problems. Why reinvent the wheel? This allows your engineers to concentrate on building the specific, challenging, and proprietary solutions required for your product to be successful. However, there are some exceptions to the rule. Both Realm and Artsy, two companies composed of developers that are considered luminaries in the iOS community, build their main products out in the open. They can do that because their product isn’t their main income generator; it’s the platform that these software tools leverage that generate the income.
In a future post on this blog, we’ll cover the specifics of where you can find Open Source solutions specific to the iOS community.