Attenzione lettore: l'articolo non dice quello che suggerisce il titolo, come quasi sempre nei quotidiani italiani. Quando uno dice una castroneria la chiama “provocazione”. Ecco, questa è una provocazione. Per chi sa l'Inglese, almeno sino a che qualcuno non si offra di tradurre ;-).
Comunque, spiego (o cerco di spiegare) perché Microsoft diverrà l'aedo del Software Libero. Forse…
Why Keeping MS Office Proprietary?
Like it or not, Microsoft Office is quite an important piece of software. It is not the most used software application (my guess, this title goes to Bind, the program that deals with DNS, which we invoke any time we use the Internet because it resolves the domain names), but for the average Joe and Mary it is perhaps 50% of their computing experience, or more. MS Office is a proprietary application; this means that users are only allowed to use as many copies of the application as they have bought from Microsoft (or, more likely, from a computer seller).
MS Office costs money, but this is not the main shortcoming of its licensing conditions. It comes only in object code, the source code is not available, but again this is not the sticky point. Proprietary conditions don't allow anybody else to put their hands onto the code to study, adapt and distribute modified versions of the software. MS Office is no exception to this.
There are alternatives to MS Office, such as Koffice, AbiWord, Openoffice.org, all Free Software. Software whose licensing conditions allow the four Freedoms. And there are even more innovative alternative, such as web applications. So why bother if we cannot use those Freedoms for MS Office, when we have good alternatives?
Keep your curiosity warm.
Formats, interoperability, standards, network effects
A telephone is worth nothing, it is not as useful as a piece of wood (you cannot burn it in your mantlepiece). Two telephones can be useful if your brother on the other side of the town has the other one. If your telephone can talk with 20% of the population it becomes quite worth buying it. Suppose that this telephone is more advanced and feature-rich than your neighbor's, but if your neighbor's telephone can talk to 80% of the population. The latter one is more useful. This is roughly called “network effect”.
For the overall population, being able to speak to any individual that owns a telephone is very important. This is achieved by two alternative ways:
- having only one kind of telephone and only one network;
- or having as many kinds of telephones and networks as needed, all able to speak with each other, flawlessly.
The first model is called “monopoly”, the second is based on “interoperability”. At the dawn of the telephone era, the telephone network was considered a natural monopoly, and in many countries the telephone network was in the hands of a state-owned company. Italy was one of them. The state-owned company could demand that any telephone connected to the network was rented by it; you were supposed to rent also the wall plug from them and not from others. It was a legal in addition to being a natural monopoly. And that was not cheap. Indeed it was quite costly. In exchange, the monopolist guaranteed that the service was ubiquitous, and was obliged to bring the network even to places where it was largely a loss.
Was that a good deal for the average user? Quite hardly so!
Then came the liberalization, and the former monopolists (incumbent operators) were forced to share the lines with competitors, to respect interconnection requirements, to abide by international standards. Now I can connect a fax, a telephone, a modem to a telephone network without bothering asking permission to my operator, and I can change my operator almost at will, being sure that I can communicate almost with anybody in the world who has a similar apparatus. All this is called interoperability, and it brings unencumbered competition. And as the competition in the sector is fierce, the prices are dropping, new services are blooming by the day, innovation happens at many levels.
How this relates to MS Office?
Microsoft is a de facto near monopolist in many sectors, including those connected with Microsoft Office. When I suggest people to go for Openoffice.org, the natural question is not “can I do the same things as with Microsoft Office?”, but “can I open and save attachments in .doc, .xls that my friends send me?”. People tend to share documents, and thus the ubiquity of the leading application grants huge network effect.
Ideally, there should be a standard for doing this, and indeed too many standard exist. For the kind of documents like those produced by MS Office (which we will call Personal Productivity Application's (PPA) documents) two standard exist: one is recognized by ISO (ISO 26300, also known as ODF, which is the one used by Openoffice.org), another is an industry standard recognized by ECMA (ECMA 376, also known as Office Open XML, in short OOXML). Both of them are XML formats (which means that they are written in human readable formats, but parseable by a machine). ODF is an open standard, OOXML seems short of being it.
None of them is currently much used. ODF is not installed or used on many computers. People who use MS Office (somewhere in the region of 90% of the people using a PC) have not the ability to save files in ODF, so Microsoft does not support the existing standard for PPA's documents. There is a plugin currently developed, but how many of you have ever installed a plugin into an application? Meanwhile, people don't use OOXML either. OOXML is only available with MS Office 2007 and yet it is not the default option for saving docs. And it is itself not fully compliant with with the OOXML presented as ECMA 376. It is even more far from being compliant with the current proposal of ISO DIS 29500, the fast-tracked attempt to turn ECMA 376 into an International Standard, after thousands of comments in the ballot process requested deep changes to make it a standard.
The bottomline? People share documents in MS Office proprietary and binary file formats. So there is still clearly a strong network effect and an interoperability issue in the everyday life of interconnected people. I write very complicated documents (such as contracts) with multiple numbering, cross references and other stuff which goes partly amiss when I convert them into a Word document. Therefore sometimes I am forced not to use the most advanced features because they are not translated during conversion. And the odds are that my counterparts don't have Openoffice.org, despite it's free (Free Software and free to download) and inter-platform, so it can be used on virtually any computer (Windows, GNU/Linux, Mac, Solaris, FreeBSD etc. ).
One single standard
Having two different, non interoperable standard would not do much to improve the situation. As I wrote in my previous post “there can be only one“. this would eventually lead to the adoption of the standard supported by the most widespread application in spite of the quality of the standard and the richness, value of its implementation. But also if ODF were eventually the winning standard, we would have a suboptimal situation. I cannot think of a standard for PPAs that flatly ignores the needs of the most widespread application in the field.
Please note that in my last point the following elements have been intentionally disregarded:
- That Microsoft refused to contribute to ODF despite being a member of the proposing body (OASIS)
- That Microsoft started standardizing its format after OASIS published ODF 1.0
- That it would have been very more efficient to start an unified standard for a generic PPA, taking into consideration the requirements of all possible players, present and future.
- That the approval process of OOXML is open to criticism on many accounts.
My aim is not to see who did good deeds and who did the wong ones, I have my ideas and I think anybody can easily find out. The point is where do we move from here?
I have no doubts: the two standards must merge. There can be only one. Not necessarily ODF, surely not OOXML.
Microsoft Office, Free Software
Standardization of the format, if properly done, would be a very powerful drive. Who would care using and paying Microsoft's product if interoperable alternatives were available? Those thinking that the additional features of Microsoft Office are worth the price (in terms of licensing costs and of computing power). Those many others using a wordprocessor like a typing machine would probably think better. This is why nobody in his/her mind thinkg that the effort of Microsoft to bring a documentary standard around MS Office is a genuine effort towards interoperability. As it has been presented, OOXML was at best a way for other applications to write something that works for Microsoft Office, a one-way interoperability, with Microsoft's product at the center. Because of its tailorization, OOXML could be implemented at heart only by one product. Therefore, among many other reasons, the attempt to standardize it, sorry, to make it a de iure standard recognized by ISO, must be rejected outright.
Ok, let's suppose that a true open, independent standard eventually wins, as it is in my wishes. Then the ball is in Microsoft's field. Microsoft is not a Free Software company, I think we can all agree upon it. Microsoft's core business is to produce proprietary software and sell licenses to use it. Asking Microsoft to put some of its software, and especially the best seller Microsoft Office under conditions that permit anybody to copy, distribute, modify it seems to be 100% naive. Here is the answer to the initial question: why not to put MS Office under Free Sofwtare coditions? Microsoft would lose billions.
Well, yes, it probably would. But the alternative is to enclose itself even more in an all-proprietary world. It cannot go on forever. There is a mounting pressure to open up protocols and formats, to ensure interoperability, even Microsoft acknowledges so. Two years ago they said it was impossible for them to disclose their proprietary and secret network protocols. Now they have issued the Open Specification Promise and they increase the list of protocols submitted under it. It is not perfect, it would perhaps be more perfect if software patents did not exist. But it is somethig that it seemed and was vigorously maintained to be impossible. And with the release of the other protocols not put under the OSP, like most of the protocols of the WSPP (the program set up by Microsoft to comply with the 2004 EU Commission Decision) Microsoft has probably realized that the disclosure of them to Samba and to other projects through the Protocol Freedom Information Foundation has brought considerable progress in the strenghtening of the protocols, so that Microsoft decided to go slightly beyond what it was their disclosure obligation.
The idea is that what seems out of reach now, tomorrow could be quite ordinary. Sun has released Open Solaris under GNU GPL conditions, and so is doing with Java. In two or three years Microsoft could face competition threats that today it does not envisage, and possibly this would be thanks also the antitrust initiative that starts to bring results. And the answer could be that of changing the business model. Perhaps a shift in the paradigm could help Microsoft finding more creative ways to exploit the many talented software engineers it has enrolled. Could eventually Microsoft take the lead of the Free Software development in many fields? Two years ago the odds were slimmer than finding a snowball in hell. Todays it is still quite remote, Tomorrow it could be less incredible.
A good start it would be chaning the business model around MS Office. Maybe starting from the oldest applications, those already paralleled by Openoffice.org. That would perhaps overcome even the current nonsensical battle of standards. Once competition will make a breakthrough in the PPA arena, and PPA will be commoditized, because eventually they will be commoditized, the Free Software alternative will be more attractive for a constellation of small applications, widgets, plugin that will flourish. More and more a monolitic approach will be replaced by a mixed environment of software as a service and small applications that would perform limited tasks when offline. There are new protocols and paradigms: I am for instance sincerely impressed by a Microsoft Exchange alternative called Zimbra (largely free software), which uses Ajax to build online — and now even offline — web applications. The era of the software as we know is about to end, it could end with Microsoft imploding in “enlarge our monopoly and sell as many licenses as possible in the process” or with Microsoft prospering more or less the same way as Google is doing, anticipating the revolution and leading the innovation, instead of trying to catch up, embrace and extend.
When a couple of years ago Bill Gates said that Microsoft more or less had to turn all the way into a software as a service company, the stock market reacted badly, but it was mistaken. I think that for once Gates has seen the right direction where to move, and it would be foolish for Microsoft to ignore what the soon-to-be former Chairman of Microsoft has said. It can be through investing in Free Software, It has to begin with Office. And the sooner, the better.
Go, Microsoft, go! (Free Software)