Posts from March 2013

Taking a stand on open source and patents

Thursday, March 28, 2013

At Google we believe that open systems win. Open-source software has been at the root of many innovations in cloud computing, the mobile web, and the Internet generally. And while open platforms have faced growing patent attacks, requiring companies to defensively acquire ever more patents, we remain committed to an open Internet—one that protects real innovation and continues to deliver great products and services.

Today, we’re taking another step towards that goal by announcing the Open Patent Non-Assertion (OPN) Pledge: we pledge not to sue any user, distributor or developer of open-source software on specified patents, unless first attacked.

We’ve begun by identifying 10 patents relating to MapReduce, a computing model for processing large data sets first developed at Google—open-source versions of which are now widely used. Over time, we intend to expand the set of Google’s patents covered by the pledge to other technologies.

We hope the OPN Pledge will serve as a model for the industry, and we’re encouraging other patent holders to adopt the pledge or a similar initiative. We believe it has a number of advantages:

  • Transparency. Patent holders determine exactly which patents and related technologies they wish to pledge, offering developers and the public transparency around patent rights.
  • Breadth. Protections under the OPN Pledge are not confined to a specific project or open- source copyright license. (Google contributes a lot of code under such licenses, like the Apache or GNU GPL licenses, but their patent protections are limited.) The OPN Pledge, by contrast, applies to any open-source software—past, present or future—that might rely on the pledged patents.
  • Defensive protection. The Pledge may be terminated, but only if a party brings a patent suit against Google products or services, or is directly profiting from such litigation.
  • Durability. The Pledge remains in force for the life of the patents, even if we transfer them.

Our pledge builds on past efforts by companies like IBM and Red Hat and the work of the Open Invention Network (of which Google is a member). It also complements our efforts on cooperative licensing, where we’re working with like-minded companies to develop patent agreements that would cut down on lawsuits.

And, in addition to these industry-driven initiatives, we continue to support patent reforms that would improve patent quality and reduce excessive litigation.

We hope the OPN Pledge will provide a model for companies looking to put their own patents into the service of open-source software, which continues to enable amazing innovation.

By Duane Valz, Senior Patent Counsel

Google Summer of Code Meetups, Episode 3: MIET, Meerut, India

Tuesday, March 26, 2013

We held an information session on Google Summer of Code at Meerut Institute of Engineering and Technology (MIET),  in Meerut, India on 18th March 2013. The event was organized by Computer Association (Compass), a joint society of the Computer Science and Information Technology Department at MIET. This is the first event ever held about  Google Summer of Code in Meerut. We had an overwhelming response with well over 250 enthusiasts for the session including quite a few faculty members.

2012 Google Summer of Code alumni, Naman Gupta, took the stage and gave a brief introduction on the Google Summer of Code program. The session started with some open source fundamentals and Naman talking about a couple of open source organizations including Crystal Space and KDE that had participated in the program in previous years. He discussed some of the benefits of the Google Summer of Code, giving examples of a few previous students and encouraging students who were afraid of coding but were still interested in the program. Next Naman described version control and gave tips on how to write good code. Naman reinforced that anyone could apply for Google Summer of Code as there are mentoring organizations from a wide range of fields. Naman highlighted the important dates and URL links for the program, some statistics, how to apply, and tips on writing project proposals for the Google Summer of Code.

In the Q&A session most of the students were worried about the difficulty level of the work. Naman responded to this question by telling the students that the work would be difficult but there would be mentors to help them out along the way. He also mentioned some of the challenges that he had faced and how he tackled them during last year’s program.

At the end of the session we gave away Google open source items making students very happy. The event was a great success and we hope to see more students from Meerut in the Google Summer of Code program.

By Udit Saini, Compass Board member

Stay tuned for our next Google Summer of Code meetup post next week. Open source organizations are applying to be mentoring organizations for this year’s program now through Friday, March 29th. Participating organizations will be announced on the program site on April 8th.

Wrapping up our summer, times 4

