CMPF 124:Basic Skills for Knowledge Workers OPEN SOURCE SOFTWARE

  • Published on
    30-Dec-2015

  • View
    215

  • Download
    0

Embed Size (px)

Transcript

<ul><li><p>CMPF 124:Basic Skills for Knowledge WorkersOPEN SOURCE SOFTWARE</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*Chapter Overview</p><p>Introduction to FSFOpen Source Software vs. Software PiracyIntroduction to GNUComparisons between Open Source and Commercial Software</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>Introduction to FSF</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*BackgroundFSF stands for Free Software FoundationEarly days of computing..1950's,1960'sit was customary for programmers to share softwaree.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</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*Background (cont.)1970ssituation changed drasticallysoftware became proprietaryusers were prevented from sharing or modifying programs</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*Background (cont.)1980sproprietary software had become the normcomputing community was no longer free to cooperate in using and altering software for specific needsusers had to sign a nondisclosure agreement even to get an executable copy of softwareby the 1980s, software freedom had been lost</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*FSFs MissionTo preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of free software users</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*FSFs FunctionDedicated to promote computer users' right to use, study, copy, modify, and redistribute computer programsPromotes the development and use of free software particularly the GNU operating system and free documentation</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*FSFs Function (cont.)Concentrates on development of new free softwareand on making that software into a coherent system, which can eliminate the need to use proprietary softwareFSF protects, preserves, and promotes free softwareHelps to spread awareness of the ethical and political issues of freedom in the use of software</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*What is Free Software?Free software is a matter of freedom not priceFree software is a matter of the users' freedom to run, copy, distribute, study, change and improve the softwareRefers to four kinds of freedom, for the users of the software</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*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</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*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</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*FundingFSF 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)</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*Funding (cont.)Donations (rely on support from individuals)Receives very little funding from corporation or grant-making foundations</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>Open Source Software vs. Software Piracy</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*What is Software Piracy?Any use of software that is beyond the allowable terms of the software license under which it's deliveredUnauthorized duplication of computer softwareMost common activity in software piracy: taking software from someone else that has purchased the original software and making illegal copies of it</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*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 useusing one licensed copy to install a program on multiple computers </p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*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 timeif 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</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*Types of Software Piracy? (cont.)Internet PiracyOccurs when software is downloaded from the Internetpirate websites that make software available for free download or in exchange for uploaded programs</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*Types of Software Piracy? (cont.)Hard-Disk LoadingOccurs 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</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*Types of Software Piracy? (cont.)Software CounterfeitingThis type of piracy is the illegal duplication and sale of copyrighted material with the intent of directly imitating the copyrighted product</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*OSS could Stem Software PiracyOSS is helping people around the globe escape the crime of software "piracyOpen 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 </p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*OSS could Stem Software Piracy (cont.)Users do not have to worry about buying licenses in order to install the software in few computersOpen source software price fall to a point that is dramatically low compared to proprietary software and thus affordable to millions</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>Introduction to GNU</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*GNU/Linux and HistoryGNU = GNUs Not UnixIt 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 freeCreated by GNU project in 1984 by Richard M. StallmanWritten almost an entire operating system by the early 1990s, but the kernel was missing</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*GNU/Linux and History (cont.)Linus Torvalds, a graduate student of the University of Helsinki in Finland, added the kernel in the 1990sThis GNU/Linux released under the GNU General Public License (GPL)</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*Linux KernelThe OS used by all GNU/Linux systemsSome of the features provided by Linux Kernel :Multi-tasking Security Virtual MemoryNetworking File systemHardware</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*GNU Software (cont.)Software that is released under the GNU ProjectAvailable by several different methods:Buy copies on CD-ROM from the FSF Get it by FTP Get a copy from a friendBuy a computer with a wholly free GNU/Linux system preinstalled from one of the companies that can offer thisGet the development sources for a package and build them</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*GNU/Linux capabilityGNU/Linux can do a lot of thingsIt 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</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*GNU/Linux for the Enterprise EnvironmentIt is a popular choice among IT Managers, Systems/Network administrators for enterprise solutionsBecause GNU/Linux has its roots in Unix, it can do practically anything any other Unix-variant canSome companies that use GNU/Linux in their day-to-day operations: Google.com Amazon.com Various Internet Service Providers</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*GNU/Linux for the DesktopA 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 lookRecently there has been efforts to push GNU/Linux as a desktop Operating SystemMore applications, easier to user: XFree86 with GNOME or KDE StarOffice/OpenOffice, KOffice, AbiSuite, etc. GIMP Package management utilities</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*What exactly can it do?Network/Service-relatedScientific-computingGeneral Productivity EntertainmentAnd lots more</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>Comparisons between Open Source and Commercial Software</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*What is Open Source Software?Software whose source codes are available to anyone to seeSoftware for which the source code is readily obtainable, with or without a chargeDevelopment work on open-source projects is voluntary</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*What is OSS? (cont.)Basic idea behind open source is to enable programmers to:ReadModifyRedistribute the source code of a piece of software</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*Characteristics of OSSSource code of open source programs are accessible to users such that they can make changes or extensions to that codeChanges and extensions are freely redistributableThe source code can be modified by many people without the need for those people to be employed by the same software vendor</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*Distribution Terms of OSSTo 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</p><p>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</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*What is Commercial Software?Also known as closed-source softwaree.g. Microsoft Windows operating systems, Microsoft OfficeSource code is a carefully guarded secretUsers are not allowed to do whatever they like with the softwareRequires purchase and licensingDeveloped in a commercial environment, that has "profit as a chief aim"</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*OSS vs. Commercial Software</p><p>CriteriaOpen source softwareCommercial softwareUsers 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.</p><p>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.</p><p>Proper investment and management enables developers who are totally focused to create a really good program in a much shorter time.</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*OSS vs. Commercial Software (cont.)</p><p>CriteriaOpen source softwareCommercial softwareDevelopment Work on open-source projects is voluntary, developers work on the topics that interest them.</p><p>Volunteers work thru internet.Hired programmers work for software companies in developing software.</p><p>Normally work in a focused group (Software development team).</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*OSS vs. Commercial Software (cont.)</p><p>CriteriaOpen source softwareCommercial softwareDevelopment (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. </p><p>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.</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*OSS vs. Commercial Software (cont.)</p><p>CriteriaOpen source softwareCommercial softwareDevelopment (cont.)Users dont just report bugs, as they would do with commercial software, but actually track down their root causes and fix them. Many developers review each others code, in order to understand the codes before it can be changed or extended.Users only give feedback of the bugs to developers.</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*OSS vs. Commercial Software (cont.)</p><p>CriteriaOpen source softwareCommercial softwareDevelopment (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.</p><p>CMPF124: Basic Skills for Knowledge Workers</p></li><li><p>CMPF124: Basic Skills for Knowledge Workers*OSS vs. Commercial Software (cont.)</p><p>CriteriaOpen source softwareCommercial softwareCost of software The differences in cost can be equally vast -- in many cases the Open Source solution is both cheaper and better.</p><p>Need to pay if users purchase a packaged commercial distribution. Free if downloaded.Licensing fees.</p><p>Customers need t...</p></li></ul>