Open Source Software Development Processes Version 2.5, 8 June 2002 PowerPoint PPT Presentation

presentation player overlay
About This Presentation
Transcript and Presenter's Notes

Title: Open Source Software Development Processes Version 2.5, 8 June 2002


1
Open Source Software Development
ProcessesVersion 2.5, 8 June 2002
  • Walt Scacchi
  • ICS 225
  • Spring 2002

2
Open Software Production Model
  • Team Project Goals
  • Open source software process meta-model
  • OSS processes
  • OSS agents
  • OSS interface
  • required (input)
  • provided (output) resources
  • OSS tools

3
Team Project Goals
  • Model, Visualize, and ltother PLC activitygt for
    your Teams OSSD process(es)
  • Develop Semi-Structured, Hyperlinked OSSD Process
    Model(s)
  • Navigatible Hypermedia (e.g., .ppt -gt .html)
  • Develop Formal OSSD Process Model(s)
  • Using Protégé-2000 and PML
  • Develop Narrative OSSD Process Model Report
  • Publication-quality (e.g., Mozilla Report)

4
Open Software Process Meta-Model
composed_ process_1
process_1
process_n
process_2
5
Open Software Process Meta-Model
process_1
sub-process/task_n
task_1
sub_ process_1
6
Open Software Process Meta-Model
7
OSSD Process Layering
Articulation
OSSD Community Processes
OSSD Software Development Processes
OSSD Infrastructure Processes
8
OSSD Process Model Template
  • Process Name (short)
  • Narrative Description (short)
  • Agent/Roles
  • Interface
  • Input Resources
  • Output Resources
  • Tools
  • Control Flow Scenario
  • Normal/typical flow sequence
  • Exception handling flow sequence

9
OSSD Process Taxonomy
10
Open Software Development Processes (1)
  • Download and Install
  • End-Use
  • Communicate Experience
  • Assert Requirements-Design
  • Develop Open Source Code
  • Manage Configuration
  • Review, Analyze and Redesign

11
Open Software Development Processes (2)
  • Contribute External Source Code
  • Develop Project Community
  • (Re)Organize Project Team
  • Scan External Environment for Innovation
    Opportunities
  • Develop Community Software
  • Develop Community Web Portal

12
Basic Open Source Software Development Process
Manage Configuration
Develop OSS Code
Download and Install
Communicate Experience
Assert Requirements-Design
End-Use
Read, Analyze and Redesign

OSS Community Development Process
13
OS Software Development Ver. 1.2
Analyze and Redesign
End-Use
Assert Requirements-Design
Develop OSS Code
Download and Install
Manage Configuration

14
Download and Install
  • Check Open Software Web Site (e.g., via
    SourceForge) for news/latest release info
  • User download packaged open software source code
    files (e.g., RPMs) and/or executable image
  • Unpack and and install source code

15
End-Use
  • Review any application documentation or Web pages
  • Use downloaded executable image
  • Optional
  • Perform local source code build
  • Perform local integration test
  • Perform local version control check-in

16
Communicate Experience
  • Browse OSSD project Web site, discussion forum,
    or other online sources
  • If observe bugs, then do bug report
  • If observe performance bottlenecks, external
    innovation opportunities, or localization
    shortfalls, then do enhancement or code
    restructuring request

17
Analyze and Redesign
  • Select application, process, or Web site to
    redesign
  • Analyze and model
  • Identify and Extract structural properties
  • Components, connectors, interfaces, resources
    I/O, configuration, and version(s)
  • Identify applicable redesign heuristics
  • Develop redesign transformation plan
  • Execute plan

18
Assert Requirements-Design
  • Assert software requirements or design update
    using communication tools/artifacts
  • Read and make sense of updates, determine
    accountability
  • Browse and extend software discourse web
  • Harden discourse web via navigational
    cross-linkage
  • Provide global access to software web

19
Develop Open Source Code
  • Check-out and download source code from project
    repository/Web site
  • Edit source code file(s)
  • Compile local source code into executable image
  • Debug as needed
  • Perform unit test on executable image
  • Submit source code to configuration management

20
Manage Configuration (1)
  • Compose/integrate source code files (e.g., via
    Make files)
  • Build/make executable composed image
  • Regression test executable image
  • Optional
  • Submit source code for review
  • Review and approve/reject submitted source

21
Manage Configuration (2)
  • Check-in source code into (CVS) repository
  • Create remote installation package (e.g., RPM)
    for release
  • Create and build multi-platform executable images
    for release
  • Create release news information
  • Post news and release on project Web site
  • Track and record source/image downloads

22
OSS Community Development
OSS Community Development Process
23
Develop Community
  • Contribute External Source Code
  • Initiate OSSD Project
  • Create OSSD Project Web Site Portal
  • Create and post Project OSSD to do items
  • Invite new contributors to join
  • Create community rights of passage and
    hierarchy
  • Assert relevant OSS license/rights to use
  • Create Foundation to assure legal status

24
Contribute External Source Code
  • Develop open source code implementation of
    existing software system/application
  • Create Web site for open source code content and
    announce project
  • Optional Register project and Web site at
    SourceForge, Freshmeat, or similar
  • Configuration manage source code
  • Solicit community participation in further
    developing open source

25
(Re)Organize Project Team
  • Solicit and designate Project core contributors
  • Identify opportunities for other contributors
  • Identify secondary and tertiary participant roles
  • Self-select Project to-do tasks to perform
  • Self-select Project teamwork structures or
    patterns
  • Align Project (local) configuration for tool,
    repository, and OSSD artifacts

26
Scan External Environment for Innovation
Opportunities
  • Surf informative Web sites and other media for
    content on new tools, techniques, concepts, or
    data source that may add value to local OSSD
    project
  • Acquire additional knowledge of these
    opportunities, as needed
  • Propose new features or enhancements on local
    OSSD project mail list server for how and why to
    incorporate the opportunity

27
Develop Community Software
  • Select OSSD Tools for use by Project
  • Setup Project Web Site
  • Setup Project resource repositories
  • Network file servers
  • CVS directory structure/archive
  • Content management servers
  • Post links to Project tools

28
Develop Web Site Portal
  • Register Project Internet domain name
  • Create home page or site index
  • Create Web site architecture
  • Insert/update Web site with Project content

29
Open Software Agents Taxonomy (1)
  • Programmers
  • Core developers
  • Secondary developers
  • (Infrequent) contributing developers
  • Reviewers
  • Code readers
  • Code approvers
  • Participants in Project software discourse

30
Open Software Agents Taxonomy (2)
  • End-users
  • Testers and Quality Assurance contributors
  • Configuration managers
  • Documentation authors and coordinators
  • Community Web portal maintainers
  • Other community members
  • Lurkers

31
Open Software Agents (3)
  • Project Leader (Overlord)
  • Community Executive Committee
  • Project (Infrastructure Resources) Donators
  • Foundation voting members

32
Open Source Software Tools Taxonomy
33
Open Software Resources Taxonomy (definitely
needs help)
  • Messages
  • Threaded email postings
  • Chat records
  • Private email
  • Software extension mechanisms and architectures
  • Web portal contents
Write a Comment
User Comments (0)
About PowerShow.com