Friday, March 22, 2013

We are currently in the beginning stages of the Google Summer of Code 2013 program so to inspire you students out there we have a selection of short wrapup posts by four of our mentoring organizations discussing students’ highlights from the 2012 program.

I am at a loss for words for what our Google Summer of Code students accomplished last summer with Hedgewars, a turn based strategy, artillery, action and comedy game. We started the summer off with a bang when we decided on five brilliant projects. We had a really hard time picking the best projects from some very good ideas that were submitted. We had some doubts about timing and the deliverability but we accepted the risk and provided safe snorkeling masks and air tubes before the students dove into the code. 
Four projects were successfully completed and it's showcase time:
Android netplay by Simeon Maxein
Lots of GUI and API design involved with code portability issues and many days of protocol analysis, this will help unify our configuration handling across our many platforms.
A new campaign by Szabolcs Orbàn
An essential feature to have, coding skills as well as storyline write down, maybe it's the last milestone before 1.0.
Video Output Tool by Stepan Podoskin
Replay showcasting, with a neat YouTube uploader. A lot of new dependencies were added and it will be interesting to see how the community uses this.
WebGL port by Meng Xiangyun
The Pandora's Box of coding, with an eye-candy demo. There is still a long way to go before this task is done but the premise looks really exciting. 
Any amount of words would not do enough justice to the passion and dedication brought by all people involved, students and mentors, for Google Summer of Code and Hedgewars. I am really glad that we were allowed to join such an exciting program and that we were able to meet amazing people in the course. Yay for open source, games and everything in between! 
By Vittorio Giovara, Hedgewars Organization Administrator
GNSS-SDR is an open source Global Navigation Satellite Systems software defined receiver. Luis Esteve worked on the development of acquisition and tracking modules for Galileo satellites' signals. At the time the Google Summer of Code 2012 started, GNSS-SDR was a GPS-only software receiver. By the end of the summer, it was able to acquire and track real-life signals from the first two Galileo space vehicles already in orbit, and it is prepared for the whole constellation of 30 satellites expected by the end of this decade. To the best of our knowledge, this is the first report on a positive acquisition of a true Galileo signal by an open source software receiver. The resulting developments will help researchers around the world in the rapid prototyping of new hybrid GPS/Galileo receivers able to provide user's position with unforeseen levels of accuracy, reliability and coverage, taking full advantage of the just born European global navigation satellite system. 
By Carles Fernández-Prades, Google Summer of Code GNSS-SDR Organization Administrator
Participation of the OpenICC group in the Google Summer of Code 2012 program was a great success this year. All three projects reached their respective goals, below is a small summary:
Colour Management for Krita Printing
Joseph Simon worked on adaptation and integration of his previous year’s implementation for colour managed printing into Krita/Linux. The workflow is based on ICC profile injection into PDF through the means of an OutputIntent.
KWin Colour Correction
Casian Andrei’s KWin changes for ICC style colour correction in the GPU are reviewed upstream and his new code to the KolorManager code base is awaiting approval. The concept follows the X Color Management spec. In contrast to the elder CompICC implementation the KWin result is highly modular and thus very flexible.
Simple Toolkit Abstraction
Nitin Chadas’ SimpleUI project for rendering a subset of XForms was written from the ground up and provides new backends for FLTK, Gtk and Qt.
Thanks to Google for providing the colour management and graphics community again a great chance to code and learn the open source way. 
By Kai-Uwe Behrmann, OpenICC Organization Administrator 
biographer is a web-based visualization tool for biological networks that helps depict and analyze metabolic, signaling and regulatory networks in cells which is mandatory for the understanding of complex diseases including cancer. Our team was very excited to participate in the Google Summer of Code once again.  
We chose three bright students from twenty excellent applicants. Our students came onboard with most of the necessary skills for their tasks which was very exciting. It turned out that they were also among the most active students in our forum during the application phase.  
◦ A data storage and conversion layer was implemented by Duan Lian which enables us to connect to the graph notation language SBGN-ML. This interoperability is important in order to establish biographer as a new application for biologists.         
◦ Taye Adeyemi improved the user interface with respect to graph manipulation, traversal and performance. Now graphs can be viewed and manipulated on mobile devices through touch gestures. Furthermore, the improved performance enables rendering of larger graphs which was a problem with the previous implementation.           
◦ Chaitanya Talnikar implemented a Boolean simulator extension which enables us to analyze functional aspects of the networks. 
To sum it up: this year's Google Summer of Code was again an exciting experience and helped to evolve our project.  
By Thomas, Falko, Ben, Till, Matthias, on behalf of the biographer team 
These are just four of the 180 organizations that participated in the 2012 Google Summer of Code program. We’re currently accepting organization applications from open source projects to be mentoring organizations in 2013. If your project is interested in applying, don’t delay! Applications close on March 29th.

