openpearの紹介riaf (nequal)
自己紹介•riaf(りあふと読む人が多い)
•本名は「さとうけいすけ」
•北海道の東側に生息
•昨日、北見から札幌入り
•所属: nequal
ちなみに
•羽田 -> 新千歳
•約 1.5 時間
•北見 -> 札幌
•約 5 時間
一番のアウェーは僕じゃないだろうか?
nequal?• nequal.jp
• 個人でウェブサービスを作る
•モチベーション維持が大変
•みんなでやる
•適度な責任感&リソースの共有
nequal?•members• sotarok(東京)• riaf(北海道)• wozozo(東京)• anatoo(佐賀)• genfm(新潟)
ここから本題
openpear
•誰でも参加可能な PEAR
• Subversion + PEAR Channel
• パッケージングはブラウザ上で
何故 openpear が必要なのか
PEARとは
•PHP Extension and Application Repository
• PHP で書かれたライブラリ集
•標準構成の PHP をインストールすると、一緒にインストールされる
他の言語では?
•Perl - CPAN
• Python - PyPI
• Ruby - RubyForge (gems)
• PHP - PEAR
パッケージ数
CPAN
PyPI
RubyForge
PEAR
0 5,000 10,000 15,000 20,000
開発者数CPAN
RubyForge
PEAR
0 10,000 20,000 30,000 40,000
PyPi は不明...パッケージ数を考慮すると 5000 人以上?
なぜこんな事態に
•PEAR は登録が面倒
•パッケージングが面倒
•標準関数が充実しているため、ライブラリを用いない開発されることもしばしば
登録するまで (1)
• PEAR のルールに乗っ取ってコードを記述
•コード品質検証用の ML もある
※僕は登録したことが無いのでもしかしたら間違ったこと言うかも
登録するまで (2)• pear.php.net のアカウント取得
•登録作業は人力
•ライブラリ情報とともに Proposal (提案) をあげる
•ここでスルーされると終了
登録するまで (3)•反応がくるまで待つ
•特に問題がなければ、投票ステージへ
• PEAR 開発メンバが一人一票 +/- を投票
• 5票以上あつまればようやく登録
ほかにも•パッケージング
•リリース作業
•ドキュメント
ここまでして「公開したい!」と思えるかどうか
自作ライブラリ•気軽に作ってみた
•そこそこ便利だからブログにでも掲載しておこうかな
ライブラリの分散情報の分散結局自作してしまう
ノウハウが蓄積されない
PHPを一言で言うと、「使えても作れない」言語
(snip)だから、PHPに対して正しいスタンスは、「使うにとどめる」というものだと思う。「作る」までやりたかったら、他をあたるべきだろう。
どげんかせんといかん
きっかけは昨年•at PHP 懇親会(3月)
•「PHPユーザー会でPEARチャネル作りましょう」
• at PHP Conference(7月)
•全く話が進んでいない
どげんかせんといかん
というわけで
誰もやらないなら俺がやる。
2008/11 リリース
なにができるの?
openpearでできること
•OpenID でログイン
• Subversion リポジトリを提供
•コミット権の設定
• PEAR パッケージ化
• openpear 自体が、PEAR Channel
openpear.org ローカル
パッケージ新規作成
パッケージリリース
Subversion(自動作成)
ChannelServer登録
チェックアウト
開発
コミット
任意のopでログイン
開発のイメージ
つまり•PHP を書くことが出来て
• SVN の操作ができて
•ブラウザを操作することができれば
PEAR を意識せずにPEAR パッケージがリリースできる
夢のような話だ-- sotarok
登録増えてきたよ!•GD_Tab_Guitar
• Services_MixiAPI
• Maple_DocTest
• HTML_CSS_Mobile
• 実体は CodeRepos 上に
目指すところ•とにかく敷居を広げたい• PHP 開発者はもっとたくさん居るはず
• PEAR なんかよりステキなライブラリ作者もたくさん居るはず
•もっと表にだそうよ!!
openpear のしくみ
システム•見た目のシステム
• rhacoを用いて開発
•リポジトリブラウザ等も自前実装
• PEAR サーバー等
• PEAR パッケージを利用
運用•PHP 5.2.6 + Apache
•なんと FastCGI
• Dreamhost
• 海外の格安うんこサーバー
•遠い。重い。よく落ちる。
これから
•サーバー移転
•さくらの専用サーバーを確保した
•ユーザー同士をつなげる
• Follow 機能的なもの
これから
•わかりにくすぎるインタフェース改善
•タグ付け(カテゴライズ)
• APIリファレンス自動生成
•ドキュメント管理
これから
•プロジェクト毎にフォーラム
•チケットシステム
•国際化(内部では既に部分的に対応)
やりたいこと
•git などとの連携
•僕が github 好きになったから
• openpear 自体を open に
• github に入れちゃおうかとか
言いたいこと
おうちにかえって、「rhacoってライブラリが
アツいらしい」と、ブログに書いてもらえれば
今日の目的達成です
まちがえた
皆さんのコミットおまちしております
真面目系ライブラリでもネタライブラリでも!
ありがとうございました!