Skip to content

Software Development News: .NET, Java, PHP, Ruby, Agile, Databases, SOA, JavaScript, Open Source

Methods & Tools

Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!

Google Open Source Blog
Syndicate content
News about Google's Open Source projects and programs.
Updated: 16 min 31 sec ago

Students announced for Google Summer of Code 2016

Fri, 04/22/2016 - 20:08
2016 Google Summer of Code

It's that time of year again: 1,206 students have been accepted for our 2016 Google Summer of Code! Congratulations all around. We want to thank everyone who applied — it was another competitive year with 178 mentoring organizations receiving 7,543 proposals from 5,107 students.

Now we enter the community bonding period when students get acquainted with their mentors and familiarize themselves with their new community before they begin coding in May. In this period, students will do things like hang out in IRC channels and read documentation, become familiar with the code base and set their deadlines and milestones with their mentors.

If you want to review important dates or learn more about the 178 organizations that the accepted students will be working with over the summer, please visit the program website.

Here's to another exciting and productive summer of contributing to open source.

By Josh Simmons, Open Source Programs Office
Categories: Open Source

CCTZ v2.0 — now with more civil time

Tue, 04/12/2016 - 18:53
Last September we announced an open source project called CCTZ, a C++ library that enables computing with arbitrary time zones. Today we're announcing CCTZ v2.0 which introduces a new civil time library. Civil time is a legally recognized representation of time used by humans (i.e., year, month, day, hour, minute and second). The most common example of a civil time is a time zone independent date. In version 2.0, CCTZ's time zone and new civil time libraries cooperate with the standard C++ <chrono> library to give programmers a complete (and simple!) framework in which to reason about and solve even the most complicated time programming problems.
To learn more, please check out the project page on GitHub. Pay particular attention to the fundamental concepts section which establishes a simple, cross-platform and language agnostic mental model that will help you reason about time programming challenges with ease and confidence. And don't forget to subscribe to the new CCTZ mailing list to ask questions and learn about future announcements.
by Greg Miller and Bradley White, Google Engineering
Categories: Open Source

Google Summer of Code marches on!

Fri, 04/01/2016 - 18:00
Google Summer of Code 2016 (GSoC) is well underway and we’ve already seen some impressive numbers — all record highs!sun.png
  • 18,981 total registered students (up 36% from 2015)
  • 17.34% female registrants
  • 142 countries
  • 5107 students submitting  7,543 project proposals

Student proposals are currently being reviewed by over 2300 mentors and organization administrators from the 180 participating mentor organizations. We will announce accepted students on April 22, 2016 on the Open Source blog and on the program site.
Last week, members of the Google Open Source Programs team attended FOSSASIA in Singapore, Asia’s premier open technology event, to talk about GSoC and Google Code-in. There, we met dozens of former GSoC and GCI students and mentors who were excited to embark on another great year. To learn more about Google Summer of Code, please visit our program site.

By Stephanie Taylor, Open Source Programs
Categories: Open Source

Seesaw: scalable and robust load balancing

Thu, 03/31/2016 - 23:59
Like all good projects, this one started out because we had an itch to scratch…

As Site Reliability Engineers who manage corporate infrastructure at Google, we deal with a large number of internally used services that need to be load balanced for scalability and reliability. In 2012, two different platforms were used to provide load balancing, both of which presented different sets of management and stability challenges. In order to alleviate these issues, our team 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
Categories: Open Source

Hungering for Game Utilities?

Thu, 03/31/2016 - 23:57
At Fun Propulsion Labs we spend some of our time building sample games to help demonstrate how to make easy-to-build, performant, cross-platform games. With the growth of Google Cardboard, we got to work and over many long evenings, feeding our animal hunger on sushi, we came up with Zooshi. Zooshi is an open source, cross-platform game written in C++ which supports:
  • Android, Android TV, Windows, OSX, and Linux
  • Google Cardboard
  • Google Play Games Services sign-in and leaderboards on Android
  • Level customization
Zooshi serves as a demonstration of how to build Android games using a suite of newly released and updated open source game technologies from Google:
  • Motive drives our Animation system, giving life and movement to the characters and environment.
  • CORGI, the Component Oriented Reusable Game Interface, is an Entity-Component system designed to allow users to define complicated game objects as collections of modular, custom-defined behaviors.
  • FlatUI is a straightforward immediate mode GUI system with a light footprint that makes building up user interfaces a breeze.
  • Scene Lab allows designers to design levels and edit entities from right in the game without needing to use an external editor.
  • Breadboard provides an easy to use node based scripting system for editing entity behaviors that's accessible to designers without deep knowledge of programming.
  • FPLBase is a cross-platform API layer, for abstracting low-level tasks like reading input and creation of graphical contexts.
As in our previous release, PieNoon, we also made extensive use of Flatbuffers, Mathfu, fplutil, and WebP.

You can download the game in the Play Store and the latest open source release from our GitHub page. We invite you to learn from the code to see how you can apply these libraries and utilities in your own Android games. Take advantage of our discussion list if you have any questions, and don’t forget to toss some sushi around while you’re at it!

Posted by Alex Ames, Fun Propulsion Labs*

* Fun Propulsion Labs is a team within Google that's dedicated to advancing gaming on Android and other platforms.
Categories: Open Source

J2ObjC 1.0 Release

Thu, 03/31/2016 - 23:56
We are pleased to announce the 1.0 release of J2ObjC, a Google-authored open-source compiler that lets iPhone/iPad applications use Java code. J2ObjC's goal is to support the sharing of an application's non-UI code (such as data access, or application logic) by writing it once in Java, then building it into the iOS application. This same code can be shared with the Android and web versions of the application (the latter using the GWT compiler), as well as with server-side code. J2ObjC is licensed under the Apache License, Version 2.0.J2ObjC is not a Java emulator, but instead translates Java to Objective-C classes that extend the iOS Foundation Framework. It supports the Java 8 language and runtime required by client-side application developers. JUnit and Mockito test translation and execution is also supported.  J2ObjC can be used with most build tools, including Xcode and Make, and there are Gradle and Maven plug-ins.J2ObjC does not translate user interfaces, as world-class apps need to have world-class user interfaces that adhere closely to the different iOS and Android design standards. J2ObjC instead focuses on writing common abstractions once, and verifying them with a common set of unit tests. This ensures that an app's features work the same across platforms, improving customer experiences. Teams developing multi-platform apps still need great engineers for each platform, but with J2ObjC they don't waste time rewriting each others' code.

Using continuous integration, J2ObjC helps product velocity. As each feature is added or bug fix made to the application's shared code, all platforms are automatically rebuilt and tested. And because common features are shared across platforms, a bug found on one platform is fixed once for all platforms.

Several of Google’s iOS applications use J2ObjC for these reasons, including Inbox by Gmail, Google Calendar, Google Docs, Google Sheets, Google Slides and Google My Business. Each team has dedicated iOS designers and engineers, but application logic common to all platforms is written once.
By Tom Ball, Google Engineering
Categories: Open Source

Running your models in production with TensorFlow Serving

Thu, 03/31/2016 - 23:55
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.

Posted by Noah Fiedel, Software Engineer 
Categories: Open Source

EarlGrey: iOS functional UI testing framework

Thu, 03/31/2016 - 23:55
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
Categories: Open Source

Scalable vendor security reviews

Thu, 03/31/2016 - 23:55
At Google, we assess the security of hundreds of vendors every year. We scale our efforts through automating much of the initial information gathering and triage portions of the vendor review process. To do this we've developed the Vendor Security Assessment Questionnaire (VSAQ), a collection of self-adapting questionnaires for evaluating multiple aspects of a vendor's security and privacy posture.

We've received feedback from many vendors who completed the questionnaires. Most vendors found them intuitive and flexible — and, even better, they've been able to use the embedded tips and recommendations to improve their security posture. Some also expressed interest in using the questionnaires to assess their own suppliers.

Based on this positive response, we've decided to open source the VSAQ Framework (Apache License Version 2) and the generally applicable parts of our questionnaires on GitHub: https://github.com/google/vsaq. We hope it will help companies spin up, or further improve their own vendor security programs. We also hope the base questionnaires can serve as a self-assessment tool for security-conscious companies and developers looking to improve their security posture.

The VSAQ Framework comes with four security questionnaire templates that can be used with the VSAQ rendering engine:


All four base questionnaire templates can be readily extended with company-specific questions.Using the same questionnaire templates across companies may help to scale assessment efforts. Common templates can also minimize the burden on vendor companies, by facilitating the reuse of responses.

