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: 4 hours 35 min ago

Mentoring Organizations for Google Summer of Code 2015

Mon, 03/02/2015 - 20:00
GoogleSummer_2015logo_horizontal.jpgWe are excited to announce the mentoring organizations that have been accepted for this year’s Google Summer of Code program. As always, we had many more great projects than we could accept. After reviewing 416 applications, we have chosen 137 open source projects, 37 of which are new to Google Summer of Code. You can visit our Google Summer of Code 2015 program website for a complete list of the accepted orgs.
Over the next two weeks, students interested in applying for the Google Summer of Code 2015 program can learn more about the 137 accepted open source projects. The student application period begins on Monday, March 16, 2015 at 19:00 UTC.
Interested? Start by reviewing the Ideas Page from each organization to learn about the project 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 on an Ideas Page that appeals to you, don’t be afraid to suggest a new idea to the organization! There are points of contact listed for each organization on their Ideas Page - students can contact the organization directly to discuss a new proposal. All organizations list their preferred method of communication on the organization homepage, available on the Google Summer of Code program website. We strongly encourage students to reach out to the organizations before they apply. Please see our Frequently Asked Questions page for more information.
Congratulations to all of our mentoring organizations! We look forward to working with all of you during this next Google Summer of Code!
By Carol Smith, Open Source Team
Categories: Open Source

Google Code-in 2014 wrap up with Wikimedia

Fri, 02/27/2015 - 18:00
The Wikimedia Foundation was one of the twelve mentoring organizations taking part in Google Code-in 2014, our contest introducing 13 to 17 year old students to working in open source communities. Below, Andre Klapper shares the accomplishments of several students who participated with Wikimedia during the contest.

The Wikimedia Foundation was proud to participate for a second time in Google Code-in. In this program, young students are introduced to free and open source software (FOSS) projects and invited to make practical contributions.
Between December 2014 and January 2015, 48 students successfully completed 226 Wikimedia tasks, supported by 30 mentors from our community. Those tasks include not only code development, but also documentation, research, and testing — leading to a wide range of achievements:

Thank you and congratulations to all the students who joined Wikimedia and supported its mission to freely share knowledge! Special kudos to Wikimedia’s two Grand Prize Winners: Danny Wu and Mateusz Maćkowski — and to our finalists Evan McIntire, Geoffrey Mon and Pranav Kumar! The full list of winners across all organizations can be found here.
We also wish to thank all our mentors for their generous commitment: we are especially grateful for the time they spent on weekends, coming up with task ideas, working with students and quickly reviewing their contributions. And last but not least, thank you to Google for organizing and running this contest, creating awareness of and interest in Free and Open Software projects.
We welcome more contributions to help improve our free and open software. Check out how you can contribute and our list of easy software bugs to start with.

By Andre Klapper, Wikimedia Foundation
Categories: Open Source

Introducing gRPC, a new open source HTTP/2 RPC Framework

Thu, 02/26/2015 - 20:25

(Cross-posted from the Google Developers Blog)

Today, we are open sourcing gRPC, a brand new framework for handling remote procedure calls. It’s BSD licensed, based on the recently finalized HTTP/2 standard, and enables easy creation of highly performant, scalable APIs and microservices in many popular programming languages and platforms. Internally at Google, we are starting to use gRPC to expose most of our public services through gRPC endpoints as part of our long term commitment to HTTP/2.

Over the years, Google has developed underlying systems and technologies to support the largest ecosystem of micro-services in the world; our servers make tens of billions of calls per second within our global datacenters. At this scale, nanoseconds matter. Efficiency, scalability and reliability are at the core of building Google’s APIs.

gRPC is based on many years of experience in building distributed systems. With the new framework, we want to bring to the developer community a modern, bandwidth and CPU efficient, low latency way to create massively distributed systems that span data centers, as well as power mobile apps, real-time communications, IoT devices and APIs.

Building on HTTP/2 standards brings many capabilities such as bidirectional streaming, flow control, header compression, multiplexing requests over a single TCP connection and more. These features save battery life and data usage on mobile while speeding up services and web applications running in the cloud.

Developers can write more responsive real-time applications, which scale more easily and make the web more efficient. Read more about the features and benefits in the FAQ.

Alongside gRPC, we are releasing a new version of Protocol Buffers, a high performance, open source binary serialization protocol that allows easy definition of services and automatic generation of client libraries. Proto 3 adds new features, is easier to use compared to previous versions, adds support for more languages and provides canonical mapping of Proto to JSON.

The project has support for C, C++, Java, Go, Node.js, Python, and Ruby. Libraries for Objective-C, PHP and C# are in development. To start contributing, please fork the Github repositories and start submitting pull requests. Also, be sure to check out the documentation, join us on the mailing list, visit the IRC #grpc channel on Freenode and tag StackOverflow questions with the “grpc” tag.

Google has been working closely with Square and other organizations on the gRPC project. We’re all excited for the potential of this technology to improve the web and look forward to further developing the project in the open with the help, direction and contributions of the community.


by Mugur Marculescu, Product Manager
Categories: Open Source

RE2/J: Linear-time regular-expression matching for Java

