1
play

1 Version 2: MIT, 1983 Bazaar Model Richard Stallman was - PDF document

Open Source Idea? SHARE and the Origins of Open The basic idea behind open source is very simple: When programmers can read, Source Software: 1953-1972 redistribute, and modify the source code for a piece of software, the software evolves.


  1. Open Source Idea? SHARE and the Origins of Open � The basic idea behind open source is very simple: When programmers can read, Source Software: 1953-1972 redistribute, and modify the source code for a piece of software, the software evolves. People improve it, people adapt Thomas Haigh it, people fix bugs. Leicester, August 16, 2005 From OpenSource.org homepage � “Open Source” concept attributed to 1998 meeting, Eric S. Raymond Structure of Talk Review of canonical accounts of the origins of 1: Origins of Open Source 1. open source/free software Software – Three Fables Linus Torvalds and Linux • Raymond Stallman and GNU • The Hacker Culture and Bell Labs • Examination of software projects in the 2. mathematical software field SHARE in the 1950s onward • Some preliminary conclusions 3. Version 1: Finland, 1991 Power of the Internet � Linus Torvalds sends a From: � Similar recent success for torvalds@klaava.Helsinki.FI message to the Firefox browser (Linus Benedict Torvalds) comp.so.minix Newsgroups: comp.os.minix Subject: Gcc-1.40 and a � The story newsgroup … posix-question � Genius young programmer Message-ID: � Linux was project of Linus <1991Jul3.100050.9886@klaava starts visionary project Torvalds .Helsinki.FI> Date: 3 Jul 91 10:00:50 GMT � Promising but incomplete � Begun in 1991 as versions posted on internet undergrad in Finland Hello netlanders, attract community of Due to a project I'm working � Now a leading server on (in minix), I'm user/developers operating system interested in the posix � A virtuous circle leads to standard definition. Could somebody please point me to exponential growth a (preferably) machine-readable format of the latest posix rules? Ftp- sites would be nice. 1

  2. Version 2: MIT, 1983 Bazaar Model � Richard Stallman was � Characteristics include respected MIT “hacker” � Users as co-developers � Author of EMACS editor � Projects start with personal � Since 1984 Stallman problems to solve Coordinates GNU project � Users debug systems – “many eyes make bugs shallow” � GNU is Not Unix (recursive name) � Early and frequent releases � Intended to produce � High modularization open, free version of Unix � A “benevolent dictator” to lead project � “Free as in speech… not beer” GNU’s Free Software Definition Version 3: Hacker Culture � The freedom to run the program, for any � Stallman was purpose (freedom 0). propagating and � The freedom to study how the program works, defending a tradition and adapt it to your needs (freedom 1). Access going back to the late to the source code is a precondition for this. 1950s at MIT � The freedom to redistribute copies so you can help your neighbor (freedom 2). � Propagated and � The freedom to improve the program, and revitalized by release your improvements to the public, so that � Personal computes the whole community benefits (freedom 3). � Widespread internet Access to the source code is a precondition for this. access Summary of 3 The Hacker Ethic Conventional Views � Access to computers… unlimited and total � Stress � All information should be free � Hacker culture and ideological commitments � Mistrust authority – promote decentralization � Unpaid enthusiast virtuosos � Hackers should be judged by their hacking… � Charismatic individuals � You can create beauty and art on a computer � Novel licensing arrangements � Computers can change your life for the better � All about operating systems From ch. 2 of Hackers, by Steven Levy, 2

  3. A New Origin Story � Different in all respects 2: Mathematical Software and � Scientific software libraries � 1950s to 1970s Open Source � No concern with licensing arrangements � Motivated by pragmatic commercial interests (1950s) � Avoidance of duplicated efforts on generic programs � Free resources for areas of proprietary interests � Motivated by scientific norms (1970s) � Free exchange of data � Desire for publication � Faith in peer review Mathematical Libraries Scientific Computing � Produced internally within computer centers � Original function of early machines � First example for EDSAC circa 1950 � Harvard Mark I, ENIAC � Invented along with � Source of the term “computer” subroutine � Discussed in 1951 programming text � Many applications are concerned with � Included Runge-Kutta differential equation routine modeling natural or man made systems � First US grant to support development may be for � Hydrogen bomb physics ILLIAC � Numerical Analysis funding � Fluid Dynamics of air for aerospace from ONR 1950-1958 � Celestial mechanics for space navigation Subroutine library 1955 � Early Needs Mathematic Challenges � Initially: very basic assembly language subroutines � Mathematical techniques largely � Multiplication, square root, binary to decimal, floating independent of disciplinary boundaries point simulation, etc. � Most solutions are numerical using � FORTRAN (1956) covers basics, but plenty of challenges left approximation techniques � Each computer center is likely to need routines for � As opposed to symbolic � Linear algebra and matrix manipulation � Computer opens many new possibilities � Ordinary and Partial Differential Equation solvers � Special and Elementary functions � Computers thousands of times faster � Curve fitting and least squares � Fast Fourier Transformation � Exposes limitations of existing mathematical methods 3

  4. Issues - Mathematical 2a: SHARE and Mathematical � Different numerical approximations suited to different problems Software � May be very slow � May give meaningless or inaccurate result � Problems may be under very specific conditions � Newer, better methods may be more complex or highly specialized � Package in software for easy consumption � Disseminate formerly tacit knowledge between sites IBM 701/704/709 SHARE IBM User Group � Large, “first generation” � SHARE founded 1956 machines of 1950s � Cooperative group for users of large IBM computers � Worth approximately $2 � Discussions begin among IBM 701 users million � SHARE represents “large” IBM scientific machine users � Designed for technical computation � Representatives from each installation (52 by end of 1956) � Early users dominated by Southern California � Intended to “share” programs, expertise, experiences aerospace firms and best practices � Cold war context � Lobbying of IBM to alter machines or policies � Many employees for each computer installation 704 at LLNL, 1956 SHARE Software Library SHARE Practices � Routines contributed by user sites � Standardization needed to share code and � Reproduction and catalog handled by IBM practices � Classification scheme developed to organize � Standardize machine configuration � Contributors responsible for maintenance � Setting of switches, control panels, etc � List posted of routines devised & desired � Standardize system software � Assembler and utility programs (not supplied by IBM) � Leads to big project to create “Share Operating System” 4

  5. SSD Packaging of Mathematics � Mechanism for communication between � Many routines are for mathematical meetings functions � Mailing of large bundles of assorted materials � Substantial duplication and overlap in � Committee reports contributed routines � Drafts for comments � Quality issues � Letters, inquiries and responses � Importance of tacit knowledge � Including bug reports � Limits use, causes support issues � Also microfilms of source code for � “Black boxing” of mathematical procedures programs SHARE Labor SHARE Structure � Installation reps are senior figures � Committees to � Responsible for design and specification manage particular � Commit employees of their firms to develop projects code � Mathematical � Economy of effort in developing generic software is one routines important area � Driven by economics – save time and money � Subcommittees for particular � No proprietary advantage in cosine routine projects SHARE and the Four Freedoms Similarities in Practices � Ad-hoc collaboration groups � Freedom to run – YES for specific projects � Some effort at modular code architecture � Freedom to study and adapt source code - � Mechanisms to share and YES respond to bug reports � Standards for coding and � Freedom to redistribute – YES configuration to facilitate collaboration � Pretty much all 704/9/90 were members � Open circulation of � Freedom to improve and release to the proposals and design documents public – YES � “Indoctrination” into culture 5

Recommend


More recommend