Way back when I was a young programmer, I worked with Sensei Duncan Lawrie. He taught us many things, some of them things that we really didn't want to learn. (I admit that I was very naïve about software, projects, people, and plenty more.)
Sensei Lawrie was known for his little quips, many of which conveyed important truths about computers and software. I remember him saying "software is larger than hardware". And, a corollary must be, "software has more inertia than hardware." : - )
These insights have proved to be instructive over the past decades, for sure.
Having heard this wisdome as young programmer, I was anything but surprised by James Bessen's contention that "Software Stifles Competition and Innovation" [1]. He's specifically referring to the contemporary dominance of software "platforms", that make it easy to create products, at least, products that fit the model of the platform.
Any programmer today knows what we're talking about. Noone builds an interface except with a toolkit. A service is built by composing pre-built pieces. The overall architecture is the same as everybody else's, and most of the bricks are the same as everybody else's bricks.
The advantage is that this approach is fast and easy, getting to market as soon as possible. To the degree that it uses familiar components, users will find it familiar and easy to adopt. And, if you use high quality components and infrastructure, the results are usually high quality (or at least "state of the art").
Considering how hard, and how time consuming software development is, these are huge advantages.
But, when everybody builds using the building blocks, the results are similar. And, contrary to what I might expect, Bessen finds using a platform slows innovation, as measured by time to market. It is harder for a new startup to deliver a new product.
I'm not surprised that this happens sometimes, but Bessen provides statistics that show this is pervasive across the industry. Wow! It's rather arresting.
Part of this phenomenon must be that it is harder for new companies to deliver innovations that compete with the platforms that everyone uses. This is partly due to deliberate licensing policies. Bessen also notes that knowledge of the platform diffuses slowly out of the dominant companies to potential competitors. (Either way, this is definitely not a coincidence!)
One solution, of course, is open platforms. Bessen holds up Amazon Web Services as a good example of a proprietary platform that has been successfully opened, leading to many "innovations"—and plenty of profits for Amazon.
Of course, Amazon is currently being pursued for monopolistic practices, so this success story might not be considered a perfect result for the economy and the public.
I think the real question is, what sort of "platform" do we want to build on (if any).
For me, using a full-service platform like AWS is maddening. The components and standard services are often well designed, efficient, and easy to use. But they are highly constraining. (Yes, constraints help drive design and innovation—but probably should not be the primary driver.)
So, for me, creating an app feels like snapping together parts from a catalog. You can only make what the catalog lets you make. And you spend your time negotiating between what you mean to create and what you actually can do with your platform.
The effects of these constraints is seen in all kinds of ways, from little things (default fonts and color schemes) to big things (what geographic areas are served).
But the constraints that worries me the most are the high level assumptions, assumptions about technology (cloud based solutions assume ubiquitous, continuous connectivity), what services should do (platforms make it easy to sell things, but not to share them or give them away for free), and what users want (users are sources of data, and sales targets, but not cocreators).
"Open" platforms are not necessarily the right platform for what you are trying to do, especially if it is not yet another digital commerce service.
- James Bessen, How Software Stifles Competition and Innovation. Communications of the ACM, 66 (10):34–36, 2023. https://dl.acm.org/doi/10.1145/3588898
No comments:
Post a Comment