Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Open Source Software Mike Jeays Informatics Technology Services Division Statistics Canada April 2003 Phone : 613-951-9929 Fax : 613-951-0395 What is it? • Software that is made available to any user, complete with all source code, and often with compiled executables • Variety of licenses • FREE – no restrictions on its use • World-wide community of developers and maintainers History • Free Software Foundation – Richard Stallman – 1984/85 • GNU C Compiler – Richard Stallman • Xfree86 - 1986 • Linux – Linus Torvalds - 1991 • GNOME and KDE environments • Growing world-wide acceptance Benefits • • • • • • Open formats (use of XML) Long-term stability Excellent security Rapid fixes for urgent problems Modifiable Reduced costs Disadvantages • More diversity and less coherence • Lack of formal support from a vendor • Modifiable License Spectrum Leased Indefinite Shareware BSD GPL Public domain Userfriendly Vendorfriendly Principal Licenses • GPL – Allows anyone to use and modify it, but if modified versions are distributed, the source code for the modifications must also be distributed. Special rules for libraries • BSD – does not even have this restriction. Credit must be given to the original authors; you can't pretend you wrote it. Can be incorporated into proprietary products. Operating Systems • Linux – very popular at present • FreeBSD – less well known, better managed • OpenBSD – exceptional security record, strong cryptography, Canadian development group • NetBSD - multi-platform All have an excellent reputation for robustness, reliability and security Programming Languages • C/C++ (GNU Compiler) – Richard Stallman • TCL/TK – John Ousterhout • Perl – Larry Wall • Python – Guido van Rossum • Ruby – Yukihiro Matzumoto (Matz) • PHP – Rasmus Ledorf • Smalltalk • Java (not fully open-source) – SUN • Many others... Desktop Environments These provide a desktop environment similar to Windows. • KDE • GNOME Both are based on X-Free, an open-source implementation of X-Windows Layered Construction Applications KDE GNOME Scree n Xfree86 (X-Windows) Kernel Keyboard File System Disk Office Suites • OpenOffice (Calc, Draw, Impress, Math, Writer) • KDE utilities (KWord, KSpread, Kpresenter, Kmail) • Abiword (Word processor) • Gnumeric (Spreadsheet) Databases • MySQL • Postgres Both are capable of running large databases with high transaction rates SQL interface • PGAccess – graphical front-end for Postgres • (NB: Oracle and DB2 run on Linux) Mail and Calendaring • Evolution (Outlook look-alike) • Mozilla (formerly Netscape) • Others Web Browsers • • • • • Mozilla (formerly Netscape) Konqueror (KDE Suite) Phoenix Galeon Opera (not open source; charge for version without advertisements) Web Support Tools • Apache ( Web server) – Perl – PHP • ZOPE (Web Server and web content management) • PhpNuke (Web content management) • MidGard (Web content management) Distributions • • • • • CD sets with integrated collection of software Support arrangements Possibly some proprietary components Free download of CD images Examples: Red Hat Slackware Mandrake Caldera Suse Lindows Quality : Run-time attributes • Suitability: Fitness for purpose – Internationalisation • • • Precision: Data can be trusted Performance, Availability: Assists getting the job done Reliability, Security: Software can be trusted – Relatively virus-free • • Understandability, Usability: Easy to learn and use Reusability, Robustness: Skills are applicable elsewhere Software Quality Framework: Software Best Practices Group Potential use at Statistics Canada? • Use on servers • SAS and Oracle both run on Linux machines • Equivalents for all current desktop tools • Ximian Mono – future support for .NET languages and runtime • RDesktop – GPL client for Windows Terminal Server • Crossover Office allows Office products to run on Linux machines What needs to be done? • Research project and demonstration – Verify functionality and performance – Conversion of legacy applications – Investigate migration techniques – Review directions taken by other government departments – Evaluate costs and future savings – Develop a strategy for the department Conclusion • Open Source products now a mature alternative • World-wide use, with growing interest • Emphasis on – open formats – security issues – reduction in costs