From 49aa86df098aaf60421afeedf2c3f0b2bc9e0482 Mon Sep 17 00:00:00 2001 From: D050079 Date: Tue, 11 Aug 2020 14:57:25 +0200 Subject: [PATCH] Stable state of "Repository Activity Score" pattern --- README.md | 1 + assets/img/repository_activity_score.png | Bin 0 -> 87091 bytes .../2-structured/repository-activity-score.md | 127 ++++++++++++++++++ 3 files changed, 128 insertions(+) create mode 100644 assets/img/repository_activity_score.png create mode 100644 patterns/2-structured/repository-activity-score.md diff --git a/README.md b/README.md index 925e4e5f1..c3500ffdc 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ The below lists all known patterns. They are grouped into three [maturity levels * [InnerSource License](patterns/2-structured/innersource-license.md) - *Two legal entities that belong to the same organization want to share software source code with each other but they are concerned about the implications in terms of legal liabilities or cross-company accounting. An **InnerSource License** provides a reusable legal framework for the sharing of source code within the organization. This opens up new collaboration options, and makes the rights and obligations of the involved legal entities explicit.* * [InnerSource Portal](patterns/2-structured/innersource-portal.md) - *Create an intranet website that indexes all available InnerSource project information. This will enable potential contributors to more easily learn about projects that might interest them and for InnerSource project owners to attract an outside audience.* * [Praise Participants](patterns/2-structured/praise-participants.md) - *Thank contributors effectively to engender further engagement from them and to encourage others to contribute* +* [Repository Activity Score](patterns/2-structured/repository-activity-score.md) - *The repository activity score is a numeric value that represents the (GitHub) activity of an InnerSource project.* * [Review Committee](patterns/2-structured/review-committee.md) - *A formal review committee is setup within an org to "officiate" particular inner source projects with resources, etc.* * [Service vs. library: It's inner source, not inner deployment](patterns/2-structured/service-vs-library.md) - *Teams in a DevOps environment may be reluctant to work across team boundaries on common code bases due to ambiguity over who will be responsible for responding to service downtime. The solution is to realize that often it's possible to either deploy the same service in independent environments with separate escalation chains in the event of service downtime or factor a lot of shared code out into one library and collaborate on that.* diff --git a/assets/img/repository_activity_score.png b/assets/img/repository_activity_score.png new file mode 100644 index 0000000000000000000000000000000000000000..7251c94ca1fb5e30f46ea892d44bb6987730674c GIT binary patch literal 87091 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�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

bLNn8Y{MQ&_l0ZvIkqj| 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 CLpvh? literal 0 HcmV?d00001 diff --git a/patterns/2-structured/repository-activity-score.md b/patterns/2-structured/repository-activity-score.md new file mode 100644 index 000000000..8da621f9e --- /dev/null +++ b/patterns/2-structured/repository-activity-score.md @@ -0,0 +1,127 @@ +## Title + +Repository Activity Score + +## Patlet + +Potential contributors want to find active InnerSource projects in need of their help. By calculating a repository activity score for each project, a ranked list of projects can be created (e.g. on the [InnerSource portal](innersource-portal.md)), so that potential contributors can more easily determine which project they want to contribute to. + +## Problem + +**In which order** shall InnerSource projects be presented? Typical ranking KPIs like *GitHub Stars*, *Number of Forks*, *Number of Commits*, *Lines of Code*, *Last Update* aren't sufficient to concisely indicate the activity of a project. + +Active projects with a lot of traction, but also fairly new and enthusiastic projects that are in need of new contributors should be ranked higher than matured projects with little activity or in maintenance mode. + +A new metric derived from several KPIs is needed to define a reliable and versatile score for a project's activity level. +It can be used to sort projects according to their activity level. + +## Story + +When InnerSource is practiced for a long time or scales beyond a certain number of projects (let's say 50 to give a meaningful threshold) it is hard to find the currently most popular and active InnerSource projects. Projects that exist for a long time are well-known but may no longer be very active. Fairly new projects on the other hand don't have a reputation or an active community yet. + +A list of InnerSource projects should not be considered a static resource, but an exciting place to discover and explore new and active projects, just like a news page listing the most interesting topics of the day first. Thus it is beneficial when the order of the projects is regularly updated and changes according to the project's popularity and activity. + +These considerations let to a first prototype to calculate a repository activity score, which worked surprisingly well and determines an ever-changing order of projects according to their activity. + +## Context + +Discovering InnerSource projects can be facilitated with the [InnerSource Portal](innersource-portal.md) and the [Gig Marketplace](gig-marketplace.md) pattern, or by promoting projects on other communication channels and platforms. The activity score defines a default order in which projects are presented to the community. + +## Forces + +Automated KPIs that can be fetched by querying the GitHub API are only part of the truth. What about code quality, the availability of good documentation, or an active and helping community that makes the project a fun place to contribute? + +Such "soft" KPIs would have to be manually or semi-automatically added to the calculation and the resulting score. If tools exist that provide more context for the repository, like a code coverage reporting, they can easily be worked in. + +## Sketch + +![Ecosystem for the Repository Activity Score](../../assets/img/repository_activity_score.png) + +A centralized approach for calculating an applying the repository activity score. For more details, see [Resulting Context](#resulting-context) + +## Solutions + +The repository activity score is a numeric value that represents the (GitHub) activity of an InnerSource project. It is derived automatically from repository statistics like GitHub stars, watches, and forks and may be enriched with KPIs from other tools or manual evaluations. + +In addition, it considers activity parameters like last update and creation date of the repo to give young projects with a lot of traction a boost. +Projects with contributing guidelines and issues (public backlog) receive a higher ranking as well. + +All of this can be fetched and calculated automatically using the result set of the [GitHub search API](https://developer.github.com/v3/search/#search-repositories) and [GitHub statistics API](https://developer.github.com/v3/repos/statistics/). Other code versioning systems like BitBucket, Gitlab, Gerrit can be integrated as well if a similar API is available. + +The code below assumes the variable `repo` contains an entity fetched from the GitHub `search` API and the `participation` object contains an entity from the GitHub `stats/participation` API. + +Manual adjustments according to soft KPIs (see [Forces](#forces)) can be made on top if needed. + +``` javascript +// calculate a virtual InnerSource score from stars, watches, commits, and issues +function calculateScore(repo) { + // weighting: + // forks and watches count most, then stars, add some little score for open issues, too + let iScore = 1 + repo["forks_count"] * 5 + repo["watchers_count"] + repo["stargazers_count"] / 3 + repo["open_issues_count"] / 5; + let iDaysSinceLastUpdate = (new Date().getTime() - new Date(repo.updated_at).getTime()) / 1000 / 86400; + // updated in last 3 months: adds a bonus multiplier between 0..1 to overall score (1 = updated today, 0 = updated more than 100 days ago) + iScore = iScore * (1 + (100 - Math.min(iDaysSinceLastUpdate, 100)) / 100); + // evaluate participation stats for the previous 3 months + repo._InnerSourceMetadata = repo._InnerSourceMetadata || {}; + if (repo._InnerSourceMetadata.participation) { + // average commits: adds a bonus multiplier between 0..1 to overall score (1 = >10 commits per week, 0 = less than 3 commits per week) + let iAverageCommitsPerWeek = repo._InnerSourceMetadata.participation.slice(repo._InnerSourceMetadata.participation - 13).reduce((a, b) => a + b) / 13; + iScore = iScore * (1 + (Math.min(Math.max(iAverageCommitsPerWeek - 3, 0), 7)) / 7); + } + // boost calculation: + // all repositories updated in the previous year will receive a boost of maximum 1000 declining by days since last update + let iBoost = (1000 - Math.min(iDaysSinceLastUpdate, 365) * 2.74); + // gradually scale down boost according to repository creation date to mix with "real" engagement stats + let iDaysSinceCreation = (new Date().getTime() - new Date(repo.created_at).getTime()) / 1000 / 86400; + iBoost *= (365 - Math.min(iDaysSinceCreation, 365)) / 365; + // add boost to score + iScore += iBoost; + // give projects with contribution guidelines (CONTRIBUTING.md) file a static boost of 100 + iScore += (repo["_InnerSourceMetadata"] && repo["_InnerSourceMetadata"]["guidelines"] ? 100 : 0); + // build in a logarithmic scale for very active projects (open ended but stabilizing around 5000) + if (iScore > 3000) { + iScore = 3000 + Math.log(iScore) * 100; + } + // final score is a rounded value starting from 0 + iScore = Math.round(iScore - 1); + // add score to metadata on the fly + repo._InnerSourceMetadata.score = iScore; + return iScore; +} +``` + +## Resulting Context + +Contributors are free to commit a part of their time to InnerSource project. They may choose to contribute to a project that they depend on for the work in their regular team anyways. However they may also choose to contribute to something completely different, based on their interests and personal development goals. + +Projects can be sorted and presented by repository activity score to give a meaningful order in a portal presenting projects to potential new contributors. The score can be calculated on the fly or in a background job that evaluates all projects on a regular basis and stores a list of results. + +A crawler that regularly searches all InnerSource repositories (e.g. tagged with a certain topic in GitHub) can be a helpful addition as well. It provides a ranked list of projects that can be used as an input for tools like the [InnerSource Portal](innersource-portal.md), a search engine, or an interactive chat bot. + +## Rationale + +The repository activity score is a simple calculation based on the GitHub API. It can be fully automated and easily adapted to new requirements. + +## Known Instances + +Used in SAP's InnerSource project portal to define the default order of the InnerSource projects. It was first created in July 2020 and is fine-tuned and updated frequently ever since. + +When proposed to InnerSourceCommons in July 2020, this pattern emerged. + +## Status (optional until merging) + +* First Draft: 30th July 2020 +* Second Draft: 5th August 2020 +* Third Draft: 6th August 2020 + +## Author(s) + +[Michael Graf (SAP)](mi.graf@sap.com) + +## Acknowledgements + +Thank you to the InnerSource Commons Community for lightning-fast advice, and a lot of helpful input to feed this pattern! Especially: +* Johannes Tigges +* Sebastian Spier +* Maximilian Capraro +* Tim Yao \ No newline at end of file