I truly believe open source hardware is here to stay. It has established itself as a great community, a great effort, and for many, a great business. I spend most of my days working on open source hardware in some way, and I wanted to talk about some of the {unspoken} rules we all, well, many, seem to follow. Why? Because the core group of people who’ve been doing what we’ve collectively called “open source hardware” know each other — we’re friends, we overlap and compete in some ways, but we all work towards a common goal: sharing our work to make the world a better place and to stand on each other’s shoulders and not each other’s toes : ) I’m sure there will be some folks who agree strongly with what I’ve outlined as “unspoken rules,” others, I hope will completely disagree with many points too. That’s great, it’s time we start this conversation.

OK, let’s go!

We pay each other royalties, even though we don’t need to.

As odd as it sounds, we pay each other. I can be really specific. I introduced Mitch Altman, inventor of the TV-B-Gone, to Limor Fried. I wanted to convince him to work with her on an open source hardware kit version. That was almost five years ago and it’s worked out great. Mitch travels the world doing workshops while MAKE, Adafruit, and many others sell his kit, and he gets paid a royalty that he came up with that makes sense. Behind the scenes, most/all open source hardware designers pay a royalty to each other when they make and design together. Do they need to? Technically no, but we all do. When kit makers talk to me about how we can work together, I tell them this story and encourage them to ask Mitch what it’s like working with Limor, getting royalties, and how it all works. If you look at many of the product pages on Sparkfun, they do this too. Actions speak the loudest for this unspoken rule : )

We credit each other, a lot.

What does the open source maker usually want? Just to be credited properly. This usually isn’t an issue since the community generally looks out for each other, but there are examples that pop up from time to time of it just being unclear who made what. It’s not malice, it usually just forgetfulness. There are a lot of giant companies taking open source ideas and making them commercial products (that’s always going to happen), but the open source hardware community is a community. We credit each other. Even if you don’t like someone, it’s easy and actually fun to credit each other. “Hey, I used this code/hardware, improved it, here it is and here’s who originally made it.” When we get general ideas, we usually say things like “This was inspired by.” Giant companies don’t or can’t do this, but the open source hardware world can. A big example is how you’d never see Samsung say they were “inspired” by anything Apple does, but it’s pretty clear they were. In open source, you’ll see makers gladly say where they first saw an idea.

Naming: be different. It’s better to be unique.

In general, we try to avoid naming our projects in a confusing way. Trademarks are one of the few ways we can “intellectually protect” hardware (schematics are not copyrightable) so we focus on branding things and building a product that people know comes from a specific company or person. Here’s an example: I think there was a period where many people and companies made Arduino-like boards and stuck “-uino” at the end or even just called it Arduino, but I see that as ending soon, or at least we won’t see it as much. The “Boarduino” for example was ok’ed by the Arduino team. This was before a million *uinos came out later. More and more makers are creating new and unique Arduino-compatibles and calling them something completely non-“uino” named. We’ll say things like Arduino-compatible, but we won’t call them Arduino. Arduino, the name, belongs to the Arduino team. From their USB vendor ID to the name and logo on the board, it’s theirs. If you’re trying to fool people by using someone else’s name, stop it. There are some examples of this well-known actual rule (trademark law) and unspoken rule getting broken. I think that will go away over time as companies and people see there’s more value in creating your own name for your own products. I’ll have a bigger article about trademarks and USB vendor IDs in the future, but this is a start.

We actually do open source hardware.

This is an easy one. If you’re calling it open source hardware, release the files: schematic, source, BOM, and code. All under an open license. Don’t hide it. Don’t say you need to sign an NDA and attempt to obfuscate. Don’t be difficult. If you’re trying to be tricky, just don’t do open source hardware. A new thing I’ve seen, and I don’t think meets the spirit of openness: don’t use open source hardware or software as a “prize” if your Kickstarter gets funded. It doesn’t work like that. Open source hardware isn’t a marketing term — it means something specific. We’re doing open source hardware because we want to, not because we want to trick people. The only issue that usually comes up for us is time, as we manage hundreds of projects all the time, so not every file is updated instantly. I know for a fact that I haven’t had time to instantly upload every single Eagle file for breakout boards to GitHub. Those are not complex so no one cares, but I care, so I’m going to try my best to make sure they’re all up. I’m moving everything to GitHub to make this easier on me (and everyone).

Basing your project/product off open source? Open source it.

This is another one we all generally follow. Let’s say you make something based on an Arduino, which is under an open license — yeah, you need to do the same. Once in a while I’ll see an Arduino clone that someone has made and they’ve put under a non-commercial license. When I ask why, it’s usually something like, “Well, I don’t want to be cloned — like the Arduino is all the time.” Sometimes the maker changes the license after the project makes the rounds to an open one. It’s my opinion that if you do an Arduino shield it should be open source hardware too. However, I don’t think everyone agrees with this point.

Code and designs: add value.

It’s not valuable for the community to fork code and just change a name or something and call it your own. You need to add more value than a logo or naming change. Many open source hardware companies have really expensive teams making and sharing open source code and hardware. Just changing a couple of things so you can ship your own thing is really frowned upon. It happens, but it’s pretty rare. However, this is one of the unspoken rules that will likely need to be talked about openly. It’s one thing to copy and improve, it’s another to just copy and sell. I’m a big fan of copy, improve, and republish, but it’s rarely done because it’s hard work. When people fork just so they can change one comment or make it sound like they are the original authors, and they don’t add any value, it’s a support burden for the original makers too. Non-customers are confused — things aren’t synced up. It can be a mess.

For open source hardware to work, we all need to support the original authors when we can and we all need to talk about the rules of copying and republishing changes. We want to avoid people or companies building their products/projects off the open source software/hardware communities and then closing it off. Sharing needs to go both ways, always.

Cloning ain’t cool.

I’m going to continue to use Arduino as an example since it’s the poster child of open source hardware. If your goal is just to make Arduino clones and not add code or hardware improvements, please go do something else instead. I see a few companies just make straight-up clones, make confusing names, and think it’s socially acceptable. It’s not. The beginners get confused as to what’s a real Arduino with the quality, service, and support, and most of the time the clones are crappy. I have a box of “Arduino killers” from all over the world. They’re not adding value in any way — it’s just someone being selfish. I get a dozen emails a week from parents or kids who bought a fake Arduino, and they’re upset it doesn’t work and that the eBay seller or fly-by-night store won’t help them. Most of all, get cloned enough and any reasonable person might just stop doing open software and hardware due to the support burden.

Support your customers.

If you’re doing open source hardware because you want to make an “Arduino clone” thinking you can just pass the hard work of customer support over to the community, that’s not fair to anyone. Spend the time and resources to create tutorials, forums, and support your customers. I’m using Arduino again as an example since I see customers purchasing “cloned” Arduinos but expecting support from the Arduino support team because it says Arduino. Open source is a way to make things better, not to just outsource support to someone else. Join in, support your customers, and they’ll reward you!

Build your business around open source hardware.

If you’re going to require that someone does open source for your newly venture-funded online open source hardware social network or whatever, you gotta do some open source yourself. If you’re celebrating open source and attempting to make money around it, you gotta put value back in too. I’ll give you a good example: let’s say you want to make the “Dropbox” of open source hardware. Cool! However, if part of your product design is requiring customers to have all their files under an open source hardware license, you need to do that too and open up your own stuff. Otherwise, what’s the point? Obviously there’s marketing value in the word “open,” and for small startups we’ve seen that many want to take advantage of that. Want your new company to be part of the open ecosystem? It’s worth something, so you need to do the same. I’m not saying you need to give it ALL away, but you need to do something to show you value open source enough to do it yourself.

Respect the designer’s wishes.

We can email each other and talk when needed. Sometimes the maker of an open source hardware project might have a request if you’re going to clone their hardware; for example, “Hey, don’t use this to kill puppies, OK?” Now, while open source really doesn’t stop anyone from making a puppy grinder from your open source CNC, I think it’s totally fair for the designer to ask you not to do that if you start to go down that path. There’s been a few times I’ve seen open source hardware projects get hijacked a little, and the author was concerned about its direction. A simple polite request actually works: “Hey, I know you can do anything with my stuff, but I just don’t want to see a puppy grinder.” This is a tricky one because the hardcore licensing people hate to hear this. They think it means the license was weak or something — it’s not, it’s a strength that we’re a community who can talk to each other when needed. And 100 years from now, anyone reading this today will likely be departed, so I think it’s important that we try as a community to respect the designer who gave their work to the world. It’s also helpful for the designer to include a bit of text in a Readme for the license or on a project page that lists some ideal uses. Of course it won’t always be followed, but at least there’s some framework and intentions spelled out. Despite what we all think, we are humans that get emotional about our works, it’s not a weakness, this too is a strength.

When we finally get an open source hardware foundation, we’ll all support it.

Eventually there will be an effort led by great people to make a foundation that may talk about many of the things I just went over. They’ll be there to serve us, the community! I’m not the right person to be on a foundation (in case you’re wondering, I want to actually run an open source hardware company). Also, I probably have too many opinions to be effective at this point.

We can all do a couple of things well with the time we have, but a foundation for something as important as open source hardware would be too much for me to take on. But here’s what I can do: I’ll financially support a foundation, and I’m sure many/all/most of the open source hardware companies will too. I make a living from open source hardware, so when a foundation comes along I’ll give them money. I’ll encourage others to do the same. I’ve donated to the Open Hardware Summit, so this is an easy one. Right now, I think I can get the people I work with at Adafruit to donate about $400 per employee x 25 people — that works out to $10,000 from my day job. This is something that’s important, so I’m going to try to make it happen. I’m hoping other companies can do this on an employee basis too, since that’s a really fair way for companies of all sizes to help — from the individual making 25 kits in their kitchen to the 100-person factory floor.

Those are the biggies, and I’m hoping there will be a lively discussion about all of this. I should also say these are just my opinions. I don’t speak for the open source hardware movement — that would be impossible. When I say “we,” I mean it as what I think is the general stuff the open source hardware community tends to do. I’ve also talked with many open source hardware makers over the years and for this specific article. I’m sure many of us have accidentally broken some of these unspoken rules before, and hopefully we fixed it quickly : ) I also realize when I write stuff like this I’ll be held to some tough scrutiny. We’ll see if these types of articles are helpful. Not everything I work on will be open source, but if it says open source I’ll always work hard to make sure it fits the technical and social norms we all expect. OK, post away in the comments!