← Back to team overview

kicad-developers team mailing list archive

Re: Pointers to start contributing


On 2019-06-27 22:01, Pradeepa Senanayake wrote:

I've recently started using KiCAD and I absolutely love it. Since it
is open-source, I though I'll contribute to the project in which ever
way I can.

I have been using Orcad, Altium and Eagle during my career as an
Electronics Engineer and then I had to work in Software. Therefore,
I'm well versed in C, C++ and Python too.

I've already built the project referring the documentation. I'm
planning to go through the source code to just understand the
architecture. Is there an architectural document for KiCAD? If there
is anyone who has time to give me any pointers, it would be greatly

Hi Pradeepa-

Welcome! We are always happy to have new contributors. There are some limited architectural details in the source tree under "Documentation/development". You should feel free to ping the list with any questions.

A good way to jump in would be to find a bug and fix it. We track them at [1]. There are 23 "Starter" bugs that would be good jumping-off points. These are bugs that developers have judged to be relatively self-contained and straight-forward to implement. If you'd like to work on a bug, you can claim it by assigning it to yourself and setting the status to "In Progress". After you have a proposed fix, you can check your kicad-style formatting by using the format checker in tools/check_coding.sh and then output it using `git format-patch HEAD~`. You attach the patch to the bug report and we'll review it and work with you to get it integrated. You can also e-mail your patch to the mailing list if you'd like.

After a few bugs, you'll start to get a feel for the section of the code you are working in. You might want to branch out in to the general bug reports that are targeted to our next release [3]. Before claiming new feature items on that list, I'd recommend asking (in the bug report or on the mailing list) whether anyone is working on things in the area. Be aware that the code base is moving fairly rapidly at the moment, so you may need to be rebase your commit a few times before it is integrated.

Lastly, Jon Evans gave a great talk at KiCon on how to begin hacking on the codebase[4] and his insights are well worth your time.

Good Luck!  And let us know if you need anything-

[1] https://bugs.launchpad.net/kicad
[2] https://bugs.launchpad.net/kicad/+bugs?field.tag=starter
[3] https://launchpad.net/kicad/+milestone/6.0.0-rc1
[4] https://www.youtube.com/watch?v=DSWm5H0lVo0

Follow ups