
On Mon, 31 Jan 2005, Pierre Boulenguez wrote:
Hi, I'm skilled in C++ and have a basic knowledge of cvs.
Is there a basic task to perform to begin helping in inkscape development ?
There are a number of fairly basic tasks. We haven't been maintaining an 'Inkscape Janitors List' or anything, but you can generally uncover some good tasks with a small amount of digging.
We like to encourage new developers to do the exploration and find some task that appeals to them, because a basic task to you may seem like an advanced one to me (or vice versa). Some people find it most comfortable to approach from the packaging side of things, others with fixing bugs and using gdb, others via adding comments as they read through the code, others like to pick a dream feature to implement and start picking away towards that as a long range goal. Figure out what you personally really enjoy for coding, and it's hard to go wrong. :-)
Btw, the CVS access policy is straightforward: First get two patches accepted (submit through the patch tracker), and second send your sourceforge ID to me or one of the other admins and you'll be granted commit access.
If you need more info about types of work we need help with, read on...
You can get a high level picture of what others are thinking about working on via the Detailed Roadmap:
http://inkscape.org/cgi-bin/wiki.pl?Roadmap
However, there's tons and tons of stuff needing to be worked on that are not on that list. Like Kees mentioned, the bug tracker is also a great way to find something to do, although I'll warn you that at this particular moment in our release cycle I expect most of the _easy_ bugs have already been done (but maybe there's some easy ones hiding down in the priority-3 level).
Another area we will need a lot of help in fairly soon is with upgrading the UI to gtkmm. This will involve a lot of meat-and-potatos C++ class creation and conversion of C code into OOP style. Presently this work is going on in a separate cvs module but it's scheduled for integration within about a week. If you're interested in working on this, let me know and I can give more details. It should be pretty straightforward work, and will be seeing progress rapidly, so it could be fun. :-)
Other largish projects that probably have some basic tasks attached:
* Extensions - Ted and Ishmal are each doing coding to gain a capability to extend Inkscape with external modules, and may have some general coding work they could farm out.
* Printing / Postscript - Needs a lot of TLC, a lot of us have been reluctant to get near the code since it needs so much work, so even small improvements here will be well appreciated, and if someone would be interested in owning this subsystem we'd be thrilled.
* Cairo Gtk Canvas - A long term project we have talked about is to replace our internal renderer with Cairo, but there's a ton of R&D experimentation needed to get there. If you like working from a blank sheet of paper and just coming up with a lot of good ideas that others can build off of later, this would be a good opportunity.
* CSS style support - Huge and complicated effort, but someone with an interest in SVG could do a lot of good for the world here. We've got the tasks to do this scoped out, but it will be a big project so haven't started on it.
Anyway, again, look around and pick something that really appeals to you. The above all need to get done, but the best task is the one that scratches your own itch, since it'll give you a real motivation to do it. :-)
Let us know what you think, or any questions you've got about it.
Bryce