Skip to content

Program finding popular GitHub projects with a bus factor of 1.

Notifications You must be signed in to change notification settings

wkargul/bus-factor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bus-factor

Program finds popular GitHub projects with a bus factor of 1.

Input: programming language name, number of projects to consider.

Output: list of tuples containing the project's name, top contributor's name and their contribution percentage.

With given programming language name (language) and a project count ( project_count ), program fetch the first project_count most popular projects (sorted by the number of GitHub stars) from the given language. Then, for each project, its contributor statistics are inspected. Project's bus factor is 1 if its most active developer's contributions account for 75% or more of the total contributions count from the top 25 most active developers.

What does bus factor mean?

Bus factor is a measurement which attempts to estimate the number of key persons a project would need to lose in order for it to become stalled due to lack of expertise. It is commonly used in the context of software development.

For example, if a given project is developed by a single person, then the project's bus factor is equal to 1 (it's likely for the project to become unmaintained if the main contributor suddenly stops working on it).

Example

$./ bus-factor --language rust --project-count 50

project: 996.ICU              user: 996icu               percentage: 0.80
project: ripgrep              user: BurntSushi           percentage: 0.89
project: swc                  user: kdy1                 percentage: 0.79
project: Rocket               user: SergioBenitez        percentage: 0.86
project: exa                  user: ogham                percentage: 0.85
project: rustdesk             user: rustdesk             percentage: 0.85
project: sonic                user: valeriansaliou       percentage: 0.94
project: iced                 user: hecrj                percentage: 0.88
project: delta                user: dandavison           percentage: 0.88
project: navi                 user: denisidoro           percentage: 0.79
project: hyper                user: seanmonstar          percentage: 0.79
project: book                 user: carols10cents        percentage: 0.76
project: xsv                  user: BurntSushi           percentage: 0.92
project: py-spy               user: benfred              percentage: 0.81

Using

Clone the repository:

git clone https://github.com/wkargul/bus-factor.git

Build the repository using Docker:

docker build --build-arg REPO_NAME="bus-factor" -t bus-factor:latest .

Run the application either with your env file (consists of GITHUB_TOKEN=):

docker run --env-file Docker-test.env bus-factor:latest bus-factor --language <language> --project-count <project_count>

or just with env var as a command line parameter:

docker run -e GITHUB_TOKEN=<your GITHUB_TOKEN> bus-factor:latest bus-factor --language <language> --project-count <project_count>

About

Program finding popular GitHub projects with a bus factor of 1.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published