<<

Software — what you need to know

Sebastian Rahtz, OSS Watch

July 2003

/talks/2003-07-03_jisceop/index.xml 1 July 2003 (revised 04/07/2003) Open Source Software [Please insert \PrerenderUnicode{âA˘T}ˇ into preamble] what you need to know

July 2003 (revised 04/07/2003) 2 /talks/2003-07-03_jisceop/index.xml 1 What is Open Source?

1 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; is a social movement.

2 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)

3 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 • is something different. Open source software has a 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

4 Different areas of open source deployment

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

/talks/2003-07-03_jisceop/index.xml 3 July 2003 (revised 04/07/2003) Open Source Software [Please insert \PrerenderUnicode{âA˘T}ˇ into preamble] what you need to know

5 Some success stories: 1. user level

• TeX: free typesetting for the last 25 years • : the original, and most powerful, open source scripting language • : 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 Office • uPortal: competing with portal frameworks at the enterprise level

6 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

7 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 a 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

8 Personalities

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

July 2003 (revised 04/07/2003) 4 /talks/2003-07-03_jisceop/index.xml 9 Other names to know

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

9 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

10 The Open Source definition

This is the formal text from the :

1. Free Redistribution The license shall not restrict any party from selling or giving away the software as a component of an aggregate containing programs from several different sources. The license shall not require a royalty or other fee for such sale. 2. Source Code The program must include source code, and must allow distribution in source code as well as compiled form. 3. 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.

11 Open Source definition (continued)

4. Integrity of The Author’s Source Code The license may restrict source-code from being distributed in mod- ified 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. 5. No Discrimination Against Persons or Groups The license must not discriminate against any person or group of persons. 6. No Discrimination Against Fields of Endeavor The license must not restrict anyone from making use of the program in a specific field of endeavor.

/talks/2003-07-03_jisceop/index.xml 5 July 2003 (revised 04/07/2003) Open Source Software [Please insert \PrerenderUnicode{âA˘T}ˇ into preamble] what you need to know

12 Open Source definition (continued)

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

13 This license business

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

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

*Academic *Apache *Apple Public Source 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 Li- cense * 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 * * (CNRI Python License) * Python Software Foundation Li- cense *Qt Public License (QPL) *RealNetworks Public Source License V1.0 *Reciprocal Public License *Ricoh Source Code Public 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

14 License Q and A

Are you authorised? Check whether you own the copyright. If you don’t, you cannot add an OSS license 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 license 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 license

15 The simple license

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 importd in all copies or substantial portions of the Software.

July 2003 (revised 04/07/2003) 6 /talks/2003-07-03_jisceop/index.xml 16 Open standards meets open source?

16 Open standards meets open source?

Which is better?

which uses an XML data format and can be accessed using web service protocols or

• 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.

17 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.

18 Why an institution might care

• Open source is an important technique for software development • Proper licensing guarentees 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.

19 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 guarentees that funding institutions never lose the use of your work • You do not lose the opportunity to make money by selling support or services

/talks/2003-07-03_jisceop/index.xml 7 July 2003 (revised 04/07/2003) Open Source Software [Please insert \PrerenderUnicode{âA˘T}ˇ into preamble] what you need to know

20 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

21 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

22 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

23 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

July 2003 (revised 04/07/2003) 8 /talks/2003-07-03_jisceop/index.xml 24 Further reading

24 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://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

/talks/2003-07-03_jisceop/index.xml 9 July 2003 (revised 04/07/2003)