Category Archives: Open Source Blog

News about Google’s open source projects and programs

2016 Google Summer of Code mentor organizations

GSOC Roboto Lockup (1).jpg
It’s that time of year again! We are pleased to announce the mentor organizations accepted for this year’s Google Summer of Code (GSoC). Every year, we have many more great projects than we can accept — 2016 was no exception. After carefully reviewing 369 applications, we have chosen 180 open source projects, 24% of which are new to the program. Please see our new program website for a complete list of the accepted orgs.

Over the next two weeks, students interested in participating in GSoC can research each of the organizations. The student application period begins on Monday, March 14, 2016 at 19:00 UTC and ends on Friday, March 25, 2016 at 19:00 UTC.


Interested? Start by reviewing the Ideas List from each organization to learn about the organization and how you might contribute. Some of the most successful proposals have been completely new ideas submitted by students, so if you don’t see a project that appeals to you, don’t be afraid to suggest a new idea to the organization! There are contacts listed for each organization on their Ideas List — students should contact the organization directly to discuss a new proposal. We also strongly encourage all interested students to reach out to and become familiar with the organization before applying.


For more information, visit our website for a full timeline of important dates and program milestones. We also highly recommend all potential students read the student manual and the FAQ’s.


Congratulations to all of our mentor organizations! We look forward to working with all of you during Google Summer of Code 2016!

By Mary Radomile, Open Source Programs

2016 Google Summer of Code mentor organizations

GSOC Roboto Lockup (1).jpg
It’s that time of year again! We are pleased to announce the mentor organizations accepted for this year’s Google Summer of Code (GSoC). Every year, we have many more great projects than we can accept — 2016 was no exception. After carefully reviewing 369 applications, we have chosen 180 open source projects, 24% of which are new to the program. Please see our new program website for a complete list of the accepted orgs.

Over the next two weeks, students interested in participating in GSoC can research each of the organizations. The student application period begins on Monday, March 14, 2016 at 19:00 UTC and ends on Friday, March 25, 2016 at 19:00 UTC.


Interested? Start by reviewing the Ideas List from each organization to learn about the organization and how you might contribute. Some of the most successful proposals have been completely new ideas submitted by students, so if you don’t see a project that appeals to you, don’t be afraid to suggest a new idea to the organization! There are contacts listed for each organization on their Ideas List — students should contact the organization directly to discuss a new proposal. We also strongly encourage all interested students to reach out to and become familiar with the organization before applying.


For more information, visit our website for a full timeline of important dates and program milestones. We also highly recommend all potential students read the student manual and the FAQ’s.


Congratulations to all of our mentor organizations! We look forward to working with all of you during Google Summer of Code 2016!

By Mary Radomile, Open Source Programs

Google Code-in 2015: diving into the numbers


GCI vertical. 1142x994dp.png

Google Code-in (GCI), our contest introducing 13-17 year olds to open source software development, wrapped up a few weeks ago with our largest contest to date: 980 students from 65 countries completed a record-breaking 4,776 tasks! Working with 14 open source organizations, students wrote code, created and edited documentation, designed UI elements and logos, conducted research, developed screencasts and videos teaching others about open source software, and helped find (and fix!) hundreds of bugs.

General statistics

  • 57% of students completed three or more tasks (earning themselves a sweet Google Code-in 2015 t-shirt)
  • 21% of students were female, up from 18% in 2014
  • This was the first Google Code-in for 810 students (83%)


Student age

Participating schools

Students from 550 schools competed in this year’s contest. Below are the top five participating schools.

School Name
Number of student participants
Country
Website
Dunman High School
147
Singapore
GSS PU College
44
India
Colegiul National Aurel Vlaicu
31
Romania
Sacred Heart Convent Senior Secondary School
28
India
Freehold High School
10
United States

Countries

The charts below display the top ten countries with the most students completing at least 1 task.

Country
Number of student participants
India
246
United States
224
Singapore
164
Romania
65
Canada
24
Taiwan
22
Poland
19
United Kingdom
18
Australia
17
Germany
13


