Why Open-Source software works: essays, thoughts, opinions

Articles:

April 22,2002 :
Mozilla's Silent Revolution: Why Mozilla has revolutionized  the browsing experience (yet has not made it to the front page of the New York Times)

April 15, 2002 : Why what the Mozilla Project produces is more than a "document viewer", or : open source, choice, poverty and unemployment

MozTips Open Works

What is Open Works?

Open Works is dedicated to explaining why open source software works. It aims to cut through all the hype, propaganda, and fear, uncertainty and doubt that surrounds "free" and "open" software. The articles here express the opinions of their respective authors. While focusing on prominent open-source efforts such as Mozilla, this site provides opinionated accounts of why open source software has inherent value to countries, companies, communities, and people. While the sister site of Open Works, MozTips, aims to provide relatively objective help and information for Mozilla users, this one is less careful in avoiding the subjective side of open software development philosophy.




Why what the Mozilla Project produces is more than a "document viewer", or : open source, choice, poverty and unemployment

[Updated] April 15, 2002, Jayesh Sheth.

ZDnet ran an article recently about Mozilla's upcoming version 1.0 release. (Mozilla is an open source browser/email/editor program whose development is co-ordinated by Mozilla.org, and whose roots are in Netscape, the source to which was opened in 1998. For more information, please check out my "What is Mozilla? " section at MozTips.) A reader commented on the article and on Mozilla's relevance, by exclaiming that he did not understand why Mozilla deserved any attention or press coverage, since it is only just another glorified "document viewer".

As someone who follows Mozilla's progress closely, I was surprised by this comment, even though at first it seemed to make sense. At the most basic level, the browser component of Mozilla is a document viewer. It allows you to view "documents" written by other people on (remotely located) websites. In a way, the browser can be compared to glasses - both help you see/ read far away things/documents. Now, what if the only pair of glasses you could find (even if glasses were given away) were tinted red? You would, of course, see the whole world in red. After having used these glasses for a while, you may forget the true vibrancy of colors that existed in the world, since you got so used to seeing everything in red. The green mountains of spring time, the cerulean, clear sky, the white snow of winter, and the fluffy white clouds floating above would all seem to be tinged red. And if everyone used the same glasses, no one would notice the difference!

This exaggerated comparison does serve a purpose: what if those red glasses really were a browser, and what if the vibrant world really were the Internet? And what if the one and only browser you could get your hands on were Microsoft Internet Explorer? This is where the issue of choice comes in. Mozilla's status is elevated beyond that of a typical "document viewer" since it offers a credible alternative to Internet Explorer. This choice is important, because how you experience the Internet depends not only on the information present in it (the "content"), but also in how that information is presented to you. The browser of course, is the component which determines how webpages "look", with the same document often appearing differently on different browsers. Often, out of the presumed need for "strategic differentiation", companies which make browsers need to come up with a way to differentiate their product from the competition. Microsoft has attempted to differentiate Internet Explorer from the competition by building features into it, which are shared by the Windows operating system, which is also made by Microsoft. So technologies such as ActiveX which depend on features built into Windows, are implemented only in Microsoft made browsers.

Although Microsoft has versions of Internet Explorer for the Macintosh and for Solaris, the feature set between its Windows and non-Windows versions (such as its implementation of the JavaScript document object model (DOM) ) differs significantly. Different product teams reportedly worked on the Windows and non-Windows version of Internet Explorer. Thus, although Microsoft's browsers for different platforms share the same name, they are in effect completely different programs, with greatly differing functionality. The non-Windows versions fail to offer support for many of the features the Windows version offers, due the impossibility of reproducing on the Mac and Solaris, the code that the Windows version of Internet Explorer shares with Windows. In his article entitled " Scripting for IE 5 Macintosh Edition", Danny Goodman writes: "Alexander Pope may have been only half-correct when he wrote, 'A little learning is a dang'rous thing.' A Web developer who has mastered the massive Microsoft Internet Explorer Document Object Model (DOM) for the PC may, in truth, have too much learning when it comes to writing scripts that are compatible with Macintosh versions of Internet Explorer (IE).[...]What trips up many developers, however, is that the IE/Windows DOM includes many proprietary features that rely on the internal architecture of IE/Windows and the Windows operating system. [...] Although IE5/Macintosh offers a modicum of support for ActiveX, the controls devised for Windows do not run under other operating systems, nor have IE/Windows built-in controls (such as the basic Web Browser Control, on which many IE/Windows features are built) been implemented as such in IE/Mac."