The VSAQ Framework comes with a simple client-side-only reference implementation that's suitable for self-assessments, for vendor security programs with a moderate throughput, and for just trying out the framework. For a high-throughput vendor security program, we recommend using the VSAQ Framework with a custom server-side component that fits your needs (the interface is quite simple).

Give VSAQ a try! A demo version of the VSAQ Framework is available here:https://vsaq-demo.withgoogle.com

Excerpt from Security and Privacy Programs Questionnaire
Let us know how VSAQ works for you: contact us. We look forward to getting your feedback and continuing to make vendor reviews scalable — and maybe even fun!
By Lukas Weichselbaum and Daniel Fabian, Google Security
Categories: Open Source

Google Code-in 2015 Wrap Up: Sustainable Computing Research Group (SCoRe)

Mon, 03/28/2016 - 21:48
For the next several weeks, we will be showcasing wrap up posts from the 14 organizations that participated as mentor organizations for Google Code-in 2015. This week we feature SCoRe, an open source research project based in Sri Lanka. The Sustainable Computing Research Group (SCoRe) at University of Colombo School of Computing conducts research covering various aspects of wireless sensor networks, embedded systems, digital forensic, information security, mobile applications and e-learning. The goal of our research is to generate computing solutions through identifying low cost methodologies and strategies that lead to sustainability. The solutions we get by sustainable computing research projects conducted at SCoRe lab are important for developing countries like Sri Lanka.

Inspired by our participation in Google Summer of Code (GSoC), for the very first time, SCoRe lab participated in Google Code-in 2015 (GCI), with 13 other open source organizations around the world. We offered 250 claimable task for students and we had 27 mentors, mentoring students who successfully completed 164 tasks! We gained active contributors to SCoRe, from students who contribute to our open source projects even after the contest ended.

The tasks covered code, user interface, research, quality assurance, outreach and documentation. 44 students completed at least one task with us this year and eight students completed at least three tasks with us to earn a GCI t-shirt. Six students completed over ten  tasks each in competition to become grand prize winners.

However among these students we had to choose the ones who we felt had the most impactful contributions. We’d like to congratulate the two grand prize winners from SCoRe: Brayan Alfaro and Anesu Mafuvadze.

Below is a comment received from a student who participated:

“It was my pleasure working with you and the SCoRe Community. This contest helped me to enhance my knowledge in software development...I gained a lot of knowledge through the tasks I did. My mentors guided me every time and I would gladly work with this community in the future. I would love to contribute to you in every possible way.”

We give our special thanks to our mentors who voluntarily worked throughout the contest around their busy schedules and vacation plans. We’d also like to thank all the students who actively participated and contributed to our organization. SCoRe was pleased to be selected as a mentoring organization for GCI 2015 and we hope to participate in both GSoC and GCI again in future!

By Dilushi Piumwardane, GCI mentor, SCoRe
Categories: Open Source

Something different — code up hardware in Google Summer of Code

Fri, 03/18/2016 - 18:00
In 1983, the same year I was born, a company called Altera was founded and created the EP300, their first reprogrammable logic device. The event was considered a major step towards the development of devices we now call “Field Programmable Gate Arrays” or FPGAs for short. In the following 33 years, FPGAs would go from extremely expensive devices found only in high end military and telecommunications equipment, to something even a student can afford.The EP300 in all it's gloryFPGAs are exciting because they make the development process for hardware the same as software. Developers are able to create designs in a hardware description language (HDL), compile and then use them almost instantly! They make hardware code. Turning hardware into code makes it easy for open source developers to share, collaborate and improve the hardware in ways that would have been extremely hard, or even impossible in the past. 

There were 180 open source organizations accepted to participate in Google Summer of Code 2016 (GSoC), and it is exciting to see several of the organizations using these technologies. I've highlighted some of the different types of hardware coding opportunities in GSoC this year below. (Anything I've missed? Feel free to add it in the comments section below!)
In the area of CPU architectures, OpenRISC and it’s spiritual successor, the RISC-V, are attempting to make a truly open hardware at the most fundamental level. In 2016 you could help this goal via participating in GSoC with either the FOSSi Foundation or lowRISC project.

