Chapter 60. Working Upstream

Eric Sorenson

Along with the rise of cloud computing has come the rise of foundation-managed open source. A huge number of valuable cloud-related projects exist, but using upstream open source software (OSS) is not without its problems. The old saying “There’s no such thing as a free lunch” goes double for “free” software. Bugs inevitably bite, features don’t work as advertised, and sometimes deeper design problems prevent a clean integration. These guidelines will help maximize the benefits and minimize the cost.

Let’s assume you’re working on a new initiative and want to incorporate an open source project as a significant part of the product. You hope this will let you speed up your time to market and focus in-house development on the features that add real value, but you’re not sure how to get started.

Survey the Landscape

Depending on what you’re working on, more than one project may be suitable to use. Start out by listing your top three to five requirements and scoring the projects with a low/medium/high ranking. Then add nonfunctional criteria:

How active is the project?
Having hundreds of open issues isn’t necessarily bad—just look at Kubernetes!—but if the repository has gone months (or years) without a release, that could be a warning sign.
How amenable is the project to external contributors?
Look at the commit ...

Get 97 Things Every Cloud Engineer Should Know now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.