1 CPSC156: The Internet Co-Evolution of Technology and Society Lecture 12: February 22, 2007 Open Source.

Slides:



Advertisements
Similar presentations
The Web Wizards Guide to Freeware/Shareware Chapter Six Open Source Software.
Advertisements

Linux Overview1 John Mathieson IEEE Monthly Meeting February 3, 2009 Tux Official Mascot of Linux Kernel.
GNU / Linux A free operating system. Summary History What can you find on a Linux OS Linux Economy.
Copyleft and cathedrals How the counterculture is changing the way we do business.
Linux vs. Windows. Linux  Linux was originally built by Linus Torvalds at the University of Helsinki in  Linux is a Unix-like, Kernal-based, fully.
Open Source. Operating System  Application Program Interface (API) Scheduling: Defines which application to run, when to run it, and how much time. Memory.
GNU, Linux and Open Source GNUKernel GNU/ Linux OpenSource.
Module 1 Introduction to Network Operating Systems
CS155b: E-Commerce Lecture 20: April 8, 2003 The Open-Source Movement Acknowledgement: V. Ramachandran.
CS155a: E-Commerce Lecture 22: December 4, 2001 The Open-Source Movement Acknowledgement: V. Ramachandran.
Introduction to Linux Chapter 1. Operating Systems Operating System (OS) - most basic and important software on a computer Performs core tasks Organize.
Open-Source Software ISYS 475.
COMP 6005 An Introduction To Computing Session Two: Computer Software Acquiring Software.
Linux Introduction. Overview What is Unix/Linux? History of Linux Features Supported Under Linux The future of Linux.
Linux Operating system
Software of Information Systems Hun Myoung Park, Ph.D., Public Management and Policy Analysis Program Graduate School of International Relations International.
Open Office Writer Computer Training Programme Speaker Kumardeep Chaudhary 17th September 2014 (Wednesday)
Linux Basics. What is an Operating System (OS)? An Operating System (OS) is an interface between hardware and user which is responsible for the management.
Operating System.
CHAPTER 6 OPEN SOURCE SOFTWARE AND FREE SOFTWARE
What the hell is. Free software is software that anyone is free to use, copy, improve, examine or distribute, either free of cost or for a price. More.
Linux Basics CS 302. Outline  What is Unix?  What is Linux?  Virtual Machine.
Learning Outcomes At the end of this lesson, students should be able to: State the types of system software – Operating system – Utility system Describe.
Chapter 4 Computer Software.
Operating Systems Operating System
Operating Systems. Operating systems  Between the hardware and the application software lies the operating system. The operating system is a program.
Module 2 Part I Introduction To Windows Operating Systems Intro & History Introduction To Windows Operating Systems Intro & History.
Computers and Society Examine the extent to which Richard Stallman’s GNU manifesto has succeeded in challenging the dominance of conventionally distributed.
1 ITSK 2611 Welcome. 2 Operating System 3 What is an OS Resource Manager –Disk –Memory –CPU Device Manager –Printers –Video Card –Sound Card Utility.
Jason G. Caudill Assistant Professor of Business Administration Carson-Newman College.
Overview of Linux Dr. Michael L. Collard 1.
Software Software essential is coded programs that perform a serious of algorithms. Instructions loaded into primary memory (RAM) from secondary storage.
Presented By: Avijit Gupta V. SaiSantosh.
OPEN SOURCE AND FREE SOFTWARE. What is open source software? What is free software? What is the difference between the two? How the two differs from shareware?
Software and Hardware Interaction
CPS 82, Fall Open Source, Copyright, Copyleft.
Introduction After seeing the pressure of license and proprietary software users where a lot of money is needed to make sure the software is in good condition,
Chapter 3 Software. Learning Objectives Upon successful completion of this chapter, you will be able to: Define the term software Describe the two primary.
Library 2.06 February 2009 Linux for Librarians Nishtha Anilkumar Librarian Physical Research Laboratory Ahmedabad.
CS2204: Introduction to Unix January 19 th, 2004 Class Meeting 1 * Notes adapted by Christian Allgood from previous work by other members of the CS faculty.
Linux Not in textbook. Why Not Just Use Windows? Windows costs money ($100 to $300, typically) Windows is proprietary: –The source code is a closely guarded.
GNOME, KDE and X Windows. The GNOME Project was started in 1997 to produce a free (as in freedom) desktop environment. GNU Network Object Model Environment.
Nursing Informatics. What is open source software? What is free software? What is the difference between the two? How the two differs from shareware?
The UNIX Time-sharing system
Lecture (7) Systems software and Application Software.Systems software and Application Software. Dr:Emad Elsharkawy Eng-Omar Salah Dr:Emad Elsharkawy 1.
Introduction TO Network Administration
Open Source Software. Chris Moylan Group 5...I think.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
Chapter 1: Introduction to Linux. 2 Introduction Computer Components: –Hardware –Software Types of hardware and software Important components of an OS.
Linux Operating System. What is Linux Linux operating system (OS) was first coded by a Finnish computer programmer called Linus Benedict Torvalds in 1991,
1 Lesson 6 Software and Hardware Interaction Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
This slide deck is for LPI Academy instructors to use for lectures for LPI Academy courses. ©Copyright Network Development Group Module 01 Introduction.
5 ٥ V new position ? 10 ^1 10 ^2 10 ^ : : : : 99.
A Brief Introduction to Linux Cheng-Han Du. History.
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
Applications Software. Is a software used to carry out a particular task e.g. a game or word processor.
Course : PGClass : MCA Subject: Operating SystemSub.Code : 3CT11 Staff Name : S.SomasundaramYear & Sem : II nd & III rd.
1 January 14, Evaluating Open Source Software William Cohen NCSU CSC 591W January 14, 2008 Based on David Wheeler, “How to Evaluate Open Source.
Linux Essentials Chapter 1: Selecting an Operating System.
Chapter 2 Operating Systems
INTRO. To I.T Razan N. AlShihabi
LINUX History In 1984 a project was launched by Richard Stallman to develop a complete Unix-like operating system that would be considered free software.
Operating System & Application Software
LINUX WINDOWS Vs..
Selected topic in computer science (1)
System Software EIT, © Author Gay Robertson, 2016.
Chapter 6 Introduction to Network Operating Systems
LINUX WINDOWS Vs..
Chapter 2: The Linux System Part 1
Chapter 3 Software.
Presentation transcript:

