Google Summer of Code 2017 wrap-up: MBDyn
We are a small university-based org which is participating in its
third year of GSoC. Our software solves mathematical models with which most students are unfamiliar. Our users usually have a strong background in
multibody dynamics, but not necessarily in programming. We thus have a need for programmers, but have a difficult time getting one to understand multibody dynamics. Even those enrolled in mechanical or aerospace engineering are usually not familiar with the theory. Nevertheless, building on our GSoC experience, we managed to get a considerable amount of quality code written by our students this summer!
Here's the story from their point of view:
Luca Conti - First-time GSoC student - worked on the Flight Dynamics Module, interaction with Flight Gear project
Google Summer Of Code 2017 was an incredible experience to me. To tell the truth, at the beginning of the project I was a little bit scared of what I was about to face. I had already used MBDyn in some courses from my degree, and actually my first approach with it had not been happy at all. Then, when I decided to start developing its source code, I was not sure I would manage to do it, but I profoundly wanted to take part to GSoC 2017, and MBDyn was something I already knew: GSoC would have been a big occasion to enhance my MBDyn knowledge, and indeed... so it was. But at the beginning, everything was extremely hard: it was my first time ever I worked on such a big and articulated software, despite my programming experience had already started about 10 years ago. I clearly recall the first days I started to explore each source file of MBDyn libraries: they were so many, and so complicated!!
But with some patience and a lot of effort, I could understand how to handle my GSoC project. It was so fulfilling seeing every day a little brick more getting my project towards its completion. What I appreciated and enjoyed the most from the whole GSoC experience, was the possibility to deal with complex problems with an high level of independence. For this I must be grateful to my mentors for being very supportive and helpful when I needed, but at the same time for letting me work very autonomously: it was very educational and inspiring to me, I could think and implement every solution I built up with my mind. And at the end of the project I could be very proud of my work: just watching Flight Gear aircraft flying according to my MBDyn model was a priceless reward. My code was exactly doing what the initial objectives had stated!!
Janga VSN Reddy - Second-time GSoC student - worked on the Improve Blendyn project
I wanted to get into GSoC, because I liked the notion of working for an OSS project with flexible work timings, and still getting paid handsomely for it. Even though I applied to three other organizations, I wanted to get into MBDyn specifically, because being a Mechanical Engineering major meant that the work would be the most relevant to my background and experience.
As far as my application goes, I was lucky that MBDyn had mentors who favored people getting work done to writing elaborate proposals. I was quick to solve any issues opened on my project's repository, and that probably made the difference. Apart from that, it is important to create realistic deadlines, and account for any other commitments during the whole summer. Be honest with your skills, and make sure to highlight how your background makes you the perfect candidate.
My work primarily involved developing a
Blender-based visualization tool for MBDyn, in Python. My interactions and discussions with my mentors primarily happened in Github comments, and reviews of my pull requests.
As for myself, I first heard of GSoC many years ago when I was getting to know and appreciate the open-source world. Being involved as a student however remained a desire which did not realize, even when programming MBDyn code as a student. Yet, I did not forget about GSoC and when I got a research contract at Politecnico di Milano, I convinced the MBDyn developers to let me apply for MBDyn as an org. They expected that we were too small and too scientific to be selected. Nevertheless, our first application was accepted and we were very happy to be participating! Given our particular condition, the learning curve was steep, but getting students to learn about programing and multibody dynamics has been a rewarding experience.
Here are a few tips to help other small scientific orgs:
- setup GSoC-specific page with all the necessary info
- recruit in targeted sectors and ask your communications office for help
- make the entry test a series of gradually more complicated tasks,
- ie: 1) install and run test case, 2) make a small change, 3) create a simple plugin, 4) fix a bug
- make it clear that constant communication and full time commitment are expected
- fail students that are not producing code, even if it is a heartbreaking thing to do
Finally, participating in this project with Google brings fame, financial support, networking opportunities, and encouragement! I recommend it to any undecided org who is willing to put in the mentoring and administration effort.
Anyone looking for more specific project information can read our
final MBDyn-GSoC2017 update.