Not content with the existing HDLs, both the ArchC organization and MyHDL organization (a sub-organization of the Python group), are attempting to make it easier to create these hardware designs. MyHDL is particularly cool because Python is normally considered to be as far away from hardware as you can get.

My own project, TimVideos.us, is using much of the work from these other projects to develop high speed video processing hardware for conference and user group recording (or maybe even video DJing).

Imagine developing hardware in the same way you write code. With FPGAs you can — and GSoC has numerous opportunities to create hardware using this exciting technology. With only 7 days left to submit your application, you better get cracking!

By Tim ‘mithro’ Ansell, Software Engineer on Chrome by day, open source hardware hacker by night
Categories: Open Source

Student applications now open for Google Summer of Code!

Mon, 03/14/2016 - 20:15
Are you a university student looking to learn more about open source software development? Look no further than Google Summer of Code (GSoC) and spend your summer break working on an exciting open source project, learning how to write code.
vertical GSoC logo.jpgFor twelve years running, GSoC gives participants a chance to work on an open source software project entirely online. Students, who receive a stipend for their successful contributions, are paired with mentors who can help address technical questions and concerns throughout the program. Former GSoC participants have told us that the real-world experience they’ve gained during the program has not only sharpened their technical skills, but has also boosted their confidence, broadened their professional network and enhanced their resumes. 

Students who are interested can submit proposals on the  program site now through Friday, March 25 at 19:00 UTC. The first step is to review the 180 open source projects and find project ideas that appeal to you. Since spots are limited, we recommend a strong project proposal to help increase your chances of selection. Our Student Manual provides lots of helpful advice to get you started on choosing an organization and crafting a great application. 

For ongoing information throughout the application period and beyond, see the Google Open Source Blog, join our Google Summer of Code discussion lists or join us on internet relay chat (IRC) at #gsoc on Freenode.

Good luck to all the open source coders out there, and remember to submit your proposals early — you only have until Friday, March 25 at 19:00 UTC to apply!


By Mary Radomile, Google Open Source team
Categories: Open Source

Goodnight Melange

Wed, 03/09/2016 - 21:10
The time has come to say farewell to Melange, the website software which ran Google Summer of Code from 2009 to 2015, and Google Code-in from 2010 to 2014. Both programs have migrated to new websites.
Starting on Thursday, March 31, www.google-melange.com will become a limited static archive of what projects and tasks were completed. It will contain titles, descriptions, and display names, but no other project information. If there is any data from the site you wish to save, you should extract it now. Melange has facilitated over 11,000 students to get involved in open source software development, working on projects big and small. We encourage our users to export the data and keep it alive.
The code for Melange will continue to be open source but Google will not be doing any further development on it. We'd be pleased to hear someone forked the code and continued working on Melange as a new project.

Thanks to everyone who contributed to Melange and kept it running over the past 7 years: Aditi, Akeda, Anatoly, Andrew, Anthony, Arc, Aruna, Ashish, Augie, Chen, Dan, Daniel, David, Denys, Dmitri, Doug, Drew, Felix, Gilles, Jacob, James, Jasvir, Jenn, Johannes, John, Jonn, Kevin, Lennard, Leo, Leon, Madhusudan, Marcelo, Mario, Matthew, Mayank, Nathaniel, Orcun, Pankaj, Pawel, Piotr, Piyush, Praveen, Raul, Robert, Rylan, Savitha, Selwyn, Shikher, Simon, Sriharsha, Suyash, Sverre, Syed, Tim, Tobias, Todd, Vivek and Zachary.

Melange served us well for a long time, and we hope it enjoys its retirement!

By Stephanie Taylor, Open Source Programs

Categories: Open Source

Teaching kids to program in their native language

Fri, 03/04/2016 - 19:00

