38
\$\begingroup\$

I'm trying to understand why open hardware is so much harder to come by than software. I've tried looking around online and I couldn't find as satisfactory explanation.

I understand that hardware is so much easier to keep proprietary and so much harder (impossible) to reverse engineer (in the case of ICs, not PCBs), but why would that hold back open hardware initiatives?

Is it the cost of manufacturing? Is it the lack of shared knowledge about hardware design? Is it the complexity involved?

With the advent of FPGAs making it so easy to design hardware (although they themselves are proprietary as well), I would expect that open hardware would be taking off at a much faster rate than it has been.

I'm sorry if this is the wrong place to ask, but this has been perplexing me for about a year now and has made me wish I had taken Computer Science instead of Computer Engineering.

\$\endgroup\$
8
  • 1
    \$\begingroup\$ Like opencores.com? \$\endgroup\$
    – Matt Young
    Mar 22, 2013 at 6:39
  • 9
    \$\begingroup\$ Honestly I think there's just not that much use for it. Everyday consumers can download an open source software and use it to fill a need in their lives, there are many millions of potential end users of a piece of open software. The 'market' for free hardware designs is many orders of magnitude smaller than that of free software, so I guess there's much less interest. \$\endgroup\$
    – Tim
    Mar 22, 2013 at 6:44
  • 3
    \$\begingroup\$ "This question is not a good fit for our Q&A format ... this question will likely solicit debate, arguments, polling, or extended discussion." \$\endgroup\$
    – The Photon
    Mar 22, 2013 at 11:31
  • 1
    \$\begingroup\$ That said, at the board level, there's plenty of published designs out there, intended for re-use by anyone. For example, in application notes and referenced designs from various vendors. They don't label these designs as "open hardware" but their existence means truly "open" designs in the FOSS sense are rarely needed. \$\endgroup\$
    – The Photon
    Mar 22, 2013 at 11:34
  • 1
    \$\begingroup\$ Because software is just code, but hardware takes real work and talent to design? Seriously though, I think a lot of it is that there is much less demand. You still have to build a hardware design to get anything from it, whereas it is significantly easier to grab some software and use it. \$\endgroup\$ Mar 22, 2013 at 12:01

6 Answers 6

29
\$\begingroup\$

Everyone can edit source code at home, very few people have a chip fabrication plant to knock out a couple of custom chips. Bytes are free to create and distribute, materials are not.

There's also the issue that source code is portable, and although CAD files etc. are sort of portable, there's a lot more overhead & errors & setup cost wasted materials.

3D printing crosses some of the boundaries, perhaps a bit of effort could do the same for the (much older) technology of machining, both parts & PCB's.

Edited to add: re-reading the question, and perhaps the intent of the question relating to FPGA's, I would say that they're currently still a bit of a dark art to many, and just not on the radar of most people. The entry barrier is quite high, in terms of effort, understanding, and tools.

\$\endgroup\$
3
  • 5
    \$\begingroup\$ This is the real answer. Hardware is more costly to get into. \$\endgroup\$
    – Joel B
    Mar 22, 2013 at 12:56
  • \$\begingroup\$ 3D printing is a particularly good example; see thingiverse.com for how that's exploded now that 3D printers are becoming more accessible. \$\endgroup\$
    – fluffy
    Mar 22, 2013 at 20:25
  • \$\begingroup\$ What's noticeable is the "Apple effect" that is being brought to it - it's been possible to 3D print for some time, and to home CNC-machine for much longer with very little effort... but making it simple and accessible has brought in a load more people - the same way Apple make their stuff easy to use in comparison with other products that do the same thing (or better) but have a steeper learning curve/entry barrier. User-friendly is (these days) a very old-hat term but it's fundamentally what's made Apple all those billions. \$\endgroup\$
    – John U
    Mar 25, 2013 at 9:57
10
\$\begingroup\$

Open hardware isn't actually hard to come by. Companies like Sparkfun, Adafruit and Arduino make schematics and firmware publicly available. Let's also not forget the maker community out there that contributes greatly to Open Hardware. There's also the Open Source Hardware Association (but you probably already knew that!).

It DOES seem like that open source software is a bit more prominent than open hardware but open hardware is out there - and it's big. Just spend 2 minutes on Instructables and you'll see. Lack of shared knowledge definitely isn't an issue.

Granted however, you probably aren't going to see a lot of free (as in freedom) verilog or VHDL code but they're out there. It looks like microcontrollers rather than FPGAs really rocketed the open hardware/maker community.

\$\endgroup\$
6
  • \$\begingroup\$ I guess I should clarify my question more. Yes, those companies do make their schematics and board layouts available, but many Open Hardware projects still use highly proprietary ICs. \$\endgroup\$
    – Caustic
    Mar 22, 2013 at 8:14
  • 5
    \$\begingroup\$ Everyone can edit source code at home, very few people have a chip fabrication plant to knock out a couple of custom chips. \$\endgroup\$
    – John U
    Mar 22, 2013 at 8:42
  • 1
    \$\begingroup\$ @JohnU your comment deserves to be an answer. \$\endgroup\$
    – shimofuri
    Mar 22, 2013 at 10:28
  • \$\begingroup\$ I shall make it so then! \$\endgroup\$
    – John U
    Mar 22, 2013 at 12:22
  • \$\begingroup\$ Yea, until they get mad that other companies take the plans and do exactly what open source means, and make copies (Read: Super Cheap Chinese Knockoffs). Look at MakerBot. They went closed sourced, because they didn't like the ramifications of open source, ie, that anyone can do anything with the hardware. \$\endgroup\$
    – Passerby
    Mar 22, 2013 at 18:19
