SlideShare a Scribd company logo
OSS活動の活発
さと評価の関係
について
和田 卓人 (@t_wada)
Feb 16, 2016 @ 日本OSS推進フォーラム
和田 卓人
id: t-wada
@t_wada
github: twada
OSS活動の活発さと評価の関係について
Do you write tests?
2016年初頭の
OSS風景
http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity
いわゆる Social Coding
• 身分制度の変革
• Social Coding 以前の OSS
• プロダクトに人が群がる
• コミッター様 vs. 下々のものども
Social Coding が OSS にもたらしたもの
@a_matsuda
https://speakerdeck.com/a_matsuda/social-coding
• コミッタ階級による

アンシャンレジームの崩壊
• 市民革命。人民の直接参加。主権在民。
• コミューン、すなわちコミュニティ
• 人民がソースコードを保持する権利を手
にするところからコミュニティが始まる
Social Coding 革命
@a_matsuda
https://speakerdeck.com/a_matsuda/social-coding
• More users
• More use-cases
• More contributions
• OSS は公開しただけでは使われない
• 継続的な開発とメンテナンスが重要
OSS プロダクトに必要なもの
@tagomoris
http://tagomoris.hatenablog.com/entry/2015/08/23/160337
• オープンな開発チーム
• 密室で決まっているような

印象を与えないこと
• オープンなコントリビューション手順
• 企業のサポート
OSSコミュニティを作るために
@tagomoris
http://tagomoris.hatenablog.com/entry/2015/08/23/160337
• 常に英語を使う。

これが絶対的に大事。
• ロシア語わからん問題
• 英語を使うことは、広くコントリビュー
ションを受け入れますという意思表示
• 日本語で来た issue は即閉じるくら
いの勢いで良い
English! English!
@tagomoris
http://tagomoris.hatenablog.com/entry/2015/08/23/160337
どのあたりを見ますか?
https://github.com/power-assert-js/power-assert
どのあたりを見ますか?
https://www.npmjs.com/package/power-assert
• 我々が見るもの
• 最終コミット日付
• バージョン番号
• open な issue や PR の数
• star 数……などなど
• ゆえに、積極的に issue や PR を受け入れ
て活発さを維持する取り組みが必要
継続的な開発とメンテナンス
@tagomoris
http://tagomoris.hatenablog.com/entry/2015/08/23/160337
http://semver.org/lang/ja/
http://codelunch.fm/16/
#codelunchfm でもしゃべっています
1.4.3
semantic versioning
1.4.3
major minor patch
semantic versioning
1.4.3
major minor patch
semantic versioning
下位互換性のあるバグ修正は patch を上げる
1.4.3
major minor patch
semantic versioning
下位互換性のある機能追加は minor を上げる
1.4.3
major minor patch
semantic versioning
バグ修正だろうが、機能追加だろうが、
下位互換性が無ければ major を上げる
1.4.3
major minor patch
semantic versioning
個人的にはデフォルトの挙動を変えるときに major を上げることが多い
^1.4.3
semver は作者と利用者の約束と信頼関係
~1.4.3
下位互換性のある機能追加もどんどんダウンロードする
下位互換性のあるバグ修正だけダウンロードする
• 我々が見るもの
• 最終コミット日付
• バージョン番号
• open な issue や PR の数
• star 数……などなど
• ゆえに、積極的に issue や PR を受け入れ
て活発さを維持する取り組みが必要
継続的な開発とメンテナンス
@tagomoris
http://tagomoris.hatenablog.com/entry/2015/08/23/160337
http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity
良いソフトウェア設計と両立できるのだろうか?
それは結果的にソフトウェアの構造をゆ
がめることにつながらないだろうか。活発
さを志向するあまり、機能やコードベース
の肥大化を招いてしまい、統一感のある小
さく単機能なソフトウェアの姿を保てなく
ならないだろうか。もし活発さを志向する
OSS 開発にそのようなバイアスがかかる
のであれば、そこには構造的な問題、不
幸な構図があるように見えてしまう
http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity
例えば上手く設計できたソフトウェアが
あるとして、「これ以上減らすところがな
く、実質的に完成していて、手を入れると
ころもほとんどない」ことによって「開発
が活発ではなく、メンテナンスされていな
い」というイメージを与えてしまい、それ
が悪い評価につながりかねないのは、不
幸なことではないだろうか
http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity
http://tagomoris.hatenablog.com/entry/2015/08/31/101025
戦略1:
地道な更新
https://twitter.com/tmtms/status/635743856714055680
http://rebuild.fm/106/
https://github.com/power-assert-js/power-assert/commit/7d6552c5
戦略2:
最終コミット以外も
見てもらう
https://twitter.com/kurehajime/status/635041257400569856
https://twitter.com/nazoking/status/635216180886679552
コミット以外にダウンロード数等を見せる試み
戦略3:
プラグイン機構
https://twitter.com/kazuho/status/635009225026961408
https://twitter.com/sonots/status/634978258878988288
https://www.gitbook.com/book/azu/javascript-plugin-architecture/details
http://aosabook.org/en/index.html
http://aosabook.org/en/index.html
戦略4:
適者生存の法則
https://twitter.com/Dryad/status/635841558932099072
http://d.hatena.ne.jp/essa/20140330/p1
しかし、今の業界は、「エコシステム」の時代だ。
熱帯雨林のように、食いあいつつ共生しあうさまざな
タイプのプレイヤーが、自分の為だけの個別の意思決
定をして、その相互作用で技術が発展していく。「エ
コシステム」は矛盾だらけで、ある技術が発展するの
と同時に、そのアンチテーゼとなる技術も伸びる
「ロードマップ」が指し示す未来の方向と違う方向
に進むことは致命的な間違いだが、「エコシステム」
はむしろ中心部がレッドオーシャンで、周辺部に生き
残りが容易なブルーオーシャンがある
http://d.hatena.ne.jp/essa/20140330/p1
普通の人は「ロードマップ」
の中では真ん中を進むべきで、
「エコシステム」の中では真ん
中を避けるべきだ
http://d.hatena.ne.jp/essa/20140330/p1
https://www.flickr.com/photos/erh1103/8219419962
https://www.flickr.com/photos/danfromindiana/18259396623/
github はバザールか熱帯雨林か
「社会問題」たち
https://twitter.com/kizmarh/status/553141889541877760
https://github.com/dear-github/dear-github/pull/115
https://twitter.com/kizmarh/status/553141889541877760https://github.com/eslint/eslint/issues/5205
https://github.com/dear-github/dear-github
Code of Conduct
https://bugs.ruby-lang.org/issues/12004
http://contributor-covenant.org/
http://postgresql.nabble.com/WIP-CoC-td5881640.html
https://github.com/domgetter/NCoC
https://www.flickr.com/photos/erh1103/8219419962
https://www.flickr.com/photos/cost3l/12494650935/
『伽藍とバザール』は今日を説明できるか
https://medium.com/@nayafia/what-success-really-looks-like-in-open-source-2dd1facaf91c
• A popular project is a project that is being
used by a lot of people, and ideally growing.
• A healthy project is a project where
maintainers have an active, reciprocal
relationship with their community.
• A supported project is one where
maintainers have the resources to manage
the popularity of a project and grow a
healthy community.
OSSプロジェクト成功の三要素
by @nayafia
https://medium.com/@nayafia/what-success-really-looks-like-in-open-source-2dd1facaf91c
OSS活動の活発さと評価の関係について
• github, Social Coding は良くも悪く
も本当に「社会」になりつつある
• コードを通じてこの「社会」に関わ
りましょう
まとめ
https://speakerdeck.com/a_matsuda/social-coding
ご清聴ありがとうございました

More Related Content

OSS活動の活発さと評価の関係について