By Stephanie Taylor, Open Source Team

Google Summer of Code Meetups, Episode 2: Chattanooga, TN, USA

Wednesday, March 20, 2013

Joel Sherrill, a Google Summer of Code Mentor for the past five years, recently held an informational meet-up on RTEMS and Google Summer of Code, his account of the meetup is below.

UTC IEEE CS Presentation 
The University of Tennessee at Chattanooga IEEE-CS student chapter hosted presentations on RTEMS and the Google Summer of Code 2013. About twenty-five people were in attendance including two faculty members.  
As students entered the room they were greeted with a montage of pictures of some of the projects that use RTEMS including the BMW Superbike, Curiosity, Herschel, Milkymist, Solar Dynamic Observatory, and MMS. There were plenty of questions about the projects, the hardware they used, and how they used RTEMS.   
The Google Summer of Code information session started with the official Google Summer of Code slides. It is important to emphasize that all types of FLOSS (Free/Libre/Open Source Software) projects are represented in Google Summer of Code and that all of the organizations are interested in student participation. Being an effective Google Summer of Code organization requires us to provide wish lists, mentors, regular interaction with students, friendly communities, etc. It is important for students to find an organization and project that they are interested in and that inspires them. 
Next came the RTEMS specific presentation which very briefly introduces RTEMS but focuses more on recent activities, ongoing activities, and our wish list. It highlights areas in which we want improvements to occur. This is not limited to just source code -- we want improvements in our software development processes and supporting tools as well. I ended the RTEMS part of the session by reminding them that even though I would love to see them all as RTEMS contributors, I would be equally happy to see them involved in the FLOSS community on any project. We are a collection of organizations but do have common goals. 
There were questions on both Google Summer of Code in general and RTEMS. The Google Summer of Code questions were interesting: 
One student asked where Google Summer of Code work occurred. The FAQ addresses this and the answer is that the work is performed online, so wherever the student is. 
There were multiple questions on how the mentoring worked. I tried to explain how we interacted with the students including during the proposal phase following through to design discussions, implementation challenges, testing and documentation. 
One student was interested in what mechanisms were used to communicate with the mentors. I described how communication was very rarely face to face because students were usually not in the same location (or even same timezone) as their mentor. The exact mix of communication varies by organization but they could expect any combination of IRC, email lists, chat, forums, and video conferencing. For example, RTEMS relies primarily on email lists, IRC and chat although we are experimenting with Google Hangouts for developer meetings. 
Good luck to all of the students applying for Google Summer of Code 2013! 
By Joel Sherrill, Google Summer of Code RTEMS Mentor and Organization Administrator
Stay tuned for our next Google Summer of Code meetup post next week. Open source organizations are applying to be mentoring organizations for this year’s program now through Friday, March 29th. You can visit the program timeline for important upcoming dates.

By Stephanie Taylor, Open Source Team

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

Monday, March 18, 2013

Interested in finding bright, enthusiastic new contributors to your open source project? Apply to be a mentoring organization in the Google Summer of Code program! We are excited to announce the organization application period is now open.