Tue, 02/24/2015 - 18:00
Today we’re announcing the public release of RE2/J: a pure-Java implementation of the popular RE2 regular expression library.
Although RE2/J is not always faster than java.util.regexp, its running time is always linear in the size of the input. Thus when matching larger inputs, especially against patterns containing a high degree of alternation, RE2/J may be dramatically faster. With a backtracking implementation such as java.util.regexp, it is not hard to construct a pathological pattern whose matcher would take years to run on some inputs, so RE2/J's performance guarantee makes it suitable for use in applications where the pattern is supplied by untrusted users, such as the clients of a web server.
If you are looking for a detailed technical discussion of the motivation for RE2 and RE2/J and the tradeoffs involved, please see “Regular Expression Matching Can Be Simple And Fast” and “Regular Expression Matching in the Wild”, both written by Russ Cox.
RE2/J is used widely by Java projects within Google. In many cases, it can be used as a drop-in replacement for java.util.regexp. We are pleased to be able to make this library available for public consumption.
Please head to RE2/J’s GitHub page to find out how to use it!
By James Ring, Google Engineering
Categories: Open Source

Google Summer of Code wrap up: Drupal

Fri, 02/20/2015 - 19:00
This week’s Google Summer of Code (GSoC) wrap up is from Matthew Lechleider at Drupal, a widely used content management system used for building websites.Hello from the Drupal community. We're an open source content management system used to create some of the coolest websites in the world and we're delighted to highlight just a few of our Google Summer of Code (GSoC) 2014 student projects. Not only did 12 students dedicate their summer contributing to Drupal, but most importantly they had fun. Many of the projects below may sound easy, but Drupal 8’s core architecture is a major upgrade from previous versions forcing many students to engineer code in our new systems.
Most students focused on porting frequently used modules to our upcoming version 8. Students such as Lucian Hangea from Romania worked on a vast array of functionality ranging from porting the Diff module with extensible new options to Jayesh Solanki from India who integrated Disqus comments. It is impressive to see contributions from students who are simply happy to be part of our open source community. We can only hope these talented young software geniuses stick around.
Shivanshu Agrawal from India not only created a working version of the Securesite module in Drupal 8 but also finished the Drupal 7 version port during his GSoC application phase. Thousands of users around the world wondered why Drupal 7 sites could not provide simple password authentication until a student made a simple change pushing the module from beta to stable.
Sachini Aparna Herath from Sri Lanka worked on adding support for schema.org mappings to Drupal 8. Helping websites and systems communicate in a standard way, schema.org enriches content allowing it to properly propagate the Internet. Because of Sachini, Drupal 8 site builders can seamlessly point/click schema.org markup to their sites using the RDF UI she built. Similar projects are available in previous versions of Drupal but not Drupal 8, making this project fairly difficult to accomplish in an early beta version.
Andrei-Marius Dincu from Romania ported XMLsitemap to Drupal 8. This module creates a sitemap which conforms to the sitemaps.org specifications and helps search engines more intelligently crawl a website and keep their results up to date. Not only did Andrei port xmlsitemap.module to our newest beta versions of Drupal 8, he continues to provide contributions to previous versions of the module and even mentored students during Google Code-in.
Our community was invited to send two delegates to the GSoC Tenth Year Reunion event held in lieu of the annual mentor summit. We selected Angela Byron from Canada, one of our top GSoC Drupal alumni, and Chandan Singh from India, one of our best students from this summer. Angie's story of beginning with Drupal’s Quiz module as a GSoC student almost ten years ago and becoming one of the most important people in our community is now legendary. We're also excited about Chandan becoming a rockstar developer pushing Drupal to the next level as a promising new contributor. Beginning by leading development of the Entity Embed module as a GSoC 2014 student, Chandan continues to be actively involved in Drupal 8 core development, became one of our essential mentors in GCI 2014, and has returned to GSoC 2015 as a mentor.
A big thanks to all the students and mentors who helped make this summer a success and of course to the entire Drupal community for their amazing support. Last but certainly not least, thanks to Google for making it all possible. The entire open source community is forever in debt to the gift Google provides us with Summer of Code.
It's never too early to start planning for next year's Code-in or Summer of Code. Join our GSoC group on drupal.org, our GCI group on drupal.org, and chat with us via IRC in #drupal-google on Freenode to learn more.

by Matthew Lechleider, Drupal's GSoC Org Admin
Categories: Open Source

Google Code-in 2014: Magic in the Numbers

Thu, 02/19/2015 - 19:19
Google Code-in, our contest introducing 13-17 year olds to open source software development, wrapped up a few weeks ago with our largest contest to date: 658 students from 53 countries completed a record-breaking 3,236 tasks! We almost doubled the number of student participants in 2014 from the previous year’s contest (337). Working with 12 open source organizations, students wrote code, created and edited documentation, designed UI elements and logos, conducted research, developed screencasts and videos teaching others about the software, helped find and fix hundreds of bugs and many other interesting tasks.

General Student Stats
  • 49.1% of students completed 3 or more tasks (earning themselves a cool Google Code-in 2014 t-shirt)
  • 17.93% of students were female, up from 10.08% in 2013
  • This was the first Google Code-in for 552 students (83.9%)


CountriesIn the chart below we display the countries with the most student participants.
This year we had nine countries with students participating for the first time: Azerbaidjan, Brunei, Chile, Jamaica, Kazakhstan, Nigeria, Oman, Saudi Arabia, and Taiwan.SchoolsStudents from 397 schools competed in this year’s contest.

The five schools with the highest participation are:
  1. Dunman High School in Singapore for the second year in a row had the largest number of students completing tasks in the contest with 58, up from 20 last year!
  2. Govindram Seksaria Science P.U. College, Belgaum (GSS) in India had 49 students.
  3. Technical School Electronic Systems (associated with Technical University- Sofia) in Bulgaria was in the top five for the fifth straight year with 48 students.
  4. Sacred Heart Convent Sr. Secondary School, Jagadhri in India is in the top five again this year with 34 students.
  5. National College "Aurel Vlaicu" Orastie in Romania had 10 students.


