Our first GSoC and jMESoC adventure has come to an end. All 3 GSoC projects were successfully completed, while jMESoC got 2/4 (the other 2 never really started). Some of the students will be moving on to other projects, while others, to our great delight, have become active members of the community.
See the forum discussion thread for links to the projects.
What we’ve learned
There’s bound to be some mistakes as an administrator or mentor of GSoC the first time around. Well aware of this, we went into our first GSoC knowing full well that all we might get out of it was some cool proofs of concept and maybe a new contributor or two, along with newfound experience. It’s safe to say that this GSoC 2014 has delivered on all accounts, and then some.
Now about that newfound experience…
Students need more structure
We’re very used to working independently, and thrive as such. Students, while definitely very capable, benefit from more structure when being catapulted into a large beast like jMonkeyEngine. Mentoring sessions and weekly status reports should have been more rigorously scheduled.
The GSoC admin should be every bit as involved as the mentors
I never intended to be a as uninvolved as I was. Had I been more in the loop – doing frequent check-ins with both the mentors as well as the students – I believe we could have avoided several hiccups caused by miscommunications and lack of structure. Also some early exposure to seagull management is good for your skin.
Make sure jME plays an integral part
Some of these projects were so loosely attached to jME that a lot of the mentoring didn’t require expertise in jME at all, only Java or programming in general. Mentoring is both more fun and efficient when the project closely ties in with jME concepts at every turn.
Standardised development environments
Too much time was spent “on the clock” simply getting set up and getting to grips with key concepts like Git and SDK development. We should have formalised a proper Getting Started guide shortly after our GSoC participation was confirmed.
Grow from within and don’t start from scratch
This time around we accepted applicants based on application merit above all else. We don’t regret this decision, as we clearly picked 3 very capable students. However, by not factoring in previous experience and interest in jMonkeyEngine we made things more difficult for our students. All of the hiccups we did run into would have been greatly mitigated in the case of an existing contributor, especially when tasked with adding to a project that’s already active.
Will we apply for GSoC again next year?
Frankly, we don’t know yet. Make no mistake, GSoC is a big time investment, and if you’re out to get “free improvements” for your project, you’re probably barking up the wrong tree. To me, the single biggest win any project can come away with from GSoC is more committed contributors, so we recommend trying to grow from within.
GSoC is an excellent opportunity to recognise existing members of your community; developers who were already kicking your tires for no incentive other than “because they felt like it”.
We already considered prior jME knowledge when selecting students this year. If we try for GSoC again and get accepted, we will probably take this one step further. Students who have already been an active part of our community prior to GSoC or who are willing to step up and contribute to the community during the application process will be prioritised.
The projects we choose will be tied more closely into jME itself and we will make sure from the start that the work students are doing is integrated into the project as a whole. Publishing progress needs to be something that happens continuously and ideally early versions should be in use by members of the community as soon as possible to provide prompt feedback and help ensure that the end result is as useful and as well integrated as possible.
A heartfelt thanks to all our hardworking (G)SoC students! May the open source spirit grow ever stronger in your caffeine-empowered hearts!