← Back to team overview

kicad-lib-committers team mailing list archive

Contributing to Github Libraries

 

Hi everybody,

We have recently got some offer to contribute to Github librairies either
by adding more parts or helping with the validation process. There were
some questions from a few people about how it all works, so this email is
explaining it all.

First, let's explain how a simple user would be contributing to an existing
library. It works by forking the chosen library repository, modifying it,
and then opening a pull request. Then, the librarians will validate the
changes and do the actual pull. The relevant documentation on github
is here<https://help.github.com/articles/fork-a-repo>for how to fork
and clone the fork.

When the fork is cloned locally, it is time to make the changes. When KiCad
is installed and the Github plugin is enabled, which is now by default when
compiling, KiCad gets its footprints directly from there, but by adding the
option "allow_pretty_writing_to_this_dir" to an entry in the fp-lib-table
(the options dialog in the library management window can be used for that),
files in the typed directory will prevail over the github one. Another
option is to add a entry of type "Pretty" in the table.

So when the changes are ready, they need to me committed and pushed to the
fork. Finally, to initiate the pull request, it is clearly thoroughly
explained here<https://help.github.com/articles/using-pull-requests#fork--pull>.
One thing I want to mention is that it will be really helpful if the
contributor writes his source for the footprint in the pull request
message. For example, a link to a datasheet.

Now, this means we need people who look over every pull request and
validate the changes before pulling it in. Obviously, this is very time
consuming, but it's needed if we want good quality libraries. Our team of
librarians currently is quite small and it will need to expand if we want
to be able to manage contributions, which will only go up in quantity once
the github plugin is used more and more.

So I hope this summarizes well the process of contributing to libraries. For
the people who recently expressed interest to help and/or contribute on the
developers mailing list, namely Jean-Paul Louis and Alejandro Méndez A, I
was thinking you could start off small with a contribution in the form of a
pull request, and then if all goes well we'll look into adding you to the
librarians team. There are lots of things to do, some of which are in
progress already. We'll discuss some of them if you guys are alright with
all of this.

Regards,


Carl Poirier

Follow ups