Age of StudentsThe graph below shows the age breakdown of this year’s students.

GCI 2014 Student Age.png

Mentors and Organizations

  • 203 dedicated mentors from 40 countries (including six countries with mentors for the first time: Belize, Burma, Cameroon, Kazakhstan, Singapore and Uganda) helped guide students through the contest.
  • In true “pay it forward” style, 10 of this year’s mentors were former Google Code-in students. Great job!
  • The three organizations with the most tasks completed by students were FOSSASIA (587), Haiku (435), and BRL-CAD (383).


Every part of Google Code-in was bigger this year than ever before, but the most important part of the contest is that more students were introduced to open source software as teenagers. Congratulations students on all of your hard work! Thank you mentors and organization administrators for inspiring these young adults to contribute to open source software and welcoming them into your communities.

By Stephanie Taylor, Google Code-in Program Manager
Categories: Open Source

MapReduce for C: Run Native Code in Hadoop

Wed, 02/18/2015 - 19:00
MapReduce for C: Run Native Code in Hadoop

We are pleased to announce the release of MapReduce for C (MR4C), an open source framework that allows you to run native code in Hadoop.

MR4C was originally developed at Skybox Imaging to facilitate large scale satellite image processing and geospatial data science. We found the job tracking and cluster management capabilities of Hadoop well-suited for scalable data handling, but also wanted to leverage the powerful ecosystem of proven image processing libraries developed in C and C++. While many software companies that deal with large datasets have built proprietary systems to execute native code in MapReduce frameworks, MR4C represents a flexible solution in this space for use and development by the open source community.

MR4C.png

MR4C is developed around a few simple concepts that facilitate moving your native code to Hadoop. Algorithms are stored in native shared objects that access data from the local filesystem or any uniform resource identifier (URI), while input/output datasets, runtime parameters, and any external libraries are configured using JavaScript Object Notation (JSON) files. Splitting mappers and allocating resources can be configured with Hadoop YARN based tools or at the cluster level for MRv1.  Workflows of multiple algorithms can be strung together using an automatically generated configuration. There are callbacks in place for logging and progress reporting which you can view using the Hadoop JobTracker interface. Your workflow can be built and tested on a local machine using exactly the same interface employed on the target cluster.

If this sounds interesting to you, get started with our documentation and source code at the MR4C GitHub page.  The goal of this project is to abstract the important details of the MapReduce framework and allow users to focus on developing valuable algorithms. Let us know how we're doing in our Google Group.
By Ty Kennedy-Bowdoin, Skybox team
Categories: Open Source

Google Summer of Code Wrap up: Catrobat

Fri, 02/13/2015 - 18:00
Today’s Google Summer of Code wrap up comes from Stefan Jaindl at the Catrobat Project, creators of the Catrobat visual programming language that makes mobile development accessible to kids.

The Catrobat Project has participated in the last four Google Summer of Code (GSoC) programmes since 2011. During these years, we have built a strong community with local and international students and received valuable contributions to our codebase. This year, we mentored seven students with great projects. We’d like to highlight a few of those projects.

Pocket Code is our Android app for creating and running programs written in Catrobat. Before GSoC 2014, it wasn’t possible to create a standalone APK from a Pocket Code program without some serious hacking. Roland Urbano created Gradle build automation tasks for Pocket Code, extended our Jenkins-CI platform to automatically build standalone APKs, and wrote appropriate tests. Users can now upload a program and request conversion into an APK, and we manually approve these requests and make the automatic conversion. Roland has continued working on the project after the summer and is adding more features.
The ScratchToCatrobat converter is one of our most important undertakings and exists to fill the gap between the well known Scratch system and our Pocket Code project. It empowers kids to run their self-made Scratch projects on their own phone. We had begun development of the converter prior to GSoC 2014, but thanks to Christian Wutte’s GSoC project we’re much closer to a "feature complete" stage. Christian further developed and adapted the converter to support many of our newer Pocket Code bricks (called blocks in Scratch) and formula operators (used in conditional blocks, e.g., if-bricks). The converter is still in alpha and not yet publicly available, but we look forward to sharing it in the future.
One common programming feature which wasn’t supported in the Catrobat language was support for lists. Bernhard Spitzer spent the summer building support into the Pocket Code IDE for creating lists and performing basic operations on them (e.g. add, insert, delete, replace list item). He also added list functions (e.g. number of list-elements, contain certain list-value, returning of a list item) to the Formula Editor. These are now available as bricks which users can add to their Catrobat programs and it brings us closer to feature parity with Scratch.

All seven of our students successfully completed the GSoC 2014 programme and delivered valuable results. We also want to give thanks for the great Google Summer of Code Reunion this year with very interesting unconference sessions, the trip to the Google Campus, the awesome dinner and other happenings such as the evening at the museum. It was definitely a great opportunity to get in touch with other Open Source projects.

By Stefan Jaindl, Catrobat Organization Admin
Categories: Open Source

Mentoring Organization Applications Now Being Accepted for Google Summer of Code 2015!

Mon, 02/09/2015 - 19:50


GoogleSummer_2015logo_horizontal.jpg
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 mentoring organization in the Google Summer of Code program! The organization application period is now open.

Now in its 11th year, Google Summer of Code is a program designed to pair university students from around the world with mentors at open source projects in such varied fields as operating systems, language translations, content management systems, games, and scientific software. Since 2005, over 8,500 students from more than 100 countries have completed the Google Summer of Code program with the support of over 480 mentoring organizations. Students gain exposure to real-world software development while earning a stipend for their work and an opportunity to explore areas related to their academic pursuits during their school break. In return, mentoring organizations have the opportunity to identify and attract new developers to their projects as these students often continue their work with the organizations after Google Summer of Code concludes.

