Google представил рейтинг критически важных открытых проектов

Компания Google предложила систему для ранжирования открытых проектов по степени их важности для отрасли. Рейтинг поможет выделить критические важные проекты от которых многое зависит, и которым в первую очередь необходимо предоставить ресурсы на сопровождение, разработку и обеспечение безопасности. При помощи указанного рейтинга организации, готовые предоставить помощь и поддержку разработки, смогут определить проекты, заслуживающие первоочередного внимания.

Так как важность проекта величина не очевидная и для разных областей могут применяться разные критерии, Google предложил использовать уровень критичности (Criticality Score), для расчёта которого задействован алгоритм, предложенный известным программистом Робом Пайком (Rob Pike), стоявшим у истоков Unix, Plan 9, Inferno и UTF-8. Алгоритм учитывает 10 весовых коэффициентов, на основе которых рассчитывает уровень важности в диапазоне от 0 (наименее критичный) до 1 (наиболее критичный).

0_1607687971.png

При расчёте учитывается число зависящих проектов (ключевой параметр, вес 2), число принявшие участие разработчиков (ключевой параметр, вес 2), время существования проекта (1), время последнего обновления (-1), число поддерживающих проект организаций (1), среднее число изменений в год (1), чисто комментариев при обсуждении проблем (1), число релизов в год (0.5), число закрытых и обновлённых сообщений об ошибках за последние 90 дней (0.5). При желании организации могут добавить дополнительные критерии, на основе своих предпочтений, или изменить значение предложенных весовых коэффициентов. Рейтинг вычисляется полностью автоматизированно специально подготовленной утилитой criticality_score на основе информации из репозитория проекта.

Мэйнтейнеры проектов, отмеченных как критически важные, имеют возможность обратиться в организацию OpenSSF (Open Source Security Foundation), в случае необходимости предоставления помощи, ресурсов, финансовой поддержки или элементов инфраструктуры. В настоящее время выделено несколько категорий критически важных проектов, разделённые в зависимости от используемого языка программирования:


