News

Google Sheds Light on Open Source Projects, Internal Processes

Google's new open source site provides a variety of resources, ranging from easier discovery of projects to help individual developers, to a peek under the hood at its internal processes that can serve as guidance for enterprises looking to further their own initiatives.

The site, Google Open Source, was just launched with the mission of "bringing better technology to the world by promoting open source."

It contains sections focusing on the company's own contributions to the community -- numbering in the thousands -- along with information on community outreach and affiliations, documentation about its own internal processes and a blog providing updates on open source happenings at the company.

In other words, according to exec Will Norris, who yesterday penned a blog post announcing the site, it "ties together all of our initiatives with information on how we use, release and support open source."

The Projects site helps developers peruse the company's 2,000 or so open source projects, either through: a dynamic, spinning graphic that pops up information on projects ranging from Android and Angular, to TensorFlow and Zopfli; or a more conventional grid presentation that provides brief links of projects and a link to individual project sites.

There, developers can quickly find information such as project descriptions, what programming languages are supported, how Google uses the technology, links to source code, license information, related projects and more.

Discovering Google's Open Source Projects
[Click on image for larger view.] Discovering Google's Open Source Projects (source: Google)

While the projects site may be more attractive to individual developers, large enterprises and other organizations might be interested in the Docs, section, which is basically a copy of the company's own internal open source documentation, minus some information that can't be shared.

The Docs site includes three main sections, described by Google thusly:

  • Creating covers how Googlers release code that they've written, either in the form of a new standalone project or as a patch to an external project. The same process is used for small 20 percent projects and full-blown Google projects.
  • Using explains how Google brings in open source code and use it to help build products. Google carefully catalog thousands of packages to help maintain license compliance.
  • Growing describes some of the programs Google runs inside and outside the company to support open source communities.

"For other companies that are releasing or using open source software, we want to share the lessons we've learned from many years of experience," the site says. "By being as transparent as we can about how we do open source, we hope to help others do the same.

"However, many of the things we do are unique to how Google operates and our engineering culture, so these should not be read as 'how-to' guides. To hear from more companies deeply involved in open source, we recommend checking out the TODO Group."

In addition to describing how Google does open source, the Docs section also provides insights on why it does those things, Norris said, pointing to items explaining why the company only uses source code under certain licenses and why it requires contributor license agreements for all received patches. He also reiterated the aforementioned cautions about how Google's approach might not transfer to other scenarios.

"Our policies and procedures are informed by many years of experience and lessons we've learned along the way," Norris 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."

Organizations with the Most Open Source Contributors
[Click on image for larger view.] Organizations with the Most Open Source Contributors (on GitHub) (source: GitHub)

According to a report published last September by GitHub Inc., Google is among the organizations with most contributors to its open source code repository and hosting service. With 12,140 contributors listed at the time, Google trailed only Microsoft (16,419), Facebook, Docker and Angular.

About the Author

David Ramel is an editor and writer for Converge360.