Collaborative Software Development

Slides:



Advertisements
Similar presentations
Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing.
Advertisements

Software engineering tools for web development Jim Briggs 1CASE.
BEA Confidential. | 1 Version Control for a Modern World Garrett Rooney, Senior Software Engineer (and Subversion committer), CollabNet Inc. June 2006.
Apache HTTPD Project A user-driven development –Quality should override everything else Meritocracy –The more work you have done, the more you are allowed.
Rich Hypermedia for NB Requirements and Release Process Version 3.3 CSEM Consulting ICS 225 – Spring 2002.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
When will our bugs be fixed? When will our new features be added? When will the next release come out? Is my server up-to-date? Users Committers Program.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
An Approach to Discovering Processes in OSS Projects Chris Jensen Institute for Software Research University of California, Irvine Irvine, CA
CP476 Internet Computing Browser and Web Server 1 Web Browsers A client software program that allows you to access and view Web pages on the Internet –Examples.
July 16 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s at all Book :: Chapters 13 Fred Durão.
Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software.
CERN - IT Department CH-1211 Genève 23 Switzerland t SVN Pilot: CVS Replacement Manuel Guijarro Jonatan Hugo Hugosson Artur Wiecek David.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Framework for Automated Builds Natalia Ratnikova CHEP’03.
R ION-WG Status CCSDS Meetings 28 Oct r ION-Working Group Overview ION Working Group is a sub-team of the NASA DTN Readiness Project whose goal.
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
Mylyn Release Review | © 2009 by Mylyn Committers, made available under the EPL v1.0 1 Mylyn 3.1 Release Review Mik Kersten and Steffen Pingel Planned.
Continuous Integration and Code Review: how IT can help Alex Lossent – IT/PES – Version Control Systems 29-Sep st Forum1.
DevelopersCommitters Users I’m getting the following exception…. Anybody have any clue why??? +1, I like that idea… Source & Binary Code Repository Bug.
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 – The Ganga Evolution Andrew Maier.
Program Development Cycle
Process Modeling Across the Web Information Infrastructure Chris Jensen and Walt Scacchi Institute for Software Research School of Information and Computer.
What is Java? Object Oriented Programming Language Sun Microsystems “Write Once, Run Everywhere” Bytecode and Virtual Machine Java Platform (Java VM and.
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
Session #2482 Implementing WebDAV Using J2EE TM and Open Source Technologies Juergen Pill Team Leader Software AG Remy Maucherat Software Engineer Sun.
Mylar Release Review | © 2006 by UBC, made available under the EPL v1.0 1 Mylar 1.0 Release Review Mik Kersten Rob Elves November 22, 2006.
Lab 301 Populating Template Data from a Third Party Data Source Justin Pava, Software Release Manager Andrew Schoonmaker, Software QA Engineer.
BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management Java and WebDAV Juergen Pill Team Leader Software AG Remy Maucherat Software Engineer.
Version Control How and why to control changes in a software artifact.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Developers Users Committers How do I configure this now? Just one more fix and I am done! CVS Download/Use Software Submit problems/ request features Store.
1 February 6, Patch Submission and Review Process William Cohen NCSU CSC 591W February 11, 2008.
Open source development model and methodologies.
TOP project – STATUS UPDATE & Workflow demo
Development process Douglas Schilling Landgraf
Software Project Configuration Management
By: Raza Usmani SaaS, PaaS & TaaS By: Raza Usmani
Kentico CMS Intranet Solution
Proposed IT Infrastructure for TOP OS project
WP18, High-speed data recording Krzysztof Wrona, European XFEL
Global Grid Forum GridForge
Open Source distributed document DB for an enterprise
OpenSAF Developer Days 2008 OpenSAF Release Management Session 15-07
A Canonical Production January 2013
Introduction to Operating System (OS)
Contributing to Open Source Projects
CS427: Software Engineering I
ESMF Governance Cecelia DeLuca NOAA CIRES / NESII April 7, 2017
Software Version System Part1: Subversion at CERN
Chapter 3: Windows7 Part 4.
The Apache HTTP Server Project
Using the Checklist for SDMX Data Providers
National Library of Medicine Segmentation and Registration Toolkit
MTS#59 - Input from CTI Silvia Almagia May 2013
OSOR - new opportunities for sharing statistical software
Chapter 2: The Linux System Part 1
Module 01 ETICS Overview ETICS Online Tutorials
Analysis models and design models
TDL Open Source Project (TOP) Input to MTS#70,
HingX Project Overview
Open Source Software Development Processes Version 2.5, 8 June 2002
Users Developers Committers Bug & Feature List CVS Checkout Latest
Concurrent Versions System
Beta releases and Product Management
CAD DESK PRIMAVERA PRESENTATION.
SDLC (Software Development Life Cycle)
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

Collaborative Software Development Joining the Apache Project Roy T. Fielding University of California, Irvine http://www.ics.uci.edu/~fielding/talks/

Once upon a time … mid 1994 Rob McCool and the NCSA httpd 1.3 public domain source code beta testers Mosaic (Netscape) Communications grabs RobM httpd development stagnates HTTP specification returns to life Patches proliferate webmasters exchange patches via www-talk@info.cern.ch 9-Dec-18

Once upon a time … Feb. 1995 Private e-mail discussion starts, proposing to compile individual patches into a single source base provide feedback to new NCSA team ensure that the results remain open source and HTTP a non-proprietary, implemented standard Brian Behlendorf offers workspace on Hyperreal We decide how to decide (the voting process) Apache is chosen for the group name Discussion moves to new-httpd@apache.org 9-Dec-18

Founders Brian Behlendorf HotWired, California Roy Fielding UC Irvine, California Rob Hartill LANL, New Mexico David Robinson Cambridge, UK Cliff Skolnick Sun Microsystems, California Randy Terbush Zyzzyva, Nebraska Robert Thau MIT, Massachusetts Andrew Wilson Elsevier, Oxford, UK 9-Dec-18

Development Constraints Globally distributed multiple time zones, varying work schedules synchronous communication is expensive, conflicting Voluntary organizational environment no Apache CEO, manager, or even secretary organizational roles are shared, rotated Heterogeneous development platforms any required tools must be ubiquitous Communication is limited to e-mail 9-Dec-18

Development Process Evolution Patch - Vote - Build +1 = yes, 0 = *shrug*, -1 = no/veto three +1 and no veto required for patch approval small quorum consensus emphasizes code review Voters - Vote Coordinator - Release Builder recognized that roles are separable, allowing rotation Concurrent Versioning System (CVS) distributed the build task, avoiding costly merges free-for-all versus propose-vote-commit STATUS agenda and Commit-then-Review 9-Dec-18

Shared Information Space www.apache.org information for users, official public releases dev.apache.org project guidelines and information for developers tips for development and building a release mailing list and tool information bugs.apache.org problem report database modules.apache.org third-party module registry 9-Dec-18

Mailing Lists @apache.org apache-announce used only for important announcements to users new-httpd primary developer discussion area apache-cvs notifications of changes to shared repositories apache-bugdb notifications of problem report creation/update others for related projects http://dev.apache.org/mailing-lists.html 9-Dec-18

Development Tools ssh: Secure Shell remote login facility http://www.cs.hut.fi/ssh/ CVS: Concurrent Versioning System http://www.cyclic.com/cyclic-pages/CVS-sheet.html GNATS: Problem Reporting and Tracking System http://www.alumni.caltech.edu/~dank/gnats.html Any ANSI C compiler gcc or egcs recommended for *nix MS Visual C++ 5.0 gdb (or your favorite debugging tools) 9-Dec-18

How to Join the Apache Project Apache is a meritocracy contribute, contribute, contribute Not just for hackers documentation problem report filtering testing problem report resolution (bug fixing) performance and security profiling new features and portability enhancements The Apache Group 9-Dec-18

Where Help is Needed 1.3.x is approaching stasis documentation and problem reports experimental modules, protocol extensions, WebDAV maintaining project agenda and support software 2.0 is being designed, prototyped layered abstractions for multithreading, shared memory, portability, and protocol streams new configuration language and run-time interface more flexible, detailed module hooks and API front-end caching and proxy/gateway awareness 9-Dec-18

Discussion What would help you to help us? Places to see: Front Door www.apache.org Developer Notes dev.apache.org PR Database bugs.apache.org Apache Week www.apacheweek.com www.ics.uci.edu/~fielding/talks/apachecon98/ 9-Dec-18