Open-source software no longer plays the role of the black sheep in the enterprise. A recent survey conducted by BlackDuck found that 78 percent of the 1300 respondents said their companies run part or all of their operations on open-source software, and 66 percent said their companies create software for customers built on open-source. For comparison, the same survey in 2010 found only 42 percent reporting the use of open-source in the running of their business and/or IT environments.
The rise in popularity and growing enterprise-level adoption of open-source software introduces a cluttered market of new platforms and tools that require attention and consistent contribution from the community to thrive. The Apache Software Foundation is one example of an organization promoting free software for public good, but the sheer volume and versatility of open-source projects have brought forth a “survival of the fittest” evolution, similar to any other industry with fast growth and innovation.
As such, we’re starting to see patterns behind open-source platform success and reasons some will inevitably fail.
One of the main drivers behind a successful open-source project is the strength of the community driving and maintaining its development. This should include a healthy mix of both vendors and users contributing code to the project — all of which have a vested interest in high-performance, enterprise-grade software.
A perfect example of this is Airpal, a web-based query execution tool. Airpal leverages Presto, an open-source, distributed SQL query engine (stemming from Facebook) that runs interactive analytic queries against data sources of all sizes. Nearly 500 Airbnb employees issue queries through Airpal, proving the power of community when a group of engineers finds a tool essential to their workflow.
2. Birth by Necessity
Similar to the Airpal example from Airbnb, the most successful open-source platforms are those that are born out of need.
Yahoo built Hadoop, Facebook created Presto and Cassandra — the list goes on. All of these platforms are driven by a desire to solve problems that users themselves are experiencing. This user-driven approach encourages a laser focus on the most important features required for use in production, not to mention that each release has a built-in user base providing immediate feedback.
3. Coding Standards
Given that open-source projects allow for contributions from anyone anywhere, writing clean code and following good software engineering practices are hugely instrumental to the success of a project. Consider a Silicon Valley engineer who contributes a feature to an open-source project — then a few weeks later someone in Warsaw extends and improves that feature. If the Polish engineer has to spend days trying to trace through the codebase to figure out how it works, it may never happen.
One example of an open-source platform that has all of these ingredients is Apache Kafka. It was launched by LinkedIn from the necessity to manage streams of information that feed in from various applications, then process those streams to send them where they need to go next. The platform has a growing community, with the rise of startup vendors like Confluent, and enterprise users and contributors, including Netflix, Uber and Verizon.
It is undoubtedly an exciting time for open-source software, and keeping up with new technologies and platforms isn’t easy. But if you look for these three key ingredients, you’ll be able to identify the technologies that have the foundation to build on and thrive over the long run.