Quick viewing(Text Mode)

Linux and the Free Software Movement

Linux and the Free Software Movement

Invention of

„ Produced in 1970s at Bell Labs and the „ Along with C programming language „ Rapidly spreads in academic world Movement „ Key advantages „ Starts simple and easily ported „ Core (“kernel”) is small „ Other components optional, e.g. the shell I202, Fall 2003 „ Tools mixed and matched as needed, shared library grows Session 9 „ The “pipe” mechanism allows interconnection of tools Thomas Haigh „ Capabilities gradually added „ Networking „ Virtual memory

i303, Session 9, Thomas Haigh 1 i303, Session 9, Thomas Haigh 2

Unix in the 1980s Stallman and GNU „ Standard OS for „ Computer science research and „ teaching „ Established by , “last” MIT hacker „ use „ Coordinates GNU project „ Emerging market for workstation, e.g. SUN „ GNU is Not Unix (recursive name) „ Gets X-Windows graphics „ Intended to produce open, free version of Unix support „ GCC (GNU C Complier) is biggest success

„ Never succeeds much on PC „ Stallman is fanatical, intolerant „ Hampered by fragmentation „ Ideological rather than pragmatic argument „ Many different versions „ Opposed to closed, (even non- „ AT&T tries to make money free manuals) from selling it i303, Session 9, Thomas Haigh 3 i303, Session 9, Thomas Haigh 4

GNU GPL Linux: Origins

„ Personal project of „ Extreme commitment to „ Begun in 1991 as undergrad in Finland „ Inspired by the teaching system „ GNU General Public License (GPL) „ Free version of the UNIX kernel „ “” license „ Ran on computers „ anything incorporating GPL „ Very early version released on net licensed code must be „ Others pitch in with drivers, patches, etc. issued under GPL license (including public source „ Torvalds continues to manage code) process „ Prevents incorporation into „ Pick who to trust, how to evolve kernel commercial products „ When to release new version, etc.

i303, Session 9, Thomas Haigh 5 i303, Session 9, Thomas Haigh 6

1 Linux: Commercialization Linux: Today

„ Estimated #2 in overall server OS market „ Under GPL, Linux is free „ Also gaining share in embedded systems „ Provides missing kernel need for GNU project „ Very popular among „ But, “distributions” are sold „ Computer scientists „ Bundle tested and compatible assortments „ Hobbyists and organizations with little money of thousands of different programs & drivers „ People needing web servers or basic file/print stuff „ Add installation routines, non-free products „ Gained almost all features of modern UNIX & technical support „ Support for multiple processors „ Dozens of rival versions „ Ever wider range of hardware support „ Some targeted at different niches „ Server versions can cost thousands of „ Ported to an enormous number of platforms dollars „ IBM backing in a big way, using for mainframes „ Runs commercial software, e.g. Oracle, DB2

i303, Session 9, Thomas Haigh 7 i303, Session 9, Thomas Haigh 8

Limits of Linux The BSDs

„ Tiny share of desktop/laptop market „ Family of UNIX derived free systems „ Limited support for office applications & games „ FreeBSD, OpenBSD, etc.

„ Still much harder than Windows to administer „ BSD = Berkeley Standard Distribution „ Installing & software is a pain „ Started as a bundle of UNIX tools „ Hackers love flexibility, but price is confusion „ Eventually became full OS

„ Now it’s cloned UNIX, what next? „ Widely used today „ What are non-ideological benefits? „ Different license, so code can be used in commercial „ Is copying Windows interface best plan? products „ MacOS X is based on one

i303, Session 9, Thomas Haigh 9 i303, Session 9, Thomas Haigh 10

Open Source vs. Free Free Software Projects