To understand why websites using proprietary Microsoft web application technology could lock out people using other browsers or operating systems, consider the following example: what if you wanted to check the stock price of a company whose shares you own, and the recommended way to do that is through a stock ticker on your broker's website. At first thought you would think it would be irrelevant which browser you use, but wait! What if that stock ticker were written using an ActiveX control? Suddenly as a Netscape or Mozilla user, you would be locked out.

Unlike the old version 4.x "Communicator" versions of Netscape, the new version 6.x versions are based on Mozilla and have abandoned such "non standard" ways of presenting information. Many "non-standard" Netscape invented technologies such as Layers were thrown away with the introduction of Netscape 6. The desertion of old proprietary Netscape technologies in favor of more open ones, has meant that webpages "optimized" for version 4.x of Netscape no longer work in Netscape 6.x. This has lead to frustration for many web developers, who complain about having to rewrite webpages to make them work in Netscape 6. This, of course, has affected Netscape's market share. It is worthwhile, however, to point out that documents which are written according to web standards will work not only in Netscape 6, but also in other standard compliant browsers such as Opera or Konqueror. But since the task of rewriting web pages for the new standards compliant world is tedious, many web developers fail to see the true potential of standards compliant webpages: that having been written once, they can be viewed by anyone, on any operating system, on any standards compliant browser.

Microsoft Internet Explorer, on the other hand, is steadily  headed in the opposite direction: it is gaining market share, while ignoring web standards (even though it superficially claims to support them). Internet Explorer, while shrugging off support for Java and after being inseparably integrated with Windows XP, is positioning itself as a vehicle for Microsoft's propietary "dot Net" efforts. With the release of Internet Explorer 6, Microsoft has captured 30% of the browser market over the course of the last six or seven months. We have all heard so much dot Net hype recently that one more mention of it seems to be meaningless, but maybe the following comment will help clear up how I think of it. I recently saw (supposedly) leaked pictures of Microsoft's upcoming "dot Net Office" product, with pictures of Microsoft Office running inside of Internet Explorer. Until now, Microsoft Office has run only on Windows and on the Macintosh. In the future (if those leaked pictures are to be believed)Internet versions of Microsoft Office will probably only work in Internet Explorer. So there you have it: in one fell swoop, the status of the browser has been elevated from lowely document viewer to application runner. Mozilla stands ready today to deliver web applications through well established open standards such as HTML, XHTML and through the widely accepted and cross-platform/cross-browser programming language Java, from Microsoft's arch-rival Sun Microsystems. It seems exceedingly unlikely however, that Microsoft will ever let non-Microsoft browsers receive equal access to web applications built using their "Dot net" technologies, nor will it let Internet Explorer users access rival web applications which are built using Java. Microsoft dropped "official" support for Java in Windows XP and Internet Explorer 6, because it was probably deemed too great a threat to its own dot Net initiative. Microsoft used its dominance in the desktop market to overrun Netscape, and is attempting to use similar tactics to make Java extinct. Whereas Java programs haven proven themselves to be able to run on multiple operating systems and browsers since 1994, the cross-platform and cross-browser compatibility of the much younger dot Net technology remains unclear and unproven.

Many people may not think too much about the creation and evolution web services, such as Web-based email, or the creation of Java. Yet, the popularity of both webmail and Java applets are evidence of the web's transition from a repository of lowly static "pages" (similar to those in their offline counterparts: books) to a delivery mechanism for complex "activated" (i.e. program driven) content. This transition in the nature of the Internet from static to activated is being capitalised on by Microsoft cleverly, with its typical propietary twist. In the past, Microsoft tried to convince users that it was necessary to have Windows to use the programs they wanted or have Internet Explorer (and not Netscape) to visit the webpages they chose. In the future - according to Microsoft's vision - it will be necessary to use Internet Explorer to access the web-applications (email, stock ticker, chat room, message board, word processor) you need.

