100 likes | 123 Views
CSE350 Software Design and Engineering. University of Pennsylvania http://www.cis.upenn.edu/~jms Office: 254 Moore GRW, Phone: 8-9509 February 26 th , 2002. Administrative. Homework #2 due next Tuesday How are people doing with it? Many readings handed out today
E N D
CSE350 Software Design and Engineering University of Pennsylvania http://www.cis.upenn.edu/~jms Office: 254 Moore GRW, Phone: 8-9509 February 26th, 2002
Administrative • Homework #2 due next Tuesday • How are people doing with it? • Many readings handed out today • If not enough, see Cheryl Hickey in Moore 269 • Basic topics: open source, licensing, software development methods • Note Microsoft methodology
Next few (Tuesday) classes • Software Development: Love or Money? • We’ll look at Open Source history • Excerpts from: • GNU Documentation (Manifesto/Glossary) • Raymond’s “Cathedral and Bazaar” (History/CAB) • Cusumano/Selby “How Microsoft Builds Software” • all except the last (of course!) readily available on the net!
Hackers • I differentiate hackers from crackers • Hackers are curious programmers, who play with systems to learn more • Crackers are hackers who discover and exploit system security errors • Analogues from other fields: • Automobile hobbyists (“gearheads”) • Woodworking hobbyists (“knotheads”?) • People who work on software for (exaggerating a bit, but only a bit…) love, not money
UNIX • Technical issues: see January 10th slides • UNIX came from an earlier academic / research operating system: MULTICS • UNIX initially Bell Labs internal, paid for by legal department for word processing tasks (if I remember correctly) • “Licensed” for $300 – for magtape containing system – to universities • Source code + simple and easy to teach • Many books (e.g., Lions) to teach with…
UNIX + Hackers • Source code allows deep understanding • Read good code -> write good code • It allows tinkering • C “high-level” enough for comprehension, “low-level” enough for manipulating anything • Preferred environment for sophisticated programmers
Unix + Hackers + Networks • uucp – Unix to Unix copy • Used to architect the “USENET” / netnews: on-line communities • Addresses: upenn!cis!central!jms (this is called “source routing”) • BSD Unix funded by DARPA for “image processing”(!); ARPAnet connectivity available to ARPA funded Univs.
Common code base + sharing • Available source code meant that modifications could be shared – just recompile • Subset of on-line community: hackers • Networked hackers share source code • Examples: • xgetment (in use for 10 years!) • lucifer (in Schneier book)
Profit to the rescue? • AT&T began “commercializing” UNIX • Enforcing licensing / charging a lot / decomposing system into salable elements (e.g., compiler subsystem) • This caused a “political fork” with networked hackers – who were used to cooperative underground • Issues with U. Cal / Berkeley Distribution • Berkeley identifies AT&T-derived code (example of “intellectual property” in action…)
Reactions from “networked hackers” • Outrage from segments, e.g., RMS • GNU Manifesto • “Free Software” • As in “free speech”, not “free beer” • BSD project terminates, releases “BSD-lite” (no AT&T code, thanks) • High-quality free code: • gcc (no longer viable to write compilers for $$) • GNU emacs