1 CPSC156: The Internet Co-Evolution of Technology and Society Lecture 12: February 22, 2007 Open Source

2 Writing Code int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow) { WINDOWCLASS wc; HWND hwnd; populatewc(&wc); if (RegisterWndClass(&wc)) { if (hwnd = CreateWindow(... )) { ShowWindow(hwnd, nCmdShow);... These are lines of text written in C for the beginning of a Windows program. A computer cannot be fed this code to run it! This code must be combined with many other pieces and turned into something more basic that the processor can understand. Source code can refer to objects like “windows” and “files.” The machine doesn’t understand this! It’s too complex.

3 Compiling to Machine Language int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow) { WINDOWCLASS wc; HWND hwnd; populatewc(&wc); if (RegisterWndClass(&wc)) { if (hwnd = CreateWindow(... )) { ShowWindow(hwnd, nCmdShow);... Source Code Object File + Other pieces of code needed by the program Object File A B C D A D C B Header Distributable Executable Image Each set of bits represents a simple instruction to the processor (e.g., “read block 5 from the hard disk” or “make this screen pixel green”). compiler linker

4 A Software Business Model Create an idea for useful software. Develop software (write source code). Compile software (on specific platforms) to binary version. Package and sell binary version. Legal uses of the software are controlled by a software license. Issue upgrades: Add features that people want, and sell new versions.

5 Business-Model Pros The developers’ intellectual property rights are protected. –People use the software exactly as the developers want them to. –Users never see how the software works and so others can’t steal the nuts and bolts. Developers receive compensation for their hard work! There’s an incentive to code and create new ideas. “The market” determines what is good, including software and hardware platforms. –Operating systems and machine architectures good for users and developers are the ones that flourish.

6 Business-Model Cons Users can’t customize software to their needs, and the developer may not be able to satisfy all users’ requests for changes. Binary versions run on certain machines only: –Forces people to buy specific platforms –Can’t necessarily use one machine to do everything “Standards” can cause monopolies (?) Source code hidden –Can’t be improved and studied by others –Hard to design interoperable products (why does MS Office on MS Windows work especially well?) Using computers is expensive!

7 How Much Does Software Cost? Source: Amazon.com, 2/26/2007 Operating Systems: –Microsoft: Windows Vista Home Premium, full version: $228 Windows Server Standard 2003, 5-client: $1495 –Apple: MacOS X , Tiger full version: $104 Office Suites: –Microsoft Office Professional Edition 2007: $438 –Apple iWork '06: $70 Other Software: –Adobe Acrobat Standard 8.0 (documents): $290 –Adobe Photoshop CS2 (graphics): $585 –Microsoft Visual Studio 2005 Professional (programming): $680

8 An Alternative Approach “Free” software: Gives users the power to use software as they wish. –“‘Free software’ is a matter of liberty, not price …‘free’ as in ‘free speech,’ not as in ‘free beer’…” - -- Free Software Foundation Development is not controlled by a small group; people can learn from the code. Revenue models can still develop around software distributed with a free license !

9 Open Source Technical definition: Anyone can look at the source code. Benefits: –Interoperability –Education –Cross-platform compatibility (if code can be compiled by users) Still protects intellectual property: –Uses of code are still limited by a license. –Developers maintain rights to code and official releases of the product.

10 Consequences of Open Source Software can be closely scrutinized; performance can be analyzed and attributed to parts of code. Ideas behind code can become standards. Distributors can specialize in building more features on top of open-source software, offering customized packages with support options. “Open source” is a more business-friendly term than “free.”

11 Free Software Technical definition (from the Free Software Foundation): Users have the freedom to: (1) run the software, for any purpose; (2) study how the program works and adapt it to their needs; (3) redistribute copies; (4) improve the program and release improvements to the public. Access to source code is necessary for (2) and (4); so, “Free” can include “Open Source.”

12 Consequences of Free Software “Free” software can be modified, used, and even sold as users see fit. Selling free software requires having additional services that the user wants: –Packaging, delivery, installation mechanisms –Help, support, training –Customizing software for specific needs Better versions of software can be released by any user.

13 Software Licenses The software license indicates what users can do with software and code. Traditional licenses strictly govern use of software based on purchase. Open-source and free licenses indicate how code can be used, reused, and distributed, usually asserting user rights like the “four freedoms.”

14 GNU General Public License (GPL) Formalization of ideal software-distribution model by the Free Software Foundation and the GNU Project. Developers can choose to release their “free” software under the GPL license. Requires that users maintain the original copyright on the code and clearly mark any changes when distributing it. Source code is included, and users can modify and compile it where and how they see fit. Copyleft: Redistributed versions must give users the same rights (must include source code that can be modified, etc.).

15 Other Popular Licenses Many licenses exist that come from organizations that develop “free” software. GPL-compatible licenses are those that allow software covered to be combined with GPL- covered software to produce larger “free” products. –Examples (non-copyleft): MIT, BSD (Berkeley), X11 (windowing system) Other public licenses: Netscape-JavaScript, Artistic, W3C Software

16 Relationships Among Software-Distribution Models Source: Free Software Foundation

17 How The Movement Began 1983: GNU Project developed –Goal: to produce a UNIX-compatible free- software system (GNU = “GNU’s not Unix!”) –Idea conceived by Richard Stallman, who worked in an MIT group that exclusively used free software (~1975). 1985: Free Software Foundation –Group that manages GNU project and distributes GNU software

18 GNU History (continued) 1985: GNU Emacs editor available First major piece of usable, free software 1990s: Most pieces of free system complete, except operating system kernel. Combined with Linux kernel by Linus Torvalds to produce a GNU/Linux OS distribution. This is a complete UNIX-compatible system that contains free-software tools.

19 Free UNIX-Compatible Systems MINIX (1987-) and Linux (1992-) are free OS kernels (originally) developed for academic use. GNU/Linux and BSD (Berkeley) are the two most popular UNIX-like OSs. Stable, robust systems incorporating: –standard Internet and networking protocols –standard development tools –many other free, widely-used tools Allow users to set up servers and workstations at little cost that can do almost anything PC- and Mac- compatible systems can do!

20 Tools in Free OS Distributions Web server, e.g., Apache Mail server, e.g., Sendmail Other Internet and network daemons, e.g., SAMBA and other file servers, OpenSSH, FTP servers. Development tools, e.g., compilers for many programming languages User tools, e.g., web browsers, graphics tools, editors, spreadsheets, Ghostscript and other document tools, sound players and media tools Graphical user interfaces, e.g., Gnome, KDE, and other windowing systems

21 Making Money From Open-Source Software “Open source is the foundation of Red Hat's business model. It represents a fundamental shift in how software is created. The code that makes up the software is available to anyone. Developers who use the software are free to improve the software. The result: rapid innovation. … Red Hat delivers the innovation of open source to our customers.” “Red Hat solutions combine Red Hat Linux, developer and embedded technologies, training, management services, technical support—all enabled through a single delivery platform: Red Hat Network.” --- Red Hat Investor Fact Sheet, 1/16/2001

22 Clever Distribution of Linux Red Hat offers its GNU/Linux-based OS for free download from its website, but offers no technical support. Download is huge and is only for experts! Red Hat sells packaged versions: CDs with manuals, technical-support options, and an easy installer that works with many computers. Red Hat will customize and install its OS for companies that make special-purpose devices, have specific security concerns, etc. Red Hat partners with computer manufacturers (e.g., Dell) to create a cheaper alternative to Microsoft OSs.

23 The Marketing Spin “Red Hat Enterprise Linux,” “Red Hat Enterprise Network,” and “Red Hat Stronghold Enterprise” provide a Linux-based server core and management tools for businesses. Convince businesses that they will lower costs, have a smooth migration to Red Hat Linux, get support and training, and achieve more reliability and security. –The software is open source, so it adheres to standards, can be examined for flaws, and has many developers contributing to it. –Claim: It is worth paying Red Hat for the initial training and support. The switching costs are lower than the cost of maintaining more expensive (e.g., Windows) systems.

24 Discussion Point As you heard in Katz’s lecture on February 20, open-source software can be a component of A2K (access to knowledge) in developing economies. Google has made powerful search technology available to everyone on the Internet without anyone’s having to buy it; the entire technology platform is advertiser-supported. Could advertising provide a comprehensive, alternative approach to A2K in developing economies?