The deadline for applying to be a mentoring organization for Google Summer of Code is Friday, February 20 at 19:00 UTC (11am PST). The list of accepted organizations will be posted on the Google Summer of Code site on Monday, March 2nd. Students will then have two weeks to reach out to the accepted organizations to discuss their project ideas before we begin accepting student applications on March 16th.

Please visit our Frequently Asked Questions page for more details on the program. For more information you can check out the Mentor Manual, timeline and join the discussion group. You can also check out the Melange Manual for more information on using the website. Good luck to all of our mentoring organization applicants!

By Carol Smith, Open Source Team
Categories: Open Source

Google Summer of Code Wrap up: Processing

Fri, 02/06/2015 - 18:00
Today’s Google Summer of Code (GSoC) wrap up comes from Daniel Shiffman at the Processing Foundation, the organization responsible for the Processing programming language used in many visual arts applications.

Processing is a programming language and development environment specifically tailored to the needs of visual thinkers and artists. Tens of thousands of people use Processing (often called “p5” for short) for design, performance, animation, cinema, and more. It’s also used in several computer science curriculums for its appeal to visually-oriented learners.
We participated in Google Summer of Code (GSoC) for the fourth time in 2014. The students working with us completed eleven projects, many of which are in active use by the Processing community while others will be part of the upcoming Processing 3.0 release. We’ll highlight just a few of these projects below, but we’re grateful to all the students who took part in GSoC with us.
PDE X for Processing 3.0 (Manindra Moharana)
PDE X is a Processing mode that introduces advanced IDE features like code completion, refactoring, live error checking, debugger and more. Manindra helped bring PDE X to a stable state, allowing it to become the default editor in Processing 3.0. Over 30 bugs were fixed as part of this effort. Manindra also added a few new features, including precise error highlighting using the Wagner-Fischer algorithm, manual control over code completion using Ctrl+Space, and a tab outline popup window.

p5.sound addon for p5.js (Jason Sigal)
Jason created the p5.sound addon for the p5.js library to bring the Processing approach to Web Audio. Its functionality includes audio input, playback, manipulation, effects, recording, analysis, and synthesis. Jason also wrote methods for file input / output and ported Processing's Table / TableRow classes to p5.js.

Contributions Manager for the PDE (Joel Moniz)
The Contributions Manager lets users easily install, remove, and update community-developed extensions from within the PDE (Processing Development Environment). Joel’s work this summer introduced new features to the Contributions Manager, such as the addition, removal and update of Tools and Modes without a restart, a new "examples-package"-type contribution, and highlighting contributions.

Sound for Processing 3.0 (Wilm Thoben)
Wilm began work on a lightweight sound library for Processing in late 2013 and improved on it during GSoC 2014 by adding new features, fixing bugs, and introducing cross-platform support. Sound is built on top of methcla, a C++ sound engine with native bindings for low latency support. Sound provides a collection of sound-synthesis objects, analyzers and effects.

by Daniel Shiffman, Processing Foundation
Categories: Open Source

Orgs Get Ready: Preparing for GSoC 2015 with Freifunk

Tue, 02/03/2015 - 18:00
We’re getting ready for Google Summer of Code 2015 and the first step is selecting the mentoring organizations that will take part. Organization applications will open next week on Feb 9th, so we encourage you to think about how your open source project could benefit from participation. Today, we welcome GSoC veteran Federico Capoano from Freifunk to share his enthusiasm with other orgs.


It may be the middle of winter in the northern hemisphere, but we at Freifunk are already fired up about the summer. Organization applications for Google Summer of Code (GSoC) 2015 will open soon, and we’ve been urging other open source projects to take part. We’ve participated in GSoC six times, but last year left us with a new level of passion and enthusiasm for the FOSS movement.
Freifunk is a decentralized organization which is building community networks in Germany. Community networks bring a FOSS-inspired approach to the computing networks we use every day: an open network built, owned and managed by private citizens who decide how they use it and which services to run on it. Our community has been participating in GSoC with other communities like Guifi (Catalunya and Spain), Ninux (Italy), and Wlan Slovenia (Slovenia). Together we are making great strides toward the realization of our dream networks.
In GSoC 2014, we had eight successful projects completed by students and mentors from many different parts of the world: Europe, South America and Asia. We don't think about it so often since our contributors are so busy and concentrated on their own projects, but I think it’s amazing that we had volunteers from all over the globe collaborating on open source software applied to open networks!
After the summer, I had the opportunity to attend the GSoC 2014 Tenth Year Reunion which was an incredible experience. I met my Freifunk friends and so many other talented and skilled people working in the FOSS field with many famous organizations from all over the world! Suddenly, I was overwhelmed with a feeling of excitement and enthusiasm!
We had a chance to meet the people of Google Open Source (Chris DiBona, Carol Smith, Cat Allman and Stephanie Taylor) and had the honour of meeting Linus Torvalds, Alfred Spector, Peter Norvig and Dirk Hohndel. Their talks at the event were incredibly inspiring and encouraging. The unconference sessions were very educational and we had an opportunity to discuss improving our GSoC experiences and even the program itself.
It’s difficult for me to describe the whole Reunion experience in words alone, but I can tell you something that might be valuable for you too: this experience ENFLAMED me. If there is something vital to the FOSS movement, it’s enthusiasm. Without enthusiasm and excitement, we wouldn't go anywhere. Coming home to Europe afterward, we brought all that excitement from our community back with us.
Since then, we’ve been conveying our experience to our friends and motivating people to start new exciting projects and prepare for 2015. I personally talked about GSoC and the #reunion14 at:
  • Ninux.org meetups and mailing lists
  • Roma JS (Javascript devs meetup in Rome)
  • PyRoma (Python devs meetup in Rome)
  • Cineca, an IT consortium for universities that also works with FOSS (the place where I work)
  • Fablab Roma Makers

