3 ms·
This is done by hundreds of projects every year--often quite successfully--through Google Summer of Code. I've been a mentor for GSOC for two years. If I unde
by DarkShikari 17y ago
This is done by hundreds of projects every year--often quite successfully--through Google Summer of Code. I've been a mentor for GSOC for two years.
If I understand you correctly though, this is a case of a whole classroom forced into a single project as opposed to a few students in each one. This creates a massive management disaster and many other issues:
1. Coding for open source works best when you're interested in the project you're working for. If you force everyone to work on one project, many people won't be interested, and in my experience as a manager/leader of an open source project, such people are an utter waste of time. Of course, it's not their fault they were assigned to something they're not interested in.
2. I've educated quite a few people in the full inner workings of our codebase. But it's one thing to mentor one or three people; it's another to mentor twenty.
3. Most projects don't have enough work for twenty people. Assigning a ton of people to one task won't get it done faster, and assigning everyone a separate task will just make the load on the mentors/developers absurd.
4. The single biggest problem with these types of systems, including GSOC, is the problem of ensuring that code gets merged at the end of the development period. Many students will simply disappear, leaving behind huge patches with nobody to maintain them. For example, the ffmpeg project has suffered greatly from this, with many feature patches taking years to merge and others simply languishing for eternity with nobody to finish them off.
I have mentored many students for my project, both in GSOC and otherwise. I had one student who simply came to me one day and said that he wanted to learn the codebase: so each day he took one module and learned how it worked, asked me questions about it, and studied until he thought he understood it--the I quizzed him. After about two weeks, he had a pretty good background in most of the program. He has since become a significant contributor.
My policy is that anyone who wants to learn can ask questions and get answers in their quest to understand how things work: this was how I became an expert, so it's my obligation to pass on my knowledge to those who want to do the same.
I could do great with a few highly interested students. But I wouldn't even be able to come up with enough tasks for a whole class, let alone the resources to teach them all without a classroom. My suggestion would be to let students pick their own open source project, or some other method of splitting students between projects, to avoid dumping an entire class on one project.
- alexgartrell 17y agoWe're talking in this case about a very small group (2).
- DarkShikari 17y agoThat would be absolutely great (I see you've updated the original post for clarification). I, and probably most other developers, would find 2 far more manageable than 20. It would also be a nice way to have a GSOC-like program during a portion of the year in which GSOC isn't running. (For information's sake, my project is x264, and if someone is interested in applying as a student, we can be contacted at #x264dev on Freenode.)
- eam 17y agoYou can try sourceforge: http://sourceforge.net/people/helpwanted-latest.php http://sourceforge.net/people/helpwanted-latest.php I notice how you use a lot of (parentheses), having you been using a lot of scheme or lisp lately? :)