🚀

goofiで見る👀色んな言語の知っておきたいOSSプロジェクト

2023/05/09に公開

Tl;DR

  • "good first issue"があるということはコントリビュートの敷居を下げてくれているということ。
  • スター数が多いということはそれだけ認知されているということで、コントリビュートが盛んに行われている可能性が高いということ。
  • コントリビュートが盛んということは、ソースコードが洗練されている可能性が高いとこと。

この 3 つが言えるんじゃないかと考えました。

そこで、この記事ではgoofiというツールを使って 10 個の言語の"good first issue"がありなおかつスター 500 以上ある GitHub リポジトリを 3 つずつ見ていきます。

これにより、コントリビュートや、ソースリーディングのターゲットを探してみようという試みです。

ついでに自分が普段使わない言語についても、スターが多いリポジトリくらいはどのようなものなのか知識として知っておこうというのも兼ねています。

goofi とは?

ohbarye(@ohbarye)さんが作成したツールのことです。

TL;DR に記載の通り、"good first issue"がありなおかつスター 500 以上ある GitHub リポジトリを降順で表示してくれます。

https://github.com/ohbarye/goofi

自分はよくこのツールを利用して、コントリビュートやソースリーディングの対象とするリポジトリを探しています。

https://twitter.com/samurai_se/status/1654338900482195458

紹介する言語

  1. JavaScript
  2. Go
  3. C#
  4. Java
  5. Kotlin
  6. PHP
  7. Python
  8. Ruby
  9. TypeScript
  10. Rust

キリ良く以上の 10 言語です。

以降言語ごとの説明時に、説明時点(2023/05/06 21:37)でのスター数を記載します。

さらに、言語ごとに 1,2,3 とスター数の多い順に紹介します。

なお、説明は各プロジェクトの About を翻訳して載せています。それで大体どういうものなのかはわかるのですが、詳細は各自調べてみてください。

JavaScript

1. facebook / react : ★206925

https://github.com/facebook/react

Meta が開発した Web サイト上の UI パーツを構築するための JavaScript ライブラリです。

2. vercel / next.js : ★105593

https://github.com/vercel/next.js

React をベースに開発された、フロントエンドフレームワークです。

3. facebook / create-react-app : ★99656

https://github.com/facebook/create-react-app

1 コマンドで React での開発環境を作ってくれるツールです。

Go

1. kubernetes / kubernetes : ★98067

https://github.com/kubernetes/kubernetes

Docker などのコンテナ仮想化ソフトウェアを管理、および自動化するためソフトウェアです。

2. syncthing / syncthing : ★51002

https://github.com/syncthing/syncthing

2台以上の PC 間でファイルを共有するためのソフトウェアです。

3. caddyserver / caddy : ★47091

https://github.com/caddyserver/caddy

最低限の設定で SSL による暗号化や HTTP/3 での通信も可能なウェブサーバーです。

C#

1. shadowsocks / shadowsocks-windows : ★56450

https://github.com/shadowsocks/shadowsocks-windows

Socks5 プロキシに基づく暗号化通信を可能とするソフトウェアです。

2. dotnet / aspnetcore : ★31631

https://github.com/dotnet/aspnetcore

Windows、Mac、または Linux 上でモダンなクラウドベースの Web アプリケーションを構築するためのクロスプラットフォームの.NET フレームワークです。

3. files-community / Files : ★27371

https://github.com/files-community/Files

Windows 向けのファイルマネージャーアプリケーションです。

Java

1. facebook / react-native : ★109385

https://github.com/facebook/react-native

React を使ったネイティブアプリを作成するためのフレームワークです。

2. elastic / elasticsearch : ★63633

https://github.com/elastic/elasticsearch

無料でオープンな、分散型の RESTful 検索エンジンです。

3. apache / dubbo : ★38848

https://github.com/apache/dubbo

高性能な Java ベースのオープンソース RPC フレームワークです。

Kotlin

1. shadowsocks / shadowsocks-android : ★33658

https://github.com/shadowsocks/shadowsocks-android

Android 向けの shadowsocks クライアントソフトです。

2. square / leakcanary : ★28423

https://github.com/square/leakcanary

Android 向けのメモリリーク検出ライブラリです。

3. android / nowinandroid : ★11156

https://github.com/android/nowinandroid

Kotlin と JetpackCompose で完全に構築された Android アプリです。

PHP

1. symphony / symphony : ★28271

https://github.com/symfony/symfony

PHP の Web フレームワークです。

2. composer / composer : ★27605

https://github.com/composer/composer

PHP のパッケージ管理ソフトです。

3. nextcloud / server : ★11156

https://github.com/nextcloud/server

PHP でオンラインストレージ機能を提供するソフトウェアです。

Python

1. Significant-Gravitas / Auto-GPT : ★125416

https://github.com/Significant-Gravitas/Auto-GPT

GPT-4 言語モデルの機能を示すための実験的なアプリケーションです。

2. ytdl-org / youtube-dl : ★120081

https://github.com/ytdl-org/youtube-dl

YouTube.com や他の動画サイトからビデオをダウンロードするためのコマンドラインプログラムです。

3. huggingface / transformers : ★97976

https://github.com/huggingface/transformers

PyTorch、TensorFlow、および JAX のための最先端の機械学習技術です。

Ruby

1. rails / rails : ★52751

https://github.com/rails/rails

Ruby の Web フレームワークです。

2. forem / forem : ★20539

https://github.com/forem/forem

コミュニティを構築するためのソフトウェアです。

3. Homebrew / homebrew-cask : ★19931

https://github.com/Homebrew/homebrew-cask

バイナリとして配布される macOS アプリケーションの管理のための CLI ワークフローです。

TypeScript

1. vuejs / vue : ★203453

https://github.com/vuejs/vue

Web サイト上の UI パーツを構築するためのライブラリです。

2. microsoft / vscode : ★145812

https://github.com/microsoft/vscode

IDE です。

3. microsoft / TypeScript : ★90963

https://github.com/microsoft/TypeScript

TypeScript そのものです。

Rust

1. denoland / deno : ★89257

https://github.com/denoland/deno

node.js の後継の JavaScript/TypeScript のランタイムです。

2. tauri-apps / tauri: ★63127

https://github.com/tauri-apps/tauri

ウェブフロントエンドを使用して、より小さく、高速で、より安全なデスクトップアプリケーションを構築します。

3. rustdesk / rustdesk: ★41441

https://github.com/rustdesk/rustdesk

誰でも利用できる仮想/リモートデスクトップインフラストラクチャで TeamViewer や Citrix の代替手段です。

おわりに

まとめるの結構大変だった…間違いがあれば(優しく)教えて下さい。

メンバー募集中!

サーバーサイド Kotlin コミュニティを作りました!

Kotlin ユーザーはぜひご参加ください!!

https://serverside-kt.connpass.com/

また関西在住のソフトウェア開発者を中心に、関西エンジニアコミュニティを一緒に盛り上げてくださる方を募集しています。

よろしければ Conpass からメンバー登録よろしくお願いいたします。

https://blessingsoftware.connpass.com/

Discussion