Today we introduce two programs to help kids program in their native language — clojure-turtle and clj-thamil. Both are written in Clojure, a dialect of Lisp that runs on the Java Virtual Machine. What makes Clojure unique is its simple design which can help make the path for kids to learn programming easier.
clojure-turtle: a bridge between logo beginners and lisp experts
For some beginners, the Clojure learning curve has been steep in the area of functions and functional programming. Many students learning to program prefer to start instead with Logo, a dialect of Lisp that is used in Scratch and teaching efforts such as code.org. We designed clojure-turtle with this in mind.
The clojure-turtle project was created to bridge the gap between the people using Lisp at opposite ends of the spectrum. It’s for those learning to program for the first time and those with “real-world concerns” who write macros. The project implements Logo in Clojure, and remains faithful to the basics of Logo —(forward 10),  (right 90), etc.  But the door is left open for you to blur the lines of Logo/Clojure, beginner/FP, etc.:
(defn square-by-length  [side-length]  (repeat 4 (all (forward side-length) (right 90))))
(defn mirrored [f]  (fn [& args]    (repeat 2 (all (apply f args) (right 180)))))
(def lengths [40 50 60])(map (mirrored square-by-length) lengths)clojure-turtle2.pngOne place where the Logo in Clojure approach of clojure-turtle has already proven successful is in ClojureBridge, a workshop for beginners aimed at increasing the number of people from underrepresented minority groups within the Clojure community. The section on teaching functions had been challenging for students previously, but students now learning through the Logo-based approach move past it with ease onto higher level concepts.
clj-thamil: programming in your native language
When I originally set out to create a library for processing for the Thamil language, I stumbled upon the realization that I could also program in the Thamil language. Functions are first-class data, which can be assigned to new names. But macros are what enable me to “translate” the rest of Clojure from English to Thamil, doing so in the form of a library, without having to modify the compiler, and in a manner that is generic for any language to use. Now, a function to pluralize a word in Thamil can be itself written in Thamil. In my Clojure/West talk on clj-thamil, I talked about the potential impact on increasing diversity among programmers, especially when we consider the number of people globally who do not have access to a (good) English education that is an implicit prerequisite for learning to program.
Putting the two together: learning Logo in your native language
The approach of clj-thamil is flexible and powerful enough that we can “translate” any code, not just the core of Clojure. So why not translate clojure-turtle in less than 30 lines of code? Here is a video demonstrating the use of Logo in the Thamil language:

The simple concepts of Logo soften the learning curve for programming and can make it fun for all ages! The simplicity of Clojure gives it a power that you can use to shape the program to your will — students can write all their code in a non-English language if they want. The combination of simple concepts can make it  possible to teach programming to kids around the world who do not speak English. I hope that clojure-turtle and clj-thamil can be used to improve literacy and diversity for students learning to code.
Visit the clojure-turtle Github page and the clj-thamil Github page to learn more, sign up for the mailing lists and contribute patches for features.
By Elango Cheran, Software Engineering
Categories: Open Source

New algorithms may lower the cost of secure computing

Wed, 03/02/2016 - 19:00
Here at Google we strive to make computing not only more cost-efficient, faster, and easier but also more secure. Hash functions are essential building blocks in computing, but must be protected against certain inputs. Today, we are open-sourcing 3 new hash function implementations: faster, data-parallel versions of SipHash, a fast cryptographically strong pseudorandom function, and the entirely new HighwayHash, which reaches even higher speeds thanks to the data parallel features of modern computers.
Our first hash function produces the same output as SipHash, but 1.5 times as quickly thanks to AVX-2 instructions. The second improvement uses j-lanes tree hashing to process multiple inputs in parallel, which is 3 times as fast. This technique is known to be secure, but produces different output than the original SipHash and is slightly slower for short inputs.
HighwayHash is based on a new way of mixing inputs with just a few AVX-2 multiply and permute instructions. We are hopeful that the result is a cryptographically strong pseudorandom function, but new cryptanalysis methods might be needed for analyzing this promising family of hash functions. HighwayHash is significantly faster than SipHash for all measured input sizes, with about 7 times higher throughput at 1 KiB.
We believe our efforts represent the current state of the art in high-speed attack-resistant hashing. These new functions can lower the cost of safe and secure computing. We invite everyone to use, study, and analyze the open-source implementations.
By Jan Wassenberg and Jyrki Alakuijala, Google Research
Categories: Open Source

2016 Google Summer of Code mentor organizations

Mon, 02/29/2016 - 22:30
GSOC Roboto Lockup (1).jpgIt’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
Categories: Open Source

Google Code-in 2015: diving into the numbers

