Frequently Asked Questions
Are you aware that KiCad's code base is not of the highest quality?
Yes, before embarking on this project we conducted an in-depth study of the code base of Kicad and other open source EDA packages. We are very much aware of the places in the KiCad code base where a serious clean-up would be useful. Fortunately, thanks to the work of many competent programmers, these areas are becoming less and less numerous. We also plan to help in that domain. The main KiCad developers are also conscious of this problem and are working hard to improve things. Having said this, if you can criticize KiCad code it's because it is open source. Nobody knows if the code for proprietary EDA packages is better or worse.
Don't you think staffing this with one student is too little?
Of course, it would be better to do more, but this is what we can afford now. However, this already represents quite a step forward with respect to the past. To our knowledge, this is the first time a full-time developer is devoted to KiCad for a full year, and we will be able to do even more if people donate. We hope that our example will be followed by other organizations, so that manpower is not an issue for KiCad anymore. Then the issue will be to properly organize this manpower and to ensure only high-quality code makes it to the main tree.
You seem to be a hardware-oriented section. Are you competent for this kind of work?
We are lucky to have several very competent object-oriented developers in our section. Our team is mostly made of electronics engineers and computer scientists, with lots of experience in complex projects, both hardware and software. But ultimately, the best way to evaluate the quality of our work is to look at the code we contribute to KiCad.
How aligned are you with the main KiCad developers?
We have a lot of respect for their work and we have been discussing these plans for a long time with them. The roadmap we presented is a direct outcome of these discussions. We want to be just one more contributor to KiCad.