We’ll also be attending several events this year if you’d like to meet up with us: FOSSASIA (Singapore, March 2015), Wireless Community Weekend (Germany, May 2015), OpenTech Summit (Germany, May 2015), Wireless Battle of the Mesh v8 (Slovenia, August 2015), and Chaos Communication Camp (Germany, August 2015).
Similarly, my German friends have talked and written a lot about our last GSoC experience in the different Freifunk meetups, mailing lists, and the main Freifunk blog.
I would like to use this opportunity to encourage everyone in the FOSS community to participate in Google Summer of Code in 2015 because we all need enthusiasm and excitement in our communities. What are you waiting for? Participate and make the best out of it, you won't regret it.
by Federico Capoano, Freifunk mentor
Categories: Open Source

Google Code-in 2014: Welcome to the Winners Circle

Mon, 02/02/2015 - 20:00
GCI-2014-b-square.jpg
The time has finally come to announce the Google Code-in 2014 Finalists and Grand Prize Winners. With 658 students completing a whopping 3,236 tasks in the seven week open source contest, this was the largest and most exciting contest to date. Students wrote code, added features to software, fixed bugs, created documentation, designed logos, and found fun new ways to introduce other students to open source software development. The quality of the work the teens submitted was as inspiring as it was impressive.

A big congratulations to all of the students who participated in this year’s contest! We hope you enjoyed learning more about the open source organizations you worked with and will continue contributing to open source in the years to come.

Mentors and Organization Administrators from each of the 12 organizations that students worked with evaluated the comprehensive body of work of the ten students who completed the most tasks with their organization. They had a very difficult time choosing only 2 Grand Prize Winners and 3 Finalists for their organizations.

The 24 Grand Prize Winners are listed below alphabetically by first name with their home country and the organization they worked with during the Google Code-in 2014 contest.

Aleksandar Ivanov, Bulgaria - Mifos InitiativeAnurag Sharma, India - Sahana Software FoundationChaitya Shah, United States - OpenMRSDanny Wu, Australia - Wikimedia FoundationDariel Kremov, Bulgaria - Copyleft Games GroupGetulio Sanchez, Paraguay - DrupalIgnacio Rodríguez, Uruguay - Sugar LabsIlya Kowalewski, Ukraine - KDEJosef Gajdůšek, Czech Republic - HaikuMarc Tannous, Romania - BRL-CADMariusz Obajtek, Poland - Mifos InitiativeMateusz Maćkowski, Poland - Wikimedia Foundation Michal Proszek, Poland - Copyleft Games GroupMikhail Ivchenko, Russian Federation - KDENamanyay Goel, India - FOSSASIAParker Erway, United States - OpenMRSPeter Amidon, United States - BRL-CADPuck Meerburg, Netherlands - HaikuSam Parkinson, Australia - Sugar LabsSamarjeet Singh, India - FOSSASIASamsruti Dash, India - Sahana Software FoundationStanislav Kryvenko, Ukraine - ApertiumSushain Cherivirala, United States - ApertiumTasya Rukmana, Indonesia - Drupal

The 24 Grand Prize Winners will be flown to Google’s Mountain View, California headquarters along with a parent or guardian in early June for a four night stay. Students will talk with Google engineers, take part in an awards ceremony, enjoy time exploring San Francisco and make new friends also interested in technology and open source. One mentor from each organization will also join in the fun of the grand prize trip, giving both students and mentors the opportunity to meet in person and exchange ideas on open source development.



The 36 Finalists for Google Code-in 2014 are listed below. The Finalists will all be receiving a Google Code-in hooded sweatshirt along with their Google Code-in t-shirt and certificate.

ApertiumBRL-CADCopyleft GamesJoonas KylmalaAditya GulatiJakub KuleszewiczOlexiy SavenkovSidorenko NikolaySamuel KimVignesh VaradarajanYash MockoulTobias ShapinskyDrupalFOSSASIAHaikuAkshay KaloseAlvis WongAugustin CavalierIlkin MusaevAmr RamadanChirayu DesaiMark KleinTymon RadzikMarkus HimmelKDEMifos InitiativeOpenMRSDaniel PastushchakKevin KuoEvgeny ShulginNuno HultbergMohammed NafeesImran TatrievSergey PopovSanjay RavindraUngku Zoe Anysa FaizSahanaSugar LabsWikimediaDavid GreydanusCristian GarciaEvan McIntireSai VineetDaksh ShahGeoffrey MonVipul SharmaJae Eun ParkPranav Kumar

A huge thanks to all of the students, mentors, and organization administrators that made Google Code-in 2014 amazing!  And a big thank you to the teachers, parents and friends that helped encourage students to participate in the contest.

We will have more posts in the coming weeks with statistics about Google Code-in 2014 as well as writeups from this year’s Grand Prize Winners.

Great job everyone!
By Stephanie Taylor, Google Code-in Program Manager
Categories: Open Source

Google Summer of Code Wrap up: appleseed

