Why open hardware needs open software – and more from Wayne Stambaugh of KiCad
As KiCad’s lead developer, Wayne, and his team have a big vision – to build a best-in-breed PCB design tool. It’s an ambitious goal for an open-source project whose commercial counterparts have seen millions in investment. But KiCad is well on that path. An ever-increasing number of designers now use the PCB design tool. With Version 6 – due next year – it aims to close the feature parity gap with the most popular commercial tools in the market. Wayne shared the origins of KiCad, his passion for open source, and where they’re heading next!
Hi Wayne! Thanks for taking the time to speak with us. Can you tell us more about the origins of KiCad and how you got involved?
Wayne: Sure. KiCad was started in 1992 by Jean-Pierre (JP) Charras, an electronics professor in France. At the time, he was looking for a tool that would allow his students to create board layouts. Back then, the commercial products were way too expensive for students, and the free tools limited the feature set enough so that they were less than ideal for teaching. So, he set out to solve that problem and started working on KiCad.
In 2005, I started searching for an open-source project to be a part of. At the time, I was using a commercial EDA product in my day job as an electrical engineer which was frustrating to work with. So when I found KiCad, I started contributing to it on the side. Over the next decade, I would work on KiCad on evenings and weekends and use KiCad to design in my day job, which gave me ample opportunities to test and improve the software. At that time, JP, Dick Hollenbeck (KiCad’s project leader from 2006 until 2011), and myself did most of the software development.
In 2008, CERN (The European Organization for Nuclear Research) got involved. They provided 2 more developers (which brought us to 5 developers working on KiCad) and things started moving along much faster.
Today, KiCad has around seven contributors working on it. Most developers are volunteers working in their spare time but a few are paid. Our vision for KiCad is to be “best-of-breed” EDA. I don’t see any reason why KiCad can’t be one of the best – if not the best – of the EDA tools out there.
One of the things we’ve noticed is more commercial users starting to adopt KiCad. What do you think is prompting that trend?
Wayne: I think it has just kind of grown organically over time. The tool gained maturity and the project grew enough that we could support commercial users.
CERN’s involvement definitely helped. So did the introduction of the autorouter. Another turning point was when Autodesk purchased Eagle in 2016. Their move to a subscription-based license pushed a lot of people to KiCad.
But overall, we keep adding the features users want so the tool has matured. With Version 6, there will be even fewer compelling reasons for a professional engineer not to use KiCad.
How do you see KiCad’s role in the open-source hardware movement? Can you explain how open source software enables open-source hardware?
Wayne: Well, if you have a hardware design released under an open hardware license that was created using a proprietary piece of software, then you have to purchase that software to open the designs, right?
Some of the commercial EDA CAD tools are very expensive. A lot of people cannot afford or justify the cost of them. This effectively limits the number of users who can take advantage of design released under an open hardware license. And if you’ve been around long enough, you also know how these tools will often change their file formats. So then you can’t open designs with the old versions. We’ve all been through that merry-go-round.
Because KiCad is freely available, you don’t have to accept that. Your files and designs are yours. I think that’s one of the things that appeals to a lot of our users.
This is actually why CERN got involved in the first place. CERN’s mandate is to make all technology they develop freely available. That’s why they created the Open Hardware License (OHL). They realized that if you use a proprietary tool to design open hardware, you limit the number of people who can benefit from them.
I think KiCad will play a key role in the open hardware movement because of that.
It’s impressive that an open-source tool can keep pace with these big companies that have so many engineers and big support ecosystems. What motivates your team?
Wayne: I think there are two primary motivators that drive open source software development. One is dissatisfaction with existing software and the other is giving back to the community.
I used open-source software both personally and at work for quite a few years before I found a project that was a good fit so that I could give something back to the community. That’s primarily my motivation.
One other thing that’s exciting for me is the open hardware movement, which I didn’t see coming. The open hardware movement today feels a lot like the open software movement felt 20 years ago. People early on in the open software movement kind of dismissed it and said it’s not going to go anywhere. There’s no way anyone is going to do that work for free. Of course today, open-source software is everywhere.
The open hardware movement has that exact same feeling right now. The number of people doing open hardware designs has really increased in the last couple of years. I think KiCad has a lot to do with that. I find that incredibly exciting and want KiCad to be on the vanguard of all that.
Where will KiCad be in 5 to 10 years?
Wayne: I’d like to see us start moving to more simulation. One of the other places where I think the open hardware movement is just starting to branch out into is silicon. Maybe we could add a set of tools for chip design. I think we are pushing the whole open ecosystem down the stack.
The RISC-V is really interesting. But even that is still not completely open because manufacturing processes are not open. You still do not know completely what’s inside your silicon. I would like to see that opened as well. Anything that KiCad can do to help support that would be great. That’s a long way off in the future but I think that’s what I’d like to see 5 or 10 years out.
Being that KiCad is open source, how do you feel about companies with commercial objectives getting involved with KiCad?
Wayne: I think it’s great. I don’t believe that it’s an all or nothing proposition. We’re going to continue to be an open and free project. For people who want to do their own thing, that’s not going to change.
I want to grow the biggest possible user base, including commercial users. Not just this group or that group. I want to reach the biggest possible target audience. I think that makes KiCad for everybody. I don’t see it as, “well if they win, we lose.” From my experience, the idea that you can’t do both is somewhat short-sighted.
I think commercial support for KiCad is a really good thing. As far as I can tell, there’s no negative impact on the community. It gives engineers who work at big companies a place where they can feel like “hey, I can get the support that I need.”
One example is a company called KiPro, which was started by one of the KiCad lead developers. They’re now offering paid commercial support for KiCad. So, if you work at a company and want to be able to call somebody up rather than going on to the forum and waiting for somebody to answer, they can help.
Lack of support has always been one of the arguments against the commercial adoption of KiCad. Now that argument is gone. If that does help drive the adoption of KiCad, there’s no downside to that.
As far as how that’s going to impact the development of KiCad, I don’t see that making any major changes to how the project is run. If somebody needs a bug fix right away, instead of just waiting in the queue for when somebody gets around to it, they can pay to have that bug fixed. I don’t think anybody loses there since the entire community benefits.
I think it’s a really interesting model. I wonder if it will indeed help expedite the development speed of KiCad. Is there anything the community can do to contribute and help KiCad achieve its vision faster?
Wayne: There are so many ways to contribute to KiCad. Documentation is always a weak spot for open source projects. We could also always use translations too to make the tool more accessible. There are also things like maintaining the website, infrastructure, managing bugs, etc.
And of course, if you haven’t tried the latest version of KiCad, then give it a try. You can always try running the development version. We try to make the nightly builds as usable as possible, and any testing we can get is great.
Our development team spends a lot of time fixing bugs. It would be nice to have a couple of extra hands on deck to help with that. Of course, we are always looking for donors. The more people we can pay to help work on software, the faster things tend to move along.
Is there anything else you’d like to share?
Wayne: It’s neat to see what people are designing with KiCad. It never ceases to amaze me. People are out there using something that you helped create to do something that they are trying to create. It’s the most rewarding part of working on a project like KiCad.
We appreciate your insights and time, Wayne. Thank you.
Wayne: You’re welcome. Thank you SnapEDA for supporting the KiCad project.
October 31, 2019 at 2:26 pm
I would be cautious of encouraging commercial participation. The temptation to embrace, extend, extinguish is both strong and prevalent. It would be a shame to see KiCad go the way of other fine community projects.
As an amateur, non-EE builder, I have used KiCad for a few years on several project and it is a great tool.
November 9, 2019 at 2:56 am
I really like the graphics and the 3D model components. As an EE major using KiCad, the Eagle plug in helps me understand other open source hardware designs as I improve upon my own. I look forward to all the new features to come.
November 11, 2019 at 2:36 pm
I think that one of the best ever addition to kicad could be the integration of a fully functional and powerful CAD parametric library in order to allow the PCB designer to create any number of sketches on any copper plane and have a parametric history to interact with in order to be able to precisely position components, draw some specific traces, draw board layouts, etc, without leaving kicad interface.
I’m aware that there is a CAD library integrated into kicad (open cascade, I think), but the capability provided is very very basic. The sketches miss several useful capabilities when compared to Solidworks, ProE, etc.
IMHO, this has the potential to have a profound positive impact on the current and future kicad user base.