Why you should use Free and Open Source Software to design your hardware

When you design hardware, it is very likely that you want to share your design files with others. At the very least, you may want to open your files and edit them in the future. This blog entry explains the advantages of using Free and Open Source Software (FOSS) if you want to make sure you always have access to your files.

Layout of a circuit using KiCad, a FOSS tool to design Printed Circuit Boards

Commercial not the opposite of FOSS

‘Commercial software’ is not the opposite of ‘FOSS’. The opposite of ‘FOSS’ is ‘proprietary software’.  A proprietary program is one for which you do not have meaningful access to the source code. You can buy support for FOSS, and then it’s commercial FOSS. In fact, many argue that it’s a winning combination: you avoid lock-in situations because it’s open-source, but you contribute to the sustainability of the project and you don’t expect people to work for free, which unfortunately is often the case with open-source projects. 

The problem with proprietary tools

The most important issue with proprietary tools is the dependency on an external entity, typically a software company, to be able to open and edit the content you created to begin with. We are so used to accepting this that we don’t see anymore how unnatural it is. Imagine you kept a hand-written diary. Some of these diaries come with a lock for privacy reasons. Now imagine that every time you wanted to open your diary you had to ask a company for the key to the lock. The company could ask you for regular payments to continue giving you the key every time you asked for it, and if you stopped paying you would not have access anymore to the years of content you might have already written in those pages. Even if you were willing to pay, the company could go belly-up, or their priorities could change, and you might lose access to your diary. Sounds ludicrous, right? Yet, this is what we accept every time we generate content using a proprietary tool. The current trend for design software to be ‘in the cloud’ and for licensing to be subscription-based gives tool providers even more control over who can access files and when.

But my EDA vendor gives me this super-good deal!

Some people invoke low prices of a given proprietary Electronic Design Automation (EDA) tool as a reason not to worry too much. Versions of the tools with limited capabilities are sometimes even available for free! EDA vendors can give extreme discounts to users as part of their commercial strategy. For example, academic institutions often get very good deals because vendors know that these tools have a steep learning curve and once a user has developed the muscle memory to be super-efficient, they are very likely to ask for the same tool in their next job, which may be in a company paying the full standard license fee. 

Does that mean that you are safe provided you work in an academic institution? Ask people working there, and you will find out that changes in the strategy of EDA providers (for example as a result of new management) can easily result in abrupt license fee increases. The feeling of helplessness in those cases is hard to describe, especially if you already have a huge number of designs done with that tool.

Zero or very-low license fees create the illusion that you will not lose much if you have to change tools as a result of a price increase, because you never paid them much to begin with. This may be true unless you and your colleagues have invested a big effort learning the tool and creating content you may not be able to access again. For example, a single PCB design might have taken hundreds of hours and multiple iterations to be completed; you might still have the Gerber files for production, but if you need to make a small modification, there is a significant cost to starting the whole layout project again.

If, on the other hand, you think that you may be willing to accept a steep increase in fees to be able to keep access to your files, I have bad news for you: your EDA vendor may be doing that very calculation for you as you read this. One cannot blame a commercial company for wanting to make more money. That’s what companies do. Whether your interests and theirs are aligned enough for you to purchase a proprietary license to their software is for you to judge. At this point it is worth noting that many users absolutely want to pay in exchange for the assurance that they will get technical support if they need it. This is a reasonable expectation when one uses a tool for important design work. As I mentioned earlier, it is very possible to buy that kind of support for an open-source tool. It is also an excellent way to help the project, funding software development work while maintaining the benefits of FOSS. Proprietary licenses typically conflate two aspects which are largely independent: the ability to open and edit your files on one hand, and the support if anything goes wrong on the other. You can certainly get the latter without compromising on the former.  

Call to action

Every designer wants to be able to share designs with their future self. If, in addition, you are designing Open Source Hardware (OSHW), your motivation to use FOSS should be even stronger. Open-source tools are sometimes lacking in features and quality. This may be partially explained by the fact that developers are often volunteers who join a project to ‘scratch their own itch’. As a result, conceptual integrity and user experience may get less priority than they should. You can help develop a good open-source tool in your domain (mechanics, electronics or other) in many ways. Contributing code, helping fund development or steering these projects to make them more organized and scalable are just some of the ways people are already doing this. In software development, many of the best tools are open-source. Awareness of the importance of FOSS in guaranteeing easy sharing and absence of lock-in is a first step. This blog entry, necessarily limited in scope and depth, is meant to raise this awareness. A longer version, describing Printed Circuit Board (PCB) design to make things more concrete and tackling the important subject of file formats, is available here. So, what next? If you would like to discuss further and see how we can get organized and reach critical mass in this important endeavor, feel free to post your questions, ideas, suggestions, etc. in the OSHWA Forums. Let’s make FOSS the standard way of sharing OSHW designs!