Now in its ninth 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 academic research, language translations, content management systems, games, and operating systems. Since 2005, over 6,000 students from 90 countries have completed the Google Summer of Code program with the support of over 350 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, thus “flipping bits, not burgers” 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.

This year we are again encouraging experienced Google Summer of Code mentoring organizations to refer newer, smaller organizations they think could benefit from the program to apply. We hope the referral program will again bring many more new organizations to the Google Summer of Code program. Last year 47 new organizations participated.

The deadline for applying to be a mentoring organization for Google Summer of Code is Friday, March 29th at 19:00 UTC (12pm PST). The list of accepted organizations will be posted on the Google Summer of Code site on Monday, April 8th. Students will then have 13 days to reach out to the accepted organizations to discuss their project ideas before we begin accepting student applications on April 22nd.

Please visit our Frequently Asked Questions page for more details on the program. For more information you can check out the Mentor Manualtimeline 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

Googlers around the Globe

Wednesday, March 13, 2013

To say Googlers will travel to the ends of the Earth to spread the word about open source is not an exaggeration. Members of Google’s Open Source team have started 2013 off with talks all around the globe, and with many more to come in the next few weeks.

The year started off in Brussels, Belgium at FOSDEM (February 2-3) where Jeremy Allison spoke about the recent SAMBA release and Cat Allman discussed the Google Summer of Code program with interested attendees.

The Embedded Linux Conference in San Francisco on February 20-22 included a keynote on Google’s self driving cars by Andrew Chatham, and Olof Johansson speaking on the organization and maintenance of the arm-soc git tree.

Later in February, Cat Allman traveled to Muscat, Oman to speak at Sultan Qaboos University (SQU) about Google Summer of Code at the first bi-annual FOSSC-Oman. The tremendous enthusiasm for free and open source software on the part of the students there will hopefully result in our first Google Summer of Code student from Oman this year.
March is a very busy month this year! Just last week in Tromsø, Norway (inside the Arctic Circle), at the GoOpen Arctic Forum Google Open Source Programs Director, Chris DiBona, gave a talk titled ‘All that we’ve done, all we can do together. Google, Free Software and Open Source’ while Cat Allman discussed ‘Google Summer of Code and FOSS Mentorship on a Global Scale’.

Chris DiBona at GoOpen Arctic Forum in Tromsø, Norway

Coming up this week in Santa Clara, CA, USA at PyCon (March 13-21), Augie Fackler and Nathaniel Manista will be delivering a talk on ‘The End of Object Inheritance & the Beginning of a New Modularity’.

Toward the end of the month, EclipseCon (March 26-28) will take place in Boston, MA, USA where multiple Googlers will be giving talks including Shawn Pearce on Scaling up JGit,
John Micco on Continuous Integration at Google Scale, and Sergey Prigogin on Herding cats and organizing includes.

Googlers will also have a presence at NE GNU Linux Fest (March 16-17) in Boston, MA, USA, and POSSCON in Columbia, SC, USA (March 27-28).

April brings the Linux Collaboration Summit in San Francisco where Googlers Konstantin Serebryany, Dmitry Vyukov, and Francesc Campoy Flores will all be speaking. Immediately following this will be the Linux Storage, Filesystem & MM Summit 2013 with several Googlers participating in this invitation-only meeting.

And that’s only a sample. Visit for more opportunites to learn about Google technology and programs, and to hear from Googlers on a wide range of topics.

By Cat Allman and Stephanie Taylor, Open Source Team

Google Summer of Code Meetups, Episode 1: Colombo, Sri Lanka

Monday, March 11, 2013

As the student application period rapidly approaches for Google Summer of Code 2013, past students, mentors, and organization administrators are organizing meetups around the globe to talk with university students interested in participating in this year’s program. Over the next couple of months we will feature posts written by some of these meetup organizers in a special blog series.
Colombo, Sri Lanka meetup: held March 4, 2013
We held our first Google Summer of Code meetup at Sri Lanka Institute of Information Technology (Colombo, Sri Lanka) on the 4th of March 2013. The event was organized with a great deal of support from the Department of Computing. Approximately 150 young enthusiasts took part in the event.  