At this point you may ask " What's so bad about having to go through Microsoft for the things I need? There seems to be no reason to deliberately avoid them, if they are putting out a good product. " Here is my attempt at an answer: for many developing countries, such as India, computers hold the promise of a new world: new jobs in writing software, and new ways to provide access to information. Despite India's booming technology industry, many Indians live in absolute poverty. For even those children who make it through twelve years of schooling, an understanding of computers is often impossible, because of the sheer cost of providing and maintaining access to them. In a country where a single Windows license costs more than the average monthly income, this form of "technology tax" is a significant discouragement for schools to invest in computers. The operating system is a critical element of a computer, and Microsoft has built its business on selling this element. Other alternatives to Windows have surfaced, such as Linux. Linux, like Mozilla, is an open source project - meaning its code is open to all, but more importantly, it is freely downloadable and distributable. With the advent of the Internet - that is with the connection of many computers (and their operating systems to each other - the singular operating system has risen in value from a formerly isolated system, to one which must be capable of communicating with other operating systems. This connection of one computer with another has been accomplished partly through the use of the browser. Without a useful and modern browser, an operating system today is isolated, and made considerably less useful. Because the Mozilla browser is "cross-platform", it can provide the same functionality to Windows, Linux or Macintosh users. For countries such as India, the opportunity to use Linux based computers with Mozilla is an appealing one, because the critical software elements of the computer are provided free of cost. With the transition to a web-based model of computing, where information and programs are provided over the Internet, open access to this network becomes of paramount importance. Citizens of richer countries may be able to afford Microsoft's "technology tax", but without Linux and Mozilla,many citizens of poorer countries will have go without computers or Internet access. This is because even though hardware costs have been steadily declining, software costs have remained constant, or have grown larger. Microsoft's operating system software constitutes a higher percentage of the total cost of ownership for a computer each new day.

The next question that comes to mind probably is "How can open source software be free? Is it the product of some old communist-like thinking? I was always told that nothing in the world is free. Something must be wrong here. " In order to answer that question let me present an idea from Jeremy Rifkin's book "The end of work." In this book, Rifkin mentions how over time, with the introduction of technology, more and more jobs have been made irrelevant, because they have been replaced by machines. The first migration of jobs was from the manufacturing sector to the service sector, and the second is from the service sector to the technology sector. With growing unemployment in the service sector, the technology sector will not be able to accomodate the flood of the newly unemployed. Even the government, which in the time of [the second world war era economist] Keynes was the "employer of last resort", has come under pressure to be "efficient." What we have today then is rising unemployment, with the migration of labor from sectors rendered irrelevant through technology. Even the technology sector is unable to hold all of the unemployed, either because the new skills needed to work in this sector are too difficult to learn, or because even this sector cannot grow fast enough to accommodate all the world's unemployed. What is the way out? Rifkin proposes a third "voluntary sector" which is composed of non-profit organisations and voluntary work. The idea is such: what if every person worked five hours less every week at their normal jobs, and gave away ten hours of their time instead to helping other people in what they know best. So doctors would treat patients for free, ten hours a week, or computer programmers would vounteer their services for ten hours a week, helping to teach school children to use computers or helping schools set up their technology infrastructure. When you think about it, this sounds a lot like open source software ! Open source software such as Mozilla is collaboratively developed software, with the patronage of a corporate sponsor, Netscape. So, while some Netscape employees are paid to work on Mozilla, there are many others who volunteer their time to improve the product. This is done by testing the product and reporting errors, helping to fix existing problems in the product, contributing new features to the product, or helping to write documentation for the product.


The availibity of a browser that is not tied to a cost-based operating system such as Windows is important, and Mozilla fits the bill well. Even though the adoption of a standards-based, open source browser development model by Netscape has not stopped the decline in its market share, the end result of this decision - Mozilla - has provided something of unimaginable value to millions of people. It has given people the choice to see and experience the Internet without going through Microsoft's toll booth. As the Internet has made the transition from a formerly academic and non-commercial network to one where commercial and non-profit interests exist side by side, it is important to ask why the development of a browser cannot follow the same mixed model of corporate sponsorship, volunteer efforts, and free, open access to information for all. If future access to web-based programs and information requires that content be pushed through the gates of a single company, the prospects for developing countries aiming to catch up with the rest of the world will be dim, and the prospect for an efficient, competitive marketplace for software and services will be even harder to achieve, since the existence of a single monolithic monopoly over how information is accessed will put a stranglehold on a formerly open network.

That is why Mozilla is more than just a document viewer - it offers an alternative to the restricted future of computing that Microsoft envisions and intends to impose on the world. The success of Mozilla is paramount, because what is at stake is the freedom of world's citizens to choose how they access content and applications, and to choose whether they want to pass through Microsoft's toll booth on the way, or not.


About the author: Jayesh Sheth maintains the MozTips website in his spare time, which aims to help people get the most out of Mozilla. If you are interested in writing for MozTips or Open Works,or have comments on an article, please drop him a note.