„ Two kinds of free: „ Internet is ideal open source environment „ „ Swapping of patches, download of new versions „ Able to inspect code, modify, create own version „ Original browsers and servers were open „ Developed collaboratively „ So was BSD code for TCP/IP „ Free as in beer „ CVS system coordinates code and patches „ Allows splitting into “trees” „ Doesn’t cost money „ Examples: „ Not all open source software necessarily free „ Sendmail „ Another Berkeley program, developed in 1970s „ Until 1980s, operating system code usually public „ Handles most Internet mail transport „ Some software cost free but closed „ „ Reworking of browser source code

i303, Session 9, Thomas Haigh 11 i303, Session 9, Thomas Haigh 12

2 Apache Non-Internet Projects

„ World’s most widely used webserver „ Open Office „ Free version of Sun’s Star Office suite „ July 2003 has 63% of all websites „ Word processor, spreadsheet, etc. „ Began as patch to original NCSA code „ Mame videogame emulator „ By 1995, completely rewritten „ Core team coordinate thousands of drivers „ Less restrictive “” „ WINE (Wine Is Not an Emulator) „ Commercial versions can be made „ Implementation of Windows API for Linux „ Commercial off-shoots for games and MSOffice

i303, Session 9, Thomas Haigh 13 i303, Session 9, Thomas Haigh 14

Current Limits of Open Source Raymond „ Various projects „ Author of “fetchmail” „ Great for stuff hackers like to do „ Maintainer of “Jargon File” (Hackers „ Web servers, File, print servers, routers, etc. Dictionary) „ Hacker type programming tools „ Strong personality

„ Science & engineering applications „ Libertarian „ Weak on stuff you don’t for fun „ Science fiction fan „ Gun enthusiast „ Database software „ Free markets guy „ Office and “productivity” applications „ Big time self promoter „ Corporate apps like accounting „ Widely interviewed „ This may be a fundamental limit „ Made paper fortune in Linux boom „ Popularized “open source” over “free software” i303, Session 9, Thomas Haigh 15 i303, Session 9, Thomas Haigh 16

Cathedral and Bazaar Reading “Cathedral”

„ Linux as template for new kind of large scale „ Don’t get too confused by early specifics programming project „ POP3, SLIP, MTA vs. MDA etc. „ “Cathedral” is traditional approach „ Look for the principles & assumptions „ Elaborate design and planning „ Started with a personal problem to solve „ Centralized control „ Produces single huge and finished structure „ presence of multiple existing free systems to fetch POP mail onto his PC „ “Bazaar” is collaborative version „ Incremental, frequent releases „ Ability to adapt existing system „ Debugging & improvement by users „ Releasing early, collaborating with users

i303, Session 9, Thomas Haigh 17 i303, Session 9, Thomas Haigh 18

3 Latter Part More Important Context: Fred Brooks „ Classic book “The Mythical Man „ Raises some big issues Month” „ Are “all bugs shallow with enough eyeballs”? „ Described his leadership of IBM „ Can “heroic” hacker debugging compensate for flaws in initial OS/360 project in 1960s design? „ A founding work of software „ Can all great software start from personal need? engineering „ Problems of managing programming „ Does this work for all kinds of software? different from managing manual „ E.g. accounting package with major bugs will never be used work „ E.g. “Adding more programmers to a „ Social issues late project makes it later” „ Are programmers motivated by desire for recognition? „ Raymond assumes his audience „ Does a strong leader need to dominate project? know Brooks „ & that tying his ideas into this will make people take them seriously

i303, Session 9, Thomas Haigh 19 i303, Session 9, Thomas Haigh 20

Context: Egoless Programming

„ Psychology of Computer Programming by Gerald Weinberg „ Another 1970s classic „ Based on experience of doing and teaching programming „ Treats code as something to be read „ Should have elegant style „ Popularizes “walk through” & “pair programming” „ Programmers must be “ego less”, accept constructive criticism. „ Major influence on modern “extreme programming” „ Raymond says that his model builds on Weinberg’s insights

i303, Session 9, Thomas Haigh 21

4