3 ms·
I worked with David on the Mozilla Education project. Here's my two cents. It's easy to put out the call for volunteers. It's hard to cope with the deluge of p
by celticjames 17y ago
I worked with David on the Mozilla Education project. Here's my two cents.
It's easy to put out the call for volunteers. It's hard to cope with the deluge of people who want to help.
Code bases are complex and/or large in any meaningful project. Even skilled programmers may take time to get up to speed. Core developers have limited time available to answer questions. (People don't scale.)
For someone working outside of a classroom, this may be fine. They aren't on a schedule and can claw their way into a community over time.
But if you plan to unleash a classroom of students on an open source project, what you really need is an instructor who operates at or near the level of a core contributor to that project. The instructor is the one who bears the overhead of scaling up developer time by funneling student questions into a high signal to noise stream.
Mozilla is a bit unusual in that they actual pay someone (David) to do that.
I know instructors have attempted to replicate this model with other large open source projects, but it hasn't been a success. Attempts I know of to work with openoffice or the Eclipse Foundation didn't really go anywhere. RedHat/Fedora might be a good place to look. Try to get in touch with Greg De Koenigsberg there.
- alexgartrell 17y agoUp for the info. The difference here is that the only schedule we're under is to have commits to the code base by the end of the semester. Though this is more structured than some guy's side project, it comes with the benefit of deliverables being a necessary part of passing the class. Beyond that, in this particular case, we're talking about two individuals who've both kind of worked our way into code bases before. Specifically, we both made small patches for the Mozilla code-base as part of the pre-requisite course [1] and I've been doing some research coding that's involved a lot of reading and manipulating linux network internals; tools like LXR and MXR have been invaluable in getting there. [1] Regarding the pre-requisite course, there's an open source project to be done every semester. Students work in groups of 2. Last semester, patches were made to Firefox, Chrome, Pidgin, FreeCol, Scala Testing Suite, and the Scala Eclipse plugin. I'd be happy to talk more about this if interested, but it was a really powerful thing when it came to learning how to get into a code base and write production code.
- celticjames 17y agoIt's really important to know at the start of the semester what projects will be wanted and needed. Students may have their own ideas for what they want to do, but it's so much easier to get the ear of a developer when you are working on something they want. This is critical if you need to get something committed. Another commenter mentioned Google Summer of Code. The projects that are successful for gsoc are the ones where students and mentors did a lot of talking about what the community wants before submitting a proposal.
- alexgartrell 17y agoOne thing we learned in doing the open source projects in the prior course (I took then TA'ed it) is that you kind of just pick up whatever tickets the project has laying around. In this case, we're definitely looking for a "Please do X, Y, and Z" situation. So we're just looking for an X, Y, and Z type thing that might fit with our interests; not trying to squeeze our interests into a project.
- metzby 17y agoA big part of admission into Google Summer of Code is having a good list of suggested projects.