The first speaker was Keshan Sodimana, who is the Manager of Google Developer Group, Sri Lanka. Keshan delivered an excellent presentation on the value of open source software for the world. He explained how the world is heavily dependent on open source infrastructure from the Linux kernel on supercomputers to the Android mobile operating system on millions of phones around the world. 
Next, I took to the stage to present the students with an overview of the Google Summer of Code program. I also focused on general open source fundamentals from communication within open source communities to proper email/IRC etiquette and open source culture. 

The final speaker was Suranga Nath Kasthurirathne, a mentor and past Google Summer of Code student for OpenMRS. Suranga discussed general information about Google Summer of Code such as important dates for the program, how to apply, guidelines on how to write project proposals, and how students can develop the most suitable project based on their interests. 
The meetup concluded with a session on related technologies, including an OpenMRS demonstration and other related tools such as the Student Manual and which would help students prepare for Google Summer of Code 2013. The students were very excited about the program and asked many questions both publicly and individually after the session ended. We tried to clear up doubts they had about their own abilities and encouraged them to participate. 
We pointed out the benefits of working on real-life projects, as opposed to the mock projects that they work on in university. We also explained the value of building connections all around the world, and the happiness working on open source projects brings in general. Those of us who had participated as students in previous Google Summer of Code programs shared our experiences on why it was important to continue with a project after Google Summer of Code was over and what benefits it could bring to them. 
Good luck to all the hopefuls applying for Google Summer of Code this year!  
By Harsha Siriwardena, former Google Summer of Code student for OpenMRS 2012, Google Code-in mentor for the Fedora Project 2012 and Organizer of Google Developer Group Sri Lanka
Stay tuned as we feature more Google Summer of Code meetups over the next 2 months leading up to the student application period, April 22nd-May 3rd.

By Stephanie Taylor, Open Source Team

Linking students together for a summer

Tuesday, March 5, 2013

Metalink improves downloads automatically using mirrors, hashes, and digital signatures. In 2012, Metalink participated for the first time in Google Summer of Code. We had four students (with a fifth via the GNU Project). All five students successfully completed their work, adding not only to our codebase, but also to our community. We learned a great deal from our students and hope we were able to teach them as well. Below is a brief description of the 5 students and their respective projects.

aria2 Web UI and Metalink/HTTP support in DownThemAll!  by Hamza Zia 
aria2 is a wonderful command line BitTorrent and Metalink client, but the terminal isn't always the best option for everyone and having a Web UI available makes it more accessible to more people. Additional features were also added to the Firefox Addon download manager DownThemAll! this summer. Hamza says, “Before Google Summer of Code I was an amateur web programmer, I had never written or worked with codebases beyond a couple of hundred lines of code. This all changed after the Google Summer of Code program, where with the help of my mentors I was able to approach a large project in manageable chunks and work with some of the very high profile Firefox Addons (DownThemAll!). At the same time I was able to create my own open source project (a web UI for aria2).”

Metalink Downloader Chrome extension by Sundaram Ananthanarayanan 
We didn't want Chrome users to be left out, so Sundaram created this extension from scratch.

Metalink/HTTP support in KGet by Aish Raj Dahal 
Aish added Metalink features to KGet, the native download manager for KDE. Aish says, "Getting to work on an Internet Standard that spans across platforms, download managers, and browsers has helped me gain an insight into the workings of open standards and implementations of RFCs. The small yet excellent community around Metalink has taught me several aspects of real world open source development for which I shall always be thankful."

wget Metalink support by İlim Uğur 
İlim added Metalink support to this ubiquitous command line downloader. This was done with the support of the GNU Project.

