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
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
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
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