A Critical Look At Open Licensing For Hardware
Glyn Moody writes "At a recent Open Hardware Camp in London, it became clear that one of the main obstacles to applying open source principles to hardware was licensing. For example, should competing big companies be allowed to use their economies of scale to make and sell cheaper products based on open hardware designs developed by small start-ups without payment? There's also the problem that hacking designs for physical objects like open source cars may have safety implications, which raises questions about liability. So what's the best way to address these issues?"
I don't understand why there would be security implications in having open designs for physical objects, unless those designs are pretty lousy and have faults that are only visible with the design.
For every problem, there is at least one solution that is simple, neat, and wrong.
It's an "open design" for a reason. Perhaps switch "open design" for "easy licensing options". Further, unless a big company forks the project, the originator usually has some control over the progress of the project, which means their smaller product becomes a "reference platform" with some added value even if the bigger company has a somewhat cheaper version.
In the case of cars, I fail to see why it would create any more of a liability issue than the DIY kit cars currently available. I suspect if it can pass inspection, it can be insured. For cars at least liability lies with the drivers (barring some catastrophic equipment failure, which obviously the manufacturers would be liable for).
So, I would assume that if there exists an appropriate ratings committee, standards, and inspectors to ensure safety (QA), liability would be a non-issue.
"Be prepared, son. That's my motto. Be prepared." --Joe Hallenbeck
For example, should competing big companies be allowed to use their economies of scale to make and sell cheaper products based on open hardware designs developed by small start-ups without payment?
This is called a non-commercial license. Non-commercial licenses have had a notoriously poor market reception in the past for software (no kidding). Only successful project I remember which uses such a license is MAME. People usually hate it for that, since you cannot easily port work to/from MAME and other open-source projects easily. If you do not allow people to manufacture hardware in a commercial basis, it will be even worse, since most people do not have the resources to manufacture hardware. It is nearly as bad as having a closed design.
'Hacking' for unlawful purposes is a problem with any design.
Cars have been "open" by default for the majority of their existence -- they may not hand you schematics, but all the workings of the car were out in the open for any mechanic to see and generally well understood. Mechanics could replace or rebuild just about any part of the car including replacing the engine with a from-scratch rebuild, and this behavior was not only generally tolerated but often encouraged by the auto makers. It's only in relatively recent times with the advent of computer control that the ability to hide the workings of the vehicle even became possible, and even more recently that these computers were used to try to create a "proprietary" environment where you couldn't have any random mechanic fix your car (and this attempt has largely failed).
Safety and liability are no more an issue than it was with hot rods and such back in the day. It's simple: Your vehicle, modified or no, has to comply with state and federal laws regarding road worthiness, and pass any inspections your state might have. If your car fails because of the original manufacturer's design, then it's their fault. If it fails because of a 3rd party modification, that's their fault. If it fails because of your tinkering in your garage, that's your fault. Grey areas are hammered out in the courts, like they always have been.
The enemies of Democracy are
Hardware isn't special in requiring money/time to develop so why is it that this question only really gets asked when an open philosophy is applied to physical objects?
No not really, any liability would presumably be on the one that took the blueprints and actually build the device. After all, it is an open deisgn that can be modified by the manufacturer of choice.
Sigs are too short to say anything truly profound so read the above post instead.
There's a reason they don't use homebrew Linux* with the cool-patch-of-the-day in medical and other high-risk-if-something-goes-wrong devices: liability.
*Nothing wrong with Linux or any other open OS in medical devices, as long as the entire system has gone through all the regulatory and industry-standard quality checks first. Notice how the Microsoft Windows license says "don't use this in your nuclear reactor, if you do don't sue us if it melts down" or words to that effect. At least with Linux you could in principle tweak it until it was robust enough to run your nuclear plant.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
... and hardware, here.
1. liability - so, you say, software does not lead to "liability"? No coder is liable for the code he writes? I don't think so. Just have a look at all those "no liability" clauses. And: yes, software - even OSS - can kill people. I'm pretty sure a lot of OSS software is responsibly for deaths in many wars taking place right now. So there really is no difference between an open licensed car and some OSS software - maybe operating IN that car.
2. cost - so, just because it's hardware, it is assumed that developing the hardware - with a big company "prospering" on it afterwords - is somehow different from software. I don't get why that is. It was never meant as "free as in beer" - there seems to be some misconception in this, yes.
Just because you can't touch the software, the implications for the programmer writing and open-licensing an OSS program are absolutely the same for a hardware developer.
Of course, building/prototyping hardware CAN be more expensive, but thinking of software development as "cheap" just because you can get a PC for ~$200 - yeah, well, no... not really.
I don't think "open source hardware" is really that much like "open source software" unless you've got matter duplicators (like in Ralph Williams' story "Business as Usual, During Alterations"). It's more like publishing plans in Popular Mechanics or Howto books.
I wouldn't run open source software on a pacemaker.
From a quality perspective, open source isn't the issue. The issue is the quality of the hardware and software and the rigorous testing required for its use and the backing by a company that can and will stand behind it.
If you got a pacemaker and the next day the company open-sourced the code, would you ask to have it removed?
If your doctor recommended a pacemaker which used open-source code that the vendor had scrutinized, tweaked, hardened, debugged, etc. so well that this pacemaker was considered the best one on the market, would you reject it because it was open source?
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
For example, should competing big companies be allowed to use their economies of scale to make and sell cheaper products based on open hardware designs developed by small start-ups without payment?
Unless you define "open" as "not open", then the answer to this is obviously yes.
If you want to work out some other kind of deal, then please don't call it "open-" anything, it'll just confuse matters.
Comment of the year
So i want to replace the cylinders in my honda accord, what is the exact nickel content in each cylinder? what are the heat treat specifications for that cylinder? this is important, and this is proprietary knowledge given only to safety organizations like the DOT.
another example: my M5PVL drive gear, a component of my Acura transmission, has a certain chemical makeup. I know the makeup of the M5PVL for my honda pilot, but my Acura has turbochargers (its an RDX.) if you dont have the chemical makeup of the steel, you end up with a gear that explodes under stress.
Lastly, id like to exploit the extra space in my TL drivetrain to add motors and make a hybrid, but im worried the recall information on the cold weather start and idle fluid transfer system for the transmission is insufficient. I know the fluid doesnt transfer properly and i need to return the transmission for a different one, but I need more information about the failures so i can determine how best to plan my motor layout...this information is proprietary.
Good people go to bed earlier.
I object to that, sir - in the UK we have the finest stream contrivances money can buy. We've been building "railways" for a number of years and in London they even have horseless carriages! Simply spiffing. I'm typing this on one of our latest teletype machines, which is almost entirely automated. It only requires an office of 50 clerks or so to handle the Slashdot Javascript rendering. Actually, the clerks have something of an attitude time, insisting on collating and compiling the reports I requested on a "Just In Time" basis. I'm off to have a word with them now, toodle pip!
I don't think it's quite that simple. Let's assume, for instance, that all farming can be done completely by machine, better than humans can do it and with no human intervention except when the machine breaks (oops, there's a labor cost; machines are not very good at fixing other machines). There is still a company that makes those machines, and that company employs people. There's some more cost.
Let's cut all the way to the replicator level and say we have a machine that can scan an IH combine and spit out as many more as it needs. That replicator still needs a lot of raw materials that need to be mined or recycled, and and made available to it for use in replication. Unless of course it can turn some common material such as dirt into anything it needs. The first type remains firmly in the world of science fiction. The second type is more like the world of fantasy.
There's only one thing harder than any of your scenarios: eliminating the desire in people to have money, or something that takes the role of money: providing a conduit for people to have more of something than other people. That desire may sound like a bad thing on its surface, but it's actually not. Work, and the desire to obtain its fruits, is in our nature. Without it, we'd be like the people in Wall-E. OK, some people are already like that. We don't want to make it worse.
Not necessarily. Let's say I write a program that lets you modify parameters of your car's engine computer and go racing and release it as-is and under the GPL. Or, for even greater "as-as"-ness, give it the sort of disclaimers that would accompany proprietary software sold for the same purpose.
So, you use my software to re-tune your engine and because of a bug it causes your mixture to go really lean at high RPMS and you burn your pistons the first time you go racing. Good luck suing me. You might try, but it had a big notice that said "WARNING: THIS SOFTWARE MAY DESTROY YOUR ENGINE, BURN YOUR HOUSE, STEAL YOUR CAR, DRINK YOUR LIQUOR FROM YOUR OLD FRUIT JAR, AND EVEN STEP ON YOUR BLUE SUEDE SHOES. USE AT YOUR OWN RISK."
We get into court. At the earliest opportunity, my lawyer says, "So, this software comes with a warning that it may destroy your engine, yet you used it anyway?" "Uh, yes."
Move it to the realm of hardware. I design a car. I release the design under the GPL, or a comparable documentation license, with the usual disclaimers as above, that it might not even work, use at your own risk, intended for use only by professional mechanics or automobile designers, if you build this you may crash and be killed or permanently injured, blahblahblah. You download my design, actually build the car, take it to a test track, and drive it. On your first lap, the wheels come off, you crash, and are crippled for life. You decide to sue me. Problem one is you ignored all disclaimers and safety warnings and built and drove it anyway. If you get past all that, you're going to have to prove that the fault was with my design, and not your workmanship, materials, or any mods you made to my design. You may need to prove that you didn't mod my design. The burden of proof is on you, after all. Especially if I've actually build and drive one based on my plan and didn't crash or have the wheels come off.
Case three: I start a company that builds cars based on my design and get them certified as road-legal in the US and start selling them. After they've been in service for a while, people start crashing because the front wheels are falling off. They sue me. Now I'm in trouble, because I actually built the thing and provide it to people.
Case four: you start a company that uses my design, and have an experience like the above and get sued. People sue you for selling them a car with wheels that fall off. You decide you want to sue me because I designed it and put the plans on the Internet. Likely a non-starter, for the same reasons as above: I put it out there with all the warnings that it might not even work, hasn't been tested, blahblahblah, and you chooe to design and build a car around it anyway.
=
This is a good example of where a little bit of knowledge can be dangerous.
Developing electronics used to be easy. It still can be except for one big area. Compliance.
For us to release a product (ie distribute outside the lab), there are a raft of conformance tests a device must pass to be legally sold/used.
EMC is one of the hardest and there are a myriad of traps for the inexperienced. eg
- Innerlayer pre peg spacing changes on your PCB
- Subtle changes in track layout
- Dielectric of capacitors
- Die shrink (ie your unit passes, but then a functionally equivilent die shunk part will make you fail because of faster switching)
- Chassis interaction with PCB
- Changes in cable harness layout
- Change in brand of resonators
- etc etc
Depending on the product you may need to comply for
- Emissions (all cases)
- Susceptibility (EU, all cases)
- Intended Emissions (for radio devices)
- Safety (for non SELV device)
- Mains tests (surge, dips, spikes etc)
- ESD testing (high voltage discharges)
Those are the main ones, but there are many more depending on end use.
So you may have a schematic, but the implementation of that schematic into hardware requires lots of expensive testing before it can be used in the real world.
46137
Let's take for example the OpenMoko Freerunner.
It's a mobile phone, with open schematics.
How much would it cost to make one?
It sells for $500 or so, so you might guess $250.
But - that's somewhat different to the question of what it would take to make one.
http://www.pcbcart.com/ - as a reasonable priced chinese PCB service I've looked at - though not used - in the past.
For one 50*100mm 8 layer PCB (what you need if you're going to put dense chips on both sides) - they charge $40 for 1-5 PCBs.
But - with a $200 setup cost.
So - $250 for the first PCB.
Parts cost for ten thousand phones may be $150 or so.
But - buying ones of everything, all the parts will cost you $400 very optimistically.
Assembling and soldering this together - there are well over a hundred parts - say $100.
So, that's $750 to get your first prototype.
It doesn't boot.
After a couple of weeks and several dead-ends, you find you forgot to connect a pin with a slightly ambiguous name on the datasheet that turns out not to be as unimportant as you thought.
So, if you can't work round it - and it turns out that it's a buried high-speed node under several layers of PCB that is completely inacessible, you need a new PCB made.
Another $750 for the whole lot again. Oh - you may try to reuse some of the parts - but all of these parts do not warranty more than one use, and with a 1% failure rate on removed parts, and the fact that a failed part may stall you for weeks - do you want to do that?
So, you get your new PCB, populate it, and it boots and prints 'loading the lin' and crashes.
After another weeks work, you work out that your routing of the RAM tracks has been slightly out of spec, and that unless you clock the system at under 12MHz, it doesn't work at all.
So, you test all you can at 12MHz, and get another board done.
After a week of wondering why this board doesn't work, you find that one component was installed backwards. Fixing that reveals...
For example, the freerunner release candidate boards had over 7 revisions - and there are still issues with it, and this was a professionally made board made by an actual factory that does these sorts of things all the time.
This hasn't even touched on the sourcing of parts.
For many parts this isn't an issue.
You can get most chips just fine from many sources online.
Some parts and modules however - in the mass produced and phone sector - are simply unavailable unless you are willing to order 100000. You can't even get docs unless the companies think you will order. And any docs you do get will be under NDA.
Some of these have no easy alternative. You simply can't buy a mobile phone radio chipset for example. You can buy modules - which may have a 200% price, 200% volume penalty.
The Arduino uses Atmel microcontrollers. The free compilers, schematics, etc. are probably what helped Arduino get made in the first place. Arduino is just basically a prettily-packaged Atmel with everything a beginner needs to get started making stuff. Never underestimate the power of pretty packaging and hype.
For an experienced engineer, the Arduino makes no sense at all; it's not optimized to your task (as it's a general-purpose solution) and costs too much per unit. An experienced engineer has no trouble getting the free tools from Atmel, Microchip, etc. and a programmer, selecting the right microcontroller from their extensive lines, reading lots of data sheets, and programming it.
The Arduino isn't made for that market; it's made for hobbyists who aren't engineers and want to do things with microcontrollers, which most likely will never see any serious production.
to let the small start ups and big companies use the old technology and see who can make a better system with it.
The old MOS 6502 and 65816 series CPUs should be open sourced hardware so that companies can make cheap 8 bit computers based on them, or even design new computers using them in a creative way. Commodore should open source the VIC-20, Commodore 64/128, Commodore 16/Plus4. Atari should open source the 400/800/800XL.1200XL, Apple should open source the Apple // and //gs line of computers.
The old Motorola 6800/6809 and 68K series should be open sourced so we can have old Motorola based systems recreated for a low cost. Apple should open source the 68K Macs, Atari open source the Atari ST, Radio Shack open source the COCO (Color Computer) line, Amiga open source the 68K Amiga line and let the best company reproduce the old systems.
Intel should open source the 8088/8086, 80286, 80386, 80486, and Pentium chips and IBM and Compaq open source their old systems that used the 486 and under processors. Then we can use MS-DOS on them or FreeDOS and see who can build the better DOS based computer. OpenGEM is already open sourced DRI GEM, and I'd like to see 386MOS, Taskview, Desqview, IBM PC-DOS, DR-DOS, etc open sourced as well. I know OS/2 cannot be open sourced due to 300+ third party code IP, but OSFree is an open source project to create an open source alternative to OS/2 and IBM needs to contribute to it to develop it further.
The AM/FM Cassette players, 8 Track Tape players, VHS Video Recorders, etc should be open sourced so that cheaper versions can be made. I know it is old tech but media for them still exists and people have a need to play and listen to their old media.
The old cars that aren't made anymore need to be open sourced as well. The 1890 to 1950's cars should be released to open source so that people can put modern engines in them and make parts to replace those on existing cars that need repairs and upgrades. The auto companies cannot afford to upgrade them and replace parts for them anymore, so let the others deal with it.
Someone needs to create an open source hardware plugin hybrid engine for cars, and then adapt them to any vehicle to swap out the gas powered engine for the plugin hybrid one. We need this to convert old gas guzzler cars to hybrids as cheaply as possible. If not most people won't be able to afford new Hybrids. We need to be able to take the $500 car that gets 10 MPG and convert it for under $500 to a Hybrid engine.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
Who asked open-source hardware? I just want hardware whose programming interfaces are completely documented.
The largest prime factor of my UID is 263267.