How and Why Adobe is Making Open Source A Strategic Priority
The open source movement has changed not only software development, but business as a whole—forever. While just ten years ago open source still seemed a novelty, today there isn’t a company (or consumer) on the planet that doesn’t depend on open source software, whether knowingly or not. As such, some of open source’s biggest and earliest detractors are now its most enthusiastic supporters.
At Adobe, we, too, have come to depend more and more on open source software. Across our product range, open source increasingly sits at the heart of our most innovative products. Indeed, it’s hard to even imagine how a product like Adobe Experience Manager could function without open source, given that over half the underlying code comes from the open source community. This allows us to build on the shoulders of giants, as it were.
The core of Experience Manager, and especially its most critical infrastructure parts, consists of open source code from Apache Software Foundation projects where we are very active: Apache Sling, Apache Oak, Apache Felix and Apache Lucene. About 65% of the core OSGi modules (“bundles”) of AEM are provided by those projects.
Following our lead, Experience Manager partners and customers have also published numerous modules and extensions as open source. For example, Time Warner Cable Inc. has a number of useful extensions and tools, and Cognifide Labs has a large majority of Experience Manager modules.
Image credit: Bertrand Delacretaz, Principal Scientist, Adobe Research. Apache Sling, Felix, Jackrabbit, Oak, Lucene and the Apache logo are trademarks of the Apache Software Foundation. The Octocat logo is a trademark of GitHub.
Experience Manager has a long history of connecting to a variety of open source projects, and as a company we’ve dramatically accelerated our investments in open source over the last few years. Sometimes this means contributing to existing projects, and other times it means spinning out our own projects. One such example is Hubble, which is a modular, open source security compliance framework. Hubble, in the parlance of open source, resulted from our tech ops team “scratching its own itch.” We contributed it to open source to encourage a community to form around it, and to help accelerate the pace of its innovation.
Ongoing commitment to open source
In October 2018, Adobe ranked as the 16th largest corporate open source contributor (per Github data), moving up the list from our 32nd ranking in 2017. One of the reasons for this growth came from the acquisition of Magento in June 2018 and its open source e-commerce platform. But this only tells part of the story. As of May 2019, we have climbed to 14th place, and this ongoing improvement has nothing to do with vanity metrics and everything to do with a concerted internal efforts to free our employees to participate in open source development. Over the past year, for example, we have streamlined the process that employees follow to gain approval to contribute code. We also make it easier to secure and publicize executive support for open source activities, host open source events, and educate product teams on the strategic importance of greater involvement in open source communities.
Let’s back up, however, and look at our process, as it can serve as a model for other companies looking to improve developer innovation and engagement through open source.
A few years ago, if you were an Adobe employee and you wanted to contribute code to open source, there were some challenging barriers to entry, including multiple approvals from executives and legal, which, as anyone who has worked at a big company knows, can mean long wait times. In the open source world, time (and efficiency or ease of use) is of the essence. Needless to say, the form to fill out alone was a turnoff – and a difficult process that stopped many employees in their tracks.
Working with our engineering leadership to improve our open source submissions, the first step was about streamlining the process to cut approval time from days to seconds. In part this was achieved by giving fast-track approval for certain licenses, as well as immediate approval for new requests to participate in projects for which other employees had already secured approval. We changed the default setting for participation from “no” to “yes,” a bold move by a company Adobe’s size. It has proved successful, however, and aligns well to the collaborative and highly active open source contribution culture at Magento.
As we’ve made it easier for Adobe employees to contribute to open source, we are seeing significant increases in the number of employees working on open source projects. Plus, they’re contributing more often to much more interesting projects (“interesting” as measured by the number of accrued stars on GitHub–an indication that other developers are keeping an eye on the projects).
Becoming a platform company
I’m proud to say that as a company, Adobe is much better at managing and leveraging open source today than we were even two years ago. Now that we have become a platform company, it’s no longer a nice to have. It’s a must have.
When you “think” as a product company you try to anticipate the different potential uses of a product, and build all necessary functionality into the product. A platform is different. By definition, a platform company must enable more value than it captures, which means you need to think about how to enable developer productivity. You have to really care about that experience for the developer, constantly consider what developers on the other side of that keyboard or on the other side of that screen, need. Through more active participation in open source communities, companies gain developer empathy: we’ve learned how to work closely with developers outside our firewall and thereby make it easier to “unlock” our platform for others and enable a more seamless integration framework.
We’re also cognizant of the relationship between designers and developers and offer capabilities that enable seamless collaboration and sharing among the two parties. One example of this is Adobe XD, the experience design tool that is part of our Adobe Creative Cloud suite of services. XD allows designers to share design documents with developers, making it easy to translate a designer’s work into code. Adobe XD recently announced features that enables designers to centrally manage updates to design system elements and easily share with other designers and developers.
Forward and onward
As Adobe engages partners and developers to build on and extend the Adobe Experience Platform, we will look to the Magento team and community that has done it so well. By tapping into the people that have made Magento great, we’ve gained great insight and strength in forging Adobe’s future as a platform company. So for those Magento folks, both inside and outside Adobe, I thank you.
If you compare present-day Adobe to what we were like just last year, there really is a different feel inside the company. We’ve upped our game on open source. We’ve pushed our first Platform services into beta, and they went live today. With your partnership and collaboration, we are changing the way the company thinks.