Everybody's sick of those jokes comparing software development to automobiles. But here's a twist that's new--and thoughtful. I heard it from Shlomit Wagman of Yale Law School at a presentation she gave tonight at Harvard's Berkman Center.

At the beginning of the twentieth century, automobiles were sold only to a small number of enthusiasts by companies that explicitly rejected any liability. If the wheel came off or your engine fell out of the chassis--"Fix it yourself." It was only when cars became an indispensable part of everyday life that courts overruled these agreements and said tort law must apply--in other words, manufacturers were responsible for providing safe cars.

Wagman thinks it's time for software to mature in a similar manner. Does this mean you can sue Microsoft for a calculation bug in Excel? By no means. Wagman--who was an extremely capable programmer before she entered the field of law--has a much more nuanced view of applying tort law. To get the full scope of it, you'll have to wait for a definitive publication from her. But I'll try to summarize the direction she's going in here.

First, the principle should not be compensation (paying for the damage caused) but repair and restoration. Bugs are inevitable, at least during our lifetimes. Software companies should be willing to respond to customer needs and have policies and processes in place to get bugs fixed.

Oddly, Wagman never uttered the words "open source" during her talk. But a few of her ideas touched on the idea, such as holding code in escrow (a practice some big customers already insist on). And software vendors, even if they keep code proprietary, should be willing to share extra information with customers to help them work around a bug they find, or fix it if the vendor lacks the resources to do so.

Software vendors should help to preserve or restore data in case bugs corrupt it. The more fundamental their role, the more responsibility they should have; thus operating systems bear more responsibility than applications.

Companies won't be sued just because their software is buggy. They can create safe harbors that protect them from liability by following best practices: working well with communities, providing prompt bug fixes, and allowing the restoration of lost data. (A "safe harbor" is a common legal term, known to readers of this blog perhaps because of its use in the DMCA to refer to protections for ISPs. When you engage in actions that could lead to liability, the law tells you what to do in order to avoid liability; that's the safe harbor.)

Security presents a special challenge, because the flow of responsibility is not simply from vendor to customer, but also from the customer to to the world at large. Modern networks allow customers to become sources of toxic traffic. Vendors can once again provide safe harbors by providing security patches promptly, but Wagman is searching for a way to urge customers to be responsible as well and keep their systems secure.

Wagman says that companies like to present software as a service, but really it functions more as a product, and should be regulated that way. This probably makes sense from a legal standpoint, but she also tossed in another suggestion that I found even more fertile: software as a collaboration between the vendor and the customer. Good vendors pay attention to what their customers want and react quickly (part of the agile movement as well). Smart companies can tap their customers' expertise and accept their offers of help. And if all companies did these things, we'd need less law.

November 8 follow-up: I exchanged some email with Wagman and got a better idea of her perspective on a couple points.

Open source: she considers it a very important movement, and encourages companies to open their software in order to fulfill the requirements of her suggested legal framework. But making software free is not enough. If the code lacks documentation, for instance, the customers may not be able to do what they need. To comply, free software would still need such features as easy recoverability in case of data corruption, and the ability to move data to an another system.

Of course, being free makes it easier for the community to help a vendor bring the software up to snuff. And the requirement that data be relocatable would invalidate many DRM schemes and the licenses that depend on them.

Finally, I should emphasize that Wagman's special approach to tort law is based on a recognition that software is a rapidly evolving industry that needs a clear legal space to promote innovation. Her essential concept of "repair, not compensation" may be a useful model for any field experiencing rapid change.