While discovering Utopian in depth recently we had some brainstorm about what kind of open-source projects get more attraction from contributors and how do they decide to give a hand to a project.
We assume that some contributors scratch their own itch to a certain degree while helping but also probably take multiplier effect into consideration how beneficial this effort is going to be helpful specifically for people needs this project or society in general.
Starting from there, we sought out for an simple yet powerful indicator which could give an rough estimation about multiplier effect of a project and we came up with a straight forward one which includes a project's GitHub statistics like: commits, stars, contributors, forks, commits and last update. If you are interested, keep on reading...
As we mentioned in README.md file;
Please give a hand to an open-source project, if you can! For sure, any open-source project moves our humanity and technology forward.
Please take a look at the project's homepage on GitHub here to
understand our vision.
How it works?
Basically, it has defaults but it's all customizable via .env
file in the root directory as expected for a Laravel project. Defaults are listed below:
But it's not that simple. Because if we can not calculate the "score" of all the project in a row, we should create our own limits. So each row you see in the picture has steps to the top. Let's go deeper.
If we think, "subscribers" affects on the "score" just 10%;
GITHUB_SUBSCRIBERS=10 => Persentage
GITHUB_SUBSCRIBERS_LIM1=5 => 0 to 5 is 1/5
GITHUB_SUBSCRIBERS_LIM2=10 => 5 to 10 is 2/5
GITHUB_SUBSCRIBERS_LIM3=25 => 10 to 25 is 3/5
GITHUB_SUBSCRIBERS_LIM4=50 => 25 to 50 is 4/5
GITHUB_SUBSCRIBERS_LIM5=100 => 50 to 100 is 5/5
That means; we multiply the ratio (e.g. we assume that we have 6 subscribers, 2/5 = 0.4)
Persentage (10% affect) * ratio (0.4) = +4% for our "score".
We loop it for all the indicators / factors so we reach a "score" from 0 to 100. There is no way to expand the span!
Attention! There is a controlling function that makes sure that our ratio is between 0 and 1.
How to customize?
When you initialize the project in your root of your server or anywhere, it follows the default values. But you can easily create your own .env
file from .env.example
file with your own parameters.
If you like to change the whole algorithm, it's all happening in /project_dir/app/Http/AnalyzeController.php
at AnalyzeController::analyze()
function. You can customize the algorithm as you wish.
Let us know, if you like to improve it!
How it was made?
We have used some common tools.
- Laravel v5.5
- Bootstrap v4.0.0
- jQuery v3.3.1
- Font Awesome v4.7.0
Why?
We would love to target our README.md file for further information.
How to contribute?
Actually any feedback is important. Because we think that Utopian society has it's own rules for repos. So if you have an idea for working example or for whole idea, we are waiting for your contribution to make this world better with the power of open-source!
Contributors
Special thanks to my friends, who helped me to hard code it.
Posted on Utopian.io - Rewarding Open Source Contributors
Hey @ikidnapmyself I am @utopian-io. I have just upvoted you!
Achievements
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit