Ever since I defended my thesis in September 2012, a thought had been left lingering in the epilogue of my book: that computing systems architects and designers are currently incentivized by market effects to build mostly “closed” systems that are annoying to tinker with. Besides a few exceptions like Raspberry Pi, most high-end products nowadays make it difficult to the curious mind to discover themselves “how systems work” and modify them to better suit their needs.
The thought was like an itch waiting to be scratched. This was the motivation behind my article Extrinsically adaptable systems, which captures this thought and characterizes what make systems more or less open to external scrutiny and tinkering. In other words, I have analyzed what makes systems more or less hacking-friendly. The “take away” message of this report is:
There exist large opportunities to reduce technical friction [against extrinsic adaptation, or hacking], although they are currently not commonly considered.
To begin with, consider that large efforts were made in the last three decades of the 20th century to build modular hardware platforms, e.g. with interchangeable memory, processor and interconnect components. This systematic reduction of technical friction against extrinsic adaptation was justified by a strong demand for adaptable hardware by the user base, which itself was a side-effect of the personal computing revolution of the ’70s and early ’80s.
Since then, as the customer base for hardware products has extended beyond the community of hobbyists, the demand for adaptable hardware has relatively dwindled [only in relative terms; in absolute terms it continues to grow]. Simultaneously, tight sales margins favor tight integration, often in the form of specialized hardware and systems-on-chip. And for all systems with multimedia output, the political atmosphere has facilitated the pervasive use of component signatures. All these factors have created tremendous technical friction against extrinsic adaptation.
But the current situation does not invalidate the benefits and desirability of extrinsically adaptable systems. A known way to design for extrinsic adaptation is to exercise hardware modularity and standard hardware interfaces. More adaptable systems would reduce vendor lock-in, increase reusability and thus eventually reduce waste and evolution costs. Moreover, renewed interest and demand for extrinsic adaptability is only a slight cultural shift away: a more open political mindset, and a manufacturing overhead eventually compensated by the aforementioned longer-term benefits.
We can thus argue for the existence of an ethical imperative for hardware architects and platform providers to stimulate extrinsic adaptivity, as a particular instance of the more general imperative to favor long-term priorities over short-term gains.
My article was adopted by the portal site Cryptome under identifier 2013-0854. Following this publication, I was invited to give a lecture on this topic at the Security of Systems and Networks course of the University of Amsterdam.
So what do you think? Did I miss something? Is any part unclear? Leave your comments below.