We are pleased to have 11 new countries participating in GCI this year: Albania, Armenia, Cameroon, Costa Rica (home to one of this year’s grand prize winners!), Cyprus, Georgia, Guatemala, Laos, Luxembourg, Qatar and Uganda.

In June we will welcome all 28 grand prize winners (along with a mentor from each participating organization) for a fun-filled trip to the Bay Area. The trip will include meeting with Google engineers to hear about new and exciting projects, a tour of the Google campus and a day of sightseeing around San Francisco.  

Stay tuned to our blog for more stats on Google Code-in, including wrap up posts from the mentor organizations. We are thrilled that Google Code-in was so popular this year. We hope to grow and expand this contest in the future to introduce even more passionate teens to the world of open source software development.

By Stephanie Taylor, Google Code-in Program Manager

EarlGrey: iOS functional UI testing framework

Brewing for quite some time, we are excited to announce EarlGrey, a functional UI testing framework for iOS. Several Google apps like YouTube, Google Calendar, Google Photos, Google Translate, Google Play Music and many more have successfully adopted the framework for their functional testing needs.

The key features offered by EarlGrey include:
  • Powerful built-in synchronization : Tests will automatically wait for events such as animations, network requests, etc. before interacting with the UI. This will result in tests that are easier to write (no sleeps or waits) and simple to maintain (straight up procedural description of test steps).
  • Visibility checking : All interactions occur on elements that users can see. For example, attempting to tap a button that is behind an image will lead to test failure immediately.
  • Flexible design : The components that determine element selection, interaction, assertion and synchronization have been designed to be extensible.

Are you in need for a cup of refreshing EarlGrey? EarlGrey has been open sourced under the Apache license. Check out the getting started guide and add EarlGrey to your project using CocoaPods or manually add it to your Xcode project file.

By Siddartha Janga, on behalf of Google iOS Developers

Running your models in production with TensorFlow Serving

Machine learning powers many Google product features, from speech recognition in the Google app to Smart Reply in Inbox to search in Google Photos. While decades of experience have enabled the software industry to establish best practices for building and supporting products, doing so for services based upon machine learning introduces new and interesting challenges. Today, we announce the release of TensorFlow Serving, designed to address some of these challenges. TensorFlow Serving is a high performance, open source serving system for machine learning models, designed for production environments and optimized for TensorFlow.
TensorFlow Serving is ideal for running multiple models, at large scale, that change over time based on real-world data, enabling:
  • model lifecycle management
  • experiments with multiple algorithms
  • efficient use of GPU resources
TensorFlow Serving makes the process of taking a model into production easier and faster. It allows you to safely deploy new models and run experiments while keeping the same server architecture and APIs. Out of the box it provides integration with TensorFlow, but it can be extended to serve other types of models. Here’s how it works. In the simplified, supervised training pipeline shown below, training data is fed to the learner, which outputs a model:
Once a new model version becomes available, upon validation, it is ready to be deployed to the serving system, as shown below.
TensorFlow Serving uses the (previously trained) model to perform inference - predictions based on new data presented by its clients. Since clients typically communicate with the serving system using a remote procedure call (RPC) interface, TensorFlow Serving comes with a reference front-end implementation based on gRPC, a high performance, open source RPC framework from Google. It is quite common to launch and iterate on your model over time, as new data becomes available, or as you improve the model. In fact, at Google, many pipelines run continuously, producing new model versions as new data becomes available.
TensorFlow Serving is written in C++ and it supports Linux. TensorFlow Serving introduces minimal overhead. In our benchmarks we recoded ~100,000 queries per second (QPS) per core on a 16 vCPU Intel Xeon E5 2.6 GHz machine, excluding gRPC and the TensorFlow inference processing time. We are excited to share this important component of TensorFlow today under the Apache 2.0 open source license. We would love to hear your questions and feature requests on Stack Overflow and GitHub respectively. To get started quickly, clone the code from github.com/tensorflow/serving and check out this tutorial. You can expect to keep hearing more about TensorFlow as we continue to develop what we believe to be one of the best machine learning toolboxes in the world. If you'd like to stay up to date, follow @googleresearch or +ResearchatGoogle, and keep an eye out for Jeff Dean's keynote address at GCP Next 2016 in March.

 

