We use tools to build our tools. We use an ax, a hammer, and a saw to make a cabin, and we use Python, Django, and Apache to build a web service. These upstream tools are crucial in shaping our society. A world with no hammers would have no houses.
Most upstream tools are so ingrained in our culture that we often forget that they are tools, like our languages, educational systems, markets, and governments. But it is important to remember that these are tools, and as tools we can shape them, rather than passively allowing them to shape us.
Our tendency as toolmakers is to want upstream tools that are powerful. I’d argue that it’s more important to have upstream tools that are accessible.
By all accounts, Oracle is a more powerful database than mySQL. But if only one could exist, I’d prefer mySQL. Because mySQL is free — for use and for modification — it fosters a broader ecosystem of builders. It enables anybody with time and knowledge to build a tool to fix a problem they see in the world. It allows people to build things using mySQL and regift them to the developer community. We would not want a web that’s shaped only by those who can afford Oracle.
When upstream tools are only accessible to a few, our tools are more likely to foster monoculture rather than a vibrant ecosystem, subservience rather than self-determination. This is why Gandhi advocated the spinning wheel over the textile factory. And it’s why people don’t want WalMart in their community, money in politics, or barriers for startups. In the same way that we don’t want a web that’s shaped only by those who can afford Oracle, we don’t want a world that’s shaped only by those who can afford factories, or lawyers, or senators.
The web, for the most part, gets this right. Most web services are built on top of free operating systems, databases, web servers, and programming languages. They are marketed by accessible tools like Facebook and Twitter and Adwords. And they are often funded by accessible funding sources like YCombinator, or Kickstarter, or by sales through App Stores. The pace of innovation on the web, and the outsized role that software has played in shaping our lives, is in large part because these upstream mechanisms for production, distribution, and financing are more available than they are in other industries.
This suggests a guiding principle for makers: Look for upstream tools that are powerful, and work to make them more accessible. Square and AWS are nice examples of this. So are inexpensive 3D printers.
The corollary to this principle is: Look for upstream tools that are accessible, and make them more powerful. The recent efforts around JavaScript, like Crankshaft and processing.js, are nice examples here.
Like the sun, our upstream tools should be accessible and empowering to all.