very timely. the last few days have been a wake up call for the open source community about what .net means for the future of the internet. so its very reassuring to see this editorial from this weeks lwn.net.
One frequently-heard criticism of free software is that it lacks innovation. According to this claim, the free software development process can do well at reimplementing others’ good ideas, but is not able to produce those good ideas itself. Free software advocates dismiss that criticism with plenty of counterexamples. But it still hurts a bit sometimes. There is currently an opportunity, however, for the community to show what it can do. A challenge which should be accepted if we want to remain in control of our computing future.
That challenge, of course, is Microsoft’s “.NET” initiative, and the HailStorm component in particular. HailStorm is Microsoft’s bid to be the intermediary in authentication and business transactions across the net. If the company has its way, everybody will have a Microsoft “Passport,” which will be required to be visible on the net. The protocols behind this system will be “open” (based on standards like XML and SOAP), but Microsoft will hold the copyrights and decide what is acceptable.
It is interesting to note that these protocols have been explicitly designed to be independent of little details like which operating system you’re running. Microsoft is saying, essentially, that, at this level of play, who owns the desktop is no longer important. Linux could yet conquer the desktop, but lose the net.
Scattered responses have been seen across the community, including .NET implementations, talk of a free C# compiler, or a “dotGNU” framework. But these are catching-up actions. There is little new there; it is more an effort to keep up with what Microsoft is doing. That approach should be seen as a serious mistake. It is time for the free software community to take the lead.
Doing so will require the presentation of an alternative proposal. What is needed is a compelling vision of how we will deal with each other on the net of the future. The community needs to design a framework which handles tasks like authentication and transactions, but which meets a number of goals that may not be high on Microsoft’s agenda:
The full set of protocols which implement this framework must be open, with an open development and extension process.
No one company or institution should be indispensable to the operation of the framework. No company or institution should be able to dictate the terms under which anybody may participate in life on the net.
Security and privacy must be central to the framework’s design. All security protocols must be open and heavily reviewed.
The framework must bring the net toward its potential as the ultimate communication channel between people worldwide, and it must allow the creation of amazing new services and resources that we can not yet imagine.
The success of the Internet is due to a great many things, but one aspect, in particular, was crucial: nobody’s permission is required to place a new service or protocol in service on the net. Where would we be now if Tim Berners-Lee had been required to clear the World-Wide Web through a Microsoft-controlled standards process – and let Microsoft copyright the protocols too? Any vision of the net of the future must include the same openness to be acceptable.
The free software community could generate that vision, but it is going to have to set itself to the task in a hurry. It is also, for better or for worse, going to need some serious corporate involvement. Companies are needed to help fund the development of a new set of network standards, make sure they meet corporate needs, and, frankly, to insure that it is all taken seriously. There should be no shortage of companies with an interest in a net that is nobody’s proprietary platform. It is time for them to step up and help with the creation of a better alternative.
The community needs to act here. Playing a catch-up role in the design of the net of the future is no way to assure freedom, or even a whole lot of fun. Large-scale architectural design is hard to do in the free development mode, but we need to figure out how to do it well. Either that, or accept the criticism that we can’t really innovate.