Presentation is loading. Please wait.

Presentation is loading. Please wait.

CMPF 124:Basic Skills for Knowledge Workers

Similar presentations


Presentation on theme: "CMPF 124:Basic Skills for Knowledge Workers"— Presentation transcript:

1 CMPF 124:Basic Skills for Knowledge Workers
OPEN SOURCE SOFTWARE

2 CMPF124: Basic Skills for Knowledge Workers
Chapter Overview Introduction to FSF Open Source Software vs. Software Piracy Introduction to GNU Comparisons between Open Source and Commercial Software CMPF124: Basic Skills for Knowledge Workers

3 Introduction to FSF

4 CMPF124: Basic Skills for Knowledge Workers
Background FSF stands for Free Software Foundation Early days of computing..1950's,1960's it was customary for programmers to share software e.g. if anybody sees someone using an unfamiliar and interesting program, they could always ask to see the source code, so that they could read it, change it, or modify parts of it to make a new program CMPF124: Basic Skills for Knowledge Workers

5 CMPF124: Basic Skills for Knowledge Workers
Background (cont.) 1970’s situation changed drastically software became proprietary users were prevented from sharing or modifying programs CMPF124: Basic Skills for Knowledge Workers

6 CMPF124: Basic Skills for Knowledge Workers
Background (cont.) 1980’s proprietary software had become the norm computing community was no longer free to cooperate in using and altering software for specific needs users had to sign a nondisclosure agreement even to get an executable copy of software by the 1980s, software freedom had been lost CMPF124: Basic Skills for Knowledge Workers

7 CMPF124: Basic Skills for Knowledge Workers
FSF’s Mission To preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of free software users CMPF124: Basic Skills for Knowledge Workers

8 CMPF124: Basic Skills for Knowledge Workers
FSF’s Function Dedicated to promote computer users' right to use, study, copy, modify, and redistribute computer programs Promotes the development and use of free software particularly the GNU operating system and free documentation CMPF124: Basic Skills for Knowledge Workers

9 CMPF124: Basic Skills for Knowledge Workers
FSF’s Function (cont.) Concentrates on development of new free software—and on making that software into a coherent system, which can eliminate the need to use proprietary software FSF protects, preserves, and promotes free software Helps to spread awareness of the ethical and political issues of freedom in the use of software CMPF124: Basic Skills for Knowledge Workers

10 CMPF124: Basic Skills for Knowledge Workers
What is Free Software? Free software is a matter of freedom not price Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software Refers to four kinds of freedom, for the users of the software CMPF124: Basic Skills for Knowledge Workers

11 What is Free Software? (cont.)
(freedom 0) The freedom to run the program, for any purpose (freedom 1) The freedom to study how the program works, and adapt it to your needs. Access to the source code is a precondition for this CMPF124: Basic Skills for Knowledge Workers

12 What is Free Software? (cont.)
(freedom 2) The freedom to redistribute copies so you can help your neighbor (freedom 3) The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. Access to the source code is a precondition for this CMPF124: Basic Skills for Knowledge Workers

13 CMPF124: Basic Skills for Knowledge Workers
Funding FSF distributes copies of GNU software and manuals for a distribution fee, and accepts tax-deductible gifts to support GNU development FSF raises funds by selling GNU CD-ROMs, T-shirts, manuals and deluxe distributions (all of which users are free to copy and change) CMPF124: Basic Skills for Knowledge Workers

14 CMPF124: Basic Skills for Knowledge Workers
Funding (cont.) Donations (rely on support from individuals) Receives very little funding from corporation or grant-making foundations CMPF124: Basic Skills for Knowledge Workers

15 Open Source Software vs. Software Piracy

16 What is Software Piracy?
Any use of software that is beyond the allowable terms of the software license under which it's delivered Unauthorized duplication of computer software Most common activity in software piracy: taking software from someone else that has purchased the original software and making illegal copies of it CMPF124: Basic Skills for Knowledge Workers

17 Types of Software Piracy?
Five common types of software piracy: End User Piracy Occurs when a company employee reproduces copies of software without authorization acquiring academic or other restricted or non-retail software without a license for commercial use using one licensed copy to install a program on multiple computers CMPF124: Basic Skills for Knowledge Workers

18 Types of Software Piracy? (cont.)
Client-Server Overuse Occurs when too many employees on a network are using a central copy of a program at the same time if you have a local-area network and install programs on the server for several people to use, you have to be sure your license entitles you to do so CMPF124: Basic Skills for Knowledge Workers

19 Types of Software Piracy? (cont.)
Internet Piracy Occurs when software is downloaded from the Internet pirate websites that make software available for free download or in exchange for uploaded programs CMPF124: Basic Skills for Knowledge Workers

20 Types of Software Piracy? (cont.)
Hard-Disk Loading Occurs when a business that sells new computers loads illegal copies of software onto the hard disks to make the purchase of the machines more attractive CMPF124: Basic Skills for Knowledge Workers