Fri, 01/30/2015 - 18:00
Today’s Google Summer of Code (GSoC) wrap up comes from François Beaune at appleseed HQ, a team of rendering engineers and visual effects professionals creating free and open software for producing impressive computer graphics and animation.appleseed-seeds-512.pngappleseed is a modern rendering engine designed to produce photorealistic images, animations and visual effects. Our first stable release (coming later this year) will provide individuals and small studios with an efficient, reliable suite of tools built on modern foundations and featuring industry-standard open source technologies such as OpenEXR or Open Shading Language.We began work on appleseed in May 2009 and it has proven stable and robust enough to render Fetch, a well-received short film, as well as the computer graphics for two BBC Four documentaries aired in 2014: Light and Dark and Bright Lights, Brilliant Minds: A Tale of Three Cities.We participated in Google Summer of Code (GSoC) for the first time in 2014. Two students worked with us to implement important new features.Project 1: Curve RenderingOur first student, Srinath Ravichandran, added support for curve primitives to appleseed which can be used to efficiently render hair and fur. Since scenes with hair or fur often contain millions of curves, memory footprint and rendering performance were the two major challenges with this project. Curve rendering is a vast topic, so Srinath decided to focus on the storage and intersection aspects. We thought this would be the ideal starting point for a project that could extend well beyond the summer.Our project proposal suggested an efficient algorithm for direct, tessellation-free intersection of Bézier curves that we thought was promising. After studying the research paper on which it was based, Srinath implemented and integrated it into appleseed’s rendering pipeline. Working closely with his mentor, he made steady progress throughout the summer and merged his code into the main repository on a regular basis.project1.pngProject 2: New Material Editorappleseed comes with a graphical tool, appleseed.studio, which allows users to inspect and tweak scenes during interactive rendering. appleseed.studio is a cross-platform application written in C++ using the Qt toolkit.Our second student, Marius Avram, chose to develop a new material editor for appleseed.studio that would let artists create realistic materials quickly and adjust them through intuitive parameters and instant visual feedback.Beneath the surface, the new material editor would create materials based on a new surface reflection model developed by Disney Animation Studios and recently implemented into appleseed.This project presented two main challenges. First, the new material model, based on individual layers, required development of an elaborate user interface. Second, the material editor had to be hooked into appleseed.studio’s entity editor to benefit from existing functionalities such as live editing during rendering.Marius also completed his project successfully. We again made sure to merge his code often to give him and other members of the community a sense of achievement and progress.appleseed.studio-1.1.0-alpha-24.png
We consider our participation in GSoC 2014 a success. It required significant efforts from both students and mentors, but the end result was two major new features and great progress towards the first stable release of appleseed.Rather than merging the code into the main repository at the end of the summer, doing it regularly proved a significant morale boost to the students. It also exposed problems early and allowed us to gather feedback and ideas from contributors that weren’t involved with GSoC.We are now looking forward to next summer. We have many interesting project ideas for students interested in computer graphics or high performance software!
by François “Franz” Beaune, appleseed founder and organization administrator
Categories: Open Source

Kythe: a new approach to making developer tools

Tue, 01/27/2015 - 18:00
Building development tools that support multiple programming languages can be a real grind. Doing it well takes a lot of work, and historically each tool has done it largely from scratch for each language it supports. It would be far easier if that hard work could be done just once in a reusable fashion that any tool can make use of. That’s the idea behind the Kythe project: by using a common structured format to represent source code in varied programming languages, Kythe-enabled tools are able to work with code in any supported language. Support for new languages can be plugged in as needed.

The name Kythe means "to make visible", specifically, making the structure of your code visible. It's early days and we've just opened up our project to the community, but we aim to build up a community of developers around these ideas. We've had a lot of experience building and maintaining similar cross-language tools inside Google and now we want to share the benefits of those tools with software developers beyond Google.

Kythe is open source and currently supports source code written in C++ and Java. (Support for Go is in progress.) It also includes a proof-of-concept source code browser that demonstrates how the pieces fit together. We have documentation available and invite you to join our mailing list for questions and discussions.

There's much more work to do and we look forward to evolving Kythe with the open source community's help.

by James Dennett, Kythe Team
Categories: Open Source

Kicking off 2015 at FOSDEM

Mon, 01/26/2015 - 18:00
2014 was a monumental year for all of us in the Google Open Source Programs Office as we celebrated the 10th instance of Google Summer of Code and the fifth year of Google Code-in. As we start 2015, we are excited to continue spreading the word about open source.
One of the highlights for our team in 2014 was our February trip to FOSDEM where we had a table dedicated to our Google Summer of Code and Google Code-in programs. We are thrilled to be back this year for FOSDEM 2015 held on January 31-February 1 in Brussels at Université libre de Bruxelles. We look forward to chatting again with some of the expected 5,000+ attendees at this energetic, free to the public conference. Having the opportunity to talk face to face with some of the thousands of former students, mentors, and organization administrators about their experiences with the program and seeing the difference the programs make in people’s lives and careers is a true reward for our team. And if that wasn’t fun enough, we also have the opportunity to spread the word about our programs to hundreds of interested students and teachers by chatting with them one on one at our table.
Googlers will be speaking during the conference at the sessions below:
Saturday, January 3113:00   Brad Nelson, X11 on the Web:Using Native Client to run X11 applications in the Browser16:00   Jeremy Allison, Why Samba moved to GPLv3: Why we moved, what we gained, what we lost16:00   Pete Williamson, Emacs and Elisp on the Chromebook
Sunday, February 1On Sunday there will be a Go Developer room from 9:50 - 16:30 with talks including a couple from Googlers.12:15   Brad Fitzpatrick, HTTP/2 for Go: Overview of HTTP/2 and the design of Go’s support for it 13:50   Ben Smith,  Desktop Software on the Web: Bringing FOSS Desktop Software to the Browser15:30   Andrew Gerrand, Go Lightning Talks: The Go community on Go15:50  Brad Nelson, LLVM on the Web: Using Portable Native Client to run Clang/LLVM in the Browser

