I’m John Stumpo, an undergraduate computer engineering student at Johns Hopkins University. I contributed a few small patches to OpenHatch in the spring, and I am happy to be coming on board for the summer as a Google Summer of Code student, with Asheesh as my mentor. My project will be implementing OpenHatch’s automated training missions.
You might be wondering what exactly this whole training mission thing is about.
Consider a user of free and open source software. This user decides that he wants to support some of the projects he uses every day by contributing something back. (If this user knows how to program, this contribution could very well be in the form of code, though it could be something else, such as documentation, otherwise.)
OpenHatch, being the nice resource that it is for finding bite-sized bugs that are good for people just starting out in the open source world, helps him find an interesting task in a project he uses, and he decides to look into what exactly he will need to do to contribute his work when he is finished.
So he finds the project’s website and has a look around for information on how to contribute. But if he is new to contributing to open source projects, the information could be bewildering. “IRC? What’s that? Bugtracker? Sounds really complicated. What’s the deal with this whole Git thing anyway? And I’ve never even heard of diff, let alone knowing how to make a ‘unified’ one, or whatever it is that it’s called.”
So the user gives up on trying to contribute his change. And that’s unfortunate, because he happened to notice the cause of a subtle bug that the project had been trying to track down for the past two weeks but still hadn’t found, and he was going to provide a fix for it too.
Enter OpenHatch’s training missions.
Throughout the summer, I will be implementing automated missions on the OpenHatch website that give tasks to do to learn certain aspects of contributing to open source projects. (A mission for creating tarballs is already up as a preview.) The mission system will check that the mission was done correctly, and if that’s not the case, nobody else has to know.
So the user we mentioned above will be able to get to know the things he needs to get his change into the project by exploring and actually using the tools. Then cloning the project’s Git repository, committing his change, creating a patch of it, posting it in the bugtracker, and discussing the bug in IRC will be no sweat, and the bug gets fixed, all thanks to our user.
You can see what missions are available by going to https://openhatch.org/missions/. That is where missions will appear as we finish building them. The mission for creating a tar archive is ready for you to try!