CompSci 001 16.1 Today’s topics OS & Society Software development models Reading Open Source definitions Microsoft Corp., "Some Questions Every Business.

Slides:



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

Free Beer and Free Speech Thomas Krichel
Operating Systems An Introduction. 2 What Does An Operating System Do? Manages the hardware and software resources of the system. In a desktop computer,
A Lawyer Looks at the Open Source Revolution Robert W. Gomulkiewicz Director, Intellectual Property Law & Policy Program Associate Professor of Law University.
Open Source for the End User. Matthew G. Switlik Learning Management Programmer IT since 1996 Web application development since 2001.
Upgrading Software CIT 1100 Chapter4.
GNU / Linux A free operating system. Summary History What can you find on a Linux OS Linux Economy.
University of Utah 1 “Free software” Remember... In the beginning, all software was free -Just a means to sell hardware.
Open Source. Operating System  Application Program Interface (API) Scheduling: Defines which application to run, when to run it, and how much time. Memory.
Free Software “Free” software “is software that can be used, studied, and modified,” copied, changed with little or no restriction, and which can be copied.
UNIX and LINUX Differences and Similarities. What are the major differences between Unix and Linux? That's a very broad question and could be answered.
GNU, Linux and Open Source GNUKernel GNU/ Linux OpenSource.
CIS 240 Introduction to UNIX Instructor: Sue Sampson.
The Growing Popularity of Linux in E-Commerce Linus Torvalds.
Introduction to Linux Chapter 1. Operating Systems Operating System (OS) - most basic and important software on a computer Performs core tasks Organize.
Brief History of C and Unix Systems Programming Concepts.
Linux Introduction. Overview What is Unix/Linux? History of Linux Features Supported Under Linux The future of Linux.
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.
Copyright and Software and You. What is copyright? The Copyright Act of 1976 prevents the unauthorized copying of a work of authorship. – However, only.
Licenses A Legal Necessity Copyright © 2015 – Curt Hill.
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.
Computer Software CSCI N207 Data Analysis Using Spreadsheet Department of Computer and Information Science, IUPUI.
Overview of Linux Dr. Michael L. Collard 1.
Introduction By: Dr. Javad Razjouyan. Programming Languages.
CPS Today’s topics Programming Recursion Invariants Digital Intellectual Property Issues Reading Brookshear, Chapter 6 Chapter 1 of Jessica Litman,
A Comparison of Linux vs. Windows Bhargav A. Sorathiya B.E. 4 th C.E. Roll no:6456.
Module 1 Introduction to UNIX/Linux
CPS Today’s topics Digital Intellectual Property Issues Reading Intellectual Property Readings Intellectual property for CS students Software patents:
BAI517 Chris Redford. Section Outline Objectives GNU The Linux 2.6 Kernel The Heritage of Linux What’s so good about Linux? Features of Linux.
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?
IS1825 Multimedia Development for Internet Applications Lecture 09: Free and Open Source Software Rob Gleasure
Open Source Software In the beginning, all software was free –in the 1960s,when IBM and others sold the first large-scale computers, these machines came.
Let’s Celebrate – Visual Basic 2008 Professor Corinne Hoisington.
Chapter 1: Welcome to Linux An intro to UNIX-related operating systems.
Unix Background. Introducing Unix Brief Unix History u In 1969, Ken Thompson at AT&T Bell Labs began developing Unix. –First done in assembly language.
NBA 600: Session 17 Free and Open Source Software 25 March 2003 Daniel Huttenlocher.
LIS508 background of GNU/Linux
CompSci Today’s topics OS & Society Software development models Reading Open Source definitions Microsoft Corp., "Some Questions Every Business.
Open Source Examples – Linux; Apache; Firefox Requirements – Distributed w/ source code – License allows for modifications (GPL) – License remains w/ any.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
A Study on Linux Operating System Ying Jiang ID:
Module 2 Part I Introduction To Windows Operating Systems Intro & History Introduction To Windows Operating Systems Intro & History.
CSNB334 Advanced Operating Systems 1. Introduction to Linux Lecturer: Abdul Rahim Ahmad.
There are only 10 different kinds of people in the world: those who know binary and those who don't. - Anonymous.
Linux History C151 Multi-User Operating Systems. Open Source Programming Open source programming: 1983, Richard Stallman started the GNU Project (GNU.
Software Design 1.1 CPS 108, Spring 2006 l Object oriented programming and design, we'll use Java and C++  Language independent concepts including design.
Background & History of UNIX & Linux Fort Collins, CO Copyright © XTR Systems, LLC The Background and Short History of UNIX & Linux Instructor: Joseph.
Open Source Software. Chris Moylan Group 5...I think.
Agenda UNX122_022_w1_p3 Overview of UNIX
CS1428 Foundations of Computer Science I The Basics.
Lab #1: UNIX crash course Introduction: History of Operating Systems Lesson #1: Navigating directories Lesson #2: Creating and editing files with emacs.
OPS224 Operating Systems - Unix Instructor: MURRAY SAUL.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Naija Dukes 2011 Nigeria JUG, Lagos Demystifying Programming. Akintayo A. Olusegun, +trinisoftinc,
A History of linux Minix and Linux Anouncing Linux Version Time Line Distrobutions Refrences Tony Bemus MDLUG 9/10/2011.
A story of alternatives. There was a time when computers were big...
Linux Operating Systems Taking Control of the Terminal
A History of Linux Damian Gordon.
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.
a story of alternatives
IT244 - Introduction to Linux / Unix Instructor: Bo Sheng
Selected topic in computer science (1)
Popular Operating System Chapter 8
Presentation transcript:

CompSci Today’s topics OS & Society Software development models Reading Open Source definitions Microsoft Corp., "Some Questions Every Business Should Ask About the GNU General Public License (GPL)", 2001 Brookshear, Chapter 6

CompSci OS & Software Development 1. Who writes software? 2. How are they paid for it? l How is software developed?

CompSci UNIX: History of an OS l 1969: UNIX created ä Private research project at Bell Labs ä High-level language used by system and application developers ä Good programming interface  Sophisticated apps l 1971: First edition released l 1972: Dennis Ritchie rewrites B ä What did he call the new language? l 1977: Berkeley Software Design releases BSD Unix l UNIX is ubiquitous in research institutions

CompSci Richard Stallman’s quest l In January 1984 I quit my job at MIT and began writing GNU software. Leaving MIT was necessary so that MIT would not be able to interfere with distributing GNU as free software. If I had remained on the staff, MIT could have claimed to own the work, and could have imposed their own distribution terms, …. I had no intention of doing a large amount of work only to see it become useless for its intended purpose: creating a new software- sharing community.

CompSci From software to politics? l Help change the world?

CompSci A post from 1991 Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386 (486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I've currently ported bash (1.08) and gcc (1.40),and things seem to work.This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-) Linus PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(

CompSci Linux Timeline l 10/1991 : v first usable Linux l 01/1992 : v first 'actually working' version, under GPL l 03/1992 : comp.os.linux l 04/1992 : v capable of using X l 09/1992 : Linux stops being Minix-like and becomes UNIX- like l 03/1994 : 1.0 l 06/1996 : l 12/2003 : l What is Linux? ä Freely available OS ä Based on Linux kerrnel developed by Torvalds ä Collection of common UNIX utilities and programs ä Anyone who can code can make modifications to them l Impact? Marketshare? ä 25% of servers ä 2.8% of desktops [IDC 2004]

CompSci Types of software l Software Licenses ä Public domain ä Free ä Open Source ä Copylefted ä Semi-free ä Commercial l Specific licenses ä GNU Public License ä Mozilla Public License ä Lots more… l Proprietary (closed) software ä Freeware ä Shareware ä Adware ä Spyware l Commercial Academic licenses Say you buy software using (steep) student discounts that are available at the Duke Computer Store? Can you use it when you leave Duke and are no longer a student? What do you buy when you purchase software?

CompSci Open source l Commercial software license schemes ä Microsoft’s Embrace and Extend ä What’s a EULA? l Rights ä Make copies of the program and distribute them ä Access to the software’s source code ä Make improvements to the program l Results ä All contributors at same relative level ä Lots of competition in distribution or support ä Why does it work? l Free Software Foundation formed in 1984 Free Software Foundation ä GNU General Public License (Copyleft) ä Seminal work produced (emacs, gnu compiler) ä Spawned different licenses like the Open Source DefinitionOpen Source Definition

CompSci What’s special about software? l Why is there no significant "Free Hardware Movement" analogous to the Free Software Foundation's work? l What about the One Laptop per Child Project?One Laptop per Child

CompSci Emerging methods in programming l Individual vs. Group, Proprietary vs. Open source l Agile programming l Extreme programming

CompSci XP and Refactoring (See books by Kent Beck (XP) and Martin Fowler (refactoring)) l eXtreme Programming (XP) is an agile design process ä Communication: unit tests, pair programming, estimation ä Simplicity: what is the simplest approach that works? ä Feedback: system and clients; programs and stories ä Courage: throw code away, dare to be great/different l Make it run, make it right, make it fast, make it small l Do the simplest thing that can possibly work (XP)

CompSci Quotations from Fred Brooks l Plan to throw one away; you will anyhow. l Successful software always gets changed. l Good judgment comes from experience; experience comes from bad judgment l The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures. Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. It prints results, draws pictures, produces sounds, moves arms. The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be.... The computer resembles the magic of legend in this respect, too. If one character, one pause, of the incantation is not strictly in proper form, the magic doesn't work. Human beings are not accustomed to being perfect, and few areas of human activity demand it. Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program.

CompSci Beyond software - licensing for all

CompSci

CompSci

CompSci Sources of material l Organizations ä The Electronic Frontier Foundation The Electronic Frontier Foundation ä Center for Democracy and Technology Center for Democracy and Technology l Media and discussion ä Wired Magazine Wired Magazine ä Slashdot Slashdot l Databases of information and laws ä Lexis/Nexis Lexis/Nexis ä Thomas Thomas l Social issues in Computer Science ä Computer Professionals for Social Responsibility Computer Professionals for Social Responsibility