What they didn't teach you in school
The tools and techniques needed to actually contribte to an open source project
This was first delivered as a several hour tutorial at Multhi 7.04, in Bangalore, 12 Apr 07 and again at foss.in 2007, 1 Dec 07 given jointly with Shreyas Srinivasan. These slides will be of most benefit to those who attended the tutorial, while we are happy to post them for general interest, they are not really designed to be a stand alone presentation.
The essence of open source is not USING free software, but CREATING it. The purpose of this talk is to teach you how to contribute to open source projects.
Admittedly, getting involved isn’t as easy as it could be, but that’s often because you haven’t had an opportunity to learn how to go about participating in a project’s development.
This talk is aimed at people who probably already know something about Linux, already know how to program, and already believe how important free software is… but haven’t yet made the jump to being contributors themselves. And that’s LOTS of people. So, it’s time to become and open source hacker.
It’s easy to talk about “interacting with the community” and “filing bugs” and “submitting a patch”, but until you know how to do this, it can all be a bit daunting. So we are going to be do all these things, TOGETHER, on stage, LIVE. We’re going to file real bugs about real problems in real open source projects, and then we’re going to fix ‘em, right there on the screens in front of you.
How do you contribute? You have to check out source code, learn how to build open source software, run it, test it, and debug it… but it doesn’t stop there! Then comes creating and sending patches, receiving feedback from the upstream project, dealing with rejection, but finally when you’re successful exalting your success.
For the beginners in the audience we’ll be demonstrating what you do to submit to upstream, but we’re also going to show what the upstream people do when you make that contribution. So we’ll see the whole open source process, beginning to end.
Take joy in your work, do your work in the open, and open it to the world. Do that, and you ARE an open source contributor.
(the first few slides are somewhat off topic; see my blog post about "Learning Linux" for details)