Thu, 02/25/2016 - 19:00

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 schoolsStudents from 550 schools competed in this year’s contest. Below are the top five participating schools.
School NameNumber of student participantsCountryWebsiteDunman High School147Singaporehttp://www.dhs.sgGSS PU College44Indiahttp://gssbgm.edu.inColegiul National Aurel Vlaicu31Romaniahttp://www.colegiulavlaicu.roSacred Heart Convent Senior Secondary School28Indiahttp://www.shcsjagadhri.orgFreehold High School10United Stateshttp://frhsd.com/freehold
CountriesThe charts below display the top ten countries with the most students completing at least 1 task.
CountryNumber of student participantsIndia246United States224Singapore164Romania65Canada24Taiwan22Poland19United Kingdom18Australia17Germany13

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
Categories: Open Source

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

Wed, 02/10/2016 - 02:00
GSOC Roboto Lockup (1).jpgOur 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
Categories: Open Source

Announcing the Google Code-in 2015 winners

Mon, 02/08/2016 - 21:58
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 WINNERSNameOrganizationCountryAhmed SabieSystersCanadaAndrew HaberlandtWikimediaUnited StatesAnesu MafuvadzeSCoReUnited StatesAun-Ali ZaidiRTEMSUnited StatesBrayan Alfaro GonzálezSCoReCosta RicaBřetislav HájekOpenMRSCzech RepublicBror HultbergApertiumGermanyCaroline GschwendMetaBrainzUnited StatesDaniyaal RasheedUbuntuUnited StatesEthan OrdentlichRTEMSUnited StatesEzequiel Pereira LopezSugar LabsUruguayHannah PanHaikuUnited StatesImran TatrievKDEKazakhstanIoannis KydonisWikimediaGreeceJason Wong FOSSASIAUnited StatesKinshuk KashyapCopyleft Games GroupIndiaMatthew AllenUbuntuAustraliaOhm PatelMetaBrainzUnited StatesPiotr AntoszSugar LabsPolandRussell GreeneKDEUnited StatesS. Sai VineetApertiumIndiaSara DuSystersUnited StatesStarbuck JohnsonCopyleft Games GroupUnited StatesSudhanshu GautamDrupalIndiaSuryansh SinghDrupalIndiaVictor TolpeginHaikuUnited StatesYamandú BermúdezOpenMRSUruguayYathannsh KulshreshthaFOSSASIAIndia

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.

FINALISTSNameOrganizationCountryAashir ShuklaSCoREIndiaAdrián Arroyo CalleHaikuSpainAkshaykumar KaloseDrupalUnited StatesAlex ChenOpenMRSChinaAndrey CygankovKDERussian FederationAnshuman AgarwalFOSSASIAIndiaArtur PuzioKDEPolandAustin JenchiCopyleft Games GroupUnited StatesCristian GarcíaSugar LabsUruguayDaksh ShahSugar LabsIndiaDivya Prakash MittalMetaBrainzIndiaEthan ChiApertiumUnited StatesEvan McIntireUbuntuUnited StatesGeoffrey MonWikimediaUnited StatesGirish RawatUbuntuIndiaHenry DangSystersUnited StatesIsaac HuttWikimediaUnited KingdomIshan JoshiSystersAustraliaJaeeun (Jasmine) ParkSugar LabsPhilippinesJustin DuWikimediaUnited StatesLee Yang PengApertiumSingaporeLiam GreenleeRTEMSUnited StatesLucas JonesSCoREUnited KingdomMalena Vasquez CurrieUbuntuArgentinaMarkus HimmelHaikuGermanyMatthew MartingApertiumUnited StatesMuhammad Yasoob Ullah KhalidFOSSASIAPakistanNji CollinsOpenMRSCameroonNurul Ariessa NorramliMetaBrainzMalaysiaPetr MartynovDrupalRussian FederationPhilip LindnerSCoREGermanyPhillip LlewellynDrupalJamaicaPhoebe FletcherSystersUnited KingdomRalph HolmesRTEMSUnited KingdomRishav Kundu Copyleft Games GroupIndiaStanford LinKDECanadaStanisław SzcześniakMetaBrainzPolandStephanie FuHaikuUnited StatesSyed AhmedOpenMRSCanadaTan GemiciogluRTEMSTurkeyVáclav ŠraierCopyleft Games GroupCzech RepublicYago GonzálezFOSSASIASpain

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
Categories: Open Source

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

Wed, 02/03/2016 - 22:00
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
Categories: Open Source