1 February 6, 2008 1 Patch Submission and Review Process William Cohen NCSU CSC 591W February 11, 2008.

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

 Prof. Dr. M. H. Assal Introduction to Computer AS 26/10/2014.
Software Configuration Management Donna Albino LIS489, December 3, 2014.
Provided by OSS Watch Licensed under the Creative Commons Attribution 2.0 England & Wales licence
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.
SubVersioN – the new Central Service at DESY by Marian Gawron.
An Introduction to Device Drivers Sarah Diesburg COP 5641 / CIS 4930.
A Simple Introduction to Git: a distributed version-control system CS 5010 Program Design Paradigms “Bootcamp” Lesson 0.5 © Mitchell Wand, This.
Overview of Linux Dr. Michael L. Collard 1.
Software Configuration Management (SCM)
Software Process Guidelines VIETTEL Corporation. CONTENTS I.Standard folder structure II.Review Process III.Data Repository IV.Naming Convention 2.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
An Intro to Concurrent Versions System (CVS) ECE 417/617: Elements of Software Engineering Stan Birchfield Clemson University.
Subversion (SVN) A Revision Control System Successor to CVS Carlos Armas Hervey Allen.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
About Openness Letizia Jaccheri Pisa
Orchard What is Orchard? 1 Orchard is the new web-based Wellness and Nutrition Services Management System currently being developed by OSSE. The new system.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
DevelopersCommitters Users I’m getting the following exception…. Anybody have any clue why??? +1, I like that idea… Source & Binary Code Repository Bug.
A Simple Introduction to Git: a distributed version-control system CS 5010 Program Design Paradigms “Bootcamp” Lesson 0.5 © Mitchell Wand, This.
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
An Introduction to Device Drivers Ted Baker  Andy Wang COP 5641 / CIS 4930.
Intro to Git presented by Brian K. Vagnini Hosted by.
Version Control and SVN ECE 297. Why Do We Need Version Control?
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Outline Announcements: –HW II due today! –HW III on web CVS.
1 Lesson 6 Software and Hardware Interaction Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
1 February 6, Patches William Cohen NCSU CSC 591W February 6, 2008.
Drupalcamp Vienna 2009 Development workflow and deployment at Klaus Purer
1 April 14, Starting New Open Source Software Projects William Cohen NCSU CSC 591W April 14, 2008.
1 March 19, Test Plans William Cohen NCSU CSC 591W March 19, 2008.
1 April 2, Software Packaging and Releasing Best Practices William Cohen NCSU CSC 591W April 2, 2008.
Chapter 3 Applications Software: Getting the Work Done.
1 March 12, Testing William Cohen NCSU CSC 591W March 12, 2008.
1 January 14, Evaluating Open Source Software William Cohen NCSU CSC 591W January 14, 2008 Based on David Wheeler, “How to Evaluate Open Source.
1 March 10, Project Planning William Cohen NCSU CSC 591W March 10, 2008.
1 April 21, Funding Open Source Software Projects William Cohen NCSU CSC 591W April 21, 2008.
Open source development model and methodologies.
Linux - computer operating system
CS5220 Advanced Topics in Web Programming Version Control with Git
Open-O Integration Project Introduction
Open Source Software Development Environment
William Cohen NCSU CSC 591W February 27, 2008
Provided by OSS Watch Open source licensing The licence is what determines whether software is open source The licence must be approved.
Software Packaging and Releasing
SVN intro (review).
William Cohen NCSU CSC 591W February 25, 2008
Introduction to .NET Core
Version control, using Git
Version Control System using Git
IBM Software Group | Tivoli Brand Software
GLAST Release Manager Automated code compilation via the Release Manager Navid Golpayegani, GSFC/SSAI Overview The Release Manager is a program responsible.
Software Documentation
Issue Tracking Systems
Software Version System Part1: Subversion at CERN
Version Control System
Introduction to the Kernel and Device Drivers
An Introduction to Device Drivers
Making your good ideas count!
X in [Integration, Delivery, Deployment]
Design and Programming
Chapter 2: System Structures
Version Control at Google
Git CS Fall 2018.
TWO CASE STUDIES OF OPEN SOURCE SOFTWARE DEVELOPMENT: APACHE AND MOZILLA HAKAN TERZIOGLU 2/24/2019 EEL 5881.
Module 5 Getting Help.
Outline System architecture Current work Experiments Next Steps
Carthage ios 8 onwards Dependency manager that streamlines the process of integrating the libraries into the project.
Outline Announcements: Version control with CVS HW II due today!
Presentation transcript:

1 February 6, Patch Submission and Review Process William Cohen NCSU CSC 591W February 11, 2008

2 February 6, Open Source Software ● Permissive licenses allow: ● Anyone to inspect the code ● Anyone to produce changes to code ● Anyone could have their own version: ● License allows forks of code ● Maintaining separate code base has overhead ● Want to merge changes into mainline version: ● Make use of other people's improvements ● Reduce overhead of maintaining separate version(s)

3 February 6, Patches ● Concisely describe the changes made to the software ● Generated either by comparing: ● Different files or directory on local machine ● Comparing files to software repository ● Allow changes to be applied to different versions of the software

4 February 6, Patch Guidelines ● Detail of review varies by project ● Common elements for various OSS projects: ● Project coding standards specified ● Matching updates to documentation ● Patches focused fixing one issue ● Patch submitter may needs to resubmit at intervals (patches get dropped on mailing lists)

5 February 6, Putting Patch into Code Repository ● Revision control systems have access control: ● Random people cannot check into code ● Some developers may only be able to check code into some area ● Some developers may have global write privileges ● New people usually need developer with write privileges to check in change ● Developers give new person access to code repository when: ● New person has record of developing good code ● New person has done required paperwork (e.g. Copyright assignment)

6 February 6, GCC Patch Submission ● Requires run of test suite for patch ● Verify patch does not break things ● Centralize repository ● Code repository write permission: ● Global write privileges ● Relatively few developers ● No approval required ● Local write privileges: ● Authorized to check in changes in the areas their areas without approval ● Changes in other areas require approval ● Write after approval: ● All changes need review before check in

7 February 6, Linux Kernel Patch Submission ● Uses distributed repository ● Mainline version maintained by Linus Torvald ● Trusted people feed Linus changes via their repositories ● Patch submitters or reviewer need to check mainline Linux repository for their changes (generally no ack) ● Informal testing of kernel patches

8 February 6, Mozilla Patch Submission ● Two levels of review: ● Module review ● Super review ● Perform daily builds on Linux, Windows, and Mac OSX ● Quick feedback if anything breaks ● Code submitters need to be available to fix issues ● Manual “smoke” testing

9 February 6, Apache Patch Submission ● Type review approaches: ● Commit-then-review ● Review-then-commit ● Commit-then-review: ● Used for development version ● Developer checks in code ● Other developers evaluate code (and any can veto change to revert it) ● Review-then-commit ● Used for released version and major changes ● Require concensus, three positive and no negative votes

10 February 6, Further Reading ● Patch Review in Open Source Software Development Communities: A Comparative Case Study by Jai Asundi and Rajiv Jayant ● A preliminary examination of code reivew processes in open source projects by Peter C. Rigby and Daniel German ● ● ●