20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail...
-
Upload
lesley-poole -
Category
Documents
-
view
214 -
download
0
Transcript of 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail...
![Page 1: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/1.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 1
COMS W4156: Advanced Software Engineering
Prof. Gail Kaiser
http://york.cs.columbia.edu/classes/cs4156/
![Page 2: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/2.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 2
What is Open Source Software?
• Open source usually refers to a program in which the source code is available to the general public for use and/or modification from its original design free of charge.
• Open source code is typically created as a collaborative effort in which programmers improve upon the code and share the changes within the community.
• The rationale for this movement is that a larger group of programmers not concerned with proprietary ownership or financial gain will produce a more useful and bug-free product for everyone to use.
• The concept relies on peer review to find and eliminate bugs in the program code, a process that commercially developed and packaged programs do not employ.
![Page 3: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/3.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 3
Technical Case
• Central part of engineering tradition, part of working method almost by instinct, for Internet and Unix hackers.
• The running gears of the Internet are astonishingly reliable relative to their nearest commercial equivalents. – TCP/IP, DNS, sendmail, Perl, Apache, …
![Page 4: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/4.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 4
Economic Case
• There are companies making money programming open-source software right now.
• If having a program written is a net economic gain for a customer over not having it written, a programmer will get paid whether or not the program is going to be free after it's done.
![Page 5: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/5.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 5
Economic Value
• The use value of a program is its economic value as a tool.
• The market value of a program is its value as a saleable commodity.
• The monopoly value is the value you gain not just from having the use of a program but from having it be unavailable to your competitors.
![Page 6: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/6.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 6
“Open-Source Doomsday” (1)
• The market value and monopoly value of software goes to zero because of all the free sources out there.
• Use value alone doesn't attract enough consumers to support software development.
![Page 7: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/7.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 7
“Open-Source Doomsday” (2)
• The commercial software industry collapses.
• Programmers starve or leave the field.• Doomsday arrives when the open-source
culture itself (dependent on the spare time of all these pros) collapses, leaving nobody around who can program competently.
![Page 8: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/8.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 8
Shaky Assumption #1: Programming will collapse if
software has no market value• Proportion of all code written in-house at
companies other than software vendors >75%.
• Includes most MIS: the financial- and database-software customizations
• Also includes OEM software like device drivers and embedded code for our increasingly microchip-driven machines.
![Page 9: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/9.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 9
Shaky Assumption #1 (cont): Programming will collapse if
software has no market value• Most vertical code is integrated with its
environment in ways that make reusing or copying it very difficult.
• This is true whether the “environment” is a business office's set of procedures or the fuel-injection system of a combine harvester.
![Page 10: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/10.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 10
Combine Harvester
![Page 11: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/11.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 11
Shaky Assumption #1 (cont): Programming will collapse if
software has no market value• Thus, as the environment changes, there
is a lot of work continually needed to keep the software in step.
• “Maintenance” makes up the vast majority of what programmers get paid to do.
• And it will still need to be done, even if/when most software is open-source.
![Page 12: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/12.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 12
Shaky Assumption #1 (cont): Programming will collapse if
software has no market value
• Between originating, customizing and maintaining vertical code (and related tasks like system administration and troubleshooting), the use value of software would still support the millions of good jobs in that 75% even if all “horizontal” or standalone software were free.
![Page 13: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/13.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 13
Shaky Assumption #2: Open-source software has no market
value• Red Hat (among others) has built a
flourishing business selling software you can download for free from Red Hat's own web site!
• What you're really buying from them is handholding and support for the “free” stuff they sell - a single place to go when you have problems.
![Page 14: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/14.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 14
Shaky Assumption #3: Open-source software has no monopoly
value• Adopting or even just studying someone
else's software is not a costless, frictionless process; you need to dedicate skilled time to it.
• As product cycle times drop, coattail-riding gets less attractive, because the payoff period shrinks relative to the time you had to dedicate.
![Page 15: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/15.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 15
Shaky Assumption #3: Open-source software has no monopoly
value (cont)
• And time your skilled people spend studying someone else's “monopoly” code is time you're spending getting to where the competition used to be (rather than where they are now).
![Page 16: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/16.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 16
Business Case #1
• High reliability • Open-source software is peer-
reviewed software; it is thus more reliable than closed, proprietary software.
• Mature open-source code is as bulletproof as software ever gets.
![Page 17: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/17.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 17
Business Case #2-N
• Development Speed• Lower Overhead• Closeness to the Customer • Broader Market• Grab “Mind Share” (e.g., for startups)• …
![Page 18: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/18.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 18
Investor Case #1-2
• Support Sellers: give away the software product, but sell distribution, branding, and after-sale service.
• Loss Leaders: give away open-source as a loss-leader and market positioner for closed software.
![Page 19: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/19.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 19
Investor Case #3-4
• Widget Frosting: a hardware company goes open-source in order to get better drivers and interface tools cheaper.
• Accessorizing: selling accessories -- books, compatible hardware, complete systems with open-source software pre-installed.
![Page 20: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/20.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 20
Customer Case #1
• Open source model applies even to internally developed software.– You are your developer’s customer!
• Freedom from legal entanglements such as tracking copies and usage.– Very hard to do accurately.
![Page 21: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/21.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 21
Customer Case #2
• Higher Security• Security through obscurity just does not work. • Closed sources create a false sense of security.• The bad guys will always find the holes, but the
good guys will not find holes and fix them.• It is harder to distribute trustworthy fixes when a
hole is revealed.
![Page 22: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/22.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 22
Marketing Case
• Why not call it, as we traditionally have, free software?
• The term “free software” has a load of fatal baggage; to a businessperson, it's too redolent of fanaticism and flakiness and strident anti-commercialism.
![Page 23: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/23.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 23
Marketing Case (cont)
• In marketing appearance is reality. The appearance that we're willing to climb down off the barricades and work with the corporate world counts for as much as the reality of our behavior, our convictions, and our software.
![Page 24: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/24.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 24
Free Software Foundation
• The Free Software Foundation (FSF) is dedicated to eliminating restrictions on copying, redistribution, understanding, and modification of computer programs.
• “Free software” is a matter of liberty, not price.
• Think “free speech”, not “free beer”.
![Page 25: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/25.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 25
Free Software Tenets
1. The freedom to run the program, for any purpose.
2. The freedom to study how the program works, and adapt it to your needs. Access to the source code is a precondition for this.
![Page 26: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/26.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 26
Free Software Tenets (cont)
3. The freedom to redistribute copies so you can help your neighbor.
4. The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. Access to the source code is a precondition for this.
![Page 27: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/27.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 27
Example Open Source License
• Gnu General Public License (GPL), developed by Richard Stallman and the Free Software Foundation starting in 1985
• Certified by OSI
![Page 28: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/28.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 28
Open Source Initiative (OSI)
http://www.opensource.org/“Open source is a development method for
software that harnesses the power of distributed peer review and transparency of process. The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in.”
![Page 29: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/29.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 29
Open Source Initiative (OSI)
“The Open Source Initiative (OSI) is a non-profit corporation formed to educate about and advocate for the benefits of open source and to build bridges among different constituencies in the open-source community.
One of our most important activities is as a standards body, maintaining the Open Source Definition for the good of the community. The Open Source Initiative Approved License trademark and program creates a nexus of trust around which developers, users, corporations and governments can organize open-source cooperation.”
![Page 30: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/30.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 30
Open Source Definition
• Open source doesn't just mean access to the source code.
• The distribution terms of open-source software must comply with the following criteria: [upcoming slides]
![Page 31: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/31.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 31
Open Source Definition
1. Free RedistributionThe license shall not restrict any party from
selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
![Page 32: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/32.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 32
Open Source Definition2. Source Code
The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost, preferably downloading via the Internet without charge. …
![Page 33: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/33.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 33
Open Source Definition
2. Source Code… The source code must be the preferred
form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.
![Page 34: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/34.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 34
Open Source Definition
3. Derived Works
The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
![Page 35: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/35.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 35
Open Source Definition
4. Integrity of The Author's Source Code
The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. …
![Page 36: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/36.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 36
Open Source Definition
4. Integrity of The Author's Source Code
… The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.
![Page 37: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/37.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 37
Open Source Definition
5. No Discrimination Against Persons or Groups
The license must not discriminate against any person or group of persons.
![Page 38: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/38.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 38
Open Source Definition
6. No Discrimination Against Fields of Endeavor
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
![Page 39: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/39.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 39
Open Source Definition
7. Distribution of License
The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.
![Page 40: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/40.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 40
Open Source Definition
8. License Must Not Be Specific to a Product
The rights attached to the program must not depend on the program's being part of a particular software distribution. …
![Page 41: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/41.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 41
Open Source Definition
8. License Must Not Be Specific to a Product
… If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.
![Page 42: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/42.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 42
Open Source Definition
9. License Must Not Restrict Other Software
The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.
![Page 43: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/43.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 43
Open Source Definition
10. License Must Be Technology-Neutral
No provision of the license may be predicated on any individual technology or style of interface.
![Page 44: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/44.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 44
Open Source Licenses
Open Source Licenses (by name or by category) comply with the Open Source Definition and are listed here after going through the approval process. We also track the approval status of licenses.
![Page 45: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/45.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 45
The Cathedral and the Bazaar
• Eric Raymond (esr)
• first presented May 1997, ongoing revision through September 2000
http://www.firstmonday.org/issues/issue3_3/raymond/
or
http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/
![Page 46: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/46.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 46
The Cathedral
• Draws an analogy between traditional closed source development and a “cathedral”, in which there is a rigid hierarchy among developers, managers, testers, etc.
![Page 47: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/47.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 47
The Cathedral (cont)
• esr originally believed that the most important software (operating systems and really large tools like the Emacs programming editor) needed to be built like cathedrals, carefully crafted by individual wizards or small bands of mages working in splendid isolation, with no beta to be released before its time.
![Page 48: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/48.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 48
The Bazaar
• Likens open source projects to Middle Eastern bazaars, where numerous merchants hawk their wares loudly to passersby.
• Little hierarchy among contributors. • Contributors compete to have their
modifications inserted into the next release, bringing recognition and reputation.
![Page 49: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/49.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 49
Based Primarily on Linux
• Describes Linus Torvalds' style of development as: release early and often, delegate everything you can, be open to the point of promiscuity.
![Page 50: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/50.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 50
Open Source Lessons (1)
1. Every good work of software starts by scratching a developer's personal itch.
2. Good programmers know what to write. Great ones know what to rewrite (and reuse).
3. “Plan to throw one away; you will, anyhow.” (Fred Brooks, The Mythical Man-Month, Chapter 11)
![Page 51: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/51.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 51
Open Source Lessons (2)
4. If you have the right attitude, interesting problems will find you.
5. When you lose interest in a program, your last duty to it is to hand it off to a competent successor.
6. Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.
![Page 52: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/52.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 52
Open Source Lessons (3)
7. Release early. Release often. And listen to your customers.
8. Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone.
9. Smart data structures and dumb code works a lot better than the other way around.
![Page 53: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/53.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 53
Open Source Lessons (4)
10. If you treat your beta-testers as if they're your most valuable resource, they will respond by becoming your most valuable resource.
11.The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better.
12.Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.
![Page 54: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/54.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 54
Open Source Lessons (5)
13.Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.
14.Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected.
![Page 55: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/55.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 55
Necessary Preconditions for the Bazaar Style (1)
• One cannot code from the ground up in bazaar style.
• One can test, debug and improve in bazaar style, but it would be very hard to originate a project in bazaar mode.
• Your nascent developer community needs to have something unable and testable to play with.
![Page 56: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/56.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 56
Necessary Preconditions for the Bazaar Style (2)
• To start community-building, what you need to be able to present is a plausible promise.
• Your program doesn't have to work particularly well. It can be crude, buggy, incomplete, and poorly documented.
![Page 57: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/57.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 57
Necessary Preconditions for the Bazaar Style (3)
• What it must not fail to do is (a) run, and (b) convince potential co-developers that it can be evolved into something really neat in the foreseeable future – e.g., through strong, attractive basic design.
![Page 58: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/58.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 58
Bazaar Project Coordinator
• It is not critical that the coordinator be able to originate designs of exceptional brilliance, but it is absolutely critical that the coordinator be able to recognize good design ideas from others.
• Open-source community's internal market in reputation exerts subtle pressure on people not to launch development efforts they're not competent to follow through on.
![Page 59: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/59.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 59
Bazaar Project Coordinator (cont)
• Must have good people and communications skills.
• In order to build a development community, you need to attract people, interest them in what you're doing, and keep them happy about the amount of work they're doing.
![Page 60: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/60.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 60
What Happened to Mythical Man Month?
• Fred Brooks’ “The Mythical Man-Month” observed that programmer time is not fungible - adding developers to a late software project makes it later.
• He argued that the complexity and communication costs of a project rise with the square of the number of developers, while work done only rises linearly.
![Page 61: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/61.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 61
What Happened to Mythical Man Month? (cont)
• This claim has since become known as “Brooks' Law” and is widely regarded as a truism.
• But if Brooks' Law were the whole picture, Linux would be impossible.
![Page 62: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/62.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 62
Egoless Programming
• Gerald Weinberg “The Psychology Of Computer Programming” supplied a vital correction to Brooks.
• His discussion of “egoless programming” observed that in shops where developers are not territorial about their code, and encourage other people to look for bugs and potential improvements in it, improvement happens dramatically faster than elsewhere.
![Page 63: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/63.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 63
But…
• That can’t be the whole story…
![Page 64: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/64.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 64
Who Invented Open Source?
• No one knows• Some say Linus Torvalds, initial developer
of Linux (c. 1992)• Some say Richard Stallman, founder of
GNU Project (c. 1985)• But lots of earlier software is public
domain, e.g., original implementations of TCP/IP, DNS, sendmail, various other networking software
![Page 65: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/65.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 65
Linus' Law according to Eric S. Raymond
“Given enough eyeballs, all bugs are shallow”
![Page 66: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/66.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 66
Linus' Law according to Linus Torvalds
"Linus's Law says that all of our motivations fall into three basic categories. More important, progress is about going through those very same things as 'phases' in a process of evolution, a matter of passing from one category to the next. The categories, in order, are 'survival', 'social life', and 'entertainment'."
Himanen, Pekka; Linus Torvalds, Manuel Castells. The Hacker Ethic. Random House, 2001.ISBN 0-375-50566-0.
![Page 67: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/67.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 67
Why Didn’t Open Source Happen Earlier?
• Well, it did…• That’s where Unix and the
Internet came from…• But in a relatively small
academic-oriented circle• And the pace was very slow
![Page 68: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/68.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 68
Why Didn’t Open Source Happen Earlier?
• Legal constraints of various licenses, trade secrets, and commercial interests (e.g., wrt Unix)
• The Internet wasn't (yet) good enough – egoless programming could only work in geographically compact communities.
![Page 69: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/69.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 69
Web and ISP Industry
• Linux was the first project to make a conscious and successful effort to use the entire world as its talent pool.
• The gestation period of Linux coincided with the birth of the World Wide Web, and Linux left its infancy during the same period in 1993-1994 that saw the takeoff of the ISP industry and the explosion of mainstream interest in the Internet.
![Page 70: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/70.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 70
An Opposing ViewRobert Glass, Open Source and
Hype, 7 July 2003http://www.stickyminds.com/sitewide.asp?ObjectId=6535&Function=DETAILBROWSE&ObjectType=COL
![Page 71: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/71.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 71
Open Source and Hype
“Most of what I dislike about the open source movement can be summed up in one word: Hype. Unfortunately, and perhaps surprisingly, the advocates of open source are no better in this regard than their proprietary colleagues.”
![Page 72: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/72.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 72
Best People
• The claim is frequently made that open source programmers are the best programmers around.
• Attempts to define Programmer Aptitude Tests, which evaluate the capabilities of subjects to become good programmers, have historically been failures.
• Although some programmers are better than others, nothing in the fields' research suggests that we have found an objective way of determining who those best people are.
• Since we can't identify who the best people are, there is no way to study the likelihood of them being open source programmers.
![Page 73: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/73.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 73
Most Reliable
• The claim is also frequently made that open source software is the most reliable software available.
• Open source advocates claim that a study identified as the "Fuzz Papers" produced results that showed that their software was more reliable than proprietary alternatives.
• But the Fuzz Papers have virtually nothing to say about open source software, one way or the other, and their author (according to Glass) agrees with that assessment.
![Page 74: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/74.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 74
The Fuzz Papers
• http://www.cs.wisc.edu/~bart/fuzz/fuzz.html
• Fuzz testing a simple technique for feeding random input to applications.
• The input is completely random.
• Fuzz testing does not use any model of program behavior, application type, or system description.
![Page 75: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/75.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 75
The Fuzz Papers
• The reliability criteria is simple: if the application crashes or hangs, it is considered to fail the test, otherwise it passes.
• Note that the application does not have to respond in a sensible manner to the input, and it can even quietly exit.
• Fuzz testing can be automated to a high degree and results can be compared across applications, operating systems, and vendors.
![Page 76: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/76.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 76
Back to Open Source and Hype:More Secure
• There are many claims that open source is more secure than proprietary.
• There is very little evidence on either side regarding open source software and security.
• Security holes have been found in proprietary software.
• Security holes have been found in open source code.
• It is all too easy for programmers to leave holes, independent of how the code is written
![Page 77: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/77.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 77
Robert Glass Concludes
“So where do I stand on open source? I see nothing in particular, wrong with its fundamental ideas and ideals. But I see plenty wrong with the hype surrounding it. Not that it's any worse than its proprietary brethren in this respect. It's just that I expected more from this particular group! Yes, I do expect more from the open source advocates.”
![Page 78: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/78.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 78
Open Systems ≠ Open Source
• “Open systems” concept predates OSI and FSF and may be more palatable to conventional software vendors
• Concerned with system integration• “Standard” interfaces and protocols• Includes but not limited to component model
frameworks• Industry consortia: The Open Group’s Single Unix
Spec, Object Management Group’s CORBA, W3C’s XML
![Page 79: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/79.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 79
Next Assignment
• Code inspection week Tuesday November 20th through Thursday November 29th
• Second Iteration Progress Report due Friday November 30th
![Page 80: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/80.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 80
Upcoming Deadlines
• Code inspection week Tuesday November 20th through Thursday November 29th
• Second Iteration Progress Report due Friday November 30th
• Demo week Monday December 3rd through Monday December 10th
• Second Iteration Final Report due Tuesday December 11th
![Page 81: 20 November 2007Kaiser: COMS W4156 Fall 20071 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser Kaiser+4156@cs.columbia.edu](https://reader036.fdocuments.us/reader036/viewer/2022062718/56649ea75503460f94baa34c/html5/thumbnails/81.jpg)
20 November 2007 Kaiser: COMS W4156 Fall 2007 81
COMS W4156: Advanced Software Engineering
Prof. Gail Kaiser
http://york.cs.columbia.edu/classes/cs4156/