At AOL, we have the not-insignificant task of running a large breadth of projects and products. Using an open source approach for development has been a natural step for us. We’ve found, by embracing open source, we’ve been able to build better products, faster.
From the beginning, we’ve taken advantage of the open source stack as well as community-led and independent OSS projects. By focusing on OSS we have been able to make contributions at a core level to a number of critical projects while simultaneously shifting our focus on our engineering efforts to areas of differentiation where we could provide new value for our customers. This shift in focus enabled us to get a new product out the door in just eight weeks. This would not have been possible had we not for embraced OSS technologies, practices and methodologies.
While other companies have been slow to adopt OSS, we went full throttle almost from the get-go. Yet we did so in a methodical, thoughtful fashion by developing a very clear, straightforward assessment for what we were going to do with open source and why. From the start, we’ve maintained the same criteria: Is this project interesting to people outside AOL? Is it/how is it useful? Are there any internal sponsors? Also extremely important is to ensure there are no significant legal hurdles to overcome.
Before something is open sourced, we make sure the project is well documented, well configured, and has clearly defined endpoints and protocols people can write against. This is also helpful in improving the products for AOL’s own internal use, and has lead to changes in our engineering practices as well as deep involvement with teams across the board. Some business partners are initially opposed to this; however, they ultimately see the benefits when those products are out the door sooner than others.
Choosing the Right Open Source License
Choosing licenses is of course another very important step. Throughout the years (and after a number of discussions with attorney Mark Radcliffe,) we’ve learned we first need to ask questions such as, who are our largest partners and who are those small, start-up partners who we would like to see be able to re-use our code, make contributions to it and consume our products? From there we’re able to determine which license to choose.
We’ve realized there are many different licenses under which one can release code, but there are certainly licenses which are more attractive to other partners. The choice of a license really needs to be in line with your purpose and what you’re trying to achieve.
Thinking about the sort of ecosystem you want to build, and the ecosystem you are a part of, is a critical consideration when you’re thinking about licensing. We’ve discovered, for example, that the Apache license really makes it much easier for our other partners, especially for those who need to scale for an enterprise.
We are keenly aware that active developer communities are critical to the success of any open source project. To ensure this, we are making code easy to find, documentation clear, and ensuring the tracking process is transparent. One of the huge surprises for us was how much more effectively we’ve begun working internally by using this process.
Over time, we’ve discovered, by releasing code quietly, the communities around it have been far more receptive than they have been when we trying to go out directly to the communities and draw attention to ourselves. This is one of the fundamental reasons we are so deeply committed to open source. We very much want to contribute back to the engineering community at large, making sure we’re putting useful code out there and making it easy to use. While building up these ecosystems is beneficial to AOL, our primary consideration here is releasing useful projects for the community.
There are fantastic examples of success in the open source community. Many people who have created projects using open source have built successful companies and product lines. With the knowledge we have gained since we first began using OSS here at AOL, we’ve created an open source program which is very agile and productive. We have seen the benefits internally and externally, and strongly recommend all enterprises consider building similar programs. Ultimately your company benefits internally, but the advantages of a having a positive relationship with your outside community are, as the famous credit card commercial says, “priceless.”