If you are attending FOSDEM, be sure to stop by our table and say hi!
By Stephanie Taylor, Open Source Programs Office
Categories: Open Source

Google Summer of Code Wrap up: SciRuby

Fri, 01/23/2015 - 18:00
Today’s Google Summer of Code (GSoC) wrap-up comes from John Woods at the SciRuby Project, an open source collection of scientific libraries for Ruby coders.

The SciRuby Project aims to provide Ruby with scientific capabilities similar to what the wonderful NumPy and SciPy libraries bring to Python. Our goal is to provide a complete suite of statistical, numerical, and visualization software tools for scientific computing. This was our second year participating in Google Summer of Code and four students worked with us over the summer.
Rajat Kapoor worked to flesh out Claudio Bustos' numerical Integration and Minimization gems. Integration now includes thirteen different quadrature algorithms (among them Gauss–Kronrod, Simpson's three-eighths method, Milne's method, Boole's quadrature, and open trapezoid). He also implemented a series of unidimensional optimization methods in Minimization (including Newton–Raphson, golden section, Brent, and quad golden), most of which can also make use of Ruby/GSL for faster execution.
Lahiru Lasandun also contributed to the Integration and Minimization gems. He focused on multidimensional optimization/minimization algorithms, implementing Powell's method, Nelder–Mead, and conjugate gradient. Lahiru also experimented with OpenCL framework support for parallel execution of integration tasks. This strategy works particularly well for large computations.
Magdalen Berns created a Ruby wrapper for FFTW3 (a fast Fourier transform library) with a focus on implementing support for transforms on NMatrix objects. This gem was written almost from scratch in the C and Ruby languages.
Naoki Nishida created Nyaplot, a clever interactive plotting client–server library that is compatible with IRuby. He continues to work on Nyaplot, which has already spawned additional open source software components: extensions for map visualization (Mapnya), circular plots (Bionya), 3D visualizations (Nyaplot3D), and a dataframe library (Daru).
SciRuby is immensely grateful for the opportunity to participate in Google Summer of Code for a second year. We thank our students, mentors, and other contributors for working to develop scientific computing infrastructure in the Ruby language, and we thank Google's Open Source Programs Office for its support.
By John Woods, Director of the Ruby Science Foundation (SciRuby)
Categories: Open Source

Format code the easy way with the codefmt plugins for Vim

Thu, 01/22/2015 - 23:45

There are several wars in the world of programming that never die. Emacs vs Vim. Cuddled vs Non-Cuddled Braces. Tabs vs Spaces. Today we settle all of them… if you’re a Vim user. Google is pleased to release codefmt, a set of open-source plugins for automatically indenting your code in Vim. The default plugin provides support for C++, JavaScript, and Protocol Buffers via clang-format and for Go via gofmt. Additional languages are trivial to add by using codefmtlib to register them. Try it out and enjoy the freedom of never having to manually reflow your argument lists again.
by Matt Kulukundis, Search Infrastructure Team
Categories: Open Source

Google Code-in 2014: all wrapped up

Mon, 01/19/2015 - 18:40
GCI-2014-b-square.pngGoogle Code-in 2014 (GCI) is in the books! This has been an exciting year for GCI: we celebrated the fifth anniversary of the contest and experienced our largest student participation to date.
Congratulations to all of the students who had their first experience with open source software development during GCI 2014. Over the last seven weeks, 667* students from 54 countries completed 3,260* tasks in the contest.
We had 12 open source organizations dedicated to teaching teens about open source and their communities participate this year. These organizations created almost 4,000 tasks for students to choose from in the following categories: coding, user interface, documentation, training, research, outreach, and quality assurance. Some of the tasks students completed in the contest include: writing small pieces of code, creating tutorials, redesigning landing pages, optimizing social media accounts, creating new plugins, finding and fixing bugs, creating webcasts on accessibility testing, and building test cases.
GCI gives students the opportunity to put the skills they have been learning in the classroom to use on real software projects while also learning how to communicate effectively with people from all around the world by participating in these open source communities. The collaboration aspect of GCI is the key to the success of the program and the real benefit to the students. During the course of the contest, they learn that open source software projects are a true team effort and there are many ways that you can contribute to a community.
Stay tuned: we will announce the 24 Grand Prize Winners for the GCI 2014 contest here on February 2nd. Currently the mentors are busy reviewing the final work submitted by students, and then each of the 12 organizations will decide on their five finalists (who will all receive a special finalist sweatshirt). Of those five finalists, two students will be named the Grand Prize winners for each organization. Each Grand Prize winner and a parent will receive a 4 day trip to Google’s California headquarters this June where they will meet Google engineers, take part in an awards ceremony, and enjoy a fun-filled day of adventure in San Francisco.
GCI would not be possible without the heart of the program: the GCI mentors and organization administrators. These mentors and org admins spend countless hours creating and reviewing hundreds of tasks while also teaching students about all facets of open source development: community standards, new and exciting technologies, code reviews, version control systems, IRC, and everything in between. They are volunteers who are passionate about introducing teens to their open source communities and their reward is seeing the light go on in a student when they become excited about open source software development. A HUGE thank you to all of these mentors and org admins who make this program a success!
In the coming weeks we will share some statistics from this year’s program as well as posts about some of the extraordinary work students completed during Google Code-in 2014.
Congratulations Students, Mentors, and Organization Administrators on a job well done!
* The final evaluations are currently being graded; these numbers could increase in the next few days.
By Stephanie Taylor, Google Code-in Program Manager
Categories: Open Source

