INFORMATION SERVICES: RESEARCH

25 August 2003

OPEN-SOURCE CODE AND OPEN-SOURCE SOFTWARE: AN OVERVIEW

What is Open Source?

The most basic definition of open source, according to recently published literature, is that open source entails software for which the source code is distributed, along with the executable computer programme. This distinguishes open-source software from software requiring a licence allowing all users to modify and redistribute such software. Open-source code refers to the actual instructions which programmers write to create a piece of software, in other words, the recipe for the particular computer programme. As a consequence, one the programme has been compiled into a form which can be installed and run on a computer, its source code is irretrievable. It is therefore practically impossible to make changes to a programme without having a copy of its source code. This means that if a programme’s licence includes the right to modify the programme, the right is meaningless, unless the source code is readily available.

Various organisations and institutions are currently involved in open-source activities. The Open-Source Initiative, for instance, is a group of developers who disseminate information on the benefits of open source. It has posted on its web site a so-called meta definition of basic conditions which it feels should be included in an open-source software licence. Potentially, these conditions have far-reaching implications for software development, internationally and locally. They include:

 

Proprietary software

Until recently, the aforementioned conditions was almost unthinkable since proprietary software dominated the computer software market. Proprietary software still dominates and makes up the majority of software currently on the market. A proprietary licence prohibits modification, copying or redistribution without the company’s permission. It therefore ensures that only one entity (the company or individual who created the software) is entitled to make changes or even see the software’s internal structure. Literature also indicates that proprietary software is often created by a relatively small group of developers within a particular company. They complete a programme and then try to remove as many flaws as possible before the software is marketed. It frequently happens that purchasers of proprietary software become involuntary testers. If purchasers do find flaws in a particular software package and even manage to solve the problems themselves, the software licence prohibits them from "correcting" the flaws themselves.

This highlights the major difference between proprietary software and open- source software in that open-source software is usually developed by individual computing enthusiasts who work together via the Internet. Anyone with an interest and some degree of ability is welcome to contribute sections of the programme or to look for errors in existing sections of the programme. No one is excluded from the development process. Potentially hundreds of people can contribute to a particular project, often diverse groups of people with a variety of aptitudes and talents.

Open-source software enthusiast Eric Raymond described an open-source software project and contended that a good open-source software project entailed re-using as much code from other projects as possible in order to avoid duplicated work. Contributors to open-source development therefore rely heavily on feedback and suggestions from users of the software, operating under the principle of early release and a stringent peer review mechanism. This could result in errors being eliminated at very early stages of software development.

Although anyone can contribute to open-source development projects, some degree of central "control" does exist by means of a central authority which collects and combines the changes which other make to computer programmes. These authorities work to maintain compatibility and conformance to standards and balance these with improvements from the community of developers. Central authorities keep open-source software compatible with the Internet and other important standards and prevent variations of software resulting in incompatible software.

Open-source developments in South Africa

Microsoft’s introduction of its new licencing model for its software late last year, led to a flurry of debate on the topic, particularly in Government circles. Some information technology (IT) specialists in Government felt that the moment may be opportune to start looking at "home-grown" alternatives to expensive brand-name software. It was suggested that switching to open-source software could save South Africa at least R3 billion annually. In addition, the policy could assist in creating a new generation of programmers skilled in developing their own software applications.

The South African Government’s current expenditure on software licences of R3 billion increased to R9,4 billion in 2002 when support and upgrade costs were included. According to preliminary research by BMI-T, the expenditure on IT services, salaries and skills surrounding the open-source software market was around R150 million in 2002. Although this represents a very small percentage of the total services market, it is expected that this market will grow strongly to reach R650 million by 2007. It should be noted that almost no capital is spent in South Africa since the money goes to multi-national computer proprietary companies.

The Open-Source Software Demonstrator Project

The aforementioned project is a clear indication of current thinking on open- software development in South Africa. A joint initiative of the Centre for Public Service and Administration, the Department of Public Service and Administration and the School of Computer Science of the University of the Witwatersrand, the Open-Source Software Demonstrator Project involves the use of an open-source software development model, partly to develop a workflow management system in South Africa.

The project resulted from a need expressed by Government to explore the possibilities of using and promoting open-source software in the public sector. Indications are that this is in line with current international trends, which will be discussed in subsequent paragraphs. One of the primary goals of the project is to demonstrate the applicability of an open-source development model in South Africa’s public sector. The initial development project, a hybrid model, makes funding available for the development of the base product, as well as the structures which are required to support the open-source development model. It is envisaged that, following the initially funded development phase, the project will be "open sourced" and will then call for contributions from the open-source community.

A primary motivation for the project was the expressed challenge of the digital divide and the fact that all good ICT (information communications technology) careers are outside of South Africa’s borders. As a result, ICT professionals leave the country, leaving South Africa as a consumer rather than a producer of technology. This highlights the nature and benefits of open-source development for South Africa since it is hoped that the sharing of computer expertise and the development of reliable, less expensive and flexible software will be some of the spin-offs of an investment in open-source development.

What are the benefits of Open Source?

