A Programmer in King Arthur's Court

Occasional commentary about software, software construction, and the business of software.

Wednesday, December 26, 2007

The Emperor's New Silver Bullet

(First, read this.)

These days, there's a certain kook running around trying to sell the world on micropayment licensing schemes based on a subtle misrepresentation of Dr. Fred Brooks' views, and suggesting that commerce at the level of the procedure call is some kind of silver bullet. The reader may rest assured that commerce, too, is no silver bullet. The kook shall remain nameless lest he sue, for he probably has greater flexibility in that regard than I do, but his last name has three letters.

Commercial trade in component software means that some middle-man has to assemble components into applications. Call him Arthur. Suppose that Arthur needs to calculate the squareroots of numbers. Merlin has a fancy math package available, but it costs an arm and a leg. Morganna puts a similar package up for sale cheaper. Arthur is not permitted to know how either package works, because he is at least smart enough to copy and paste code, which would prevent either wizard from getting paid. Arthur picks out Morganna's package, distributes the resulting application across the kingdom, and shortly thereafter finds himself out of a job when Morganna's subroutines begin uprooting towns and villages.

Arthur and his kingdom have been burned once by selecting the wrong wizard's tool. Learning this lesson, Arthur adopts Merlin's more expensive math package. There is only one problem: it has a different interface from that of Morganna's. Instead of "SQRT", Arthur must now use "square_root" in a bunch of places. Now, Arthur has the same maintenance headaches he sought to avoid in the first place when a certain shyster convinced him that users would pay for subroutines.

In short, micro-licensed software magnifies the risks of closed-source software without providing any tangible reward. The best Arthur can really do is to levy a tax and set up a royal bureau to give grants to software developers in exchange for LGPL components, and to hold periodic code reviews.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home