A Twitter discussion thread (a) (b, c, d) made me want to i) lay out a definition for sustainable open source engineering, ii) provide some examples you may not have thought of, and iii) find out who else is doing a good job at it (or trying to, at the very least!)
Sustainable open source engineering refers to the process of supporting a collection of free/libre and open source software (FLOSS) over a very long period of time while following the open source way. This means:
- Patches to the software collection must be pushed upstream where it makes sense; your engineers need to be the ones to know and make the call. They are the ones who have to track and maintain the delta with the original upstream for many years.
- Provide a open mechanism for vendor partners and customers to collaborate on sustainability.
- Do all this in an open and transparent fashion.
Anything important not covered by this list?
Where a typical value of FLOSS is to allow for a small(er) investment as a contributor to yield a large(r) return as a user or vendor, sustainable FLOSS engineering turns this on its head. The older the code base, the higher the cost to contribute. Unless you happen to be already running the software because you are a customer or a vendor supporting that version, in which case the “obtain, install, understand” steps are already completed. This is where the mechanism for collaboration comes to play.
Red Hat is the premier example of this. While we get enormous value multipliers in resourcing current upstream projects and the Fedora Project, we commit enormous resources to sustaining Red Hat Enterprise Linux (RHEL) for seven years. We’re so good at this practice that we routinely work with hardware and software vendors to train their engineers with our sustainable engineering teams. If you have a big chunk of iron to support customers running RHEL on for seven years, you want your engineering teams to know how to collaborate on sustainable open source.
That should give you a hint of the example of other companies that practice this type of sustainable engineering. Any large hardware (IHV) or software (ISV) vendor with products that customers run for more than a few years. IBM and Hitachi, for example.
At this point I’ll note that fauxpen source/”open core”/dual-licensed-as-closed models are not good examples. These are companies that are practicing business models that take some portion of their software source, usually an important part, and withhold it from being FLOSS. Without a pure open source product chain, from R&D to sustainable-state, they are going to incur the costs of closed source development without the benefits of being at the center of a mechanism to collaborate with customers and partners.
What do you think are good examples of businesses practicing sustainable FLOSS engineering?