7
\$\begingroup\$

I see you've clarified a few things in comments with regard to be open hardware in the true sense of the word where people could do their own design and manufacture from scratch as opposed to publishing designs based on proprietary parts.

It does largely come down to the manufacturing costs and complexity. Taking your OpenRISC example at the moment three main options come to mind, these costs are very ballpark but are indicative of things produced in hundreds to thousands of units, not millions:

  • Use the proprietary ARM platform instead and purchase chips from say Atmel or 20+ other manufacturers. Costs say $5 per part, chips are well documented and proven and setup costs / lead time are virtually nil. They don't require much support circuitry and many come in packages or on cheap prototype boards that can easily be hand soldered.

  • Take the OpenRISC processor, add support peripherals and load onto an FPGA. Definitely an achievable "at home" / open hardware project and also not many setup costs. However the FPGA is still proprietary as you've pointed out and it's more likely to come in at $20 per part including support circuitry, not to mention many packages are much more difficult to hand solder.

  • Take the OpenRISC processor, add support peripherals and get an ASIC made at your choice of fab, you could even buy your own facilities. Getting an ASIC made at an existing fabrication plant would run into the hundreds of thousands type mark, purchasing your own facilities to produce would be in the order of hundreds of millions.

One other thing to remember is that while FPGAs do make things easier in some designs they really only cover the digital domain. Most real-world designs require plenty of analog support circuitry to perform their final function so an FPGA may not be as much of a universal solution as you believe.

\$\endgroup\$
5
\$\begingroup\$

The "freedom to redistribute copies" and "freedom to modify" aspects of Free software really don't translate well to hardware. There is work and cost associated with copying a board, and much more associated with copying an ASIC (modified or otherwise). It's simply not going to be within the reach of the average user in the forseeable future.

Another factor is rapid obsolescence. Some of the open UNIX software is thirty years old; GCC is about 25 years old. Open hardware will generally have a shorter time before it starts looking horribly obsolete. This is especially true of all the things that people really want to be open: processors, graphics hardware, wireless interfaces.

(You could have an open replacement for e.g. the 555 or LM741, which would be more timeless, but what would be the point? How would it differ materially from the current ones?)

There is certainly scope for "community" hardware development, but that depends on having a stable, sensible* community that can agree what it wants and is willing to pay for. Again, requires a lot of work.

*(The use of a semi-closed Broadcom chip in the Raspberry Pi has attracted a small but very vocally angry group of complainants. I think that kind of thing puts sensible people off the kind of project that would be necessary to do Open ASIC design. A replacement could be done for about $5m and a year's work, unless there are catastrophic patent obstacles. You'd have to lose the patent-encumbered video decode hardware, and work out an instruction set license from ARM.)

\$\endgroup\$
1
  • 2
    \$\begingroup\$ Its not the closed hardware of the SOC that has people angry there, its the lack of a full public data sheet, even for aspects having nothing to do with the GPU. That and the sourcing issue have really limited community derivatives that might fix the board issues that prevent uptake in non-curiosity applications. \$\endgroup\$ Mar 22, 2013 at 12:04
4
\$\begingroup\$

The tool chain is much less accessible to the man on the street. Everybody and their uncles can get a compliler, database, ..., but an oscilloscope, function generator, bench supply, a library of parts, and the hard-won skills to use them just mean that there will be orders of magnitudes less players in the open hardware game.

\$\endgroup\$
3
\$\begingroup\$

I completely agree with the "order of magnitude" assessment of how easy and accessible open software is versus open hardware. It does come down to 'bits' versus 'atoms.' The cost and trouble associated with working on an open software project is extremely low and tools and infrastructure (the Internet, github and your PC) have all been paid for before you start your open software project so the incremental cost is your time.

Open hardware does require that you get the 'atoms' just to get started on the project and as a previous post stated:

  • Using a company's standard product is your lowest cost option ($5 to $100)*
  • FPGA implement is higher cost ($20 to $2000)
  • Your own custom ASIC ($200,000 to $2,000,000)
  • Your own fab to make your parts ($500,000,000 to $2B)

'* These costs include development costs as well as chip costs

Now, the open mixed-signal hardware movement doesn't have the benefit of an FPGA-like option mentioned above with more reasonable development costs and device costs.

Companies [yes, my company is one of them] are working to make configurable mixed signal solutions that would bring an FPGA-like business model to analog and mixed-signal chip design. In someways, open hardware in a configurable mixed-signal chip will lend itself to open hardware projects more than PCB-level designs do today.

Yes, I'm saying that configurable chip design could be easier than PCB design.

A configurable chip would contain silicon-proven IP that could be interconnected with single-mask layer changes by automated design tools similar to an FPGA place&route and configuration flow. And, mixed-signal designs don't go obsolete as quickly as digital designs because analog circuits do not need to chase Moore's low like digital designs.

Being able to work with a distributed team on the contents of a configurable chip could conceivably bring open software concepts and benefits to open hardware design.

Our premise is that the following attributes will help to make open hardware more popular:

  • Standardized configurable mixed-signal chip hardware
  • Characterized and documented IP blocks
  • Affordable high-level design tools that abstract full-custom chip design details
  • Automated compilation of high-level designs to configurable devices
  • Design sharing tools that support distributed teams
\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.