Many of the (potential) benefits of open-source software have already been mentioned in the course of the discussion above. Modern literature and open-source enthusiasts added and elaborated on these. They include:

  1. Open-source code is at present being used by approximately 20 000 computer programmers worldwide who are involved in further development. No company could afford to devote that many programmers to such a continued development.
  2. The development open-source cycle is very quick, although this creates the challenge of ensuring adequate quality control of software.
  3. Through their active involvement, a variety of programmers are given the opportunity to familiarise themselves with open-source products, which means that they can acquire training and expertise without necessarily having to work for a particular software development house.
  4. A particular advantage of participation in open-source software is that programmers are given substantial mobility in that they can work anywhere in South Africa or internationally in contributing to software development and gaining experience, while at the same time earning an income.
  5. Each of the functions of open-source software is almost like a stand-alone product, which enhances the possibility of developing products that are suited to meet South Africa’s unique requirements.
  6. The most convincing feature of open-source software code and development is probably the application of open-source software for lowering costs and promoting the free distribution of software innovations.
  7. A number of studies in recent months have found that open source can be successfully applied in the public sector and that particularly developing countries could benefit from open-source software applications.
  8. Some role-players argue that open-source software could make a significant contribution towards breaking dependencies on foreign companies and that developing countries could become involved in software development internationally.
  9. The fact that open-source software is freely available improves the lifespan of such software.
  10. In the context of open-source application in government, some writers point to the specific benefits of open-source applications in the public sector. These include:
    1. Open-source software can be obtained at low cost and be redistributed without further payment for licences.
    2. While proprietary software can disappear when developing companies go out of business, open-source software offers more protection in that it has a better "survival" rate.
    3. Open-source software tends to be more flexible, with a better interoperability between various programmes.
    4. Open-source software can, in many cases, function successfully on older computers which are no longer suitable for running the latest versions of some "sophisticated" computer software.

International Trends

International developments in the field of open-source software are significant indications of the potential value of open-source development and benefits for South Africa. According to recent literature, France, Germany and Peru are now advocates of open source, along with the state authorities in California. In addition, the United Kingdom government is at present considering an increase in the use of open-source licences for publicly funded software. A substantial amount of (UK) government-funded software is already released under open- source licences, although there is at present no consistent government policy in the UK which endorses open source. During the past few months, a number of governments in Europe and elsewhere have paid increasingly close attention the possibilities of open-source software for lowering costs and promoting the free distribution of software innovations. Several European governments have passed or are considering legislation that at least require open-source software to be considered alongside proprietary software.

Linux

In the context of open-source operating systems, the Linux operating system attracts considerable attention. Linux started in 1991 with the initiatives of Linus Torvalds, a Finnish university student’s appeals for computer assistance, which resulted in a sophisticated operating system in a remarkably short period of time. At present, Linux software is free in the sense that potential users can download the software from the Internet without charge, and the source code can be viewed and changed. Torvalds licenced his work, which permitted users to make copies of the software.

Linux is neither public domain nor "shareware"; it is free software, or, in terms of its trademark, open-source software. As already discussed in this paper, this implies that users are entitled to giving away or selling copies, provided that they include the source code. It should be noted, though, that it is legal to charge money for distributing Linux, provided that such distribution includes the source code. The Linux operating system is based on using an open and distributed model, instead of a closed and centralised model, as is the case with many other software. This results in a software development process which is always public, enabling anybody to use it. In contrast, closed and centralised models result in only one person or team working on a particular software development project. In addition, they only release software which, in their opinion, "works well". This often results in long intervals between releases, long waiting for so-called bug fixes and therefore slower development. It should be added that although the latest release of (researched) software is sometimes of a higher quality, its development speed is generally much slower.

In order to enable users to make a fair comparison between open software and proprietary software, some Linux features are provided:

A user profile of Linux software

Literature on the user profile of open-source application reveals a variety of users, ranging from business applications by prominent international companies to programmers, web developers, systems and network administrators and ordinary computer users.

 

A number of software applications are currently bundled with the Linux source code. These include:

The aforementioned applicability patterns point to open-source software’s ability to comply with individual needs. Linux claims that it is possible to assemble one’s own Linux distribution, which stresses the primary value of open-source software, namely the continuous development of such software. A number of companies, such as Corel Mandrake, Redhat and Turbo Linux are currently actively involved in such activities. Of note is that these companies sell their support, although not their software. Organisations active in this field range from German companies to Chinese and Asian organisations.

Linux offers a number of international as well as some local links. Local links include the Gauteng, Pretoria and Western Cape Linux Groups on respectively www.glug.org.za, www.plug.org.za and www.clug.org.za, as well as the Linux Professional Association of South Africa, on www.lpa.org.za. International links include: the Mother of Linux sites, on www.linux.org and www.li.org, over and above three Linux news sites, which could be reached on www.linuxworld.com, linuxtoday.com and linuxgazette.com.

It should be noted that Linux software is not necessarily suited for all computer users. Linux’s Advocacy document (see footnote 8) states that potential users of Linux software must be prepared to read and learn about it. Users may have "to configure a lot of things" for themselves. It is therefore "going to take some time, some patience, some reading and some experimentation."

From a technical perspective, Linux software does put pressure on hardware (the computer equipment itself), more so than DOS (the basic computer operating system), Windows and, in fact, most operating systems. The result is that some marginal software that does not fail when running less demanding operating systems may fail when running Linux.

Conclusion

While research done in various part of the world confirms the value of user-friendly and tested software, it is clear that proprietary software, currently, consumes large budgets, particularly in developing countries, while, sadly, despite the contribution of countries such as South Africa, these countries hardly ever reap the benefits of their contribution to the improvement of software. Open-source software, in its brief lifespan of approximately six to eight years, does offer a number of benefits which this paper purported to outline. It is nonetheless noted that open-source software does offer fewer ready-made solutions since it, through the constant interaction of participants, constantly adapts and changes. Apart from convincing arguments related to substantial cost savings, conversion to open-source application may require further applied research by independent researchers in order to prove its feasibility.

It is therefore recommended that the committee -

 

Sources

 

[OPEN SOURCE]