Open source and the web browser

by Elena Blanco on 1 March 2005 , last updated

Archived This page has been archived. Its content will not be updated. Further details of our archive policy.

Introduction

The World Wide Web (the web) has become ubiquitous. Quite apart from the use that so many people make of it for commerce and recreation, the web has changed the way that system administrators and many other IT professionals do their jobs. We now have access to a wealth of information as well as a staggeringly huge community of people discussing similar issues and problems. Consequently the web has dramatically shot to the forefront of the resources that we use to research and solve problems.

To access this rich source of information we mainly use a web browser, a piece of software that allows us to display and interact with the resources hosted on web servers. The days are fading when software developers would write specific software clients to access resources in a client server model. The modern web browser has become a mechanism by which client applications can be delivered to the user without the need for additional software installation.

This document discusses each of the leading open source web browsers.

Mozilla Firefox

Mozilla Firefox is a cross-platform web browser developed by the Mozilla Foundation and hundreds of volunteers. The Mozilla Foundation was formed in 1998 when Netscape Communications Corporation decided to open source its browser, Netscape Navigator, as it became clear that the closed source model previously employed was unsustainable in the increasingly competitive browser market. Alongside Firefox, the Mozilla Foundation also used to develop the Mozilla Suite, a much larger product, and this carries on under the name SeaMonkey as a community-developed project hosted by the Foundation. However, Firefox has now become the official browser release of the Mozilla Foundation itself, and has become their main focus along with the Mozilla Thunderbird email client. Firefox was originally known as Phoenix and briefly as Mozilla Firebird but settled down with the name Firefox before its version 1.0 release in November 2004.

Firefox is rare amongst open source browsers in its cross platform goals; it is available for Windows, Linux and Mac OS X. Firefox has been developed as a small, fast, simple to use and highly extensible web browser. As you would expect, Firefox uses Mozilla’s own HTML rendering engine called Gecko which supports SSL, HTML v4.0, Java, JavaScript and provides extensive support for Netscape-style plug-ins based on the Netscape Plugin Application Program Interface (NPAPI). Firefox offers similar features to those found in other open source browsers such as the integrated pop-up blocker, tabbed browsing, smart keywords (to search a site from the location bar), bookmark categories… and an extension mechanism for adding functionality via small programs (or add-ons). However, due in part to its cross platform support, Firefox is the first of these browsers to achieve large scale adoption particularly amongst home users.

Gecko also forms the basis for other browser projects. Flock is a Firefox-derivative with built-in support for many ‘Web 2.0’ services such as Flickr, Blogger, del.icio.us and YouTube. XeroBank’s xB browser is another derivative that has built-in support for the popular distributed web anonymization technology known as ‘Tor’.

On 9 October, 2007 the Mozilla Foundation announced that they would be creating browser software for the increasingly important mobile web market. In March 2009 their mobile browser Fennec was in Beta version.

Konqueror

Konqueror is part of the K Desktop Environment (KDE), a desktop environment developed for the Unix platform (including Linux) with the aim of providing a contemporary, easy-to-use desktop for Unix similar to those provided with MacOS and Microsoft Windows. Konqueror actually functions as a file manager, a file viewer and a web browser, but in the context of this document, we shall just consider its web browser functionality.

Konqueror supports SSL, is HTML v4.0 compliant and supports Java applets and JavaScript as well as cascading style sheets. Konqueror also provides support for NPAPI plug-ins such as Flash or QuickTime. However, note that while support for the plug-in may exist, if it does not run on your operating system then that plug-in is of little use. Unusually, Konqueror uses its own HTML rendering engine, called KHTML.

Konqueror is not available to download as a standalone web browser: it is only available as part of the KDE kdebase package, with the rendering engine KHTML and the other required libraries contained within the kdelibs package. Therefore the Konqueror installation is simply part of the KDE installation.

Epiphany

Epiphany is a web browser developed for the GNOME computer desktop, a desktop environment that competes with KDE for the Linux platform. Epiphany was forked in the late-2002 from Galeon by Marco Pesenti Gritti (also the initiator of Galeon) with the aim of creating a very simple user experience. In 2005, both projects were merged by adding Galeon features and functionality as an extension to Epiphany.

Unlike Konqueror, Epiphany belongs to the family of web browsers that use the Mozilla rendering engine Gecko to display web pages. However, one of the differences between Epiphany and other browsers in this family is that instead of using the Mozilla interface to the rendering engine it provides a GNOME integrated front-end to the rendering engine which allows it to be very tightly integrated with the rest of the GNOME desktop.

In common with many browsers based on Gecko, Epiphany supports tabbed browsing, cookie management, popup blocking and an extensions system.

From the user’s perspective one marked feature noticed in Epiphany is the provision of categorized bookmarks rather than the traditional hierarchical folder-based bookmark system adopted by most other browsers. This feature enables an individual bookmark to exist in more than one category and also provides some special system-maintained categories such as Most Frequent that, as the name suggests, comprises the bookmarks that have been used frequently.

Galeon

Galeon was the original web browser developed specifically for the GNOME desktop on the Linux platform. As explained above, Galeon is now developed as an extension to Epiphany.

