Subversion is a good project to start with, I think, for a couple of reasons.

First, it has a considerable amount of documentation for new people starting out to learn the ropes. See http://subversion.tigris.org/hacking.html in particular.

Second, it has a lively community with a well-developed culture (see http://producingoss.com/ to get an idea of how that came about) that can help new contributors find their way. In fact, if patches are considered for acceptance they are sure to get a thorough review and commentary back from the members of the community, which can be extremely helpful for students to learn how to do things. It is very rare for any patch to be accepted into the code base without having gone back and forth a few times.

Third, the code is very well architected, particularly for a C project. Great care has been taken, partly through using APR and APR-UTIL, to follow rules that govern where resources are allocated and opened, and how they are then cleaned up. C coders could do far worse than to imitate the Subversion style of coding.

Finally, Subversion maintains a list of what they call "bite-sized tasks". Items from this list would probably be ideal for students to work on as they don't require complete understanding of the rest of the code base. The list of bite-sized tasks is here: http://subversion.tigris.org/issues/buglist.cgi?component=subversion&issue_status=UNCONFIRMED&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&keywords=bite-sized&cmdtype=doit

You don't say what level of previous understanding of C your students would have. It is pretty ambitious to think that they could contribute anything during an introductory course, so I assume they are already reasonable competent in coding C. In fact, I think that learning how to effectively contribute to an open-source project should itself be a course, independent of language.

Kevin Jackson wrote:
Hi,

This is totally not Ant related (although it's slightly Apache
related).  If you're not interested sorry to waste your time.

I'm teaching C to university students this semester and I'd like to
set them some practical work to actually implement bugfixes and
provide patches to open source projects.

Unfortunately I'm not really aware of many open source projects that
are C (not C++) and that have a decent infrastructure setup for
receiving patches from novices.

One thing I'm considering is the linux kernel janitors project, but
I'm very wary of pushing that idea as I think it may be too ambitious.

Do any of the developers here know of any projects that wouldn't mind
junior-level developers submitting patches?  I was thinking about APR,
but again it's a bit too abstract for the students to be interested in
:(

Anyway thanks for your time,
Kev

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to