Building Software for Software Technical Committee...
Transcript of Building Software for Software Technical Committee...
![Page 1: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/1.jpg)
Software Technical CommitteeBuilding Software forSoftware Development Analytics
January 2018
Jesus M. Gonzalez-Barahona, Bitergia / URJCHarish Pillay, Red HatSean Goggins, University of Missouri
![Page 2: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/2.jpg)
Why?We need to understand how software is being developed:
• Open Development Analytics• Project Health
Activity, community, processes, signals, values, and goals.
![Page 3: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/3.jpg)
Open Development Analytics
![Page 4: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/4.jpg)
Open Development Analytics
A step beyond in project transparency
From “show me the code”to “show me the numbers”
![Page 6: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/6.jpg)
MissionProduce integrated, open source software for analyzing software development, and definition of standards and models used in that software in specific use cases
Establish implementation-agnostic metrics for measuring community activity, contributions, and health
Optionally produce standardized metric exchange formats, detailed use cases, models, or recommendations to analyze specific issues in the industry/OSS world
![Page 7: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/7.jpg)
How?
“Meeting point for people defining & using software metricsandpeople implementing analytics for software development”
![Page 8: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/8.jpg)
Founding Members
![Page 9: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/9.jpg)
How?Structure
Two Committees:
Metrics SoftwareImplementation-agnostic community development
metrics
Integrated FOSS tools for software development
analytics
![Page 11: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/11.jpg)
Prospector
![Page 12: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/12.jpg)
Prospector
• Open source projects vary greatly in strength, significance, vibrancy and influence
• No simple way to evaluate or compare projects objectively, other than through individual experts
• Risk of committing to declining projects or missing out on thriving ones
• Open Source projects are not always openly trackable
![Page 13: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/13.jpg)
Prospector - How?
• Providing an objective, consistent and repeatable set of metrics of projects for success, sustainability and vibrancy.
• These can then coherently help assess and track continuously open source projects, which in turn would help drive the evolution of projects
![Page 14: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/14.jpg)
Prospector
![Page 15: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/15.jpg)
cregit
Framework to create evolutionary views of source code stored in a git repository,Allow the summarizing of contributions at token, function, or file level.Current support for C, C++, Java, go, and pythongithub.com/cregit
![Page 16: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/16.jpg)
Cregit: improving accuracy of git-blame
• Git-blame tracks changed lines, not tokens• Last person who modified part of a line, becomes “contributor” of the entire line• Cregit is capable of tracking the contributor of each token in a line
• In Linux:• blame per line is accurate in 75%• blame per token (using cregit) is accurate 95%• Results based on statistical sampling and manual analysis, with 95% reliability
with +/-5% of error• Currently in use by the Linux Kernel
cregit.linuxsources.org
![Page 17: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/17.jpg)
cregit
![Page 18: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/18.jpg)
GrimoireLab
Software Development Analytics Toolset
grimoirelab.github.io
● Retrieval from +30 data sources● Storage of all metadata
(ElasticSearch)● Computing of interesting metrics● Visualization● Reports
![Page 20: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/20.jpg)
How? Software CommitteeGrimoireLab
![Page 21: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/21.jpg)
GHDataPython library and web service for GitHub Health and Sustainability metrics
Uses data from the GHTorrent database and other sources
osshealth.github.io/ghdatagithub.com/OSSHealth/ghdata
![Page 22: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/22.jpg)
How? Software CommitteeLive demos, proofs of concept
GrimoireLab:opnfv.biterg.iocauldron.io
Prospector:prospector.bitergia.net
Cregit:cregit.linuxsources.org/
GHData:github.com/OSSHealth/ghdata
![Page 23: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/23.jpg)
Building a Community
You're welcome to join!!
![Page 24: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/24.jpg)
Building a CommunityHow to Join
Mailing ListsPeriodic MeetingsWeekly HangoutsIRC ChannelsIssuesPull requests
chaoss.community
![Page 26: Building Software for Software Technical Committee ...grimoirelab.github.io/slides/2018-02-02/3_CHAOSS-Software-TC.pdf · software development analytics . chaoss.community Software](https://reader034.fdocuments.net/reader034/viewer/2022043012/5fa95ab06d9b9d26896a5453/html5/thumbnails/26.jpg)
License & Credits
• “Napoleon’s Russian campaign of 1812”, Original by Charles MinardLicense: Public domainen.wikipedia.org/wiki/Charles_Joseph_Minard#/media/File:Minard.png
• “Aged Come In We’re Open”, Picture by Czarina Alegre in FlickrLicense: Creative Commons Attribution 2.0flic.kr/p/fjGamh
• Good code”, Comic by Randall Munroe, XKCD 844License: Creative Commons Attribution-NonCommercial 2.5xkcd.com/844/
(c) 2017-18 CHAOSS. Some rights reserved. This presentation is distributed under the “Attribution-ShareAlike 4.0” license, by Creative Commons, available at creativecommons.org/licenses/by-sa/4.0/