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.