1 / 33

Open Source Software Development Processes Version 2.5, 8 June 2002

Open Source Software Development Processes Version 2.5, 8 June 2002. Walt Scacchi ICS 225 Spring 2002. Open Software Production Model. Team Project Goals Open source software process meta-model OSS processes OSS agents OSS interface required (input) provided (output) resources

jamesjtomas
Download Presentation

Open Source Software Development Processes Version 2.5, 8 June 2002

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 <other PLC activity> for your Team’s OSSD process(es) • Develop Semi-Structured, Hyperlinked OSSD Process Model(s) • Navigatible Hypermedia (e.g., .ppt -> .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

More Related