Are You a Sharecropper? If you're developing software for the Windows platform, yes. Or for the Apple platform, or the Oracle platform, or the SAP platform, or, well, any platform that is owned and operated by a company. They own the ground you're building on, and if they decide they don't like you, or they can do something better with the ground, you're toast. They can ship their own product and give it away till you go bust, then start charging for it; and use secret APIs you can't see; and they can break the published APIs you use. All of these things have historically been done by platform vendors.
How Not to be a Sharecropper If you develop server-side software that runs on Unix (by which I mean any platform that runs bash and creates processes with fork(), which includes GNU/Linux, Solaris, AIX, and many others), you're not a sharecropper. They're not 100% compatible, but they're enough alike that you can move around and nobody really owns the turf.
You're not a sharecropper if you're building around the Apache webserver and the increasingly-large suite of associated software. Nobody owns it, and it runs on anything; nuff said.
You're not a sharecropper, especially not a sharecropper, if you're building on the Web platform. If you can define your value-add as a series of interactions via a browser, or an interchange of XML messages, nobody can whip the land out from under you.
Good For the Customers, Too It's pretty obvious that it's healthier not to be a sharecropper vendor. But a little thought shows that it's better not to be a customer on a sharecropper's platform. When something good and new comes along, the chances are less that it'll be scooped and monopolized by the landlord, and greater that it'll develop into a healthy ecosystem.
But it`s especially good for the customers to be on the Web platform. The notion of routing everything through the browser (with one significant exception, which I'll discuss below) is incredibly user-centric, user-friendly, and user-empowering. Because once they know how to use the "Back" button, to click on highlighted text, and to fill out a form, then they don't need much training in how to use your application.