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

CMPF 124:Basic Skills for Knowledge Workers

OPEN SOURCE SOFTWARE

Page 2: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

2

Chapter Overview

Introduction to FSF

Open Source Software vs. Software Piracy

Introduction to GNU

Comparisons between Open Source and Commercial Software

Page 3: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

Introduction to FSF

Page 4: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

4

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

Page 5: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

5

Background (cont.)

• 1970’s– situation changed drastically– software became proprietary– users were prevented from sharing or

modifying programs

Page 6: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

6

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

Page 7: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

7

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

Page 8: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

8

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

Page 9: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

9

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

Page 10: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

10

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

Page 11: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE 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

Page 12: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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

Page 13: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

13

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)

Page 14: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

14

Funding (cont.)

• Donations (rely on support from individuals)

• Receives very little funding from corporation or grant-making foundations

Page 15: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

Open Source Software vs. Software Piracy

Page 16: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

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

Page 17: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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

Page 18: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

18

Types of Software Piracy? (cont.)

• Client-Server OveruseOccurs 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

Page 19: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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

Page 20: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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

Page 21: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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

Page 22: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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

Page 23: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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

Page 24: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

Introduction to GNU

Page 25: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

25

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

Page 26: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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)

Page 27: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

27

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

Page 28: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

28

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

Page 29: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

29

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

Page 30: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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

Page 31: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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

Page 32: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

32

What exactly can it do?

• Network/Service-related

• Scientific-computing

• General Productivity

• Entertainment

• And lots more

Page 33: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

Comparisons between Open Source and Commercial Software

Page 34: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

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

Page 35: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

35

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

Page 36: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE 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

Page 37: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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

Page 38: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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"

Page 39: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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.

Page 40: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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

Page 41: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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.

Page 42: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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.

Page 43: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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.

Page 44: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

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.

Page 45: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

45

Pros and Cons of OSS

• Variation of source codespros:-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

Page 46: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

46

Pros and Cons of OSS (cont.)

• Open source software is freepros:-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

Page 47: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE 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

Page 48: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

48

Example of OSS

• Operating SystemsLinux: 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.

Page 49: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

49

Example of OSS (cont.)

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

Page 50: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

CMPF124: Basic Skills for Knowledge Workers

50

Example of OSS (cont.)

• Programming ToolsPerl, 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.

Page 51: CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

The End

CMPF 124:

Basic Skills for Knowledge Workers


Recommended