1 Understanding Free/Open Source Software Development Practices Walt Scacchi Institute for Software Research School of Information and Computer Science.

Slides:



Advertisements
Similar presentations
Carlo Tarantola Senior Director EMEA Mobile and Wireless Center of Expertise Warsaw, Poland Oracle Corporation.
Advertisements

What’s new in this release? September 6, Milestone Systems Confidential Milestone’s September release 2012 XProtect ® Web Client 1 Connect instantly.
Systems Engineering in a System of Systems Context
Chandler ISR June Chandler Open Source Personal Information Manager , calendar, contacts, tasks, free-form items Easy sharing and collaboration.
1 Panel: Open Source Software Successes and Challenges Margaret Elliott, ISR Pankaj Garg, ZeeSource Jason Robbins, UCI (formerly Collab.net) Walt Scacchi,
1 Strategies for Developing and Deploying Free/Open Source Software Walt Scacchi Institute for Software Research School of Information and Computer Science.
Virtual Radical Collocation for Distributed Software Development: Discussion Walt Scacchi Institute for Software Research University of California, Irvine.
1 Open Source Software, Computer Games, and other Socio-Technical Processes Walt Scacchi Institute for Software Research and University of California Irvine.
1 Open Source Software, Computer Games, and other Socio-Technical Processes Walt Scacchi Institute for Software Research and Game Culture and Technology.
Open Source Software Research at ISR Walt Scacchi Institute for Software Research
1 Issues, Challenges, and Opportunities for Open Source Software Development Walt Scacchi Institute for Software Research University of California, Irvine.
Transforming Organizations through Open Source Software Walt Scacchi Institute for Software Research University of California, Irvine Irvine, CA
1 Emerging Research Concepts for Very Large-Scale Software Engineering Walt Scacchi Institute for Software Research University of California, Irvine Irvine,
1 Understanding the Requirements for Developing and Designing Open Source Software Walt Scacchi Institute for Software Research and Laboratory for Computer.
Computer Games, Open Source Software, and Computer Supported Work Environments Research Opportunities Walt Scacchi Institute for Software Research Game.
1 Strategies for Developing and Deploying Free/Open Source Software Walt Scacchi Institute for Software Research School of Information and Computer Science.
Supporting Software Development in Virtual Enterprises Walt Scacchi
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
1 Educational Experiences with F/OSS Development Projects: Helping the Inmates Take Over the Asylum Walt Scacchi Institute for Software Research University.
Innovations in Web-Based Informal Science Education: DinoQuest Online Robert Nideffer, University of California, Irvine, UCGame Lab, Studio Arts Dept.
Modeling and Simulating Free/Open Source Software Development Processes Walt Scacchi Institute for Software Research School of Information and Computer.
An Approach to Discovering Processes in OSS Projects Chris Jensen Institute for Software Research University of California, Irvine Irvine, CA
1 Understanding the Requirements for Developing and Designing Open Source Software Walt Scacchi Institute for Software Research University of California,
(Re)Designing Software Production Architectures Walt Scacchi ATRIUM Laboratory and USC Center for Software Engineering 10.
1 Software Licenses, Open Source Components, and Open Architectures Thomas Alspaugh, Hazeline Asuncion, Walt Scacchi Institute for Software Research University.
Emerging Opportunities in Software Technology R&D: A Technology Forecast Walt Scacchi Institute for Software Research University of California, Irvine.
1 Understanding the Requirements for Open Source Software Development Walt Scacchi Institute for Software Research University of California, Irvine Irvine,
1 Understanding Best Practices in Free/Open Source Software Development Walt Scacchi Institute for Software Research School of Information and Computer.
Free/Open Source Software Development: Recent Research Results and Emerging Opportunities Walt Scacchi Institute for Software Research University of California,
Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software.
Opportunities for Game Culture and Technology in Public Libraries Walt Scacchi Institute for Software Research and University of California.
Process and Open Source Software Walt Scacchi Institute for Software Research UC Irvine
Game Web Research at the UCI Game Lab Walt Scacchi and California Institute for Telecommunications and Information Technology (Calit2)
Sl.NoUnitContents 1.Unit - 1 What is Open Source?, Why Open Source? 2Unit – 2 What is Open Standard? - Why Open Standards? 3Unit – 3 Peek into history.
1 Game Grids and Game Culture: Research Vision Walt Scacchi Institute for Software Research and Laboratory for Computer Game Culture and Technology University.
Opportunities for Game Culture and Technology in Public Libraries Walt Scacchi Institute for Software Research and University of California.
Open Source Software Development. Overview  OSS  OSSD  OSSD vs PSD  Future.
GMD German National Research Center for Information Technology Innovation through Research Jörg M. Haake Applying Collaborative Open Hypermedia.
Patterns of Sustained Collaborative Creativity Across Open Computerization Movements Walt Scacchi Institute for Software Research and Game Culture and.
1 Research and Educational Innovations in Computer Games Walt Scacchi and California Institute for Telecommunications and Information Technology (Calit2)
Computers and Society Examine the extent to which Richard Stallman’s GNU manifesto has succeeded in challenging the dominance of conventionally distributed.
Open Source Software An Introduction. The Creation of Software l As you know, programmers create the software that we use l What you may not understand.
Computer Gaming as a Social Movement Walt Scacchi Institute for Software Research and Game Culture and Technology Laboratory University of California,
Software Engineering CS3003
Medium Size Software, Inc. SQA Plan: The Batch Processing Application.
Seeking the Source Software Source Code as a Social and Technical Artifact Cleidson de Souza, Jon Froehlich, and Paul Dourish Jon Froehlich University.
The Role of the Free Software Movement in the Mobilization of Free Software Developers Margaret S. Elliott Institute for Software Research School of Information.
Enabling Exponential Innovation via Open Source Software Development Walt Scacchi Institute for Software Research and Game Culture and Technology Laboratory.
Open Source The Future of Software What’s Open Source Open-source software is computer software whose source code is available under a copyright license.
Identifying New Market Opportunities through Process Discovery Walt Scacchi Institute for Software Research and Game Culture and Technology Laboratory.
1 Computer Games, Open Source Software, and other Socio-Technical Processes Walt Scacchi Institute for Software Research and Game Culture and Technology.
Open Source In the DoD Dawn Meyerriecks Chief Technology Officer Defense Information Systems Agency (703) ,
1 Computer Games, Open Source Software, and other Socio-Technical Processes Walt Scacchi Institute for Software Research and Game Culture and Technology.
Collaboration, Leadership, Control and Conflict Negotiation in the NetBeans.org Community Chris Jensen and Walt Scacchi Institute for Software Research.
The Role of Game Technologies in Learning Science Walt Scacchi Institute for Software Research and UCGameLab.net University of California, Irvine.
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
Process Modeling Across the Web Information Infrastructure Chris Jensen and Walt Scacchi Institute for Software Research School of Information and Computer.
When Worlds Collide: Emerging Patterns of Intersection and Segmentation when Computerization Movements Interact Walt Scacchi Institute for Software Research.
Multi-Modal Modeling, Analysis, and Validation of Open Source Software Development Processes Walt Scacchi, Chris Jensen, John Noll, and Margaret Elliott.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
Pragmatics 4 Hours.
open source and free software Najeeb Ullah Student ID
Understanding Best Practices in Free/Open Source Software Development
FREE AND OPEN SOURCE SOFTWARE IN EDUCATION
Open Source Software Development
Walt Scacchi Institute for Software Research
Walt Scacchi Institute for Software Research and
Walt Scacchi Institute for Software Research
Open Source Software Development Processes Version 2.5, 8 June 2002
Strategies for Developing and Deploying Free/Open Source Software
Presentation transcript:

1 Understanding Free/Open Source Software Development Practices Walt Scacchi Institute for Software Research School of Information and Computer Science University of California, Irvine Irvine, CA November

2

3

4

5

6 Overview Background Research methodology Free/Open source processes and practices Implications Conclusions New projects

7 What is free/open source software development? 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 development tools, Web resources, and personal computing resources

8 Who is investing in OSSD? Large corporations/enterprises: –IBM-Eclipse, Sun-NetBeans and OpenOffice, HP- Gelato, Apple-Darwin, Microsoft Research-Rotor, etc. –Barclays Global Investors, DKW, Merrill Lynch, etc. –DoD, DoE, NSF, NIH, NASA, etc. –MIT, Stanford, CMU, UC, UMichigan, etc. Mid-size corporations: –RedHat, Novell, Borland Small (start-up) companies: –ActiveState, Collab.Net, Jabber, Ximian, JBoss, Compiere, etc.

9 Research methodology Prior empirical (case) studies of Open Source Software Development (OSSD) Projects –Mockus, Fielding, Herbsleb, 2000, 2002, Apache httpd server –Reis and Fortes, 2002, Mozilla Web browser –Schach et al., 2002; Holt et al., 2000, Linux Kernel –Koch and Schneider 2001; German 2002, GNOME User Interface –Jorgensen, 2001, FreeBSD operating system –Garg et al., 2002, OSSD (“progressive open source”) within HP –Jensen and Scacchi, , NetBeans IDE –Etc.

10 Research methodology Individual case studies: significant details, but limited (and premature) generalization, little/no comparative analysis Few studies that examine multiple OSSD projects in multiple domains –Such studies would offer higher degree of comparative analyses and generalization of results

11

12 Research methodology Comparative case studies –Multiple open software development projects Within and across multiple communities Qualitative (“grounded theory”) techniques Analyzing and modeling –development processes –work practices and roles –development artifacts and tools –community structures and process dynamics

13 Sample practices for F/OSSD Requirements and design Configuration management and work coordination Maintenance/Evolution Project management/career development Software technology transfer and licensing

