Disclaimer

De meningen ge-uit door medewerkers en studenten van de TU Delft en de commentaren die zijn gegeven reflecteren niet perse de mening(en) van de TU Delft. De TU Delft is dan ook niet verantwoordelijk voor de inhoud van hetgeen op de TU Delft weblogs zichtbaar is. Wel vindt de TU Delft het belangrijk - en ook waarde toevoegend - dat medewerkers en studenten op deze, door de TU Delft gefaciliteerde, omgeving hun mening kunnen geven.

A code summer of cold

GSoC 

This summer I participated in Google Summer of Code, mostly out of my office for the summer: the cold library of TU Delft. During the weekdays I worked on my project (Incubating an Android in Delft) in the library, and because it was empty, well, it was a bit colder than usual. Obvious you will say, but I truly didn’t expect having to wear a heavy sweater during the summer, and much less to be in the library! But it turned out to be an outstandingly interesting experience from which I learned about a new technology (SCA), learned to do things in the open-source way, and was able to explore possible topics for my thesis, in addition to studying for a decision-making re-exam!

My GSoC project was about getting Apache Tuscany to run on Android, Google’s new mobile phone platform. Because of the lack of annotations support in the previous SDK (which I was using back then) I couldn’t actually get it to run. However, I was able to produce a reduced set of modules for a lightweight Tuscany runtime – one of the main goals of my project proposal. Recently, Google released an updated version of the SDK. I’m continuing the work I started in GSoC to finally see Tuscany running on Android! 

Something nice about GSoC was the freedom to work when and where I wanted to. Often this meant working at night and enjoying the day, or the other way around, or on weekends, or weekdays, or just a bit here and there, or well, what have you. In the end, I found that it was actually a lot of work, but also interesting work, of a kind I hadn’t actually done before.  Initially it was a big challenge to even manage to get out of bed and start working. Then I found out that setting small goals helped to get some inertia, and eventually helped me get into a flexible regime in which I was, in the end, working several hours per day without actually feeling that I was working. At times, the project became more like a hobby and less like a job.

I started off by proposing a project, setting deadlines, milestones, deliverables; what you would expect if you’ve ever taken a project management course or, well, managed a project. Well into the project I found that I wasn’t going to be able to meet some of the deadlines I had proposed. Something, perhaps, usual in software development projects. But also important in open-source collaboration, I found, is the process. Many times, it is actually more about ‘process’, and less about ‘project’. More specifically, because open-source projects involve mostly volunteers, deadlines are not that important. There is no hierarchy in open-source projects, in the sense that there is no command-and-control, no single individual or group has the power to make people do things in a certain order or specific way, following for instance a rigid set of rules. Instead, doing the right things is what matters. It was actually kind of cool that I was reading about this stuff, because I was studying for a decision-making re-exam, and being able to draw a parallel to the actual work I was doing with GSoC. So, to make it short, I followed the process orientation (like that of decision-making in networks), and presented my findings and progress using a project management approach, while actually working behind the scenes, in a way that more resembled that of process management. In short, I found management in open-source projects to be a fascinating topic which will likely be the research topic of my thesis.

Another nice thing about GSoC is that it allowed me to do work related to my academic pursuits, exactly as defined in the goals of the program. Throughout the project I worked on a research paper for the course IN4071: Internet Technology. Together with a colleague from the Norwegian University of Science and Technology (NTNU), who was in Delft as an exchange student, we explored the Service Component Architecture and Apache Tuscany. Recently we learned that we received a 9 for the course! Those interested in taking a look can find our research paper here: Exploring SCA and Apache Tuscany.

Back to the project, err, process. The GSoC program has two go/no-go moments in which students and mentors fill in a mid-term and a final evaluation. These are surveys with detailed questions about the progress that has been made in the project, and also provide an opportunity to make recommendations and express specific views with regards to the program. Among the questions there was one that got me thinking about the benefits of combining academic pursuits with practical work experience, specifically when collaborating on an open-source project.

Below is an excerpt of the answer I gave to the question:

  •  What advice would you give to future would-be Summer of Code students who would like to work with your organization?

I would advice them to consider the program as a starting point for their Master (or Bachelor) thesis. Combining a graduate (or undergraduate) education with the practical experience acquired in an open-source project is a great mix. For example, MIT offered an experimental course [1] this spring on ‘Building mobile applications with Android.’ Students worked on a project idea and focused on bringing it to the prototype phase with the help of mentors, professional software developers from the Boston area. This closely resembles the GSoC setup for Apache Tuscany, and for many other GSoC projects, in which projects involve building software applications and students have 2 mentors with whom they can consult throughout their project. I would recommend students to get involved with Apache Tuscany, or any other mentoring organization for that matter, well before their project starts. Students with less experience in open-source could consider assembling a project team. At TU Delft, for example, there is a Design Challenge [2] inspired on Standford’s "d.school" in which students work together on projects from companies over a period of 4 months. The same setup could be used for groups of students starting early on their GSoC project with Apache Tuscany.

Earlier today I sent my final email for GSoC’08. In all, it was an incredible experience, well worth repeating, and also recommendable for any students looking for a cool (even cold) summer internship. I liked the program so much that I’m considering being a mentor next year. So if you’re interested in applying to the next GSoC and have any questions, please don’t hesitate to contact me: o.v.castanedavillagran@student.tudelft.nl

 

References 

[1] http://people.csail.mit.edu/hal/mobile-apps-spring-08/

[2] http://designchallenge.tudelft.nl

Be Sociable, Share!

Leave a Reply

© 2011 TU Delft