As open-source hardware (OSHW) has become more prominent over the past five years or so, I have heard questions about where I or Pololu stand on the subject. Most recently, I got into a bit of a discussion with Phillip Torrone of Make and Adafruit on one of his blog posts, and his questions and subsequent interview pushed me to try to organize some of my thoughts about OSHW. Because there are many aspects to OSHW, I don’t have a simple conclusion like, “It’s great!” or “It’s the future!” or “Pololu will never release an OSHW product.”. I am skeptical of some of the claims by OSHW proponents and of the significance of the more organized aspects of the OSHW movement. However, what is going on is very significant to me because it affects Pololu’s business and involves issues I care about a lot, such as freedom, creating things, and education.
Since I will be making claims and speculating about the motives of others, I should start by giving you some idea of my background so you can better judge my biases and honesty. Without any significance to the order, here is some information about me and Pololu in three general categories: my knowledge of OSHW, business and OSHW interaction, and personal philosophy.
Knowledge of OSHW issues
Business-related conflicts of interest
Personal beliefs and biases
Initial reaction to OHSW and its organizers: what is their motive?
With those general biases out in the open, I will move on to more specific biases that are likely to turn up when topics related to OSHW come up. I am skeptical, as are many others, whenever claims are made about things being free or almost free. “What’s the catch?” or “it must not be worth much if it’s free” might be the initial response to anything unexpectedly free or open, not just OSHW designs. My skepticism goes up even more when people try to control something that seems almost free. Why is it so difficult to give things away?
I think I get the basic motivation. Some people are happy just to let others use their ideas, and it’s easier to contribute to a project if you think your work will benefit a general, open community rather than a restrictive organization. And, as people become aware of the possibility of getting design files for hardware they buy, the “open-source hardware” term becomes a marketing point that unscrupulous organizations might abuse to sucker in new customers. So, it helps to come up with some standard of what OSHW is:
The problem with even this simple view is that different entities have different motivations when it comes to making OSHW designs. The meaning of any particular OSHW definition is diluted if every organization uses a different definition, so there will be pressure on a “the” OSHW definition to accommodate more organizations by relaxing the standard to a point where membership is large enough to be meaningful. Purists will want to pull the line as much to the open side as possible, and those wanting the benefits of an OSHW label without wanting to give up control of their product will want to pull the line to the restricted side.
Of course, there is no simple “openness” axis. Things get much more complicated if we expand our view to just two axes, say, how restricted use of the design is (e.g. non-commercial only, for educational institutions only, etc.) and how restricted understanding of the design is (e.g. all the component identifications are scratched off, schematic is provided, all source files and an explanation of operation is provided):
The red Xs show where a few kinds of designs might be: a patented design should give full disclosure of how it works, but uses the power of the government to restrict the use of the design; at the other extreme, a design might use a commonly-understood circuit but hide what circuit is being used. The task of the OSHW definers becomes more difficult the more axes are considered because different organizations will want to pull each spot along the boundary in different directions. Pololu sells products out where the Xs are, and given that we have not specifically tried to release open-source hardware products, it’s no surprise that we are well outside the OSHW line. But if we do move toward an OSHW release of a non-trivial design, chances are that we will move toward the line gradually, rather than jumping completely across it, so it is important to know where it is.
Of course, that’s if we care about “the” definition of OSHW, which brings me back to the basic motivation question; the more difficult it is to define this notion of OSHW meaningfully, the more I wonder why people are trying to do it. As I see it, there are three main types of interested parties: non-commercial consumers and contributors, the standard-setting organization(s), and commercial consumers and contributors.
Non-commercial consumers and contributors
By non-commercial, I mean those who are not really financially involved, who are not trying to make money in any way related to OSHW. They might buy the OSHW products they use, and the openness aspect might influence their purchase, but ultimately, they’re in it for fun or to learn something. By consumer, I am imagining someone who uses the OSHW product in a separate (possibly non-OSHW) project, whose interaction with the product might not be different than if it were a closed-source product. By contributors, I mean those for whom the OSHW project is their project; these people want to specifically advance the project. Of course, someone who initially starts out being just a consumer might get drawn into the project and contribute to it, and a contributor could be the sole creator of the project.
For the non-commercial consumer, OSHW makes complete sense. All else being equal, having access to the source documents only gives the user more options. I like knowing how things work and how some designer chose to do something. I am happy that my pick-and-place machines came with schematic diagrams. However, as I will get to later, all else is usually not equal, so I do not think automatically giving priority to OSHW designs is wise.
The non-commercial contributor is the one to whom I would most unequivocally advocate OSHW. If you are designing something for fun or to better yourself, sharing your work is a great way to go. Presenting your design to others usually forces you to consider more aspects of your design more analytically and lets you get more feedback about your work. Some people think that they might be giving up control of some great idea, but as I said earlier, I think that it is extremely rare for just an idea or even an initial design to be worth much. If you are just doing a project for fun or personal satisfaction, think of how rewarding it will be to see others get something out of your work. People also tend to have the reaction that they are getting gypped if someone else makes money off of their idea instead of them, but the reality is that the other person still has to put a lot of effort into making money off your work, and you still would not have gotten anything out of it if you had kept your work to yourself.
The standard-setting organizations
This is the role I can relate to or understand the least, at least for those who are in it purely out of principle. It’s easier to understand the participation of the commercial organizations, and I’ll get to them in the next section. I am automatically wary of those who profess their unsolicited representation of others; they make me think of politicians and class-action lawyers. I guess I would be more comfortable if the advocacy organization said, “Here are our values, come stand with us.”; the impression I get is that it’s more of a, “We represent you guys, what should our values be?” sort of thing. But some amount of asking for feedback about one’s values is reasonable, so maybe my impression is wrong.
One other point with an advocacy organization is that if they advocate for something I don’t support, they only make the world worse. This is unlike a company that produces things but has views I disagree with; the negative is offset by their contributing value to the world. With something like the newly formed OSHWA, I’ll have to wait and see what they do. I would support efforts to reduce axiomatic acceptance of intellectual property as a good construct; but, I am afraid that other, anti-freedom messages might get mixed in. For instance, I routinely get an anti-capitalist vibe when looking into OSHW stuff. Then again, people might think my anti-intellectual property stance is anti-capitalist.
Commercial consumers and contributors
Commercial participation is crucial to making the OSHW movement relevant. People whose livelihoods are at stake are in general going to be more serious and dedicated than those who are involved as a hobby, but with hardware in particular, significant financial commitments are necessary to actually make the end product. But what kind of company would want to give away their designs?
While a cynical answer might be, “a company whose designs aren’t worth anything”, the general answer is: a company whose primary means of making money is something other than creating the designs. The companies that most push for the free proliferation of the designs are those that offer complementary products or services; common examples are companies whose primary business is manufacturing the OSHW designs and companies that make proprietary components in those designs. There’s nothing wrong with that, and it’s also not new: integrated circuit manufacturers have long supplied application notes and reference designs showing how to use their products.
Watching the emergence of some OSHW companies, I suspect that it’s fairly common to somewhat unintentionally evolve from contributor to consumer along this path:
And that’s where the open-source motivations stop being so pure. If the product is popular enough, others will want to produce it without contributing to the design, and they might be better at manufacturing than the original designer. If the original creator wants to stay involved, he has to invest even more in manufacturing to get an edge there or try to gain some kind of control over the design. Things I have seen on that front include moves toward less-open licenses (e.g. non-commercial) and embracing branding and trademarks to stake out ownership of a project. While there’s nothing wrong with that if the designers are up front about it, I wonder what effect seeing projects get more restrictive will have on the enthusiasm of future independent contributors.
The other kind of OSHW-supporting manufacturer is one that makes many not-particularly-notable designs. Sparkfun and Adafruit probably fit in that category, and that’s probably where Pololu would be if our products were open-source. While there might be varying levels of design effort and competence from company to company and even product to product, the underlying acknowledgment is that there is not all that much advanced design to the product. The products might also incorporate components that the company has an advantage in sourcing.
There might also be a viable business model in becoming a good contract manufacturer to the OSHW community (and maybe that’s what some of the aforementioned companies are trying to do). A company could develop a good low-volume, flexible manufacturing system, and then seed a bunch of products with minimal designs that work well with the company’s manufacturing processes. The company’s design and engineering staff would focus on transferring new independent open projects into formats that work well for the company. It seems like it could be a win-win, with independent designers getting to do the fun part of designing, and the manufacturing company not really having to invest a lot in design. But, the company would still be doing contract manufacturing, which I think is a tough business, and I am skeptical that there are enough benefits to open-source hardware to give the company a competitive edge.
Before I move on to address potential benefits of OSHW, I want to throw out one other thought about motivation. I think people just like being good at stuff, and that relates to open source in two ways. The basic one is that releasing source documents can be a way of showing the world the glory of your design. I think some also have the hubristic desire to show exactly what they’re doing and still do it better than anyone else. I have heard smart people claim that it’s fine to release all their designs because they would only be of use to those that are behind them, anyway. I doubt that they will all always be one step ahead of everyone else.
It is awesome that a composer and pianist like Franz Liszt could write down his creations and 150 years later, people still devote themselves to replicating (“interpreting”, say the professionals) his pieces and probably cannot perform them as well as he did. Magic tricks are kind of like that, too, in that they blow me away the most when the illusionist tells me exactly what impossible thing he’s about to do before doing it. Of course, we know the magician is usually cheating a bit, in the sense that he’s actually not doing exactly what he’s saying; I think OSHW companies have to be careful about not doing what they say, too.
Benefits of open-source hardware
Some basic, immediate benefits of open-source hardware are obvious. Anyone who interacts with an OSHW-related project or product always has the option of ignoring the extra information that would not be available in a closed-source equivalent, so any extra benefit, no matter how small, would give the overall edge to the OSHW alternative. I don’t think there’s much controversy regarding the basic benefits, but I’ll list them here for completeness (and maybe someone can point out ones I’m missing):
I started drifting away from immediate benefits to more theoretical, philosophical benefits toward the end there. And I think the main problem skeptics have with OSHW is that the immediate reality does not match the optimistic claims (and it’s not clear that that will change any time soon). In my mentions of the open-source alternative being a no-brainer for a consumer, I qualified them with phrases like “equivalent” and “all else being equal”. But from what I’ve seen, OSHW products tend to have more mistakes, worse engineering in general, worse documentation, worse availability, and not necessarily better pricing than similar proprietary products.
I see two main reasons OSHW does not live up to its claimed potential: the source documents tend to have little value as a starting point for anything other than very minor changes, and there are other large barriers to meaningful participation. These issues are especially important because they distinguish open-source hardware from open-source software, which I think many OSHW proponents look to as evidence of feasibility.
Barriers to meaningful participation
A common criticism of OSHW is that it’s really not that open because it’s based on proprietary components and uses proprietary software. Of course, that does not have to be the case, but it’s very relevant to anything Pololu might release. All of our PCB designs are done in Altium Designer, which right now costs around $5,500 per seat. We have paid Altium tens of thousands of dollars over the years because we really think it’s much better than cheap or free alternatives. If we wanted to be open-source, we would have to decide whether to dumb down our internal development by switching to inferior software or to release documents that are not really that accessible. (I realize that in itself is not an argument for not releasing what we have, but it substantially weakens the motivation for doing so.)
But something like accessibility of the software to look at the source is not the main problem, which is that because we are talking about physical things, you actually have to have stuff and spend a lot of money to participate; knowledge and understanding are not enough. For example, in the open-source software world, if there is a flaw in an application you are using, and no one else cares about it enough, all you need is understanding of the software to fix it yourself. You can (almost) immediately verify if your modification worked and then use the new and improved application. In contrast, with hardware, you cannot immediately go from fixing the design in the abstract to having the fixed real product. To get the benefit of your fix, you also have to go through all of production, from ordering new PCBs and components to assembling the device. For anything but the most basic designs with basic technology, that just isn’t feasible.
When you do get your hands on a physical copy of the device being developed, validation and troubleshooting of advanced products is still expensive and beyond the means of most individuals. Even for relatively basic products, we use tens of thousands of dollars’ worth of equipment like oscilloscopes, current probes, and thermal imagers to make sure our products work. If we made the designs open, most users would not have the means to contribute at the level necessary to be meaningful, and if a more advanced organization were to improve on the design (maybe using X-ray analysis, EMI testing, whatever), we would no longer be able to contribute much, either. In other words, contributors need to be peers or approximately equals in resources or capabilities to be able to contribute meaningfully; however, with hardware, dissemination of information alone is not sufficient to make them equals. I suspect that any decently advanced OSHW product that sees meaningful advancement or improvement will evolve into a less and less accessible design.
Difficulty in merging branches
The other major shortcoming I see in the OSHW vision is that specific hardware implementations are difficult to merge. With that software fix example I used earlier, getting the modification back into some main version of the software is probably relatively simple. (I’m not talking about changes that might cause subtle problems elsewhere; that kind of problem can show up in hardware, too.) With appropriately designed software, you can tack on huge modules because the connections are logical. With hardware, it’s not enough to put two designs side-by-side and say, “these nets should be connected”; you will almost certainly have to reroute all kinds of other connections to make it possible. Therefore, the source documents are very limited starting points for derivative works.
This is not just hypothetical; it’s the reality even for our own designs where we obviously have all of the source information available. For instance, we have simple carrier boards for a compass chip and a gyro chip:
When we then took the obvious next step of putting both chips on one board for a 9-axis IMU, the source documents for the first two boards were basically irrelevant. There was not too much to the schematic in the first place, but once we decided what we wanted the circuit to be, it was easier to just make a new project from scratch. Things could maybe be a little different if there were a really capable autoplacer and autorouter that could just lay out the PCB for us once we gave it the concept of the design, but I don’t think any existing software could make anything close to our human design:
As with the barriers to participation problem, this limited usefulness of the source files for anything more than trivial changes is not in itself a reason not to release our designs, but it severely undercuts the motivation for doing so.
So, what is Pololu going to do as far as open-source hardware? I don’t really know. One of the subjects I have not directly addressed is whether it would be bad for Pololu to switch to an open-source approach. Even though I listed a bunch of benefits to OSHW, it’s obviously better for our customers to have the option to buy our closed-source products than not to have the products exist at all because we went out of business. I know that if we went out of business, I would want to release everything so that it would continue to exist and to give some last benefit to the customers that have supported us over the years.
Ultimately, I don’t have a good way of judging what open-sourcing our products would do to our business, and it seems like a difficult decision to take back. If you’ve read this far, I’d like to hear what you think. How does making or not making our products open affect your relationship with Pololu, even if you don’t expect to use the source documents (i.e. just on principle)? If you think you would use our work, what specific products would you want access to, what would you do with them, and how would opening those products affect Pololu? Is there some existing open-source project you would like us to get involved in?
6 Comments New Comment
27 Apr 2012
Nice informative post.
Personally I am a huge open source fan on the software side of things, but haven't really thought about it too much on the hardware side (beyond proper API documentation so people can write their own drivers without always waiting for the vendor).
My initial thoughts of OSHW for Pololu would be: don't jump before looking with all your products, but maybe do a couple boards designed as OSHW to support the electronics hacking community and see how it goes. Your "Wixel Configuration Utility" software that you have would also be a great place to be more open (since you sell hardware and the software just supports it).
Pololu is already a successful company, so switching to OSHW now all at once seems like a bad idea because you don't know what the challenges are and how it will effect your bottom line.
From a more philosophical POV:
Enlightened people try to help one another and society as a whole, but you can't force other people to be more altruistic (as a government often tries to do)...
Open Source is an easy direct way we can all be more helpful to our fellow man, but obviously you have to look out for yourself to some degree before you're able to help others as much as you'd like (if you are homeless, you probably shouldn't give all your money to the Salvation Army, even if you really want to help people (for an extreme example)).
Looking forward to more blog posts :)
18 May 2012
Open source is great on an easily configurable platform where every bit is always available to everyone, such as software. Open source hardware is not even possible as much of it must be built around components that are manufactured by one company or another in limited quantities. The idea, circuit diagram, or layout can be open source but it's always dependent on something closed or proprietary so it is never truly open to begin with.
Personally I find you're products very useful, simple, and flexible as they are now. I really like the module style approach that you've taken rather then putting everything on one board. If I wanted to try, I could try to build my own motor controller and so on... But with kids I realized a while ago that I don't have time for this stuff... I'd much rather have my kids see the project working now than finish it after they are grown up...
19 Jul 2012
Thank you so much for writing such an honest post. It's great to know the philosophy behind a company.
I've been questioning about this OSHW stuff recently myself, and my views are very much in sync with yours. The idea that random people will contribute to the development of hardware beyond the very elemental level is very naive to say the least. While I see a big benefit in disclosing the details of designs, especially schematics for electronics, releasing all design sources helps competitors more than the actual end users.
I also agree very much about the situation that OSHW designs being OSHW because there's not that much went into them. Of course those are not the norm, but there are some basic, non-original, and non-innovative designs using OSHW as a marketing ploy. You can easily identify those because there are no published derivatives on those designs.
I think Pololu should more or less stick to its practice the way it's been. Perhaps open up some basic designs - more chance of people actually using the design source. Advanced designs have little benefit in Open Sourcing in my opinion.
At the end of the day, the goal is to create something great. Wether you should achieve it via closed design or open design depends on each project.
7 Nov 2012
Thanks for writing such a well thought out piece,
as it echoes some of my own thoughts on OSHW.
(but I think you expressed them better than I might).
A the end of the day, I personally think it is all about intent.
If you think that the OSHW community is your friend,
and your intent is to help further that community,
then I think you might embrace OSHW development.
I think it is a classic "the total is greater than the sum of the parts",
when you open things up to a larger community development effort.
Sparkfun started out designing and developing all of their 'lil boards,
but now many of their new products are designed by their users/customers.
They still make a profit manufacturing and selling those 'lil boards,
but maybe just not as much. Many of those designs are considered OSHW.
There is also another option for you - dual licensing.
Using a dual/multi license, you can release under different terms
for different uses. If a hobbyist wants to make a few boards or a derivative,
then the can do that as OSHW - it a competitor wants to make it to sell
into your market - then they need to buy a commercial license.
It's really the best of both worlds...
16 Feb 2013
An interesting take on OSHW, thanks Jan. I am a big fan of open source software but OSHW seems a bit odd, it's not like you can fork a circuit board and give thousands of users new features or bug fixes for free and if you want a custom one off for your own use you will still have to redesign a board, add new components, solder it all etc etc I think it is far more important to create really good quality learning resources like your servo series (thank you for taking the time to do that, it really is excellent) for free so that hobbyists and makers without the benefit of EE degrees can learn to create their own things if they wish to.
If you want to know what your customers are doing with your products you could always try offering a $10 voucher for every youtube video explaining how someone has used a pololu product in their design.
19 Feb 2013
You have thought about this haven't you. Your the sought of caliba of person I would like to have a cup tea with and a chin wag.
You have answered your own question the answer being OSHW in practise is a myth and you should do nothing.
Some 20 to 15 years ago as you noted the model train guys were scratching the numbers of chips. Big deal lol.
The remark made by our other learned blogger was that a competitor would more than likely benifit than a hobbest. This maybe true but I could duplicate anything you make with out schmatic's or chip numbers.
1. Search the net for semiconductor manufatures.
2. Go on to there site and enter in some key words of what you want to do.
3. Wala a list of all the different chips that do what your looking todo come up and you soon start noting which one does it better.
4. Go to the back page of that chips pdf file and there is your standed circut lay out for it.
It really isnt that hard.
What you are getting payed for is the do bit to get it on to a board and some ergonomic's so it's easyer for hobbist to apply to there projects.
Any OSHW could do it if they wanted to really waste time - OSHW existed before the net it's called a data sheet.
Univesity use to teach the 3p's of business Place, Product, Price. It's a modern world now most do the 3p's by accident and every one can provide the 3p's.
What counts for a consummer now days is honest and transparent business with no slezzy stuff like pricing the product cheaper and recovering the loss in an over enflated postal charge like i see many do.
There was a promotion idea to get feed back from customers to see what the doing with your products.
Your Maestro is just about a one stop shop at a great price.
The promotion should be more about what they aren't doing with your products.
I apoligise to you mister pololu but with this OSHW you have been tricked into thinking about absolute waffle.
Get back to thinking about some more cool products. They already do everything what about some 32 bit pic's uping the speed and script memory on exsiting products.