Any company considering releasing some of its code under open source licenses might want to take a gander at Google's new website, Google Open Source. Launched on Tuesday, the site presents all of the company's open source projects under one roof. It's not a repository, for source code and the like you'll still have to go to GitHub or the company's own Git service, but more of a catalog of Google's open source projects, with each listing including information such as how the company uses the software, its license and so on.
Google is no newcomer to open source. In its early days it built its infrastructure on the back of freely available software, like Linux, and has been a major contributor to the open source canon ever since. Kubernetes would be an example of a project it started and then "donated" to the open source community.
"One of the tenets of our philosophy towards releasing open source code is that 'more is better,'" Will Norris, a software engineer at Google's open source programs office, explained in a blog post announcing the new website. "We don't know which projects will find an audience, so we help teams release code whenever possible. As a result, we have released thousands of projects under open source licenses ranging from larger products like TensorFlow, Go, and Kubernetes to smaller projects such as Light My Piano, Neuroglancer and Periph.io. Some are fully supported while others are experimental or just for fun. With so many projects spread across 100 GitHub organizations and our self-hosted Git service, it can be difficult to see the scope and scale of our open source footprint."
He wasn't exaggerating. Google's new website lists "2,000 projects and counting."
While having a complete list of Google's open source projects readily available will certainly be useful, that's not Google Open Source's icing on the cake. In my opinion, that would be the included documentation of the open source process at Google, which should prove to be invaluable, especially to those trying to figure out how to make open source work for them.
"Participating in open source projects and communities as a large corporation comes with its own unique set of challenges," Norris said. "In 2014, we helped form the TODO Group, which provides a forum to collaborate and share best practices among companies that are deeply committed to open source. Inspired by many discussions we've had over the years, today we are publishing our internal documentation for how we do open source at Google."
These documents not only explain how Google does things like release new software or manage source code, but also delves into the company's reasoning process for choosing software licenses and the like.
"Our policies and procedures are informed by many years of experience and lessons we've learned along the way," he said. "We know that our particular approach to open source might not be right for everyone -- there's more than one way to do open source -- and so these docs should not be read as a 'how-to' guide. Similar to how it can be valuable to read another engineer's source code to see how they solved a problem, we hope that others find value in seeing how we approach and think about open source at Google."
The question going forward is whether Google will continue to keep the new website up-to-date. If they do, then this will definitely be a valuable asset for the entire development community. However, Google has a tendency to sometimes introduce projects with great fanfare and then abandon them. Time will tell.