abharya
abharya on Hacker News
Posted by
abharya on Thursday February 18, 2021 @01:55PM
from the github.com dept.
There is no exclusive focus, we are just starting somewhere where we can see the various metrics. Plan is to expand to non-github projects and other places (like custom issue trackers), but this is not straightforward as it sounds. Ideas welcome!.
https://github.com/ossf/criticality_score/issues/29
coreutils is in the top 200 list, c_top_200.csv:coreutils,
https://github.com/coreutils/coreutils,C,90,0,240,5,2.2,50,1...There will always be edge cases and scenarios we are not taking into account, please provide feedback on issue tracker and provide any suggestions so we can account these.
It is definitely difficult especially with critical dependencies. We are looking for any criteria to identify these in automated fashion. Parallely, for ones we know about those are we are trying to run our automated tools on. E.g. glib, cairo, harfbuzz are all continuously fuzzed as part of OSS-Fuzz -
https://github.com/google/oss-fuzz/tree/master/projects
That is a bug, will be fixed soon.
The issue with the mirror is we don't get the important stats to make decisions. E.g. number of contributors, issue changes due to custom issue tracker. We are still thinking on how to add information from such cases in automated fashion, ideas welcome!
This is still an early project to start somewhere.
We are working on this problem as well. Trying to identify dependency trees and which smaller projects are the most widely used (indirect deps) and will impact the most on the critical projects in the list.
We have to start somewhere. It is understandable that this is not complete, so welcome your ideas to discover such projects. Please think of any metrics/ways to find such projects.
They are there:
cplusplus_top_200.csv:llvm-project,https://github.com/llvm/llvm-project,C++,48,0,2573,5,652.3,2...
c_top_200.csv:postgres,https://github.com/postgres/postgres,C,124,0,50,5,41.1,52,1,...
sqlite sorry since it is not hosted on github, and we do plan to add non-github repos in future.
Yes correct. Right now, we are query-ing projects hosted on Github, but will be expanding to our source control system in the near future.
World is not perfect. In case of gcc, it is only a mirror on github [
https://github.com/gcc-mirror/gcc], so we dont get all the metrics, we do plan to improve this part [but this will be slow to clone repo, know their custom issue trackers, etc].
Gnucash is still a popular project, has like ~7k downloads a week, see wikipedia page.
It does seem to be popular w.r.t user downloads and other github metrics.
E.g.
https://sourceforge.net/projects/gnucash/files/stats/timelin...
Wikipedia - "As of July 2018, SourceForge shows a count of over 6.3 million downloads of the stable releases starting from November 1999[24] Also, Sourceforge shows that current downloads are running at ~7,000 per week.[25] This does not include other software download sites as well as Linux distributions that provide download from their own repositories."
As per Github (see languages section on bottom right), Cpython is 63% Python, and 29% C code, so its api returns Python as main language. cpython is in top 10 in python_top_200.csv
- Other metrics such as how many contributors and organizations are involved, how many user feature requests and bugs getting reported, those are all important project importance and not just "dependency count". some projects can be standalone, so as per your algo, those should be very low.
- Downloads data is not available for most repos, please find a reliable metric to use.
- Package repo dependencies works, but it does not work for C/C++. At some point, we will integrate github's dependency count info as well.
These are just some initial metrics we picked for v1. Please suggest more by filing by a github issue here -
https://github.com/ossf/scorecard/issues
Over time, we will add more real time metrics such as open vulnerabilities, etc
The goals are different. Our goal is to help both open source developer improve their project so that it is more secure for the community in the long term. It also gives the consumer this information for free, rather than paying / subscribing to a service.
We are still thinking of ways to capture scores for various open source projects in an automated fashion and/or work with GitHub to display this kind of information as part of their user interface. Right now, project maintainers need to run it themselves.