Build Inkscape With Us
Development needs more than C++ patches. Below are the main areas where help lands, so you can pick the one that matches what you enjoy doing.
Working on the core editor
Comfortable with C++ and GTK? Clone the repository and start on whatever part of the editor interests you; Python developers are equally welcome on the extension side. When a change feels ready, send it in. The project leans towards "patch first, discuss later", so useful work usually reaches the development branch quickly. There are conventions to follow, and we try to keep them few and predictable.
- Getting started – set up a build, compile the editor and get your first change reviewed.
- Coding style – the formatting and naming conventions expected in every patch.
- Repository layout – which repository holds what, and how branches are used.
- Debugging – tracking down crashes and rendering faults.
If you're interested in becoming an Inkscape developer, of course you'll want to join the development mailing list, if you haven't already, and likely will wish to join the #inkscape-devel channel on IRC. And there is more info in the Developer Documentation section on (the bottom half of) the home page of the Inkscape wiki.
Bug Management
Bug work is unglamorous and it moves the project more than almost anything else: filing a clear report, reproducing someone else's, writing the fix, or checking that a fix really holds. Accurate reports mean developers spend their time solving problems instead of guessing at them.
The bug management guide explains how reports travel through the tracker and which labels and milestones matter. Read it before you start triaging.
Writing documentation
Inkscape is big enough that features go unnoticed simply because nobody has described them. Documentation covers wiki articles, guides on this website and recorded walkthroughs that show a tool in use rather than in theory — all of it valuable, none of it requiring a compiler.
If you're interested in writing official documentation, please inquire on the documentation mailing list.
Adding extensions
The editor itself is C++, but extensions are not: a working knowledge of Python is enough to add an import filter, a generator or a production shortcut. The extension guide covers the interface and has examples to copy from.