A quick chat with open-source guru Bunnie Huang about open-source, hacking, and engineering reveals China excels at open-source model.
Caleb Kraft: You're designing an open-source laptop, correct? Why?
Bunnie Huang: That's correct, I've designed a motherboard that can be used in a laptop (among other things), and I've shared the schematics and PCB layout on my website. The motivation question is answered here: www.bunniestudios.com/blog/?p=3597. The content is CC BY-SA, so you can repost it, no problem. Here's the relevant section:
About a year and a half ago, I engaged on an admittedly quixotic project to build my own laptop. By I, I mean we, namely Sean "xobs" Cross and me, bunnie. Building your own laptop makes about as much sense as retrofitting a Honda Civic with a 1000hp motor, but the lack of practicality never stopped the latter activity, nor ours.
My primary goal in building a laptop was to build something I would use every day. I had previously spent several years at chumby building hardware platforms that I'm ashamed to admit I rarely used. My parents and siblings loved those little boxes, but they weren't powerful enough for a geek like me. I try to allocate my discretionary funds towards things based on how often I use them. Hence, I have a nice bed, as I spend a third of my life in it. The other two thirds of my life is spent tapping at a laptop (I refuse to downgrade to a phone or tablet as my primary platform), and so when picking a thing to build that I can use every day, a laptop is a good candidate.
The project was also motivated by my desire to learn all things hardware. Before this project, I had never designed with Gigabit Ethernet (RGMII), SATA, PCI-express, DDR3, gas gauges, eDP, or even a power converter capable of handling 35 watts – my typical power envelope is under 10 watts, so I was always able to get away with converters that had integrated switches. Building my own laptop would be a great way for me to stretch my legs a bit without the cost and schedule constraints normally associated with commercial projects.
The final bit of motivation is my passion for open hardware. I'm a big fan of opening up the blueprints for the hardware you run – if you can't hack it, you don't own it.
Back when I started the project, it was me and a few hard core Open ecosystem enthusiasts pushing this point, but Edward Snowden changed the world with revelations that the NSA has in fact taken advantage of the black-box nature of the closed hardware ecosystem to implement spying measures ("good news, we weren't crazy paranoids after all").
Our Novena Project is of course still vulnerable to techniques such as silicon poisoning, but at least it pushes openness and disclosure down a layer, which is tangible progress in the right direction.
CK: There has been some frustration with a single closed-source component in your laptop. Do you think that will get resolved so that it can be entirely open-source? Do you feel that is necessary to achieve your goal?
BH: Again, layers of openness. Actually, all the components are closed. I don't have the formula for the dielectric of the capacitors; nor do I have the design for the magnetics inside the Ethernet jack, or mask works for any of the chips. I have only pushed one layer down of openness, namely, into the circuit card assembly design. It's the one and only piece that I personally have full control over and have the full freedom to choose to make open. It's progress in the right direction, and I'm happy to move the ball in the right direction, even if it's still not totally in the end-zone.
I believe the "closed-source component" you are referring to is the GPU embedded within the ARM SoC. The GPU is annoyingly closed; but I use the laptop every day just fine without it. There's not a lot that I do that requires a GPU, and I don't particularly care for fancy window manager effects and what not (in fact, I go out of my way to turn them off when they are introduced into other OSes). However, scrolling would be a little bit smoother if we could use the GPU, and there are some projects to reverse-engineer the GPU that I'm excited about.
I'm perfectly happy to work with reverse-engineered components and consider them "open" for my personal purposes -- if I can hack it, I own it; even if hacking it means a little elbow grease to extract the details. I'm not stymied by dogma; as long as the net result is constant progress toward more openness, I believe we're better off today than we were yesterday.
* * *
If you want to know more about the fascinating projects and ideas that Bunnie is involved with, you're just going to have to come to EE Live! and hear him speak! You can find the topics he's going to be covering in the announcement of his keynote.
In retrospect, your statement is spot on. However, when this book was published, there was actually a lot in the news about the legality of hacking the X-box. I'm sure, at the time, it seemed quite relevant considering Bunnie was a big part of that case.
Is it just me or do people like "Bunnie" redefine terms like intellectual property , "downloading", etc. as they see fit for their own purposes.
The reality is there is not much of an intellectual property model at all in China so to make a comparison with anyone else's model is rather false. Knowing many Chinese business people and engineers who have had their work stolen locally I know many of them would also prefer more protection for IP. They have no comfort investing in anything long term due to this.
IP is about respective the value of others ... Their idea and their time.
When you dont have IP protection then you start to lose innovation. Listened to the radio lately? Only way to make money now is to tour ... Which few can justify. Yes there are some interesting new avenues being developed but overall no.
No IP for product development and everything becomes derivative .... Progress stops.
@lister1, I agree. Plus a Xbox in the title doesn't make for much longevity. Xbox is hot this year but all the hype will fade soon. A book about "reverse engineering" would have more lasting power for engineering. The book would seem relevant for longer -- maybe.
Wording 'Hacking the Xbox' in bold before the subscript 'An Introduction to Reverse Engineering' actually limits your audience, IMO. People who could understand the information presented normally have engineering backgrounds, so they wouldn't be afraid of a book the 'engineering' word in the title.
Moreover, not everyone interested in Reverse Engineering have an Xbox, or even care for one. So your book title with the Xbox word up front might immedately turn away some potential readers.
I think maybe you're misunderstanding the common saying. It is usually worded "you don't own it unless you can hack it".
So, for your car example, you CAN hack the engine because it is your property. If someone made it illegal for you to bore out your cylinders on an engine you own, then it could be argued that you don't really own it.
an overly simplified description would be "this is my property, you can't tell my not to modify it".
Even Richard Stallman used closed systems to develop GNU, so even an idealist can recognize the practical benefit of bootstrapping with less open components.
(The more layers removed from the component, the smaller the practical difference between a commodity component with thorough behavioral documentation and a fully open component. Even single, non-discriminatory vendor [merchant] products with behavioral documentation can have much of the benefits of open products. Of course, if one has an unexpected use or if one wants to know how practical certain low-layer improvements would be [or invest in making such improvements], then piercing the abstraction layers may be important.)
According to the links in the article, the OSHW Laptop is copyrighted and licenced under the Creative Commons Attribution-ShareAlike 3.0 license. This means it's still owned by Dr. Huang (and perhaps others), but you are free to use that design and make products from it as allowed by the license. If you distribute those products you must also publish the design -- including any changes you've made -- under the same license and acknowledge the owners of the original design. This is similar to the General Public License used by GNU/Linux. The effect is that bug fixes and other improvements come back to the community so that the design keeps getting better.
When you buy a car, its design is not licensed to you, so you have no right to redistribute engines based on that design.
One of the fun parts of OSHW is that since it's pretty new there are many opinions of what words should mean. Dr. Huang does a great job of pointing out how the definition of "open source" can go to extremes.
Now, when you look at something like a capacitor, it has a simple, non-programmable function and you don't expect to be able to change that function. That's pretty much the case for every non-programmable component: they have fixed functions. However, you do expect all those components to have complete data sheets that define exactly how to use those components. OSHW proponents are careful to select components that are well documented.
In contrast, the CPU, GPU, and FPGA are all programmable components. As the person who bought those components, you should be able to program them however you wish: "if you can't hack it, you don't own it". Unfortunately, only one of those three components is hackable. The other two are "on loan" -- you are paying to use them in vendor-defined ways using closed, vendor-supplied software. Since you don't have the documentation needed to program them yourself, you don't own them.
OTOH, in my opinion the closed nature of a few chips does not mean one should throw away the excellent progress people like Dr. Huang are making in OSHW: we are making steady progress in the right direction. It does mean there's still plenty of advocacy work to be done to get the rest of the way.
"If I can hack it, I own it!?" Really? To me that's crazy. Trust me, I'm not judging Mr. Bunnie, but where do you draw the line? Take a car engine. Easy to take apart and copy. AKA Hack. Does that make the design mine? So that's different, you say. Is it?
I can make arguments on both side of the paper. But if there is in fact such a thing as intellectual property, how then do you define it?