Interesting new post by Andreas Hausladen this morning. It seems that there’s new copy protection in XE3 that scans all DLLs in the same folder as BDS.exe to ensure that they’re signed, apparently to keep crackers from pwning BDS with a poisoned library. And according to Andreas, it really slows down the IDE’s startup time.All this hassle to protect the revenue from Delphi against cracks! It kind of makes me think. The creator of any proprietary product has three basic goals: for the product to be kept proprietary, for it to achieve widespread market share, and for it to be highly profitable. But can anyone think of any product in Delphi’s market–development tools–that achieves all three? I can’t.
Delphi’s strongest competitor, Visual Studio, is proprietary and is used all over, and it’s distributed by Microsoft as a loss leader. They don’t care about revenue from development tools nearly as much as they do about making sure that developers (a relatively small bunch) produce stuff for Windows, which gives the general public (a much larger group) a reason to want to use Windows.
On the other end of the spectrum, you’ve got PHP, which is also used all over the place. A bunch of the guys who created it went and founded Zend, which makes a lot of money on PHP-related products and services, but the PHP language itself is open-source.
But take a look at Delphi. It’s a proprietary product, and given the simple fact that Embarcadero continues to produce and sell new versions, one can only assume that it’s profitable. But its market share is abysmal, and there are a lot of developers out there who have never even heard of it.
You’ve heard of the Engineer’s Triangle, right? “Fast, good, cheap: pick two.” I can’t help but wonder if there isn’t a similar principle at work in programming languages. “Proprietary, widespread, profitable: pick two.”
It’s a basic principle of economics that, in the presence of unrestrained competition, market forces will drive the price of a product down until it approaches the marginal cost–the basic cost of producing and distributing the product itself. Thing is, for a digital product, the marginal cost is essentially zero. This must not be confused with how much it took to create the product. That’s known as sunk costs, which are irrelevant to the calculation of marginal costs.
A seller’s profit on a single item can be thought of as the sale price minus the marginal cost. And if the sum of all profits on all sales exceeds the sunk costs involved in creating a product, then the product becomes profitable. But with abundant competition around, both from other languages and also from piracy, (which while not legal or legitimate, is still real and still a competitor, in the economic sense, to the legitimate product,) market forces drive buyers away from products priced too far above the marginal cost.
Zend gets around this because the language is open-source. This brings in a very widespread user base, and also a large developer base to improve the language without them having to pay for it.
Microsoft gets around this by not caring about profitability, because having a widespread developer base brings in far more money indirectly than they’re losing directly by giving away Visual Studio Express.
Embarcadero can’t do either, and so the only way to remain profitable is by cannibalizing the community: making the language itself expensive enough that the per-unit profit offsets the revenue lost from the high price driving customers away. And it does drive customers away; the only examples I’ve heard of of other languages/development systems trying to go the same route are even less well-known than Delphi is.
It’s been said that when a game-changing technology starts rolling, you’re either riding the steamroller, or you’re the coyote. Well, steamrollers have always moved pretty slowly, but the Internet has been around for a long time now. And the more I think about it, the more I think that the Delphi team–whether managed by Embarcadero or anyone else–is in a completely unsustainable position.