Professional Documents
Culture Documents
Repositories
The Whole Picture
Tooling
Several tools support the storage and management of software
artifacts created during the lifespan of a software endeavor
•
Several Alternatives
• SourceForge, 1999
• Launchpad, 2004
• CodePlex, 2006
• GitHub, 2008
Results:
Github: 1,153,059
Sourceforge: 624,989
Google Code: 287,901
CodePlex: 49,839
Source: http://readwrite.com/2011/06/02/github-has-passed-sourceforge#awesm=~olI7ORJuVtmelR
Comments from the Community
• They are the most used repositories within software development processes,
since the source code is the most valuable asset of a software endeavor
Distributed
Centralized
• CVS - 1990 • Bitkeeper - 1997
• SVN - 2000 • Git - 2005
• Bazaar - 2005
• Mercurial - 2005
Repos and VCS
VCS Repos
Git GitHub, Bitbucket, Codeplex, SourceForge
CVS Upgrade!
Usage
https://www.openhub.net/repositories/compare
Advantages of DVCSs
Decentralization
Technical Advantages of DVCSs
• Operations such as diff, log, branch and merge perform faster than in
Structural Advantages
• DVCSs allow teams to easily create, implement, or switch between
different workflow models. For example,
• The Integration-manager model
• The Benevolent dictator model
DVCSs keep new data, which will lead to new research questions
related to how DVCSs affect processes, products, and people around
software projects
• The repositories are smaller in size than the centralized ones,
yet contain more information about contributions and
workflows.
• The data extraction and repositories cloning are faster than
before.
• There is true authorship information
Research Advantages
In GitHub: https://github.com/twbs/bootstrap
Web site: http://getbootstrap.com/
Bootstrap info
Graphs: Contributors (all)
It shows a graph for all of the contributions, followed by smaller graphs showing
the contributions by the individual developers
UNFlea+ info
It shows the number of commits that have been made over time to the master
branch
Graphs: Contributors
It is possible to select a specific time period for these
UNFlea+ info
Contributions as a Work Measure
Research questions:
• What is the size (and features) of a typical commit?
• How often do developers commit?
•
Graphs: Commits
It shows the number of commits per week over the life of the project
UNFlea+ info
Analysis of the Commits Number
UNFlea+ info
It shows what time of day and which day most commits get done
Graphs: The Punch Card
Bootstrap info
Analysis of the Punch Card
It this a great way to get insight into the times when your team is
most productive
Graphs: the Network
It shows the number of branches and commits on those branches
throughout a project’s history (Branching)
It also shows any forks that contributors have created
UNFlea+ info
Analysis of the Network
•
Analysis of the Member List
• It can be a great way to get a sense of the popularity for open source
projects
• It also gives an assessment of the utility of the graphs offered by the GitHub
How to Contribute to a Project