Mentor Organization applications are now being accepted for Google Summer of Code 2016

GSOC Roboto Lockup (1).jpg
Our 12th year of Google Summer of Code (GSoC) has officially begun! GSoC is a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a three month programming project during their break from university.

Do you represent a free or open source software organization looking for new contributors? Do you love the challenge and reward of mentoring new developers in your community? Apply to be a mentor organization for GSoC! Starting today we will be accepting applications from open source projects who would like to serve as mentor organizations for enthusiastic student developers.

The deadline to apply is February 19 at 19:00 UTC. Organizations chosen for GSoC 2016 will be announced via the program site on February 29.

Please visit our new program site page for more information on how to apply, a detailed timeline of important deadlines and general program information. We also encourage you to check out the Mentor Manual or join the discussion group. Best of luck to all of our mentor organization applicants!

By Mary Radomile, Open Source Programs

Announcing the Google Code-in 2015 winners

Congratulations are in order to all of the participants of Google Code-in (GCI) 2015. This was the largest GCI yet with 980 students from 65 countries completing an impressive 4,776 tasks.


The Winners and Finalists chosen by the 14 open source organizations are listed below. They completed a total of 1,536 tasks and are from 24 countries and six continents!


First is a list of our Grand Prize winners. Each of these 28 students will be treated to a trip to California to visit the Google campus for four days this summer to meet with Google engineers and enjoy some fun in San Francisco.


GRAND PRIZE WINNERS
Name
Organization
Country
Ahmed Sabie
Systers
Canada
Andrew Haberlandt
Wikimedia
United States
Anesu Mafuvadze
SCoRe
United States
Aun-Ali Zaidi
RTEMS
United States
Brayan Alfaro González
SCoRe
Costa Rica
Břetislav Hájek
OpenMRS
Czech Republic
Bror Hultberg
Apertium
Germany
Caroline Gschwend
Metabrainz
United States
Daniyaal Rasheed
Ubuntu
United States
Ethan Ordentlich
RTEMS
United States
Ezequiel Pereira Lopez
Sugar Labs
Uruguay
Hannah Pan
Haiku
United States
Imran Tatriev
KDE
Kazakhstan
Ioannis Kydonis
Wikimedia
Greece
Jason Wong
FOSSASIA
United States
Kinshuk Kashyap
Copyleft Games Group
India
Matthew Allen
Ubuntu
Australia
Ohm Patel
Metabrainz
United States
Piotr Antosz
Sugar Labs
Poland
Russell Greene
KDE
United States
S. Sai Vineet
Apertium
India
Sara Du
Systers
United States
Starbuck Johnson
Copyleft Games Group
United States
Sudhanshu Gautam
Drupal
India
Suryansh Singh
Drupal
India
Victor Tolpegin
Haiku
United States
Yamandú Bermúdez
OpenMRS
Uruguay
Yathannsh Kulshreshtha
FOSSASIA
India


And below are the 42 Finalists. These students will each receive a digital certificate of completion, a sweet Google Code-in t-shirt and hooded sweatshirt.


