Global Software Development in the FreeBSD Project Diomidis Spinellis Athens University of Economics and Business and FreeBSD.

Slides:



Advertisements
Similar presentations
Bring The Best to VeriSign. 2 CORE: T2 Engineer –QA Req # : 227,226,237,233,238 Position : Software Engineer – QA Job Descriptions + The candidate should.
Advertisements

Reshaping Digital Library Services at National Level – Why, How, When? Kristiina Hormia-Poutanen, Director of Library Network Services, Finland Liber annual.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 6A Operating System Basics PART II.
What is an operating system? Is it software?
Software Development Management A simplistic howto Mathieu Lacage service DREAM.
Client/Server Computing Ajay Kumar Shrivastava. Network Operating System (NOS) It manages the services of the server It exists at the session and presentation.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Embedded Web Hyung-min Koo. 2 Table of Contents Introduction of Embedded Web Introduction of Embedded Web Advantages of Embedded Web Advantages of Embedded.
Linux vs. Windows. Linux  Linux was originally built by Linus Torvalds at the University of Helsinki in  Linux is a Unix-like, Kernal-based, fully.
U N C L A S S I F I E D LA-UR LANL Exchange / Blackberry Deployment June 2, 2009 Anil Karmel Solutions Architect Network and Infrastructure Engineering.
0-1 Team # Status Report (1 of 4) Client Contact –Point 1 –Point 2 Team Meetings –Point 1 –Point 2 Team Organization –Point 1 –Point 2 Team #: Team Name.
0-1 Team # Status Report (1 of 4) Client Contact –Status Point 1 –Status Point 2 Team Meetings –Status Point 1 –Status Point 2 Team Organization –Description.
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.
0-1 Team ?? Status Report (1 of 3) Client Contact –Point 1 –Point 2 Team Meetings –Point 1 –Point 2 Team Organization –Point 1 –Point 2 Team 1: Auraria.
Free and open-source software (also known simply as Free software or Open source software) is software created by loose networks of people (both companies.
Wellcome Trust Centre for Gene Regulation & Expression College of Life Sciences, University of Dundee Dundee, Scotland, UK Continuous Integration 0.
A Comparative Analysis of the Efficiency of Change Metrics and Static Code Attributes for Defect Prediction Raimund Moser, Witold Pedrycz, Giancarlo Succi.
Lesson 8 Operating Systems
Selected Topics in Software Computing Distributed Software Development CVSQL Final Project Presentation.
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Software Engineering Modern Approaches
Does Distributed Development Affect Software Quality???? An Empirical Case Study of Windows Vista Christian Bird, Premkumar Devanbu, Harald Gall, Brendan.
Software Testing Life Cycle
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
CVS vs SVN Presented by: Anusha Kolla. Concurrent Version Systems(CVS)  System that lets groups of people work simultaneously on groups of files.  Version.
Software Engineering CS3003
Bring The Best to VeriSign. 2 VM3:Software Engineer –Network Operations Req # : 175,183 Position : Software Engineer - Network Operations Job Description.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 23 How Web Host Servers Work.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Large Software Projects Deborah Black Vice President, Windows Division Microsoft.
Visualizing Technology© 2012 Pearson Education, Inc. Publishing as Prentice Hall1 PowerPoint Presentation To Accompany Chapter 6 System Software.
Operating System Part II: Introduction to the Unix Operating System (The Evolution of Unix)
O’Reilly Open Source Con October 19, 2005 FreeBSD Release Engineering Murray Stokely
2002 Networking Operating Systems (CO32010) 1. Operating Systems 2. Processes and scheduling 3.
DevelopersCommitters Users I’m getting the following exception…. Anybody have any clue why??? +1, I like that idea… Source & Binary Code Repository Bug.
February 6-8, 2006[Joint Techs] Albuquerque, NM Performance Tool Development: NLANR Network Performance Advisor J. W. Ferguson NCSA.
FreeBSD Software Management. WatITis | Collaboration in a Distributed Environment | December 2, 2003 | Automagic Software Management Overview FreeBSD.
Berkeley Software Distribution
UNIX Unit 1- Architecture of Unix - By Pratima.
1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Lecture 2: OS Structures (Chapter 2.7)
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
Process Modeling Across the Web Information Infrastructure Chris Jensen and Walt Scacchi Institute for Software Research School of Information and Computer.
195Eg Ethernet Wired LAN. 38,400,N,8,1 RJ-45 Connector (RS-232) Terminal Window (HyperTerminal, ESTeem Utility, Putty, TerrTerm, etc) Serial Port Access.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Chapter 1: Introduction to Linux. 2 Introduction Computer Components: –Hardware –Software Types of hardware and software Important components of an OS.
Cruise Training Introduction of Continuous Integration.
MINIX 3 – Introduction Béat Hirsbrunner Lecture 1, 18 September 2012 Main reference Andrew S. Tanenbaum, Albert S. Woodhull Operating Systems : Design.
As Partial fulfilment of Master of Computer Application [M.C.A. sem-6] Submitted by: – Suman M chauhan Project Guide: Mrs Vaishali Kaneriya.
1 The FreeBSD Project: a Replication Case Study of Open Source Development.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Open Source Project Development – A case study - CSC8350, 4/07/ Instructor: Xiaolin Hu - Presenters: Fasheng Qiu & Xue Wang.
Antonio Hansford ITEC 400 Berkeley Software Design April 14, 2016.
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.
Computer System Structures
Introduction to PHP and MySQL – Creating Database-Driven Websites
Fundamentals of Information Systems, Sixth Edition
Advanced Configuration
OPEN SOURCE.
OPEN SOURCE.
Popular Operating System Chapter 8
Computer Software CS 107 Lecture 2 September 1, :53 PM.
A UNIX OPERATING SYSTEM
Objective Understand the concepts of modern operating systems by investigating the most popular operating system in the current and future market Provide.
Lesson 8 Operating Systems
Chapter 2: The Linux System Part 1
Objective Understand the concepts of modern operating systems by investigating the most popular operating system in the current and future market Provide.
Presentation transcript:

Global Software Development in the FreeBSD Project Diomidis Spinellis Athens University of Economics and Business and FreeBSD

Outline  FreeBSD  Methodology  Findings –Global development –Productivity and quality –Human interactions

Rationale  Rough side of global software development –“Setting benchmarks in global outsourcing” –“If it works there, it works everywhere”  Practices that work  Repository data –Mining incidental data –Drawing conclusions

FreeBSD  Complete operating system –Open source –High performance application servers –Networked embedded systems  Derived from BSD Unix  Focus on stability and reliability –smallbusiness.yahoo.com –Part of Apple’s Mac OS X

Family Tree

Development  ~350 developers –Documentation Third party application ports ~15700 Operating system utilities ~9.8MLoC Kernel ~3.8MLoC Documentation

Development Facilities  CVS (12 years of historical data; >938k)  Problem reports (>95k)  Mailing lists (>100)  Tinderbox  Web site –Developer’s handbook –Release engineering –Browsable CVS –Mailing lists –PRs

Development Process  Unpaid volunteers  Teams –Core –Release engineering –Security –Ports –Donations  Committer etiquette  Mentoring

Global Development

Around the Globe

Division of Work

Hold and Advance

… and Fix Closed GNATS entries per area

Roads and Buildings

Round the Clock

Passing Work Around

Productivity and Quality + Round the clock development + Software and hardware diversity - Lack of face-to-face communication - Asynchronous communication ? A more rigorous process is required ? Cultural diversity

Productivity  More developers produce more software (base case)  r=0.67 (95% CI)

Productivity  … but developer distance doesn’t affect productivity.  r=-0.14 (95% CI)

Code Style  r=0.05 (95% CI)

Defect Density  r=0.07 (95% CI)

Human Interactions  Look for neighbors –Cooperating developers –Mentors and mentees Jan Van Haasteren: Neighbours

Cooperating developers  Mean distance between –any two FreeBSD developers: 6,701km  4010 instances of commits –Same file –Same day –Different developers –Mean distance: 6,489km

Mentors and mentees Min¼MedianMean¾Max Any M/M

FreeBSD is Global  Round the clock development  No ill effects on –Productivity –Code quality –Bug density  Distance –Doesn’t show up in ad hoc cooperation –Appears to matter in mentoring

Tesekur Ederim!  