strategies for developing and deploying free/open source...
TRANSCRIPT
![Page 1: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/1.jpg)
1
Strategies for Developing andDeploying Free/Open Source
Software
Walt ScacchiInstitute for Software Research
School of Information and Computer ScienceUniversity of California, IrvineIrvine, CA 92697-3425 USA
[email protected]://www.ics.uci.edu/~wscacchi
http://www.ics.uci.edu/~wscacchi/Presentations/OSS-Strategies/
![Page 2: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/2.jpg)
2
Overview
• Background
• Results from recent studies
• Open Laboratory
• Open Source Processes
• Strategies
• References
![Page 3: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/3.jpg)
3
Research methodology
• Individual case studies: significantdetails, but limited (and premature)generalization, little/no comparativeanalysis.
• Few studies examine multiple OSSDprojects in multiple domains– Such studies offer higher degree of
comparative analyses and generalization ofresults.
![Page 4: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/4.jpg)
4
![Page 5: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/5.jpg)
5
![Page 6: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/6.jpg)
6
![Page 7: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/7.jpg)
7
![Page 8: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/8.jpg)
8
Configuration management andwork coordination
• Use CM to coordinate and control who gets toupdate what part of the system– Many F/OSSD projects use CVS (single centralized
code repository with update locks) and frequentreleases (daily releases on active projects)
– Linux Kernel: BitKeeper (multiple parallel builds andrelease repositories)
– Collab.Net and Tigris.org: Subversion (CVS++)
– Apache: Single major release, with frequent “patch”releases (e.g., “A patchy server”)
– GNU arch: Bitkeeper + Subversion + (more)
![Page 9: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/9.jpg)
9
What is free/open source softwaredevelopment?
• Free (as in “freedom”) vs. open source– Freedom to access, browse/view, study, modify and
redistribute the source code– Free is always open, but open is not always free
• F/OSSD is not “software engineering”– Different: F/OSSD can be faster, better, and cheaper
than SE
• F/OSSD involves more software developmenttools, Web resources, and personal computingresources, compared to traditional SE methods.
![Page 10: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/10.jpg)
10
Who is investing in F/OSSD?• Large corporations: (IT and Financial)
– IBM-Eclipse, Sun-NetBeans and OpenOffice, HP-Gelato, Apple-Darwin, Microsoft Research-Rotor, SAP-SAPDB/MySQL, etc.
– Barclays Global Investors, Dresdner Kleinwort Wasserstein,etc.
• Research Universities:– MIT, UC, Indiana, Michigan, Stanford
• Federal Government:– DoD, NSF, NASA
• Mid-size corporations:– RedHat, Novell, Borland
• Small (start-up) companies:– ActiveState (Sophos), Collab.Net, Jabber, Ximian (Novell), JBoss,
Compiere, etc.
![Page 11: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/11.jpg)
11
Findings from F/OSS Studies
• CIO 2002-2003:– OSS primarily for new system deployments– OSS benefits
• enable lower TCO• lower capital investment• greater reliability
– OSS weaknesses:• lack of in-house skills or skills in labor market,• lack of vendor support or vendor viability
– How best to support OSS apps? Do it yourself vs. join aconsortium vs. hire consultants vs. contract with a big vendor
• switching costs
![Page 12: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/12.jpg)
12
Findings from F/OSSD Studies• Hars and Ou 2002:
– >60% of F/OSS developers work on 2-10 F/OSSprojects
• Madey, et al. 2003:– <5% of OSS projects on SourceForge.net sustained;
>90% have only one contributor (i.e., Power Law)• Nichols and Twidale 2003:
– Usability of F/OSS systems generally neglected• Scacchi 2001-2004:
– Open source processes enable org. transformation– Largest F/OSSD projects sustain exponential growth;
most F/OSSD projects fail to grow to any sustainableeffort
• von Hippel and von Krogh 2003:– OSS success relies on “private-collective” innovation model
![Page 13: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/13.jpg)
13
Processes for F/OSS Requirementsor Design (Scacchi 2002)
• F/OSS Requirements/Designs– not explicit
– not formal
• F/OSS Requirements/Designs are embeddedwithin “informalisms”– Examples: threaded email discussion lists, Web
sites, FAQs, source code directories, licenses
• F/OSS Requirements/Design processes aredifferent from their SE counterparts.
![Page 14: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/14.jpg)
14
![Page 15: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/15.jpg)
15
![Page 16: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/16.jpg)
16
![Page 17: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/17.jpg)
17
![Page 18: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/18.jpg)
18
![Page 19: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/19.jpg)
19
Open source processes forRequirements
• Elicitation
• Analysis
• Specification andmodeling
• Validation
• Communicating andmanaging
Partially ordered,centralized process
• Post-hoc assertion• Reading, sense-
making, accountability• Continually emerging
webs of discourse• Condensing and
hardening discourse• Global access to
discourseContinuous,
decentralized process
![Page 20: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/20.jpg)
20
Discovering, modeling and(re)enacting F/OSSD processes
• (Semi)Automated techniques for discoveringprocesses in OSSD projects
• Multi-mode process models– Informal hypermedia, semi-structured, formal
computational enactments/simulations
• Formal models can be visualized, analyzed andvalidated via “process enactment simulators”,and also reused and redistributed.
![Page 21: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/21.jpg)
21
NetBeans.org OSSD ProjectEcosystem
JCP
OpenOffice
W3C
Conflict
Coordination
Coordination
Conflict
Coordination
Conflict
Coordination
Conflict
Mozilla
NetBeans
Apache
Conflict
Coordination
Coordination
Coordination
ConflictConflict
![Page 22: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/22.jpg)
22
Indirect process interactions across projects
Changes in: HTTP, CCS,DOM, URI/URL, XML,
XHTML standards
Bugzilla, compliance with W3C standardprotocols/data formats, compressed HTTP
module support, Javascript support
Browser-specific actions,browser-errorworkarounds,
Tomcat integration intoNetBeans, compliancewith W3C standards,
Apache Ant integrationinto NetBeans
NetBeans workaroundsfor Mozilla shortcuts
NetBeans and Mozilladevelopers collaborate onspell-checking module,
NetBeans adopts Mozillasuper review process
Apache releases newversion of Tomcat
![Page 23: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/23.jpg)
23
Project management and careerdevelopment (Scacchi 2004)
• F/OSSD projects self-organize as a layeredmeritocracy via virtual project management– Meritocracies embrace incremental mutations over
radical innovations– VPM requires people to act in leadership roles based
on skill, availability, and belief in project community
• F/OSS developers use what they build, want tohave fun, exercise their technical skill, try outnew kinds of systems to develop, and/orinterconnect multiple F/OSSD projects (freedomof choice and expression).
![Page 24: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/24.jpg)
24
![Page 25: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/25.jpg)
25
Open Laboratory?
• Free/open source software development– encourages sharing, examination, reuse, modification,
and redistribution
• E-Laboratory– encourages adoption of E-Commerce or E-Business
capabilities in Laboratory operations, administration,research, education
• F/OSSD + E-Lab = Open Laboratory– embraces and facilitates open source and E-Laboratory
systems, processes, practices, and communities
![Page 26: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/26.jpg)
26
Why Open Laboratory?
• Help make Laboratory work faster, better,cheaper.
• Empower interested Laboratory employees,contractors, faculty, students and interestedcitizens to offer help and capture theircontributions.
• Enable creation of public test-beds whereexisting/new Laboratory processes can bedemonstrated, manipulated, and refined.– This may facilitate “participatory science” projects
and science learning/game grids.
![Page 27: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/27.jpg)
27
Open source processes
• Free/open source software does not embody theprocesses for how to develop, deploy, use orsustain them– Deploying F/OSS is low-cost, but often inefficient and
sub-optimal
• Closed source software development,deployment, use, and support is also inefficientand sub-optimal– Explicit open source processes could also help closed
source systems.
![Page 28: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/28.jpg)
28
Motivation for open sourceprocesses
• Closed source processes:– Typically opaque or tacit, difficult to improve, subject
to inappropriate automation or patent by vendors.
• Open source processes:– Enable continuous process improvement and
organizational learning through open access to the“source code” of enterprise processes.
![Page 29: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/29.jpg)
29
Strategies for Developing andDeploying F/OSS
• Requirements and design artifact sharing– Emergent, continuously evolving– Structured vs. semi-structured vs. ad hoc
• Cost information/analysis sharing– Determine ongoing “business value” of F/OSS efforts
• Community and career development– Join/form F/OSSD consortia– Enhance local skill base– Encourage community ownership over individual
contribution/fault– Leverage private-collective action, when possible
![Page 30: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/30.jpg)
30
Strategies for Developing andDeploying F/OSS
• Capture and codify laboratory process domainexpertise as open source processes:– F/OSS systems analysis and design– Deployment and support of F/OSS systems– Usability capture and feedback– Organizational transformation
• Stimulate/facilitate UC-based research intoF/OSSD through partnerships– UC Institute for Software Research (ISR)– UC Computer Game Culture and Technology Lab
• Game Grids for Science Learning (Science Learning Grids)
![Page 31: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/31.jpg)
31
Strategies for Developing andDeploying F/OSS
• Establish Open Lab F/OSS portals andclearinghouse– Create/share process toolkits, libraries, repositories
• e.g., “ProcessSourceForge.net” “SourceForge.NL.org”
• “Co-source” development of OL processes– amortize and share OL development costs across
laboratories• Construct operational OL system and process
demo’s– OL prototypes and public test-beds– Exportable processes for laboratory operations,
administration, research, and education
![Page 32: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/32.jpg)
32
Another game M&Senvironment
![Page 33: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/33.jpg)
33
Open sourcesoftware research
Web site atUCI
![Page 34: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/34.jpg)
34
Acknowledgements
• Project collaborators:– Mark Ackerman, UMichigan, Ann Arbor– Les Gasser, UIllinois, Urbana-Champaign– John Noll, Santa Clara University– Margaret Ellliot, Chris Jensen, Justin Erenkrantz,
Richard Taylor, Jason Robbins, UCI-ISR– Julia Watson, The Ohio State University
• Funding support:– National Science Foundation ITR#-0083075, ITR#-
#0205679, ITR#-0205724, and ITR#-0350754.– No endorsement implied.
![Page 35: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/35.jpg)
35
References
• A. Hars and S. Ou, Working for free? Motivations forparticipating in open source projects, InternationalJournal of Electronic Commerce, 6(3), Spring 2002.
• E.von Hippel and G. von Krogh, Open Source Softwareand the “Private-Collective” Innovation Model: Issues forOrganization Science, Organization Science, 14(2), 209-223, 2003
• G. Madey, V. Freeh, and R. Tynan, Modeling the F/OSSCommunity: A Quantitative Investigation, in Free/OpenSource Software Development, ed., Stephan Koch, IdeaPublishing, forthcoming.
• D.M. Nichols & M.B. Twidale, The Usability of OpenSource Software, First Monday, 8(1), January 2003.
![Page 36: Strategies for Developing and Deploying Free/Open Source ...wscacchi/Presentations/OSS-Strategies/LANL-Strategies-Development.pdfStrategies for Developing and Deploying Free/Open Source](https://reader033.vdocument.in/reader033/viewer/2022041615/5e3af5aa1060d64d7023d871/html5/thumbnails/36.jpg)
36
Referencessee http://www.isr.uci.edu/research-open-source.html
• C. Jensen and W. Scacchi, Discovering, Modeling, and Re-enacting Open Source Software Processes: A Case Study,Working Paper, Institute for Software Research, March 2004.
• W. Scacchi, Free/Open Source Software Development Practicesin the Computer Game Community, IEEE Software, Special Issueon Open Source Software, 21(1), 59-67, January-February 2004.
• W. Scacchi, When is Free/Open Source Software DevelopmentFaster, Better, and Cheaper than Software Engineering? WorkingPaper, Institute for Software Research, UC Irvine, April 2003.
• W. Scacchi, Understanding the Requirements for DevelopingOpen Source Software, IEE Proceedings--Software, 149(1), 24-39, 2002.
• W. Scacchi, Redesigning Contracted Service Procurement forInternet-based Electronic Commerce: A Case Study, J.Information Technology and Management, 2(3), 313-334, 2001.
• This presentation can be found at:http://www.ics.uci.edu/~wscacchi/Presentations/OSS-Strategies/