We are pleased to announce that 1,072 students from 59 countries have successfully completed the 2018 Google Summer of Code (GSoC). Congratulations to all of our students and mentors who made this our biggest and best Google Summer of Code yet.
Over the past 12 weeks, GSoC students have worked diligently with 212 open source organizations and over 2,100 mentors from all around the world, learning to work with distributed teams and developing complex pieces of code. Student projects are now public – take a closer look at their work.
Open source communities need new ideas to keep projects thriving and evolving; GSoC students bring fresh perspectives while helping organizations enhance, extend, and refine their codebases. This is not the end of the road for GSoC students! Many will go on to become mentors in future years and many more will become long-term committers.
And finally, a big thank you to the mentors and organization administrators who make GSoC possible. Their dedication to welcoming new student contributors into their communities is awesome and inspiring. Thank you all!
By Mary Radomile, Google Open Source
ZuriHac 2018: Haskell hackathon in Rapperswil
Friday, August 17, 2018
Google Open Source recently co-sponsored a three-day hackathon for Haskell, an open source functional programming language. Ivan Krišto from Google’s Zürich office talks more about the event below.
Over the weekend of June 9th, Rapperswil, Switzerland became a home for 300 Haskellers. Hochschule für Technik Rapperswil hosted the seventh annual ZuriHac, the biggest Haskell Hackathon in Europe. ZuriHac is a free, international coding festival with the goal to expand our community and to build and improve Haskell libraries, tools and infrastructure.
Participants could choose to hack all day long, attend the Haskell beginners course led by Julie Moronuki, join the Glasgow Haskell Compiler (GHC) DevOps track organized by GHC contributors with the goal to bring in new contributors, listen to the Haskell flavoured talks, or socialize and swim in the lake. The event was colocated with C++ standardization committee meetings which offered a unique opportunity for sharing ideas between the two communities.
Here is a short summary of featured talks at ZuriHac.
Once again, we broke the attendance record! We’re already preparing for ZuriHac 2019 and hope to keep up this amazing growth. See you next year!
By Ivan Krišto, Software Engineer
Over the weekend of June 9th, Rapperswil, Switzerland became a home for 300 Haskellers. Hochschule für Technik Rapperswil hosted the seventh annual ZuriHac, the biggest Haskell Hackathon in Europe. ZuriHac is a free, international coding festival with the goal to expand our community and to build and improve Haskell libraries, tools and infrastructure.
Participants could choose to hack all day long, attend the Haskell beginners course led by Julie Moronuki, join the Glasgow Haskell Compiler (GHC) DevOps track organized by GHC contributors with the goal to bring in new contributors, listen to the Haskell flavoured talks, or socialize and swim in the lake. The event was colocated with C++ standardization committee meetings which offered a unique opportunity for sharing ideas between the two communities.
Here is a short summary of featured talks at ZuriHac.
- Niki Vazou presented Liquid Haskell: Refinement Types for Haskell, a way to enforce critical properties of functions at the type level at compile time.
- Stephen Diehl talked about the state of LLVM bindings for Haskell in Building compilers with llvm-hs.
- Edward Kmett presented ideas for improving the Haskell combinators: Combinators Revisited.
- Gabriel Gonzalez presented an approach to parallelize finite state machines and how to deal with their performance bottlenecks in Fast and parallel state machines.
- Joachim Breitner gave an overview of state-of-the-art inspection testing: A promise checked is a promise kept: Inspection Testing.
- Manuel Chakravarty talked about GHC's development process: Continuous Integration & Testing for GHC.
Video by Hochschule für Technik Rapperswil.
Once again, we broke the attendance record! We’re already preparing for ZuriHac 2019 and hope to keep up this amazing growth. See you next year!
By Ivan Krišto, Software Engineer
Congratulations to the latest Google Open Source Peer Bonus winners
Wednesday, August 15, 2018
We are pleased to announce the latest round of Google Open Source Peer Bonus winners and the projects they support.
Open source software is a cornerstone of software development inside and outside of Google, and the Google Open Source Peer Bonus program is one way we thank the people who make our work possible. Twice a year we invite Googlers to nominate external contributors to be rewarded for their contribution to open source projects.
This time we have a truly international team of recipients from Australia, Brazil, Canada, Germany, India, Italy, Ireland, France, Japan, Netherlands, Russia, Singapore, Switzerland, Sweden, UK and USA. You can learn about previous recipients in these blog posts.
Projects range from Linux distributions and version control systems to monitoring and testing software. Some are part of the backbone of our industry, others are critical dependencies of specific products and services we offer. All of them are important to us!
Listed below are the individuals who gave us permission to thank them publicly:
Once again we would like to express our gratitude and appreciation to current and former recipients for their hard work, time and devotion to open source. Without you these projects wouldn’t thrive!
We look forward to your ongoing contributions and can’t wait to recognize even more contributors for their work in 2019.
By Maria Tabak, Google Open Source
Open source software is a cornerstone of software development inside and outside of Google, and the Google Open Source Peer Bonus program is one way we thank the people who make our work possible. Twice a year we invite Googlers to nominate external contributors to be rewarded for their contribution to open source projects.
This time we have a truly international team of recipients from Australia, Brazil, Canada, Germany, India, Italy, Ireland, France, Japan, Netherlands, Russia, Singapore, Switzerland, Sweden, UK and USA. You can learn about previous recipients in these blog posts.
Projects range from Linux distributions and version control systems to monitoring and testing software. Some are part of the backbone of our industry, others are critical dependencies of specific products and services we offer. All of them are important to us!
Listed below are the individuals who gave us permission to thank them publicly:
| Name | Project | Name | Project |
| Sultan Alsawaf | Android Kernel | Ravi Santosh Gudimetla | Kubernetes |
| Allan McRae | Arch Linux | Steve Kuznetsov | Kubernetes |
| Seth Pollack | aws-encryption-provider | Hisham Muhammad | LuaRocks |
| George Gensure | Bazel Buildfarm | Yutaka Matsubara | meinheld |
| Omar Cornut | Dear ImGui | Pulkit Goyal | Mercurial |
| Alessandro Arzilli | Delve | Yuya Nishihara | Mercurial |
| Matt Klein | Envoy | Adam Mummery-Smith | Mixin |
| Ivan Grokhotkov | ESP8266 core for Arduino | Arnout Engelen | Notion |
| Esther Onfroy | Exodus Privacy | Brian Brazil | Prometheus |
| Yao Li | Forklift | Bruno Oliveira | pytest |
| Warner Losh | FreeBSD | James Friedman | RMWC |
| Elijah Newren | Git | Steve Klabnik | Rust Book |
| Gábor Szeder | Git | Jack Lukic | Semantic UI |
| Alvaro Viebrantz | google-cloud-iot-arduino | Vidar Holen | ShellCheck |
| Richard Musiol | GopherJS, go-wasm | Ivan Popelyshev | Skia graphics in Chrome |
| Tobias Furuholm | Grafeas | Spencer Gibb | Spring Cloud |
| David Pursehouse | JGit | Daniel Alm | Swift gRPC |
| Brian Granger | Jupyter | Yong Tang | TensorFlow |
| Rodrigo Menezes | kops | Jason Zaman | TensorFlow, Gentoo, SELinux |
| Rohith Jayawardene | kops | Kai Sasaki | TensorFlow.js |
| Kam Kasravi | Kubeflow | Manraj Grover | TensorFlow.js |
| Pete MacKinnon | Kubeflow | Stefan Weil | Tesseract |
| Christoph Blecker | Kubernetes | Sumana Harihareswara | Warehouse (PyPI) |
| Davanum Srinivas | Kubernetes | Jia Li | zone.js |
Once again we would like to express our gratitude and appreciation to current and former recipients for their hard work, time and devotion to open source. Without you these projects wouldn’t thrive!
We look forward to your ongoing contributions and can’t wait to recognize even more contributors for their work in 2019.
By Maria Tabak, Google Open Source
How we brought the latest version of Python to App Engine and Cloud Functions
Monday, August 13, 2018
At Cloud Next 2018, we added Python 3.7 support to Cloud Functions and now we’ve announced Python 3.7 support for the App Engine standard environment. These new runtimes allow you to write Python functions and apps using the latest version of Python and the rich ecosystem of packages available on Python Packaging Index (PyPI).
This new runtime marks a significant update to App Engine and was enabled by new open source software that we recently released: gVisor and FTL.
Thanks to gVisor, a container sandbox that provides improved security and process isolation, we can now run the unmodified Python 3.7.0 interpreter. We’ve done extensive testing to make sure Python 3.7 is compatible with gVisor. As part of our compatibility testing, we run Python’s full suite of language tests, and tests for Python packages that are popular on PyPI. We’re committed to ensuring that everything you’ve come to know and love about Python is supported on our platform.
During deployment, FTL, a tool for building containers, fetches dependencies listed in your requirements.txt file and installs them alongside your app or function. FTL also includes a short-lived dependency cache, which speeds up repeated deployments if no changes are detected in your requirements.txt file. This is particularly useful if you find just need to re-deploy because you found a typo.
Looking forward, we’re excited about how these changes will allow us to keep up with the Python community’s progress as they release new versions and libraries. Please let us know what you think and if you run into any challenges.
You can learn more about how to get started with it on App Engine and Cloud Functions in our documentation. We can’t wait to see what you build with Python 3.7.
By Stewart Reichling, Product Manager
This new runtime marks a significant update to App Engine and was enabled by new open source software that we recently released: gVisor and FTL.
Python, straight from the source
Running Python 3.7 on App Engine and Cloud Functions required us to fundamentally rethink our infrastructure. Traditionally, meeting Google Cloud’s security requirements meant that we had to run a modified version of the Python interpreter. However, using a modified interpreter constrained some language features and only allowed us to support a limited set of whitelisted Python libraries.Thanks to gVisor, a container sandbox that provides improved security and process isolation, we can now run the unmodified Python 3.7.0 interpreter. We’ve done extensive testing to make sure Python 3.7 is compatible with gVisor. As part of our compatibility testing, we run Python’s full suite of language tests, and tests for Python packages that are popular on PyPI. We’re committed to ensuring that everything you’ve come to know and love about Python is supported on our platform.
Seamless deployments
Most importantly, this change in our infrastructure makes it easier to take advantage of Python’s vast ecosystem. As a developer, you just add project dependencies to a requirements.txt file and deploy.During deployment, FTL, a tool for building containers, fetches dependencies listed in your requirements.txt file and installs them alongside your app or function. FTL also includes a short-lived dependency cache, which speeds up repeated deployments if no changes are detected in your requirements.txt file. This is particularly useful if you find just need to re-deploy because you found a typo.
Keeping up with the Pythonistas
In making these changes, we also decided to expand the list of system packages that are included with each runtime’s Ubuntu 18.04 distribution. We think that will make life just a little bit easier for developers working with the latest release of Python.Looking forward, we’re excited about how these changes will allow us to keep up with the Python community’s progress as they release new versions and libraries. Please let us know what you think and if you run into any challenges.
You can learn more about how to get started with it on App Engine and Cloud Functions in our documentation. We can’t wait to see what you build with Python 3.7.
By Stewart Reichling, Product Manager
OpenMetrics project accepted into CNCF Sandbox
Friday, August 10, 2018
For the past several months, engineers from Google Cloud, Prometheus, and other vendors have been aligning on OpenMetrics, a specification for metrics exposition. Today, the project was formally announced and accepted into the CNCF Sandbox, and we’re currently working on ways to support OpenMetrics in OpenCensus, a set of uniform tracing and stats libraries that work with multiple vendors’ services. This multi-vendor approach works to put architectural choices in the hands of developers.
OpenMetrics stems from the stats formats used inside of Prometheus and Google’s Monarch time-series infrastructure, which underpins both Stackdriver and internal monitoring applications. As such, it is designed to be immediately familiar to developers and capable of operating at extreme scale. With additional contributions and review from AppOptics, Cortex, Datadog, InfluxData, Sysdig, and Uber, OpenMetrics has begun the cross-industry collaboration necessary to drive adoption of a new specification.
OpenCensus provides automatic instrumentation, APIs, and exporters for stats and distributed traces across C++, Java, Go, Node.js, Python, PHP, Ruby, and .Net. Each OpenCensus library allows developers to automatically capture distributed traces and key RPC-related statistics from their applications, add custom data, and export telemetry to their back-end of choice. Google has been a key collaborator in defining the OpenMetrics specification, and we’re now focusing on how to best implement this inside of OpenCensus.
“Google has a history of innovation in the metric monitoring space, from its early success with Borgmon, which has been continued in Monarch and Stackdriver. OpenMetrics embodies our understanding of what users need for simple, reliable and scalable monitoring, and shows our commitment to offering standards-based solutions,” said Sumeer Bhola, Lead Engineer on Monarch and Stackdriver at Google.
For more information about OpenMetrics, please visit openmetrics.io. For more information about OpenCensus and how you can quickly enable trace and metrics collection from your application, please visit opencensus.io.
By Morgan McLean, Product Manager for OpenCensus and Stackdriver APM
+ ![]() |
OpenCensus provides automatic instrumentation, APIs, and exporters for stats and distributed traces across C++, Java, Go, Node.js, Python, PHP, Ruby, and .Net. Each OpenCensus library allows developers to automatically capture distributed traces and key RPC-related statistics from their applications, add custom data, and export telemetry to their back-end of choice. Google has been a key collaborator in defining the OpenMetrics specification, and we’re now focusing on how to best implement this inside of OpenCensus.
“Google has a history of innovation in the metric monitoring space, from its early success with Borgmon, which has been continued in Monarch and Stackdriver. OpenMetrics embodies our understanding of what users need for simple, reliable and scalable monitoring, and shows our commitment to offering standards-based solutions,” said Sumeer Bhola, Lead Engineer on Monarch and Stackdriver at Google.
For more information about OpenMetrics, please visit openmetrics.io. For more information about OpenCensus and how you can quickly enable trace and metrics collection from your application, please visit opencensus.io.
By Morgan McLean, Product Manager for OpenCensus and Stackdriver APM