14 F/OSS Processes for Requirements or Design F/OSS Requirements/Designs –not explicit –not formal F/OSS Requirements/Designs are embedded within “informalisms” –Example OSS informalisms to follow (as screenshot displays) F/OSS Requirements/Design processes are different from their SE counterparts.

15 SE vs. F/OSS processes for Requirements Elicitation Analysis Specification and modeling Validation Communicating and managing Post-hoc assertion Reading, sense- making, accountability Continually emerging webs of discourse Condensing and hardening discourse Global access to discourse

16

17

18

19

20

21 Retrospective requirements specification example

22 Configuration management and work coordination Use CM to coordinate and control who gets to update what part of the system/online artifacts –Many F/OSSD projects use CVS (single centralized code repository with update locks) and frequent releases (daily releases on active projects) –Linux Kernel: BitKeeper (multiple parallel builds and release repositories) –Collab.Net and Tigris.org: Subversion (CVS++) –Apache: Single major release, with frequent “patch” releases (e.g., “A patchy server”) –GNU arch seeks to develop Free CM unification

23 Concurrent version system (CVS) for coordinating source code updates

24 Evolutionary redevelopment, reinvention, and redistribution Overall evolutionary dynamic of F/OSSD is reinvention –Reinvention enables continuous improvement F/OSS evolve through minor mutations –Expressed, recombined, redistributed via incremental releases F/OSS systems co-evolve with their development community –Success of one depends on the success of the other Closed legacy systems may be revitalized via opening and redistribution of their source –When enthusiastic user-developers want their cultural experience with such systems to be maintained.

25 Revitalizing legacy applications via open source example

26 Project management and career development F/OSSD projects self-organize as a pyramid meritocracy 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 want to learn about new stuff (tools, techniques, skills, etc.), have fun buildin g software, exercise their technical skill, try out new kinds of systems to develop, and/or interconnect multiple F/OSSD projects (freedom of choice and expression).

27 (images from A.J. Kim, Community Building on the Web, 2000) A pyramid meritocracy and role hierarchy for F/OSSD

28 Virtual project management example

29 Example of F/OSS development patterns that encourage having fun and getting a new job

30 Software technology transfer and licensing F/OSS technology transfer from existing Web sites is a community and team building process –Not (yet) an engineering process –Enables unanticipated applications and uses –Enables F/OSSD to persist without centrally planned and managed corporate software development centers

31 Example of F/OSS technology transfer that enabled creation of new kind of application (e.g., online virtual dancing)

32 Free/OSS licenses Reiterate and institutionalize F/OSS culture (values, norms, and beliefs) –GNU Public License (GPL) for free software –More than 40 other open source licenses ( –“Creative Commons” Project at Stanford Law School developing public license framework

33

34 Implications F/OSSD is a community building process –not just a technical development process –F/OSS peer review creates a community of peers F/OSSD processes often iterate daily versus infrequent singular (milestone) Software Life Cycle Engineering events –F/OSSD: frequent, rapid cycle time (easier to improve) vs. –SLC: infrequent, slow cycle time (harder to improve)

35 Conclusions Developing F/OSS is different than software engineering –not better, not worse, but different and new –more social, more accessible, more convivial F/OSS systems don’t need and probably won’t benefit from classic software engineering.

36 New projects Free/Open source science learning games (Discovery Science Center) F/OSSD+CSCW+Games => Computer- Supported Cooperative Organizational Learning Environments (CSCOLE -- Naval Postgraduate School and others) OSSD+Games+Grid Computing => Game Grids (UCGameLab.net, Cal(IT) 2, SDSC, SUN, Butterfly.net, DIP-Daegu City)

37 Open source software research Web site at UCI

38 Acknowledgements Project collaborators: –Mark Ackerman, UMichigan, Ann Arbor –Les Gasser, UIllinois, Urbana-Champaign –John Noll, Santa Clara University –Margaret Ellliot, Chris Jensen, UCI-ISR –Julia Watson, The Ohio State University –And others ar ISR Funding support: –National Science Foundation: # , # , # , and #-# –No endorsement implied.

39 References see W. Scacchi, Understanding the Requirements for Developing Open Source Software, IEE Proceedings--Software, 149(1), , 2002.Understanding the Requirements for Developing Open Source Software W. Scacchi, Open EC/B: A Case Study in Electronic Commerce and Open Source Software Development, Final Report, July 2002.Open EC/B: A Case Study in Electronic Commerce and Open Source Software Development W. Scacchi, Free/Open Source Software Development Practices in the Computer Game Community, IEEE Software, Special Issue on Open Source Software, (to appear, 2004).Free/Open Source Software Development Practices in the Computer Game Community W. Scacchi, Understanding Free/Open Source Software Evolution: Applying, Breaking and Rethinking the Laws of Software Evolution, revised version to appear in N.H. Madhavji, M.M. Lehman, J.F. Ramil and D. Perry (eds.), Software Evolution, John Wiley and Sons Inc, New York, 2004.Understanding Free/Open Source Software Evolution: Applying, Breaking and Rethinking the Laws of Software Evolution