Stephen Leacock once described advertising as "The science of arresting the human intelligence for long enough to extract money from it": well, online licensing is a kind of updated version of this concept.
The idea is simple enough - you pay a "nominal" periodic or usage-based fee for having a piece of software on your computer, with regular updates and billing by credit card over the net.
Various charging models have been mooted already, including simple monthly agreements, per-use charges and annual subscriptions. From the software developer's point of view, such arrangements are solid gold because they guarantee an ongoing income stream, and ensure that the customer is always using up-to-date versions of the developer's software (providing technical support for out-of-date versions is phenomenally difficult and expensive, and I'm not even being slightly sarcastic here).
From the customer's point of view, the theoretical gains are that he or she always has access to the most up-to-date product, the cost of entry is theoretically lower, and the smaller "investment factor" makes it theoretically easier and less costly to switch to an alternative package if necessary.
You'll notice that I'm using the word "theoretically" repeatedly: this is not necessarily because I'm about to launch into some sarcastic tirade against the inequity of this whole idea - it's simply because nobody is actually doing this on any significant scale yet, so nobody's really quite sure how it will all pan out.
To the extent that anyone has really been able to decipher what Microsoft has in mind with its .Net strategy, one thing that's quite clear is that online licensing is a key component of the design.
Microsoft makes a significant chunk of its income from upgrades, so anything that can automate and enhance that process is likely to appeal to it. It's my guess that Microsoft is betting that other developers will like the idea of pay-as-you-go licensing too, and that it will therefore become a powerful means of getting developer support behind .Net.
So what are the real ramifications of online licensing? I'm cautiously optimistic that, if developed responsibly, online licensing could easily provide mutual benefits for users and developers alike, and not just in the obvious ways. One possibility in particular appeals to me - the idea that online licensing may provide us with a way to escape from the perpetual "upgrade circus" we seem to be trapped in at the moment.
Look at the way things work now - each upgrade has to be seen to be significantly better, or fancier, or newer or whizzier than the version it supersedes in order to justify the upgrade cost. As a result, we're getting software that is more and more complex, less and less reliable, and of course, exponentially bigger and hungrier.
It seems to me that in an environment where online licensing were dominant, the need for such overpowering upgrades would be smaller: the user would have already made an ongoing commitment to the developer, so there would be less need for the developer to wow the customers with overblown marketing. What's more, the immediacy of the whole process should mean that developers will need to react more quickly to the express needs of the users they serve, because the customer has the ability to clutch the developer where it hurts most - in the wallet.
Sounds utopian, doesn't it? In theory, it could work, but in reality ...? Well, I guess my cynical nature predisposes me to assume that basic human greed for maximum profit will scuttle the possible benefits of online licensing from day one and that it will just turn into another money tree for the corporates, but it will be interesting to see.
Whether or not it actually works to everyone's advantage, however, I don't doubt for an instant that it's the way things are going to go, so we'd better start getting in training for it now.
Dunedin-based Harris is the developer of internet email software Pegasus Mail. Send email to David Harris.