ヽ(´・肉・`)ノログ

How do we fighting without fighting?

最近のパッケージホスティングの意義は何だろう?

RubyGems.orgPyPIHex.pm などのパッケージホスティングへ, ライブラリをソースコードやそれに準ずるような tar でアップロードするのには, 「最近は」どういう意義があるのだろうか.

バイナリをホスティングしている場合

バイナリを(も)アップロードする apt や yum, maven などであれば, ローカル環境でバイナリを生成させずにすむので,現在でも計算資源の節約というメリットがある.

ソースコードやそれに準ずる形式でホスティングしている場合

以前

GitHub のようにソースコードのホスティングが無料でできるような環境が少なかった時代には, パッケージのホスティングを行ってくれていることで統一的にダウンロードできるというメリットがあった.

現在

  1. 最近のビルドツールは,依存関係の解決に git リポジトリとタグなどの参照を直接指定できるようになっている
  2. ソースコードを簡単にホスティングできる Github や Bitbucket がある

の 2 点により「ソースコードをダウンロードしてきて使う」という観点ではパッケージホスティングがなくても問題ない.

むしろ,パッケージホスティングされているソースコードは 「github や bitbucket などに上がっているものと等しい」と詐称できるので, それをダウンロードした人間が確認しなければいけない手間が増えてしまう.

もちろん,ほとんどの場合にそんなことをする人間は少ないので,善意を信じて確認していないことが多いだろう. 今のところ,僕もしていない.

パッケージホスティングの役割は終わったのか

ビルドツールが依存関係の解決に git などのリポジトリ,参照を直接指定でき, リポジトリのホスティングが簡単に利用できる現代において, パッケージのホスティングを行う意義は何かを考えてみた.

  1. パッケージを「使う」のには役割が重複している
  2. パッケージを「探す」のには有用である

という結論に達した.

例えば Ruby で何かやりたいことがある場合,以下のようなことを行う

これは以下のような理由で今のところコードのホスティングサービス単体では行いにくいことだ

まとめ

ソースコードをダウンロードさせるようなパッケージホスティングは, 昔より負わされている役割が一つ減ったものの,今でも「探す」のには有用である.

このエントリーをはてなブックマークに追加