Google Summer of Code Wrap up: Sigmah

Fri, 01/16/2015 - 18:00
Today’s Google Summer of Code (GSoC) wrap-up comes from Olivier Sarrat at Sigmah, an open source project producing a web app to help humanitarian aid organizations manage their projects.
sigmah.png

Sigmah is an initiative led by 12 NGOs to develop open source project management software for the international aid sector. It is a Java web application developed with GWT. This summer, three GSoC students from Brazil, India, and Romania implemented high-priority features which will soon be available in our Sigmah 2.0 release.

Renato Almeida worked on making Sigmah more flexible. In version 1.2, project model parameters couldn’t be changed if the model had already been used to create a project, but thanks to Renato’s work, this will soon be possible. For example, an organization could begin requiring its teams to attach the Terms of Reference to the initial assessment field visit, and this could be applied to all ongoing projects that have not yet completed the initial assessment phase. This allows organizations to react faster to feedback from team members and amend software parameters accordingly.

S.P. Mohanty, who has been working with Sigmah via GSoC since 2012, has improved Sigmah’s file transfer mechanism so that interrupted uploads can be resumed at a later time. This means it will no longer be necessary to wait and retry several times when sending a large file over an unreliable network connection. Mohanty’s work has also been re-used in the development of the offline mode.

Finally, Lucia Madalina Cojocaru’s work focused on a specific aspect of collecting indicators used to determine if a humanitarian project’s goals are being met: the management of data collection sites and project location. She also added the ability to use OpenStreetMap (OSM) in addition to the existing support for Google Maps. For humanitarian organizations, OSM collaborative maps can sometimes be more up-to-date and precise in the immediate aftermath of a crisis. Lucia also established the technical foundations so that in the future it will be possible to export data in Humanitarian eXchange Language (HXL), a standard from the OCHA (UN Office for Coordination of Humanitarian Affairs) which aims to improve coordination within the sector.

hbjcefei.png
By Olivier Sarrat, Sigmah Organization Administrator
Categories: Open Source

Google Summer of Code Wrap up: OWASP

Fri, 01/09/2015 - 18:00
This week’s Google Summer of Code (GSoC) wrap up comes from Fabio Cerullo at The Open Web Application Security Project (OWASP), a charitable organization improving software security across the web.

At OWASP, we were thrilled to be part of GSoC for our third consecutive year. Our interaction with students and universities across the world has skyrocketed since we began participating in the program. In 2014, we received more than 90 proposals. We were able to accept 16 students who worked on a diverse range of application security projects. Below, we highlight a few of these.
Seraphimdroid: Before GSoC, SeraphimDroid was a research project aimed at educating end users about risks and threats coming from other Android applications and we had not given much thought to its interface. Furquan Ahmed implemented a modern user interface which is nicely integrated with existing features. Also, Furquan proposed and implemented several new features like alarming, an application locker, and geo-fencing. His work is now part of the latest release.

OWTF: The OWASP OWTF (Offensive Web Testing Framework) project began by applying chess-playing techniques to penetration testing (“pentesting”). We hoped this would help address the problem of pentesters rarely having adequate time to test systems. Several GSoC students this summer wrote code for new features included in our 1.0 Lionheart release. Tao Sauvage implemented Automated Rankings which helps users identify more serious vulnerabilities. Anirudh Anand developed a passive online scanner with flexible mapping and a templating engine. Deep Shah integrated OWTF with Mozilla Zest support and OWASP ZAP. Marios Kourtesis developed a Web Application Firewall (WAF) bypasser. Finally, Viyat Bhalodia improved the stateful browsing and session management of the tool.There’s more information (including videos) about all the new features on the official release page.
Hackademics: The OWASP Hackademic Challenges project allows users to learn more about pentesting through simulated attacks in a safe and controllable environment.  One of the students, Bhanudev Chaluvadi, wrote 20 new challenges covering a range of topics such as buffer overflows, injection attacks, regex bypasses, brute forcing, and some cryptography breaking. He also improved almost all the existing challenges. Another student, Paul Chaignon, wrote 17 new challenges covering the OWASP Top Ten vulnerabilities and created a score calculator. Last but not least, Subhayan RoyMoulick created 9 intermediate-level cryptography challenges which include common attacks on RSA implementation vulnerabilities, frequency analysis, man in the middle, and one time pad attacks. All the students were actively participating in the community proposing solutions to known problems or finding bugs we missed (and often fixing them).
CSRF Protector: This year, GSoC allowed OWASP to create a new project to address Cross-Site Request Forgery attacks: CSRF Protector. Minhaz A V proposed the project and implemented it as a PHP library and an Apache HTTPD module. CSRF Protector complements OWASP’s preexisting CSRFGuard for Java web applications and greatly expands the types of projects OWASP can help protect from CSRF vulnerabilities.
GSoC is a great program that benefits students, open source projects, and mentors. It also helps the industry by giving students the opportunity to work on real world problems with highly experienced professionals. For many students, this will be the starting point for successful careers in the computer industry. I would like to invite all students interested in open source and application security to get involved with OWASP projects and subscribe to our OWASP GSOC mailing list.
By Fabio Cerullo, OWASP Organization Administrator
Categories: Open Source