- Microsoft Windows chief decries standards grandstanding
- The 5 best, and 5 worst, features of Google Chrome OS
- Federal government using PS3 to crack pedophile passwords
- 10G Ethernet cheat sheet
- Top 10 free Windows tools for IT pros, at a glance
Anyone with at least one eye open has noticed two trends - open source software and software as a service - but is there a connection and, if so, where will it take us?
Open source communities provide the commonly available creative environment for software developers to share in the building of operating systems, Web servers, browsers, desktops, productivity suites - the building block for network services.
But even if service providers choose to use open source building blocks, software as a service is at heart a much different trend. It's not about the bits. It's about delivering the consequences of the bits.
An odd sort of side effect here is that many of today's biggest software companies aren't known as software companies at all. Google, eBay, Amazon, PayPal and Yahoo are all software companies. But we don't buy bits from them; we simply get the results of the code they create.
Companies such as Google have made it well known that they use open source technologies in their operations, so there is clearly some blending or merging of the two trends. But what comes next? What comes after open source and software as a service? The answer should be open services. But that's hardly guaranteed.
The great irony is that Google, in many ways the icon of the new service economy, is one of the most proprietary software companies on the planet. How many people have seen its code? Is Google's search engine open source? No. Is its software around advertising and auctions open source? No. And I'm not saying they should be. But if we're not careful and we let things evolve the way they are, services will be very proprietary, even when built on open technologies.
So how do we collectively build services that are transparent in their operation and construction and let people access a copy of them? That's the next necessary wave in software culture. Otherwise, we're going to end up at a point where everyone has labored to create this common infrastructure, everyone has contributed to it, but a particular set of proprietary concerns have taken that infrastructure and are generating profits off it - while preventing others from competing with them.
How? By controlling the interfaces to the service.
To understand the importance of interfaces, imagine for a moment what you could do with a patent on the three-pronged plug. You could corner the market on electric appliances?. That's why I believe it should be exceedingly difficult to gain patent protection on an interface.
Competition in the electric-appliances market should be based on factors such as energy efficiency, reliability and cost, not the design of the plug. The same principle applies to software.
Do we want to create healthy competition or new monopolies?
I would never suggest that a maker of electric motors shouldn't receive patent protection on a new armature, better magnets or improved control logic. But competitors should be able to reverse engineer the plug.
By the same token, if the world becomes dependent on a set of interfaces into a service you've created, you should not be able exclude others from building a similar service because of your control over the interface.
Comment