Free Software, Licenses, and Patents: a Short Overview
Total Page:16
File Type:pdf, Size:1020Kb
Free Software, Licenses, and Patents: A Short Overview Manuel Carro [email protected] Technical University of Madrid (Spain) Some material taken and adapted from: J. G. Barahona URJC M. Hermenegildo UPM J. Seoane UPM Internet documents (pointers at the end) UPM, Madrid, 2003 – p.1/42 • Free Software • Licensing • Patents UPM, Madrid, 2003 – p.2/42 What is Free Software? • “Free” refers to liberty, not price – it is freedom: to run, copy, distribute, study, change and improve the software — R. Stallman • More precise: the freedom 1. to run the program, for any purpose 2. to study how the program works, and adapt it to your needs 3. to redistribute copies so you can help your neighbor 4. to improve the program, and release your improvements to the public • Access to source code is needed for points 2 and 4 • Binary executables also included • Also termed libre software in some places • Freedom rights must be kept as long as you do nothing wrong UPM, Madrid, 2003 – p.3/42 What is Not Free Software • Public Domain / freeware • No copyright → no (transitive) freedom guaranteed • Often no source code available • Semi-free • Free for non-profit users (e.g., PGP) • Proprietary • Most things prohibited, or very restricted • Freeware • Redistribution, but no modification • Source code not available • Normally no technical support or new versions • Shareware • Try before buying; source code not available UPM, Madrid, 2003 – p.4/42 Why Free Software Is Good • You can copy it and adapt if for your purposes (copying 6= stealing: the original remains, unlike physical objects) • You (and your government) can scrutinize it to make sure, e.g., your e-mails do not go through some undesired server • Same when it comes to correcting bugs • Improvements revert in people • A note: Open Source Software often used instead of Free Software • However, not equivalent: OSS more relaxed in what is admitted under their umbrella UPM, Madrid, 2003 – p.5/42 First Developments • Idea not really new: basic philosophy already in Libro del Buen Amor, by the Arcipreste de Hita • Scientific software • Shared, scrutinized, used & reused • Not formally free, but treated as such • 70s and early 80s: Richard Stallman, GNU, FSF • Philosophical and legal bases • Basic infrastructure for an alternative Unix-like O.S.: editors (Emacs), compilers (gcc), debuggers (gdb), etc. • Berkeley CSRG (BSD Unix): • Importance of software sharing (original Unix culture) • Used by many proprietary software: SunOS, Ultrix... • Drawback: AT&T license (will talk later about licenses) UPM, Madrid, 2003 – p.6/42 First Developments (Cont.) • First Internet: • Reference implementations • Net as tool for cooperation • User community gives the best support, both for newcomers and for the experienced • Complete Unix environments (SunOS, Solaris,...) • Many applications were the best in their field (e.g., compilers) • Specially interesting: X Window • Free Kernel still lacking • 386BSD, NetBSD, FreeBSD, OpenBSD • Bill Jolitz completes missing kernel parts • Quickly: complete systems, functionality similar to SunOS • BSD license (can be used to distribute as proprietary software) UPM, Madrid, 2003 – p.7/42 Development and Distribution Models • Often decentralized (but not necessarily) • Sometimes termed anarchic • Cathedral model: changes and releases very scarce • Usual proprietary model • Also GNU, NetBSD (improved by third-party collaboration) • Bazaar model: lot of external input, frequent releases • Personal interest of developer • Reuse, improve, adapt, even rewrite other programs • Have users, treat them as co-developers: • Discuss with them • May bring in good ideas, lead to redesign • FSF requirements hinder this model (state license for every chunk of code of 20 lines or more) UPM, Madrid, 2003 – p.8/42 Business Models Free software does not mean you cannot sell! • Distribution (nice packages, manuals) + installation & troubleshooting support • Caldera, RedHat, Cygnus (before being bought) • Maintenance, customization • Only thing: if redistributed, changes go with it • Redistribution not mandatory • Consulting • Decide which software pieces fit someone’s needs • Certify interoperability hardware/software • Preinstalled hardware: VA Research, Yellow Dog Linux • Accessories: books, hardware UPM, Madrid, 2003 – p.9/42 User Model • Pretty much the usual: you can buy applications • But you can also download or copy them • You can change them (if you know how to) and share (if you wish) the updated versions • In fact: corrected versions of applications often available in a very short amount of time UPM, Madrid, 2003 – p.10/42 Myths • No support! • Not really: some companies do have support contracts • In fact, developers quite responsive • Do traditional SW companies really give support? • Network/group computing? • Network computing/file sharing already in ***x since long ago • And, e.g., Microsoft discontinued their own proposals • No cost, no good! • Evidently false UPM, Madrid, 2003 – p.11/42 How Does Free Software Breathe? • Linux: plenty of distributions, lots of applications • Apache: leader in WWW servers • GNOME & KDE: good, high quality desktop software • MySQL: chosen by the NASA as database software • Aladdin: versions of Ghostscript, printer drivers • Ada Core Technologies: the best in its niche, basic support for several big companies • RedHat: pretty much in everything related to GNU/Linux • XFree: X Window support for several architectures and O.S. • egcs: is among the best compiler tool-chains (targeting more architectures than any other) • Repositories: such as www.sourceforge.net, www.freshmeat.net host thousands of projects UPM, Madrid, 2003 – p.12/42 How Does Free Software Breathe (Cont.)? • IBM: heavy support for Linux • AOL-Time Warner: support for Mozilla • Intel: backed up Linux port for Intel 64 • Apple: release of QuickTime Stream Server, Mac OS X kernel (Darwin) basically a BSD kernel • Sun Microsystems: released StarOffice as OpenOffice • Alcôve, ID_PRO, LinuxCare, Conecta: consulting • Digital Creations and Ars Digita: software to create web sites • Institutional and government interest: • France: defense of use of FS in administration • Brazil: use of FS in administration and state-owned companies • German government supports development of GnuPGP • Spain: LinEx distribution, LambdaUX UPM, Madrid, 2003 – p.13/42 Impact of FS: The Case of Internet • Internet is (already has!) changed economy and society • Commerce, economy, personal relationships, center more and more around Internet • Millions of users, hundreds of thousands of companies • Current technology heavily based in free software developments • TCP/IP stack: the BSD implementation is used in many O.S. • News: CNews, INews, and similar, used practically in all News servers • DNS: the heart of Internet, dominated by the program BIND • Sendmail: the reference implementation for MTAs • WWW: 50% (1999 figure) of internet sites are served by Apache UPM, Madrid, 2003 – p.14/42 • Free Software • Licensing • Patents UPM, Madrid, 2003 – p.15/42 But Where does It Say. ? . whether I can/cannot redistribute • This should be either in the program manual or in the electronic documentation which comes with the program • What you can, cannot, must, must not do is stated in a license • Many types of licenses, not all of them easy to understand • www.gnu.org discusses around 80 different licenses • Licensing is a complex issue • Licensing makes the distinction between free and non-free software • Licensing also very related to copyright and patent issues • Lots of legalese, need to think and reconsider a lot UPM, Madrid, 2003 – p.16/42 Basics on Licensing • A license states your rights on the matter • Unneeded if no copyright • What is not stated cannot be taken for granted (usual law principle — CWA does not hold here!) • What to look for / state in a license? • What it states now • What it states for the future • How well it gets along with other licenses • What does it cover: source code, documentation, binaries, data which passes through the program, processes (after linking), modifications, ... • Pretty much, you have to look for everything UPM, Madrid, 2003 – p.17/42 Free Software Licenses & “Copyleft” • A license corresponds to free software if it gives modification freedom and redistribution freedom • This, alone, does not guarantee irrevocable rights: • I take a FS program, make a much better version of it, change the license so as to forbid redistribution, eventually it dominates the market, original developers get nothing • GNU trick: copyleft 1. Stateitis copyrighted 2. Give everyone rights to redistribute, etc. only if license terms remain unchanged and applicable to the changes • Copyleft ensures that basic rights cannot be removed (modifications still free) • Public domain cannot guarantee this! • Copyright used to ensure freedom, instead of taking it away UPM, Madrid, 2003 – p.18/42 Case Study: GPL • GNU Public License: quite restrictive, according to some • Almost all GNU products (and others) have it • Source code redistribution enforced in case of binary redistribution, may charge a fee • Giving a pointer to the source code suffices, but developer must be prepared to mail source code • Unrestricted modifications under the same license • License terms apply to anything you develop with GPL code: 2-b You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms