Open Source Software — what you need to know

by Sebastian Rahtz on 1 July 2003 , last updated

Introduction

Open Source Software — what you need to know Sebastian Rahtz, OSS Watch July 2003

What is Open Source?

OSS is software for which:

  • the source code is available to the end-user;
  • the source code can be modified by the end-user;
  • the licensing conditions are intended to facilitate continued re-use and wide availability of the software, in both commercial and non-commercial contexts;
  • the cost of acquisition to the end-user is often minimal.Open source is a development methodology; free software is a social movement.

Why should you care about free or Open Source software?

Because it:

  • has no secrets: the innards are available for anyone to inspect
  • is not privately controlled: so likely to promote open rather than proprietary formats
  • is typically maintained by communities rather than corporations: so bug fixes and enhancement are often frequent and free
  • is usually distributed free of charge (developers make their money from support, training, and specialist add-ons; not marketing)

Clearing up misunderstandings

  • Free software uses the free from freedom, not the one from free beer. Open source software may or may not cost money
  • The cost of ownership often bears little relation to the cost of acquiring a piece of software
  • Public domain is something different. Open source software has a copyright holder and conditions of legal use
  • Open source software does not mandate exclusivity. You can use open source programs under Windows
  • We should not choose software solely on the basis of open source. Interoperability and open standards for data are equally important

Different areas of open source deployment

  • Operating systems (primarily Linux and the BSD family) in the IT infrastructure;
  • Networking systems (DNS servers, web servers, email services, firewalls, etc);
  • Information systems (portals, VLE, content management systems (CMS);
  • The user desktop (e.g., office productivity, multimedia tools, email and web clients, statistical packages, databases);
  • Application packages for subject-based communities
  • Software development; from serious programming in C down to casual CGI scripting, via web site creation in PHP or XSLT.

Some success stories: 1. user level

  • TeX: free typesetting for the last 25 years
  • Perl: the original, and most powerful, open source scripting language
  • Mozilla: the most comprehensive web browser ever created
  • The GIMP (image manipulation): a true end-user program with a modern interface
  • Open Office: a complete parallel universe to Microsoft Office
  • uPortal: competing with portal frameworks at the enterprise level

Some success stories: 2. system level

  • Linux: the operating system which made an entirely open-source world possible
  • The GNU collection of software development tools (compilers, editors, utilities etc)
  • Apache: originally just a web server, but now a family of high-quality open source projects based around the web and XML
  • KDE and Gnome: seriously useful desktop delivery environments
  • Mail delivery, DNS, you name it: half the network traffic in the world probably passes through open systems

What is Linux, by the way?

To be exact, we are talking about GNU/Linux systems:
Linux
… is an operating system kernel: the component which sits between an applications program (such as a word processor) and the hardware
GNU
… is an ever-expanding suite of free software components, providing all the functions of a Unix operating system (but GNU’s Not Unix)
…and …
A vast number of application programs for such an environment

Personalities

  • The father, high priest, best emissary, and bête noire, of free software is Richard Stallman

  • The man who made it mainstream by creating Linux, the Gandhi of Finland, is Linus Torvalds

Other names to know

Jon Bosak
the Sun engineer who pushed the development of XML through the W3C and stimulated a whole generation of open standards
Eric Raymond
Publicist of the open source movement, articulated the Cathedral and the Bazaar debate about software development
IBM and Sun
Big companies who support open source and open standards cornerstones of their business plans
Apache
Started as a project to improve the original web server, now a conglomerate of leading-edge software developments in the web world

The Open Source definition

This is the formal text from the Open Source Initiative:
1. Free Redistribution
The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
  1. Source Code
    The program must include source code, and must allow distribution in source code as well as compiled form.
  2. Derived Works
    The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.

Open Source definition (continued)

  1. Integrity of The Author’s Source Code
    The license may restrict source-code from being distributed in modified form only if the license allows the distribution of “patch files” with the source code for the purpose of modifying the program at build time.
  2. No Discrimination Against Persons or Groups
    The license must not discriminate against any person or group of persons.
  3. No Discrimination Against Fields of Endeavor
    The license must not restrict anyone from making use of the program in a specific field of endeavor.

Open Source definition (continued)

  1. Distribution of License
    The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.
  2. License Must Not Be Specific to a Product
    The rights attached to the program must not depend on the program’s being part of a particular software distribution.
  3. The License Must Not Restrict Other Software
    The license must not place restrictions on other software that is distributed along with the licensed software.

This licence business

There are 40-50 open source software licences with minute variations of detail. Some of the interesting points of difference:

  • The Gnu General Public License is designed for software developers, and insists that any program built using the licensed component must itself use the licence
  • Some licences (eg in the TeX world) insist that a changed program must have a different name
  • There are licences which forbid commercial use of the software—these are not open source!

*Academic Free License *Apache Software License *Apple Public Source License *Artistic license *Attribution Assurance Licenses *BSD license *Common Public License *Eiffel Forum License *Eiffel Forum License V2.0 *GNU General Public License (GPL) *GNU Library or “Lesser” General Public License (LGPL) *IBM Public License * Intel Open Source License *Historical Permission Notice and Disclaimer *Jabber Open Source License *MIT license *MITRE Collaborative Virtual Workspace License (CVW License) *Motosoto License *Mozilla Public License 1.0 (MPL) *Mozilla Public License 1.1 (MPL) *Naumen Public License *Nethack General Public License *Nokia Open Source License * OCLC Research Public License 2.0 *Open Group Test Suite License *Open Software License *Python license (CNRI Python License) * Python Software Foundation License *Qt Public License (QPL) *RealNetworks Public Source License V1.0 *Reciprocal Public License *Ricoh Source Code Public License *Sleepycat License *Sun Industry Standards Source License (SISSL) *Sun Public License *Sybase Open Watcom Public License 1.0 *University of Illinois/NCSA Open Source License *Vovida Software License v. 1.0 *W3C License *wxWindows Library License *X.Net License *Zope Public License *zlib/libpng license

License Q and A

Are you authorised?
Check whether you own the copyright. If you don’t, you cannot add an OSS licence
Do you care what happens to your work?
If you just want to make sure your stuff remains freely available for ever, choose an MIT-type licence
Are derivatives to be free as well?
Insist on the GPL
Do you simply want to make your program free?
(As in beer). Don’t feel you have to choose an open source licence

The simple licence

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and any associated documentation files (the ``Software’’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be imported in all copies or substantial portions of the Software.

Open standards meets open source?

Which is better?

  • Commercial software which uses an XML data format and can be accessed using web service protocolsor

  • An open source program which uses its own binary data format, its own interface, and its own programming language Open data and open communication between different components of your IT system gives you interchangeability of components.

Is Oxford typical?

We depend on open source:

  • Operating systems: mail server runs under Linux
  • Networking: Apache web servers and numerous network systems (DNS, Exim, LDAP etc)
  • Software development: the majority of web cgi applications developed at OUCS are in Perl
  • Our internal helpdesk system is web-based, open-source, and written in Perl
  • The open VLE system (Bodington) is our flagship project for 2003
  • The e-Science GRID depends on open standards and software Your mileage may vary, but you should recognize some of the above.

Why an institution might care

  • Open source is an important technique for software development
  • Proper licensing guarantees that the institution will always be able to use the software it fostered
  • Open source is of great pragmatic interest in software deployment (we might get better service for less money)
  • Generally speaking, open source software promotes open standards Do not forget issues of interoperability, conversion, and archiving.

Why a project might care

  • Open source toolkits can give you a head start without lock-in
  • Open source implementations of protocols provide an uncontroversial test bed
  • Open source licensing guarantees that funding institutions never lose the use of your work
  • You do not lose the opportunity to make money by selling support or services

An open source advisory service for UK institutions

OSS Watch:

  • funded by JISC for two years from 1st July 2003
  • part of JISC’s Information Environment
  • working in partnership with other JISC services, eg CETIS and the Mirror Service
  • serving FE and HE equally
  • run by Oxford University Computing Services with 2 50% and 1 25% staff
  • visible at http://www.oss-watch.ac.uk

What OSS Watch will do

  • Offer a neutral and practical web site
  • Run at least two open meetings a year
  • Run two focus groups year, and write analyses
  • Engage in understanding institutional processes
  • Advise IT managers, project developers, and users
  • Give advice on open source to any UK/FE forum — and make all its material available under the GNU Free Documentation License

What OSS Watch will not do

  • Try to persuade people to adopt open source
  • Run a software repository
  • Help people with their Open Office problems
  • Compete with freshmeat or slashdot
  • Provide definitive legal advice
  • Be a forum for hairy sandal-wearing geeks

Conclusions

Questions:

  • Is open source relevant to software development methods?
  • Which is more important, open source or open standards?
  • Do we believe that software is fundamental human knowledge?Pragmatism:

  • Cost does matter
  • Open, reuseable, implementations of open standards is a good thing
  • Perpetual access to software generated by your organisation matters

Further reading

http://www.gnu.org/philosophy (Free Software Foundation)http://www.opensource.org (Open Source)http://www.debian.org (Debian Linux)http://www.stallman.org (Richard Stallman)http://www.w3c.org (World Wide Web Consortium)http://www.govtalk.gov.uk/ (e-GIF)http://www.egovos.org (Center of Open Source & Government)http://www.oreilly.com/catalog/cathbazpaper/ (Eric Raymond’s The Cathedral and the Bazaar)