Проекты на языке Си. Проекты на языке C++. Проекты на языке Java. Проекты на языке JavaScript. Проекты на языке Python. Проекты на языке Rust.
  git  ядро linux  php-src  openssl  systemd  curl  u-boot  qemu  mbed-os  zephyr  astropy  redis  gnucash  openwrt  esp-idf  RIOT  libuv  bcc  util-linux  ompi  RetroArch  lxc  FreeRDP  glusterfs  spdk  darktable  obs-studio  frr  urbit  FFmpeg  ovs  ImageMagick  freebsd  fio  libwebsockets  edk2  zfs  gpdb  kamailio  haproxy  netdata  mbedtls  fluent-bit  ltp  micropython  wazuh  rsyslog  CMake  mpv  fwupd  janus-gateway  vlc  wine  lede  tmux  s2n  criu  OpenSC  arduino-esp32  betaflight  dpdk  rt-thread  radare2  firmware  Tasmota  zsh  jemalloc  mruby  keepalived  flatpak  gpac  libvips  gcc  oj  blender  gimp  syslog-ng  rhodes  lightning  yugabyte-db  librdkafka  i3  HandBrake  freeradius-server  panda  neomutt  zstd  Espruino  ctags  libusb  amazon-freertos  strongswan  h2o  collectd  defold  coreboot  lvgl  libpcap  paparazzi  httpd  varnish-cache  memcached  citus  pygit2  phpredis  cinnamon  source  scrcpy  open62541  ponyc  libevent  wireshark  xrdp  postgres  xxHash  rspamd  reactos  inav  stlink  src  fontforge  goaccess  libsodium  weechat  openssh-portable  seL4  suricata  libarchive  raylib  lua-nginx-module  wlroots  dynamorio  Remmina  oniguruma  rtl_433  igraph  arm-trusted-firmware  nnn  data.table  lz4  bdwgc  tcpdump  sleuthkit  klipper  nodemcu-firmware  scancode-toolkit  nodemcu-firmware  irssi  uwsgi  libffi  openvpn  coreutils  borg  go-sqlite3  nuster  ultrajson  cc65  nDPI  yara  stellar-core  CMSIS_5  audacity  TDengine  aircrack-ng  nanopb  honggfuzz  geany  capstone  timescaledb  civetweb  xmake  libfuse  dokany  sysstat  i3  json-c  janet  hiredis  iperf  openwrt  libjpeg-turbo  mosquitto  cleanflight  PF_RING  simh  unicorn  mtr  nginx  hashcat  RediSearch  pygame  zinit  motion  greenlet  firejail  skynet  rt-n56u  rubinius  userland    
  tensorflow  ceph  pytorch  bitcoin  electron  Marlin  Cataclysm-DDA  llvm-project  rocksdb  QGIS  grpc  opencv  envoy  ardupilot  xbmc  server  emscripten  arrow  vcpkg  godot  tdesktop  mongo  solidity  arangodb  incubator-mxnet  ClickHouse  gdal  hhvm  nix  xgboost  zcash  v8  root  qgroundcontrol  wxWidgets  drake  TrinityCore  mixxx  folly  z3  librealsense  scylla  rpcs3  mlpack  cgal  swoole-src  scummvm  Arduino  harfbuzz  fmt  mame  Halide  protobuf  thrift  pdns  pcl  assimp  zeek  hpx  pybind11  cudf  doxygen  openmw  minetest  terminal  ppsspp  swig  proxygen  cocos2d-x  wesnoth  PrusaSlicer  supercollider  imgui  Catch2  libzmq  googletest  PowerToys  fbthrift  gnuradio  kakoune  DeepSpeech  cppcheck  mumble  LightGBM  FreeCAD  benchmark  lmms  botan  foundationdb  node-sass  eos  crawl  Urho3D  stellarium  spdlog  glslang  opentx  domoticz  OpenRCT2  serving  mysql-5.6  json  flatbuffers  openthread  openscad  watchman  apollo  passenger  osquery  Magisk  libtorrent  qBittorrent  vnpy  libigl  ardour  mysql-server  AirSim  mapbox-gl-native  bgfx  keepassxc  oneflow  openFrameworks  openpilot  notepad-plus-plus  rust-bindgen  subsurface  catboost  icinga2  PX4-Autopilot  stk-code  QuantLib  or-tools  react-native-windows  MuseScore  shogun  mesos  Clementine  srsLTE  CopyQ  openvino  dlib  falco  rippled  bullet3  ethminer  duckdb  esphome  carla  sqlitebrowser  omim  qt-creator  bpftrace  citra  GDevelop  tiled  dolphin  newsboat  opencv_contrib  jsoncpp  rathena  serenity  cvxpy  QOwnNotes  uncrustify  yoga  i2pd  proxysql  filament  RawTherapee  taichi  Cinder  glow  znc  ncnn  ogre  tesseract  onnxruntime  fivem  VTK  KeyDB  yosys  shotcut  xmrig  monero  skia  ModSecurity  tigervnc  yuzu  DALI  wangle  OpenShadingLanguage  ninja  codelite  osrm-backend  seastar  dxvk  node-canvas  abseil-cpp      
  elasticsearch  flink  spring-boot  hadoop  netty  jenkins  beam  bazel  alluxio  pmd  jdk  ballerina-lang  cas  spring-framework  camel  selenium  closure-compiler  quarkus  nokogiri  kafka  hazelcast  robolectric  presto  spring-security  NewPipe  mockito  platform_frameworks_base  jackson-databind  hbase  okhttp  checkstyle  pulsar  jetty.project  rstudio  hibernate-orm  tomcat  Activiti  openapi-generator  neo4j  zeppelin  cassandra  micronaut-core  Anki-Android  hive  cucumber  Mindustry  orientdb  dropwizard  che  junit5  testcontainers-java  jOOQ  lucene-solr  openj9  buck  ignite  RxJava  metrics  libgdx  dubbo  javaparser  shardingsphere  flyway  litho  dbeaver  k-9  groovy  aws-sdk-java  languagetool  keycloak  skywalking  graylog2-server  redisson  guava  debezium  android  drools  graal  grpc-java  java-design-patterns  lombok  pentaho-kettle  zookeeper  nacos  crate  storm  AntennaPod  reactor-core  zaproxy  runelite  ExoPlayer  fastjson  realm-java  h2database  druid  conductor  apollo-android  wildfly  FrameworkBenchmarks  cordova-android  armeria  flowable-engine  capacitor  material-components-android  Terasology  OpenRefine  Arduino  gocd  async-http-client  druid  micrometer  DependencyCheck  Signal-Android  vespa  thingsboard  eureka  MinecraftForge  junit4  zipkin  antlr4  Java  java-tron  spring-cloud-netflix  XChange  bisq  processing  kylin  resilience4j  mybatis-plus  hutool  guice  aeron  shiro  byte-buddy  jmeter  vert.x  mybatis-3  smile  spring-cloud-gateway  graphhopper  picocli  arthas  wiremock  swagger-core  jmonkeyengine  incubator-dolphinscheduler  apollo  jna  web3j  fresco  atmosphere  android-maps-utils  react-native-push-notification  aws-doc-sdk-examples  lottie-android  FirebaseUI-Android  CoreNLP  xxl-job  halo  springfox  spring-boot-admin  spock  HikariCP  auto  opengrok  Sentinel  traccar  lettuce-core  gson  cryptomator  error-prone  feign  CS-Notes  retrofit  incubator-pinot  mapstruct  jib  frontend-maven-plugin  react-native-camera  janusgraph  rest-assured  rocketmq  spark  immutables  Java-WebSocket  sonarqube  glide  undertow  mockserver  karate  jedis  spring-cloud-alibaba  YCSB  ksql  seata  JavaGuide  JSON-java  canal  zuul  graphql-java    
  node.js  react-native  react  gatsby  three.js  bootstrap  material-ui  odoo  next.js  Rocket.Chat  cypress  amphtml  create-react-app  meteor  vue-cli  jupyterlab  sequelize  phaser  browser-compat-data  material  quasar  iD  highlight.js  reaction  taro  Chart.js  knex  etherpad-lite  eslint-plugin-react  reveal.js  zigbee2mqtt  angular.js  shields  svelte  p5.js  openlayers  web3.js  wekan  aframe  ember-cli  karma  react-router  video.js  react-testing-library  marked  js-ipfs  preact  brave-browser  request  vuepress  vue-router  acorn  discord.js  sweetalert2  js.org  html-webpack-plugin  terser  graphql-js  vue  core-js  ava  styled-components  javascript  caniuse  sharp  dayjs  draft-js  outline  date-fns  validator.js  standard  underscore  commander.js  react-table  UglifyJS  swiper  standard  grommet  browserslist  handsontable  vuex  webtorrent  engine  jquery-ui  webpack-bundle-analyzer  dash.js  vue-i18n  sandstorm  ag-grid  bootstrap-table  lerna  gridsome  uppy  RSSHub  Modernizr  mini-css-extract-plugin  TiddlyWiki5  nodemailer  Semantic-UI-React  uni-app  laravel-mix  hapi  realm-js  deck.gl  npm-check-updates  yup  react-dropzone  cytoscape.js  select2  koa  bpmn-js  release-it  alpine  summernote  d3  fetch  hiring-without-whiteboards  pouchdb  nightwatch  jss  agenda  agenda  OpenAPI-Specification  plyr  node-http-proxy  appwrite  gulp  Fuse  quill  workbox  less.js  joi  Inquirer.js  conventional-changelog  async  portainer  mjml  riot  egg  codesandbox-client  mustache.js  swagger-editor  zotero  laravel-cors  KaTeX  marko  reactivesearch  reactivesearch  inferno  thelounge  beef  cz-cli  react-native-gesture-handler  jsdoc  sheetjs  browser-sync  tsdx  noVNC  popper-core  trilium  faker.js  brackets  loopback  bootswatch  vue-select  exceljs  browserify  postgraphile  react-jsonschema-form    
  salt  core  pandas  scikit-learn  numpy  cpython  airflow  erpnext  matplotlib  pytest  pip  sympy  compose  rasa  sentry  celery  models  sphinx  Paddle  django  synapse  electrum  zulip  numba  rq  cython  dask  django-rest-framework  ipython  requests  moto  moto  bokeh  ray  ckan  youtube-dl  mypy  wagtail  incubator-superset  saleor  aws-cli  xonsh  pylint  certbot  werkzeug  cupy  hypothesis  pyramid  scikit-image  cryptography  cryptography  isort  aiohttp  dvc  Python  flask  qutebrowser  spyder  boto3  espnet  pyinstaller  fairseq  netbox  twisted  jupyterhub  cookiecutter-django  locust  tribler  pytorch-lightning  pipenv  mmdetection  django-extensions  mitmproxy  jumpserver  psutil  statsmodels  docker-py  fastapi  scrapy  prefect  beets  pre-commit  django-allauth  nltk  poetry  kitty  black  Nuitka  detectron2  optuna  node-gyp  jax  ambassador  Telethon  supervisor  streamlink  redis-py  incubator-tvm  ParlAI  jinja  qiskit-terra  PySyft  allennlp  tqdm  faker  chainer  marshmallow  django-debug-toolbar  pytorch_geometric  CppCoreGuidelines  google-api-python-client  st2  pelican  plotly.py  fail2ban  lutris  luigi  gensim  mycroft-core  mongoengine  tornado  sqlmap  networkx  calibre  sqlalchemy  thumbor  ignite  scapy  elastalert  localstack  great_expectations  freqtrade  gym  sigma  graphene-django  dash  you-get  pytext  python-for-android  OctoPrint  documentation  gunicorn  httpx  discord.py  attrs  OCRmyPDF  d2l-en  click  pytube  sanic  paramiko  XX-Net  Python  kinto  hosts  serverless-application-model  trio  arrow  bottle  django-crispy-forms  uvicorn  horovod  patroni  pycodestyle  datasette  healthchecks  public-apis  graphene  toml  python  docker-stacks  zipline  starlette  brython  pwntools  yapf  spotipy  Flask-AppBuilder  mongo-python-driver  spiderfoot  glances  sshuttle  pgcli  manim  angr  folium  python-prompt-toolkit  chalice  recommenders  webpy  auto-sklearn  kafka-python  rich  Zappa  pyro  moviepy  ranger  flair  Flask-SocketIO    
  servo  cargo  rust-clippy  tokio  rust-analyzer  tock  tikv  alacritty  libc  substrate  rustfmt  solana  webrender  crates.io  actix-web  hyper  eden  wasmtime  habitat  libra  clap  pyo3  amethyst  serde  wasmer  rustup  json  rust-openssl  winit  ripgrep  stacks-blockchain  vector  starship  diesel  wasm-bindgen  chrono  coreutils  rand  reqwest  image  cc-rs  futures-rs  nix  Rocket  core-foundation-rs  gleam  nushell  firecracker  rayon  polkadot  tree-sitter  rust-url  crossbeam  tracing  i3status-rust  miri  gfx  wrangler  git2-rs  trust-dns  indy-sdk  cbindgen  rustlings  MeiliSearch  bat  syn  regex  grin  rhai  actix  tarpaulin  tokei  wgpu  rust-postgres  wezterm  cargo-make  sentry-cli  lighthouse  bevy  swc  materialize  ckb  shadowsocks-rust  yew  actix-net  sqlx  rust  tide  mio  nom  zola  sled  cortex-m  LanguageClient-neovim  juniper  parking_lot  rust-bitcoin  nalgebra  redis-rs  rls  async-std  kube-rs  geo  broot  fd  rust-smallvec  exa  warp  veloren  log  structopt  rust-libp2p  hashbrown  uuid  orbtk  delta  rust  imageflow  lemmy  RustPython  itertools  linkerd2-proxy  racer  mailchecker  cloud-hypervisor  num  crossterm  tauri  probe-rs  libhermit-rs  tantivy  chalk  sccache  async-graphql  rusoto  tokenizers  handlebars-rust  toml-rs  spotifyd  holochain-rust  tonic  rustyline  rust-bio  awesome-rust  optic  pulldown-cmark  serenity  h2  boa  quiche  abstreet  spotify-tui  bottlerocket  neon  graph-node  quick-xml  ggez  glium  lapin  differential-datalog  just  combine  rustls  rust-protobuf  rust-rocksdb  tarpc  ncspot  conrod  ruffle  hashes  PyOxidizer  cursive  maturin  cargo-audit  topgrade  glutin  imgui-rs  nannou  ZoKrates  996.ICU  fnm  embedded-hal  ffsend  nearcore  lsd  tower  piston  curl-rust  bitflags  rust-sdl2  tui-rs  electrs  skim  reference  rust-csv  ureq  rusty_v8  gitui  rust-mysql-simple  incubator-teaclave-sgx-sdk    



Источник: http://www.opennet.ru/opennews/art.shtml? num=54242

©  OpenNet