Open Source Hardware Approaching Critical Mass
angry tapir writes: The Open Compute Project, which wants to open up hardware the same way Linux opened up software, is starting to tackle its forklift problem. You can't download boxes or racks, so open-source hardware needs a supply chain, said OCP President and Chairman Frank Frankovsky, kicking off the Open Compute Project Summit in San Jose. The companies looking to adopt this kind of gear include some blue-chip names: Bank of America, Goldman Sachs and Capital One are members. The idea is that if a lot of vendors build hardware to OCP specifications, IT departments will have more suppliers to choose from offering gear they can easily bring into their data centers. Standard hardware can also provide more platforms for innovative software, Frankovsky said. Now HP and other vendors are starting to deliver OCP systems in a way the average IT department understands. At the same time, the organization is taking steps to make sure new projects are commercially viable rather than just exercises in technology.
As best I can tell, 'open source hardware'(in the sense used by the Open Compute Project, and their ilk, not the sense implied by users of the gear logo, who are much closer to OSS in meaning and intent) is much closer to what would be open/cooperative development of APIs in the software world.
The Open Compute Project doesn't really care, certainly not enough to compromise the list of vendors willing to work with them; about your PCB layouts, or your firmware code, or your mask rights; but they are very clear that they don't want to pay for your fancy proprietary blade chassis, or get locked into your 'management ecosystem' with your vendor-specific LOM card and management dashboard: they want servers that comply with mechanical and electrical standards that make them interchangeable, and support specific(usually fairly bare-bones; but standard across vendors) hardware management interfaces. They don't care how you do that, or what is inside your box, they just want your box to slot into their infrastructure, rather than attempting to dictate it.
They definitely aren't 'open hardware' in the GNU sense of 'open' as a moral imperative, and they are only weakly similar to 'open' in the OSS sense of 'open, because it has turned out to be a productive development model as well as allowing internal customization'. They are really much closer to discerning buyers of proprietary components: They don't really care how the black box works, you can keep your secrets if you want; but they want to be in control of what interfaces and features the black box requires and provides. Like buying a GPU: most customers don't care about the silicon, or the firmware, or even the drivers(so long as they are available and not a total pile of shit); but they definitely expect it to support OpenGL, and DirectX if on Windows.
Given that the Open Compute Project people are mostly large scale operators of servers, this focus isn't really a surprise: OEMs are already pretty good at silicon development(and you'd have to have very specific needs, or substantial talent and fab capability, to beat what you can get off the shelf), and they can fabricate sheet metal and design and stuff PCBs as efficiently as you'd expect given the brutal margins in the business; but (in part because of those brutal margins), they've historically tried to gain control over the customer at the interface/API layer. Their cheap crap simply won't promise, and often won't implement, any mechanical, airflow, electrical, or management interface standardization whatsoever(so even if bolting rack ears to consumer desktops seemed like a plan just crazy enough to work, even getting all of them to PXE boot might not happen); and their classy stuff is usually designed to work best when everything else in the datacenter is also purchased from them or their buddies.
The OCP and the companies it represents have little to gain by trying to displace the OEMs at building silicon or stuffing PCBs, they just want to change the game so that they call the shots on how the datacenter fits together, and OEMs compete to be chosen to build the interchangeable modules, rather than OEMs using partially or wholly proprietary interfaces in order to drive vendor lock in.
The hardware that the OCP, and companies it represents, are interested in tends to be the slightly bigger stuff: They are outfits whose business depends on running a lot of servers and switches and storage; who have gotten large enough that they are trying to push back against the convenient; but expensive and lock-in prone, vendor-specific tools, interfaces, chassis designs, etc. provided by HP, Dell, Cisco, etc.
When they say that they 'need a supply chain', it's because they are really only interested in partially killing off the traditional enterprise hardware vendor. Being able to call, say, Dell, order however many R730s, with the level of warranty support(from 'statutory minimum, if any, to '4+ years of on-site-within-4-hours) you want; and have them all show up, assembled as ordered, on the loading dock is extremely convenient. Practically essential if you don't want to set up an in-house whitebox assembly line.
They still want that sort of supplier service: call up, tell them what you want and what, if any, warranty you want, have them arrive at your door; but they want to standardize, as much as possible, hardware between vendors, so you would barely notice whether you are popping in HP, Dell, Supermicro, etc. modules, everything will just fit and they'll all report the same values and respond to the same commands from your management system.
That's more customer service than hobbyist procurement(which has its place, random pacific rim vendors on ebay have their quirks; but they sure are cheap, and often do have what you require); they just want to be able to get that logistics expertise; but decoupled from the traditional branded faceplates and ill-standardized LOM intefaces and various other delightful aspects of dealing with hardware vendors.
The Open Compute Project, which wants to open up hardware the same way Linux opened up software, is starting to tackle its forklift problem.
That's not the important problem with open source hardware. Actually making hardware is a fairly straightforward, albeit costly, proposition. I should know since I run a manufacturing company. Give me a design and an adequate amount of cash and I can get any product made and delivered wherever you want it. That's not the real obstacle to open source hardware.
The important problem is that hardware is (generally) protected by patents whereas software is (generally) protected by copyright. It's easy to write a license (see GPL) that does useful things with copyright law for a product like software. It is highly non-trivial to do the same thing with patents for a product like hardware, especially under a first-to-file patent system. To accomplish something similar to the GPL or BSD license you would have to have someone spend the money to patent a technology and then make it available for community use AND be willing and able (read $$$) to fight to protect the community. This costs a LOT of money, takes a lot of time and at the end of the day you probably cannot use it in any meaningful product without infringing on about 20 other patents from potentially uncooperative companies like Apple or Google, not to mention patent trolls.
Open source software works because of a happy confluence of circumstances. Software is automatically covered by copyright and there is zero cost to get a copyright. Software also has effectively zero marginal cost to reproduce and can be easily improved by someone skilled in development. Hardware is not automatically protected and the costs to get a patent are substantial. Hardware is not at all cheap to reproduce and while it can be improved, it takes still more money to make and distribute and test those improvements.
And if it involves any custom ASICs, it's a very costly proposition.
It's not just ASICs. Any hardware that would involve custom tooling tends to be VERY expensive. I'm getting a quote right now on a very simple custom molded plastic connector which we are going to produce in modest volumes. The tooling is basically a piece of CNC milled aluminum and it will cost us about $8000. This is to produce a connector that will sell for about $1.00 each and we might make $0.10 profit per unit. That cost doesn't include labor, raw materials, the cost of the machine the tooling will run on, overhead, or delivery costs.
Everyone is going on and on about 3D printing and it is super cool and useful but not the way a lot of people think. 3D printing is OUTRAGEOUSLY expensive for any kind of volume manufacturing. It eliminates setup costs but the cost/unit of production is far, far higher than with other techniques. If the production volume is sufficient to justify tooling a process like injection molding can produce plastic parts far cheaper than 3D printing could ever hope to achieve. The part that I mention above if I were to have it 3D printed would cost about $40/unit and I couldn't get more than a handful made per day.
Manufacturing isn't cheap or easy. Software guys (understandably) tend to thing everything works like software when in fact very few industries even remotely resemble software. They tend to fall into the trap of having a hammer and thinking every problem is a nail. Manufacturing hardware could not be more different.