FINALISTS
Name
Organization
Country
Aashir Shukla
SCoRE
India
Adrián Arroyo Calle
Haiku
Spain
Akshaykumar Kalose
Drupal
United States
Alex Chen
OpenMRS
China
Andrey Cygankov
KDE
Russian Federation
Anshuman Agarwal
FOSSASIA
India
Artur Puzio
KDE
Poland
Austin Jenchi
Copyleft Games Group
United States
Cristian García
Sugar Labs
Uruguay
Daksh Shah
Sugar Labs
India
Divya Prakash Mittal
Metabrainz
India
Ethan Chi
Apertium
United States
Evan McIntire
Ubuntu
United States
Geoffrey Mon
Wikimedia
United States
Girish Rawat
Ubuntu
India
Henry Dang
Systers
United States
Isaac Hutt
Wikimedia
United Kingdom
Ishan Joshi
Systers
Australia
Jaeeun (Jasmine) Park
Sugar Labs
Philippines
Justin Du
Wikimedia
United States
Lee Yang Peng
Apertium
Singapore
Liam Greenlee
RTEMS
United States
Lucas Jones
SCoRE
United Kingdom
Malena Vasquez Currie
Ubuntu
Argentina
Markus Himmel
Haiku
Germany
Matthew Marting
Apertium
United States
Muhammad Yasoob Ullah Khalid
FOSSASIA
Pakistan
Nji Collins
OpenMRS
Cameroon
Nurul Ariessa Norramli
Metabrainz
Malaysia
Petr Martynov
Drupal
Russian Federation
Philip Lindner
SCoRE
Germany
Phillip Llewellyn
Drupal
Jamaica
Phoebe Fletcher
Systers
United Kingdom
Ralph Holmes
RTEMS
United Kingdom
Rishav Kundu
Copyleft Games Group
India
Stanford Lin
KDE
Canada
Stanisław Szcześniak
Metabrainz
Poland
Stephanie Fu
Haiku
United States
Syed Ahmed
OpenMRS
Canada
Tan Gemicioglu
RTEMS
Turkey
Václav Šraier
Copyleft Games Group
Czech Republic
Yago González
FOSSASIA
Spain


Thank you to all of the students, mentors and organization administrators who made Google Code-in 2015 our biggest and best yet. The organizations were impressed with the quality of work and enthusiasm from the students. We hope the students had fun learning more about open source and will continue to contribute to these communities.


Stay tuned for more blog posts with statistics from GCI 2015, including a breakdown of the top participating schools, countries of students and mentors, as well as wrap-ups from some students and organizations.

By Stephanie Taylor, Open Source Programs

Coming to America: how Google Summer of Code helped change my life

Today we feature a story about Weilin, a Google Summer of Code student turned PhD candidate. The 12th instance of Google Summer of Code is just around the corner! Visit our new program website at http://g.co/gsoc for more information about how you can get involved.

My name is Weilin Xu and I’d like to tell a personal story about my involvement with Google Summer of Code (GSoC) and just how the experience helped change my life.

I first learned of GSoC in 2011 when I was a CS undergraduate in Beijing. The program sounded great, and my first challenge was deciding which of the hundreds of participating open source organizations to apply to. I finally decided on the Nmap Security Scanner, a tool known for network discovery and security auditing. Nmap is even a movie star, but I chose it because of my fascination with networking and the new IPv6 protocol.

My biggest fear was that I might be unqualified to work on such a major project with millions of users. I didn’t have much experience in the open source community, and my English was really bad.

Meeting my GSoC mentor David Fifield (right) in San Francisco, May 2015

I applied anyway and I’m so glad that I did! The Nmap crew accepted my application and I was assigned a talented, friendly and patient mentor named David Fifield. David taught me how to use Git directly rather than just throwing me a tutorial to complete on my own. He believed that he could teach me in minutes online what could take me an hour to learn from an English article on my own. David also helped improve my English during our weekly online meetings and always encouraged me by pointing out how I’d improved. Working on Nmap with David that summer was terrific and gave me the confidence to succeed!

My project was improving Nmap’s IPv6 scanning features--particularly the host discovery system. The current IPv4 Internet’s address space is small enough to scan by brute force, but that is not possible with IPv6. So we researched and implemented other effective discovery methods, such as our targets-ipv6-multicast-slaac and targets-ipv6-multicast-echo scripts which discover link-local hosts within seconds using the IPv6 NDP protocol. Many of these techniques were already known to the networking/security community, but they were new to Nmap and that brought them into wider use. It was great to see the community appreciating these new features, and perhaps we even helped in spreading IPv6 adoption!

