goofiで見る👀色んな言語の知っておきたいOSSプロジェクト
Tl;DR
- "good first issue"があるということはコントリビュートの敷居を下げてくれているということ。
- スター数が多いということはそれだけ認知されているということで、コントリビュートが盛んに行われている可能性が高いということ。
- コントリビュートが盛んということは、ソースコードが洗練されている可能性が高いとこと。
この 3 つが言えるんじゃないかと考えました。
そこで、この記事ではgoofiというツールを使って 10 個の言語の"good first issue"がありなおかつスター 500 以上ある GitHub リポジトリを 3 つずつ見ていきます。
これにより、コントリビュートや、ソースリーディングのターゲットを探してみようという試みです。
ついでに自分が普段使わない言語についても、スターが多いリポジトリくらいはどのようなものなのか知識として知っておこうというのも兼ねています。
goofi とは?
ohbarye(@ohbarye)さんが作成したツールのことです。
TL;DR に記載の通り、"good first issue"がありなおかつスター 500 以上ある GitHub リポジトリを降順で表示してくれます。
自分はよくこのツールを利用して、コントリビュートやソースリーディングの対象とするリポジトリを探しています。
紹介する言語
- JavaScript
- Go
- C#
- Java
- Kotlin
- PHP
- Python
- Ruby
- TypeScript
- Rust
キリ良く以上の 10 言語です。
以降言語ごとの説明時に、説明時点(2023/05/06 21:37)でのスター数を記載します。
さらに、言語ごとに 1,2,3 とスター数の多い順に紹介します。
なお、説明は各プロジェクトの About を翻訳して載せています。それで大体どういうものなのかはわかるのですが、詳細は各自調べてみてください。
JavaScript
1. facebook / react : ★206925
Meta が開発した Web サイト上の UI パーツを構築するための JavaScript ライブラリです。
2. vercel / next.js : ★105593
React をベースに開発された、フロントエンドフレームワークです。
3. facebook / create-react-app : ★99656
1 コマンドで React での開発環境を作ってくれるツールです。
Go
1. kubernetes / kubernetes : ★98067
Docker などのコンテナ仮想化ソフトウェアを管理、および自動化するためソフトウェアです。
2. syncthing / syncthing : ★51002
2台以上の PC 間でファイルを共有するためのソフトウェアです。
3. caddyserver / caddy : ★47091
最低限の設定で SSL による暗号化や HTTP/3 での通信も可能なウェブサーバーです。
C#
1. shadowsocks / shadowsocks-windows : ★56450
Socks5 プロキシに基づく暗号化通信を可能とするソフトウェアです。
2. dotnet / aspnetcore : ★31631
Windows、Mac、または Linux 上でモダンなクラウドベースの Web アプリケーションを構築するためのクロスプラットフォームの.NET フレームワークです。
3. files-community / Files : ★27371
Windows 向けのファイルマネージャーアプリケーションです。
Java
1. facebook / react-native : ★109385
React を使ったネイティブアプリを作成するためのフレームワークです。
2. elastic / elasticsearch : ★63633
無料でオープンな、分散型の RESTful 検索エンジンです。
3. apache / dubbo : ★38848
高性能な Java ベースのオープンソース RPC フレームワークです。
Kotlin
1. shadowsocks / shadowsocks-android : ★33658
Android 向けの shadowsocks クライアントソフトです。
2. square / leakcanary : ★28423
Android 向けのメモリリーク検出ライブラリです。
3. android / nowinandroid : ★11156
Kotlin と JetpackCompose で完全に構築された Android アプリです。
PHP
1. symphony / symphony : ★28271
PHP の Web フレームワークです。
2. composer / composer : ★27605
PHP のパッケージ管理ソフトです。
3. nextcloud / server : ★11156
PHP でオンラインストレージ機能を提供するソフトウェアです。
Python
1. Significant-Gravitas / Auto-GPT : ★125416
GPT-4 言語モデルの機能を示すための実験的なアプリケーションです。
2. ytdl-org / youtube-dl : ★120081
YouTube.com や他の動画サイトからビデオをダウンロードするためのコマンドラインプログラムです。
3. huggingface / transformers : ★97976
PyTorch、TensorFlow、および JAX のための最先端の機械学習技術です。
Ruby
1. rails / rails : ★52751
Ruby の Web フレームワークです。
2. forem / forem : ★20539
3. Homebrew / homebrew-cask : ★19931
バイナリとして配布される macOS アプリケーションの管理のための CLI ワークフローです。
TypeScript
1. vuejs / vue : ★203453
Web サイト上の UI パーツを構築するためのライブラリです。
2. microsoft / vscode : ★145812
IDE です。
3. microsoft / TypeScript : ★90963
TypeScript そのものです。
Rust
1. denoland / deno : ★89257
node.js の後継の JavaScript/TypeScript のランタイムです。
2. tauri-apps / tauri: ★63127
ウェブフロントエンドを使用して、より小さく、高速で、より安全なデスクトップアプリケーションを構築します。
3. rustdesk / rustdesk: ★41441
誰でも利用できる仮想/リモートデスクトップインフラストラクチャで TeamViewer や Citrix の代替手段です。
おわりに
まとめるの結構大変だった…間違いがあれば(優しく)教えて下さい。
メンバー募集中!
サーバーサイド Kotlin コミュニティを作りました!
Kotlin ユーザーはぜひご参加ください!!
また関西在住のソフトウェア開発者を中心に、関西エンジニアコミュニティを一緒に盛り上げてくださる方を募集しています。
よろしければ Conpass からメンバー登録よろしくお願いいたします。
Discussion