Galeon was created with a very specific goal in mind; the project’s self declared mission was to deliver the web and only the web and consequently its developers focused on the reduction of peripheral functionality. This focus came from a desire to move away from the trend of the most popular web browsers to be large multi-functional programs with resulting high memory and processor requirements.

Galeon is based on Mozilla’s Gecko rendering engine and supports SSL, HTML v4.0, Java, JavaScript and NPAPI plug-ins. As mentioned in the Epiphany section of this document, Galeon introduced the concept of categorized bookmarks along with the concept of Smart Bookmarks, bookmarks that take an argument and can be used as toolbar buttons where the argument is entered via a text field.

K-Meleon

K-Meleon has been developed as an alternative GUI web browser for hardware and operating systems that cannot support larger Mozilla-based web browsers such as the Mozilla Suite or Firefox. K-Meleon is a lightweight web browser designed to run on the Windows platform and makes use of the Windows native interface for the applications toolbars and menu so that it is tightly integrated into the look and feel of the Windows desktop. This is similar to the way that Epiphany and Konqueror are tightly integrated into the GNOME and KDE desktops respectively. K-Meleon uses Mozilla’s Gecko rendering engine and therefore provides the familiar features present in this family of browsers.

Camino

Camino is a Mac-only browser based upon the same Gecko rendering engine used by Firefox. Many Mac users prefer it over Firefox due to its close integration with the Mac enviroment. The project’s lead Mike Pinkerton began work on the browser whilst working for Netscape in 2001 and continues to work on it today.

Chromium

Chromium is a web browser originally developed by Google and is based on WebKit. Google’s current Chrome browser is built with open source code from the Chromium project. Chromium focuses on the new role of the web browser as as an application delivery mechanism rather than simply an application to render web based documents. First released in late 2008 its design goals are to offer improvements in security, speed, and stability compared to existing browsers.

There are some situations and some user groups that require text-only web browsers, i.e. a way to view the web in a text-only environment. Some of these scenarios include visually-impaired users wishing to use a text to speech converter and low-end or low-bandwidth terminals.

The original text browser is Lynx, originally designed for Unix and VMS. It comes as source code with scripts that allow it to be compiled on both Unix and Windows systems; there are also various sources providing pre-compiled versions, depending on operating system. Browsing in Lynx is achieved by either highlighting the chosen link using cursor keys, or having all links on a page numbered and navigating via these link numbers. Current versions support SSL and many HTML features. Tables are flattened out thus losing their tabular structure while frames are identified by name and can be explored as if they were separate pages. Lynx was once popular with visually-impaired users, but better screen readers have since reduced the appeal of Lynx to this user group.

Links on the other hand is a text-only web browser oriented towards users who want to operate in a text only environment but still want to retain many typical elements of graphical user interfaces such as pop up windows and menus. It has a pull-down menu system, can render complex pages including tables and frames, has support for multiple character sets, supports colour and monochrome terminals and allows horizontal scrolling. These features make it suitable as a web browser for less well-connected establishments such as geographically remote libraries.

A note about non open source browsers

There are of course many proprietary web browsers available which are not the subject of this document but it is worth noting how some of these proprietary products have come from, influenced, or contributed to the open source community.

Safari is a web browser developed by Apple and provided as the standard browser for the MacOS X platform from version 10.3 onwards. The HTML rendering engine used by Safari is called WebKit, which is based on Konqueror’s KHTML engine. As a result WebKit is free software and is released with portions under either the GNU Lesser General Public License or BSD licence.

The Netscape Communications Company was founded by the software developers who had written the original Mosaic web browser at NCSA. Netscape Navigator, a cross-platform browser originally developed for Unix and then ported to Windows and Mac OS, was the flagship product from this company. It was the open sourcing of this browser that gave us the Mozilla Foundation and Firefox today.

Opera is a cross-platform suite comprising not only a web browser but also an email and news client, address book, IRC client, newsfeed reader and a download manager. Opera is developed and provided by Opera Software of Oslo, Norway and uses its own rendering engine, Presto, which is licensed by Adobe and Macromedia for use in their respective web authoring packages. Opera is mentioned here because of the leading role it has in providing browsers for handheld devices such as mobile phones and PDAs achieved via its Small Screen Rendering technology that removes the need for horizontal scrolling.

Internet Explorer is a web browser from Microsoft currently sold as part of the Microsoft Windows platform. The code for the original Internet Explorer browser was not written by Microsoft but was licensed to them by Spyglass, Inc., the company charged with commercializing the original NCSA Mosaic code. Originally, Microsoft developed versions of Internet Explorer for other platforms, notably MacOS and Solaris, but in 2003 Microsoft announced that Internet Explorer would no longer be made available as a separate product but would be part of the evolution of its Windows platform, and consequently no more releases for the Macintosh or Solaris would be made. It is, of course, the primary browser that Mozilla Firefox is competing against.

Browsers in mobile devices

It is common now for mobile devices - such as mobile phones and so-called “smartphones” - to offer internet access complete with a web browser. Notably, some major manufacturers are using open source rendering engines as the basis for these browsers. For example, the WebKit rendering engine is used as the basis for the web browsers of the Apple iPhone, the Nokia S60, and Google Android-based devices. However, it should be noted that while these may use an open source rendering engine, parts of these browsers outside that core may still be proprietary.

Further reading

Links:

Related information from OSS Watch: