As software developers, we hear a lot about Open Source
Software. I'm a big fan of OSS, and think it's one of the single
most impactful things that has added to the collective knowledge of
the developer community. Microsoft has several larger open source
projects and software. For example, ASP.NET MVC is open source
software, and the .NET Micro Framework is a full apache-license and
community
contributed open source project (you can use our free Visual
Studio tools, or free and open source tools like Monodevelop to
code for it). Microsoft is a huge company; there are actually a
number of OSS projects going on and more every day.
Open Source means different things to different people, and not
everyone expect the same result of benefits from it. Phil Haack,
late of Microsoft, had a great post on the difference between Open Source
Software and an Open Source Project and an excellent follow-up
post on the spirit of open source.
On thing software developers are often not aware of, however, is
Open Source Hardware. It is to hardware as OSS is to software.
What is Open Source Hardware?
I have a few hobbies that center around making things. Some are
mostly physical/mechanical, like CNC machines. Others are mostly
electronic, like MIDI interfaces, synthesizers, MIDI to CV converters, and
whatnot. Most of these have code, firmware, which is (or will be)
released under Open Source licenses. But what about the actual
plans, schematics, and the board designs? How can you license and
categorize those?
That's something the Open Source Hardware movement is trying to
define and make easier.
From the wiki: (emphasis mine)
Open source hardware is hardware whose design is made
publicly available so that anyone can study, modify,
distribute, make, and sell the design or hardware based on that
design. The hardware's source, the design from which it is made, is
available in the preferred format for making modifications to it.
Ideally, open source hardware uses readily-available components and
materials, standard processes, open infrastructure, unrestricted
content, and open-source design tools to maximize the ability of
individuals to make and use hardware. Open source hardware
gives people the freedom to control their technology while sharing
knowledge and encouraging commerce through the open exchange of
designs.
Essentially, if you release something as Open Source Hardware,
you're enabling other people to make their own versions of it, or
to improve it. There's more to it, though. Read on.
My most recent project is a simple MIDI interface for the .NET
Gadgeteer. I developed it in the open, with the advice of many
others on the forums. I've sent out for some prototype boards,
and once it looks like it'll work, I'll then publish the schematic
and board files officially. Developing it in the open allowed me to
get feedback and make the board better. It was also incredibly
motivating: I've had way too many projects just sit around and
collect dust because I got bored with them. That didn't happen
here; I credit the OSH approach and license for a big part of
that.
The version I sent out has vector fonts instead of
proportional fonts, slight board shrink down to 32mm high, and a
slight increase in clearance between the ground plane and traces,
but is otherwise the same. Notice the dimensions on the board: it's
pretty tiny. That SOT23-5 SMD logic chip is SMALL. Final schematics
coming when the board shows up (WIP stuff is linked to in that
thread)
Recently, my friend and fellow Microsoftie Andrew Duthie went
through a similar process (before I did) in designing his own .NET Gadgeteer
LED Array module. He also went through the very public process
of designing the prototype and folding in feedback
and working publicly on the API. His prototype doesn't have
the OSH logo on it anywhere, but it's OSH in process and (assuming
he releases the schematic and board design files) OSH in
result.
The product is much better for it, and everyone,
including the designer, benefits.
Free doesn't mean you can't make money
If you're working on a piece of hardware, consider
making it Open Source Hardware. This doesn't mean you
can't make money off of it. You can certainly manufacture the
hardware yourself, or sell kits, or whatever, and turn a profit
doing so. OSH and commercial work are not incompatible. Companies
like Secret Labs
and GHI
have entire branches dedicated to creating open source hardware and
software. They still manage to stay in business and actively create
cool stuff :)
Of course, many companies make money off the most popular of all
open source microcontroller platforms: the Arduino. In fact, I
can't think of any other OSH project which better exemplifies the
benefits of OSH. You can buy an official Arduino, build an Arduino
yourself either from a kit or on a breadboard, or you can use any
number of third-part versions of the Arduino, some with extra
features, some with smaller footprints or other enhancements. Other
people have taken the Arduino schematic and adapted it to create Arduino-compatible robot platforms.
Part of the reason companies can make money doing this is
because the barrier to entry for physical devices tends to be
higher than with code. Hardware design tools aren't as
collaboration-friendly as software tools in many cases. You'll have
some people who will take the design and go and manufacture
themselves, but you won't usually see as many contributions or
forks as you would with Open Source Software. Instead, you'll tend
to see more advice and contribution going back to the original
designer/manufacturer. Similarly, not everyone has the required
metal cutting tools to make the required parts for their own OSH
CNC machines or 3d Printers at home, and so they must rely on
others for those. A whole cottage industry has been built around
providing the harder to make parts for 3d printers like the Rep
Rap.
Want to see something cool? Head over to kickstarter
and enter "open source" for the search term. Open source
(particularly hardware) projects abound on this crowdfunding
site.
Why should you care?
By creating your work in the public and releasing as OSH, you
contribute to the community and to knowledge everywhere. You also
get back from the community ideas on how you could change the board
to make it better. Even better, you'll have people in the community
who take your design and augment to do things you probably never
even considered. Those designs must also remain OSH, so you benefit
from them as well.
Lots of great ideas simply die because the inventor didn't have
the means to manufacture them. Had they released it as OSH, it very
well would have been picked up (if a good idea) and made available.
Instead, they stay locked up in a vault on an off chance that the
inventor can figure out a way to manufacture them and maybe make a
few bucks in the future.
Now, you can definitely create Open Source Hardware without
using the logo and without associating yourself with OSH. However,
falling under a known framework will make it easier for everyone
else to understand exactly what your intentions are with regard to
rights.
Next time you make something, or start to make
something, be unambiguous and develop it in the open and with an
OSH license. It's fun. It's motivating. It's good for developers
and makers everywhere, and your product will almost certainly be
better for it.