Comment The UK Developer launch of Windows Vista and the 2007 Microsoft Office System was pretty impressive, as such things usually are.
A 3D representation of the London Underground system from Lars Lindstedt's Microsoft Technology Centre at Thames Valley, complete with trains moving around in real-time, was particularly impressive (although only a "proof of concept" for now).
Nevertheless, the presentations were rather preaching to the converted. At one stage, the audience was asked who was using Outlook and more-or-less everyone (bar yours truly) stuck up their hand.
However, my ears really picked up as I heard Sanjay Parthasarathy (VP of the Developer and Platform Evangelism Group at Microsoft Corp [`VP of evangelism’ - Why not just call him the archbishop? - Martin Banks] and keynote speaker) say something like “Vista can guarantee the privacy of the individual”.
Well, I had a chance to talk to Sanjay afterwards and followed up on his privacy remark. And do you know what? Face-to-face, he said that was a slip of the tongue and he didn't mean it... Which is possibly fair enough, given his travel schedules [can't Microsoft afford to get him a good night's sleep before keynote presentations?] but it's a real lost chance to differentiate Vista, because you could only really be sure of satisfying such a promise if the platform code had some level of implied "fitness for purpose" warranty – and that's an idea that's long overdue.
It would probably be unfair to expect an operating system, say, to be "proven correct" in any significant way [irony is your friend]; but if its security and ID management subsystems were warranted "fit for purpose" (so that errors in the security and identity management systems could be fixed at some especially high priority, and at no cost to the customer, or something like that), it'd be a really good basis for reliable business computing. Oh well, something for the next generation of OS after Vista, I suppose - we can't expect to run before we can walk...
Except that, I'm sure that I remember, from some 25 years ago and in a different galaxy and on a different OS (MVS), that IBM "guaranteed" that two users in different address spaces couldn't access each other's information. What that really meant was that IBM took any reports of such a breach very seriously and fixed them at the highest priority, without charging you. So surely, going a bit beyond this, a fitness for purpose warranty isn't too much to expect of a 21st century OS?
Apparently it is. It's not just Microsoft that has a pusillanimous approach to warranting its products as "fit for purpose". The CDDL open Source license (used for OpenSolaris), for example, says (here):
5. DISCLAIMER OF WARRANTY
COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU.
All in CAPS too. Software isn't cheap, neither are the people producing it – is this really good enough?
And don't say that it is impractical to give guarantees for software – you'll be saying "software must have bugs" next. Because if I remember correctly, a firm called Praxis in Bath currently warrants that its software meets its spec, (it'll fix any deviation from spec for nothing), which is lots better than most software vendors can manage. Of course, that warranty isn't much of a risk when independent assessments of your systems find zero defects (a consequence of using formal proof and static analysis to generate code that is right first time) – and, again of course, some of the savings from the use of "correct by construction" methods have to be ploughed back into validating the spec.
But why isn't all software, or at least the critical parts of a general platform such as device drivers and security modules - built the way Praxis builds software? And, by the way, IBM was using formal specification languages (an Oxford University collaboration with IBM Hursley, under Sir Tony Hoare; see here and here) in building CICS transaction processing back in the eighties. Which is perhaps partly why there's so much CICS still around (although CICS delivers nothing like the security guarantees, nor the overheads, of MVS or zOS, to my mind).
No, software should have at least a limited "fitness for purpose”" warranty. It costs enough (even Freeware costs money to provision, support and de-provision) and it is critical to many businesses. Mind you, such a limited warranty would be hard to formulate in practice – but without it there's the suspicion that software companies are really admitting that they can't write code they can be confident in. ®