21 Types of Software Piracy? (cont.)
Software Counterfeiting This type of piracy is the illegal duplication and sale of copyrighted material with the intent of directly imitating the copyrighted product CMPF124: Basic Skills for Knowledge Workers

22 OSS could Stem Software Piracy
OSS is helping people around the globe escape the crime of software "piracy“ Open source software can eliminate software piracy because under most of the recognized open-source software licenses, it is perfectly acceptable to purchase a single copy of software and install it on any number of machines, or simply download it for free off the Internet CMPF124: Basic Skills for Knowledge Workers

23 OSS could Stem Software Piracy (cont.)
Users do not have to worry about buying licenses in order to install the software in few computers Open source software price fall to a point that is dramatically low compared to proprietary software and thus affordable to millions CMPF124: Basic Skills for Knowledge Workers

24 Introduction to GNU

25 CMPF124: Basic Skills for Knowledge Workers
GNU/Linux and History GNU = GNU’s Not Unix It is an Unix-like operating system that comes with source code that can be copied, modified and redistributed that runs on different hardware (PCs, Macs, DEC Alphas, etc.) It is free Created by GNU project in 1984 by Richard M. Stallman Written almost an entire operating system by the early 1990s, but the kernel was missing CMPF124: Basic Skills for Knowledge Workers

26 GNU/Linux and History (cont.)
Linus Torvalds, a graduate student of the University of Helsinki in Finland, added the kernel in the 1990s This GNU/Linux released under the GNU General Public License (GPL) CMPF124: Basic Skills for Knowledge Workers

27 CMPF124: Basic Skills for Knowledge Workers
Linux Kernel The OS used by all GNU/Linux systems Some of the features provided by Linux Kernel : Multi-tasking Security Virtual Memory Networking File system Hardware CMPF124: Basic Skills for Knowledge Workers

28 CMPF124: Basic Skills for Knowledge Workers
GNU Software (cont.) Software that is released under the GNU Project Available by several different methods: Buy copies on CD-ROM from the FSF Get it by FTP Get a copy from a friend Buy a computer with a wholly free GNU/Linux system preinstalled from one of the companies that can offer this Get the development sources for a package and build them CMPF124: Basic Skills for Knowledge Workers

29 CMPF124: Basic Skills for Knowledge Workers
GNU/Linux capability GNU/Linux can do a lot of things It can do tasks which were originally left to server Operating Systems like Solaris, Unix, etc. (enterprise environment) It can also do tasks performed on normal desktop Operating Systems CMPF124: Basic Skills for Knowledge Workers

30 GNU/Linux for the Enterprise Environment
It is a popular choice among IT Managers, Systems/Network administrators for enterprise solutions Because GNU/Linux has its roots in Unix, it can do practically anything any other Unix-variant can Some companies that use GNU/Linux in their day-to-day operations: – Google.com – Amazon.com – Various Internet Service Providers CMPF124: Basic Skills for Knowledge Workers

31 GNU/Linux for the Desktop
A ‘desktop environment’ is a set of software that provides a common look-and-feel along with a standard set of applications which use the common look Recently there has been efforts to push GNU/Linux as a desktop Operating System More applications, easier to user: – XFree86 with GNOME or KDE – StarOffice/OpenOffice, KOffice, AbiSuite, etc. – GIMP – Package management utilities CMPF124: Basic Skills for Knowledge Workers

32 CMPF124: Basic Skills for Knowledge Workers
What exactly can it do? Network/Service-related Scientific-computing General Productivity Entertainment And lots more CMPF124: Basic Skills for Knowledge Workers

33 Comparisons between Open Source and Commercial Software

34 What is Open Source Software?
Software whose source codes are available to anyone to see Software for which the source code is readily obtainable, with or without a charge Development work on open-source projects is voluntary CMPF124: Basic Skills for Knowledge Workers

35 CMPF124: Basic Skills for Knowledge Workers
What is OSS? (cont.) Basic idea behind open source is to enable programmers to: Read Modify Redistribute the source code of a piece of software CMPF124: Basic Skills for Knowledge Workers

36 Characteristics of OSS
Source code of open source programs are accessible to users such that they can make changes or extensions to that code Changes and extensions are freely redistributable The source code can be modified by many people without the need for those people to be employed by the same software vendor CMPF124: Basic Skills for Knowledge Workers

37 Distribution Terms of OSS
To be OSI certified, open source software must be distributed under a license that guarantees the right to read, redistribute, modify, and use the software freely What is OSI ? Open Source Initiative (OSI) is a non-profit corporation dedicated to managing and promoting the Open source definition for the good of the community, specifically through the OSI Certified Open Source Software certification mark and program CMPF124: Basic Skills for Knowledge Workers

38 What is Commercial Software?
Also known as closed-source software e.g. Microsoft Windows operating systems, Microsoft Office Source code is a carefully guarded secret Users are not allowed to do whatever they like with the software Requires purchase and licensing Developed in a commercial environment, that has "profit as a chief aim" CMPF124: Basic Skills for Knowledge Workers

39 OSS vs. Commercial Software
Criteria Open source software Commercial software Users Most of the users of these applications are relatively technically sophisticated. Average computer users. Funding OSS projects are voluntary and so work on small budgets. Laboratories and large scale experiments are not economically viable for most OSS projects. Constrained by resource limitations. Has money and financial incentive to promote commercial software. Proper investment and management enables developers who are totally focused to create a really good program in a much shorter time. CMPF124: Basic Skills for Knowledge Workers

40 OSS vs. Commercial Software (cont.)
Criteria Open source software Commercial software Development Work on open-source projects is voluntary, developers work on the topics that interest them. Volunteers work thru internet. Hired programmers work for software companies in developing software. Normally work in a focused group (Software development team). CMPF124: Basic Skills for Knowledge Workers

41 OSS vs. Commercial Software (cont.)
Criteria Open source software Commercial software Development (cont.) Open source projects are rarely developed against a fixed timeline, affording more opportunity for peer review, and usually offer extensive beta testing before “release.” Have datelines to meet. Commercial systems development is usually about solving the needs of another group of users. The incentive is to make money by selling software to customers who do not have development knowledge themselves. CMPF124: Basic Skills for Knowledge Workers

42 OSS vs. Commercial Software (cont.)
Criteria Open source software Commercial software Development (cont.) Users don’t just report bugs, as they would do with commercial software, but actually track down their root causes and fix them. Many developers review each other’s code, in order to understand the codes before it can be changed or extended. Users only give feedback of the bugs to developers. CMPF124: Basic Skills for Knowledge Workers

43 OSS vs. Commercial Software (cont.)
Criteria Open source software Commercial software Development (cont.) Most projects lack formal requirements, capture processes and even formal specifications. Capturing the requirements of software for such customers is acknowledged as a difficult problem in software engineering and consequently techniques have been developed to attempt to address it. CMPF124: Basic Skills for Knowledge Workers

44 OSS vs. Commercial Software (cont.)
Criteria Open source software Commercial software Cost of software The differences in cost can be equally vast -- in many cases the Open Source solution is both cheaper and better. Need to pay if users purchase a packaged commercial distribution. Free if downloaded. Licensing fees. Customers need to pay ongoing licensing fees or royalties. CMPF124: Basic Skills for Knowledge Workers

45 CMPF124: Basic Skills for Knowledge Workers
Pros and Cons of OSS Variation of source codes pros:- different parts of a software module (codes) can be swapped out and replaced by superior modules that are then incorporated in the next version cons:- variations in between modules and different versions of modules can irritate and confuse, marring the overall user experience CMPF124: Basic Skills for Knowledge Workers

46 Pros and Cons of OSS (cont.)
Open source software is free pros:- a functional open source software can be downloaded from mirror sites without any payment cons:- accountability issues no one party can be referred to or held responsible if problem arises with the downloaded software CMPF124: Basic Skills for Knowledge Workers

47 Pros and Cons of OSS (cont.)
It's open source pros:- programmers can play around with the source codes, modify and improve it updates, bug fixes and security patches are usually much faster in coming when things go wrong cons:- deviants; they can easily mess up the source code CMPF124: Basic Skills for Knowledge Workers

48 CMPF124: Basic Skills for Knowledge Workers
Example of OSS Operating Systems Linux: the most used Unix-like operating system. Versions have been run on anything from a handheld computers and regular PCs, to the world's most powerful supercomputers. FreeBSD, OpenBSD, and NetBSD: The BSDs are all based on the Berkeley Systems Distribution of Unix, developed at the University of California, Berkeley. CMPF124: Basic Skills for Knowledge Workers

49 CMPF124: Basic Skills for Knowledge Workers
Example of OSS (cont.) Internet Apache, which runs over 50% of the world's web servers. Mozilla, the open source redesign of the venerable Netscape Browser, is retaking the ground lost by Netscape in the "browser wars".  It has quickly moved from 1.0 to 2.0, adding functionality, stability and cross-platform consistency that is not available from any other browser. CMPF124: Basic Skills for Knowledge Workers

50 CMPF124: Basic Skills for Knowledge Workers
Example of OSS (cont.) Programming Tools Perl, Zope, and PHP, are popular engines behind the "live content" on the World Wide Web. Powerful High Level Languages like Python, Ruby, and Tcl/Tk owe much of their success and prevalence to the active community of developers that use them and continue their development. CMPF124: Basic Skills for Knowledge Workers

51 CMPF 124: Basic Skills for Knowledge Workers
The End CMPF 124: Basic Skills for Knowledge Workers


Download ppt "CMPF 124:Basic Skills for Knowledge Workers"

Similar presentations


Ads by Google