Open Source Software — What You Need to Know
Total Page:16
File Type:pdf, Size:1020Kb
Open Source 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; free software 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 • 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 4 Different areas of open source deployment 1. Operating systems (primarily Linux 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 • 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 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 Richard Stallman 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 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. 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 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 Li- cense *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 Li- cense *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 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? • Commercial software 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.