To its credit, enterprise IT management finally acknowledges open source. To its shame, it fails to foster a culture of contribution.
This is particularly counterproductive, given that most developers already spend a significant amount of time contributing to open source in their free hours. Developers want to work for open-source-savvy enterprises.
Enterprises, however, are stuck on "open source = free software," to the extent they know it's running within their firewalls at all. To attract developers and simultaneously boost innovation, enterprises need to go from mere users of open source to serious contributors of open source code.
The last to know
It's not that open source is new to the enterprise -- far from it.
According to the annual Future of Open Source survey, "78 percent of respondents said their companies run part or all of its operations on [open source] and 66 percent said their company creates software for customers built on open source." This is nearly double the number noted in 2010, but it's still a far cry from reality.
In other words, it still understates reality.
As Rackspace vice president and OpenStack board member Van Lindberg told me recently, "Five years ago, we found [open source] in 95-plus percent of companies we talked to. We also found companies underestimated their use of [open source] by 90 percent."
Small wonder, then, that Stack Overflow's extensive developer survey discovered that 70 percent of engineers spend at least two hours each week contributing open source code or working on side projects:
On average, developers spend seven hours each week working on side projects, many of them open source. Much of this flies under the enterprise IT radar, but it will increasingly become evident if those same developers dump their current jobs to find more open-source-friendly employers.
The problem, however, is that most IT execs still don't understand how open source delivers value.
Give it away, now
Despite the mass movement toward open source, too many continue to believe they'll benefit simply by downloading free software. To be sure, that is one benefit, but it fails to acknowledge the real value of open source.
As Red Hat CEO Jim Whitehurst has stated:
The vast majority of software written today is written in enterprise and not for resale. And the vast majority of that is never actually used. The waste in IT software development is extraordinary.... Ultimately, for open source to provide value to all of our customers worldwide, we need to get our customers not only as users of open source products but truly engaged in open source and taking part in the development community.
Streamlining enterprise software development is a great reason to contribute open source code. But there are other, perhaps more important reasons.
For example, GitHub co-founder Tom Preston-Werner offers five reasons corporations should give "almost everything" away as open source:
- Open-sourcing code is great advertising for you and your company as a great place to work.
- Through outside contributions, open source becomes a force multiplier that stretches internal resources much further.
- When you open source useful code, you attract talent (in other words, open source becomes an exceptional recruitment tool).
- It serves as the perfect technical interview to gauge the quality and culture of a would-be hire.
- Open source becomes critical for retaining engineering talent.
Facebook's open source chief James Pearce echoes these sentiments, arguing that a "large percentages of our engineers will have known about our open source projects before they will have joined, and they will say that it contributed positively to their decision to join the company."
The reason, he continues, is that open source offers "a great window ... into the world of the sorts of problems that we solve, and of course we're hoping there are world-class engineers around the world who would relish those kinds of opportunities and when they see the problems we're solving will feel the urge to take a look."
Again, merely using open source isn't enough. Contributions are required.
First, add community
I suspect one reason that more companies don't contribute more is that it's harder than simply releasing code under an open source license.
As James Stewart, Director of Technical Architecture at GDS (Government Digital Services), highlights, there's a difference between open source and "coding in the open":
We're also making our code available for others to use. We tend to talk about that as Coding In The Open rather than Open Source. Partly because we're not currently in a position to build and support a community around that code, and partly because most of it's so tailored to our system that we're not sure how useful it will be to others right now. But rest assured, if you see something useful you can use it -- it's published under an MIT licence.
Most organizations would look at that license and declare their open source job done, but not Stewart and GDS. For them, community is as important (or more so) than the code itself. In a follow-on post, GDS's Anna Shipman explains the extensive preparation the team assigns itself to ensure code will be useful as open source.
Sure, for those getting started, it's worthwhile to open code, even without a built-in community attached. But to truly reap the benefits of open source over the long haul, companies will have to become full-fledged contributors, both in terms of code and community.
The good news is that their developers already work on open source in their spare time. Enterprises need to embrace this trend and extend it by giving their developers to contribute more code during business hours.