Apache Traffic Server cache hits for download mirrors via Metalink by Jack Bates 
The same exact file downloaded from different mirrors isn't automatically detected as already present in proxy caches. Jack had a busy summer, doing double duty online with Google Summer of Code via GPRS modem and sometimes by candlelight, while also volunteering at the Agahozo-Shalom Youth Village for orphans in Rwanda for a year. Jack says, "This project aims to address the number of times the same large files are transferred over the same internet connection, because large files are often distributed from many different mirrors or a content distribution network. This is sometimes called duplicate transfer detection and is especially helpful where a lot of people share one small, congested internet connection, like at the rural village in Rwanda where I was a volunteer."

Thanks to our students, mentors, all other contributors and supporters, and the Google Open Source Programs Office people who arrange such cool things. The Mentor Summit was tremendous and we are thankful for the whole Google Summer of Code experience.

By Ant Bryan, Metalink Organization Administrator

Dare to try: a story of summer triumph

Friday, March 1, 2013

Guest post by Anna Senarclens de Grancy, former Google Summer of Code student and recent mentor for Systers 

Check out this inspirational story from a previous Google Summer of Code student (for 2 years) who went on to become a two time Google Summer of Code mentor in the program. If other students are unsure of whether they have what it takes to get involved in the program, read on and consider applying to Google Summer of Code 2013.

This is my story of how I did what anybody could have done but not everybody would. I dared to try something new and found out that with a little bit of guts, some luck, and support from people at Systers I can do almost anything. 
My mum realized I’d likely become an engineer when at the age of two I was managing  multiple remote controls better than most adults. Later on I confirmed her beliefs by attending a technical upper secondary school followed by a technical university. After some time in college I had to pick what field of engineering to pursue. I took an introductory course programming in Ada with a friend who told me there was no way I could do CS. I took this quite hard because, even though I wasn’t very good at it, programming had been a lot of fun. As a result, I decided to pick mechanical engineering instead of CS which means that I’m not a computer scientist. Then a friendly computer geek passionate about open source software introduced me to this whole new world. 
Newly inspired I realized I wanted to give CS a second chance, this time as a hobby. I got some books on Python and began learning on my own in the evenings and during weekends. Learning from a book is all fine but there is only so much one can do before one wants a challenge and to try something out for real. Someone suggested I check out Google Summer of Code, and when I did, I found Systers. I was fascinated by their mission and  since they were offering a project in Python for beginners, I gave it a try. I had never really done any real programming before, nor did I have any experience with databases or distributed revision control. My Python knowledge was mainly from books and I hadn’t taken many computer science classes in college. I had a lot to learn, but you can hardly imagine how much fun I had doing it! I dared myself to try and ended up having the summer of my life. Sure there were hard times trying to understand the code, what to do, and how to do it. In my ignorance I changed, moved, and removed enough things on my computer to have to reinstall Ubuntu three times and Mailman probably five or six times. I had sleepless nights sitting in front of the computer coding, and when I slept I dreamt of bugs. I added what seemed like a million debug statements and often got nonsense back (at that time I didn’t know how to use a debugger). 
Once I solved my first bug and got the taste of success and the feeling of I might actually be able to do this, I was hooked. So much fun! Such great feedback from Systers, they were always friendly, patient, and willing to help answer my questions. It’s such an ego boost when you solve that one problem you’ve been working on for days or even weeks. I dared to try something new and ended up learning a lot and having a great time while doing so. I lived the dream and also got to know amazing people along the way. The only thing it took was making that first step. 
Have you ever considered how easy it might be to fix a bug in your favorite open source software program? I encourage each of you to give it a try! 
By Anna Senarclens de Grancy, Google Summer of Code former student and mentor

As this story illustrates, you don’t have to be a CS major or have 10 years of coding experience to be a part of Google Summer of Code, you just need to have a desire to learn and to push yourself. The participating mentoring organizations will be announced on April 8th, students then have two weeks to discuss application ideas with the organizations. On April 22nd, student applications open for Google Summer of Code 2013.