The Nmap GSoC experience was an important milestone in my life. It taught me critical development and research skills and it even helped me find a great job. Tsinghua University’s NISL lab offered me a full-time position which typically requires a master’s degree, but they made an exception because of my real-world GSoC experience!

Before GSoC 2011, continuing my graduate studies in the United States was never more than a dream. Study abroad is usually for wealthy Chinese families, not poor ones from rural areas. But David (a graduate student himself) encouraged me to apply and wrote a recommendation letter. I used the GSoC stipend to pay my graduate school application fees as well as testing fees for the GRE and TOEFL. After months of anticipation, I received great news— a full scholarship from the University of Virginia to research and study adversarial machine learning! My parents were very proud, and I moved to the U.S. for this exciting adventure.

I recently had the honor of meeting my mentor David in person, along with Nmap’s founder Fyodor at the “Nmap Secret Lair” in San Francisco. Fyodor took my picture with David that I’ve included in this post.

I would like to thank Google very much for organizing this fantastic GSoC program and my mentor David Fifield for being so supportive and patient and helpful. I’d also like to thank Fyodor for all of his help as well. Finally I’d like to thank my twin brother Guanglin Xu for introducing me to GSoC in the first place.

By Weilin Xu, PhD Candidate, University of Virginia

Seesaw: scalable and robust load balancing

Like all good projects, this one started out because we had an itch to scratch…


As a Site Reliability Engineer at Google working on corporate infrastructure, there are a  large number of internally used services that need to be load balanced, both for scalability and reliability. Back in 2012, load balancing was provided by two different platforms and both presented different sets of management and stability challenges. In order to alleviate these issues, we set about looking for a replacement load balancing platform.

After evaluating a number of platforms, including existing open source projects, we were unable to find one that met all of our needs and decided to set about developing a robust and scalable load balancing platform. The requirements were not exactly complex - we needed the ability to handle traffic for unicast and anycast VIPs, perform load balancing with NAT and DSR (also known as DR), and perform adequate health checks against the backends. Above all we wanted a platform that allowed for ease of management, including automated deployment of configuration changes.

One of the two existing platforms was built upon Linux LVS, which provided the necessary load balancing at the network level. This was known to work successfully and we opted to retain this for the new platform. Several design decisions were made early on in the project — the first of these was to use the Go programming language, since it provided an incredibly powerful way to implement concurrency (goroutines and channels), along with easy interprocess communication (net/rpc). The second was to implement a modular multi-process architecture. The third was to simply abort and terminate a process if we ended up in an unknown state, which would ideally allow for failover and/or self-recovery.

After a period of concentrated development effort, we completed and successfully deployed Seesaw v2 as a replacement for both existing platforms. Overall it allowed us to increase service availability and reduce management overhead. We're pleased to be able to make this platform available to the rest of the world and hope that other enterprises are able to benefit from this project. You can find the code at https://github.com/google/seesaw.

By Joel Sing, Google Site Reliability Engineer

Google Code-in 2015: our biggest year yet!


GCI 2015 logo.jpg


The 6th year of Google Code-in (GCI) came to a close today after an exciting seven week run. Currently, mentors from each of the 14 organizations are busy reviewing final work submitted by students. Each organization will pick two Grand Prize winners to receive a trip to Google’s California headquarters this June where they will meet Google engineers, see exciting product demos and enjoy a fun-filled day of adventure in San Francisco.


We would like to congratulate all of the new and returning students who participated in GCI this year. We are thrilled to have our biggest year yet: over the last seven weeks, 979* students from 65 countries completed 4755* tasks in the contest.


And finally, a HUGE thanks goes out to the heart of our program: the GCI mentors and organization administrators. These volunteers spend countless hours creating and reviewing hundreds of tasks and teaching teens about all facets of open source development (community standards, new and exciting technologies, code reviews, version control systems, IRC and everything in between). We could not run this program without you!

* These numbers will increase over the next couple of days as mentors review the final work submitted by students.

Mary Radomile, Open Source Programs