I’ve spent over a decade working with both for profit companies and of course non-profit companies to assist them in getting the most out of open source technology.
Throughout my journey in this vast land of openness I have had some interesting questions posed to me. There are the obvious questions associated with why developers would give away free code (code is currency!) and the actual ego size of a rockstar superdev but the most interesting question I think I’ve been asked was not technical but rather political.
“Is open source communistic”? When I first heard that question it occurred to me immediately that I should have paid more attention in economics class and in case you need a refresher here’s the definition from dictionary.com:
I needed to think about it more but I quipped at the time that I thought in principle that there were aspects that seemed to fit the definition but perhaps socialistic might be a better way to describe it. Looking back, or rather forward as we now have open source hardware to think about I think it is and should be completely capitalistic. Let me dive in:
First, let me start by volunteering that standards become standards for only 1 of 4 reasons:
1) There is no alternative
2) There is a rule governing the standard
3) It’s been pre packaged with something else that’s already ubiquitous
4) It’s been adopted by the masses as such
I’m not a fan of any of these except for number 4. I think you’ll find a lot of open source advocates out there who would agree that: They don’t want lock in through lack of options. They don’t want to be told what to do or use and just because you’re at the party doesn’t mean you have to be the prom queen. This leaves us with community led, community developed standards and I whole heartedly believe in them.
So where does capitalism come in you might ask? Features, Service, Functionality! All amazing places to innovate. When we standardize on interfaces and differentiate on features we’re creating last mile lock in. The old saying about leading a horse to water applies. In both software and hardware we should have standards built from consensus, not conformity. It’s the last 10 or 20 percent that’s really hard anyway (when was the last time you stopped at your first sit up or push up?). If the world could subscribe to the 80/20 rule we’d have far better products with more competition because the power of the interface is in the hands of your customer. This would ultimately increase pace of innovation as well.
I often say a rising tide raises all ships and while that’s true the ocean is unwavering in its apathy to the type of boat you’re on. I’m reminded often when thinking about this how early stage VC’s look at your company. They start discussing the size of pie’s and your portion size. Do you know the reason they say this? Because they are right. A small piece of a big pie is far better than a huge piece of a tiny one. I’d rather support “coopetition” than a complete competitor as they can hide whatever they want behind whatever they want.
As advocates of open source and business models that scale let’s celebrate the common interfaces that allow us to differentiate!