Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
OSS活動の活発
さと評価の関係
について
和田 卓人 (@t_wada)
Feb 16, 2016 @ 日本OSS推進フォーラム
和田 卓人
id: t-wada
@t_wada
github: twada
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://speak...
• コミッタ階級による

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

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

これが絶対的に大事。
• ロシア語わからん問題
• 英語を使うことは、広くコントリビュー
ションを受け入れますという意思表示
• 日本語で来た issue は即閉じるくら
いの勢いで良い
English! English...
どのあたりを見ますか?
https://github.com/power-assert-js/power-assert
どのあたりを見ますか?
https://www.npmjs.com/package/power-assert
• 我々が見るもの
• 最終コミット日付
• バージョン番号
• open な issue や PR の数
• star 数……などなど
• ゆえに、積極的に issue や PR を受け入れ
て活発さを維持する取り組みが必要
継続的な開発とメ...
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 を受け入れ
て活発さを維持する取り組みが必要
継続的な開発とメ...
http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity
良いソフトウェア設計と両立できるのだろうか?
それは結果的にソフトウェアの構造をゆ
がめることにつながらないだろうか。活発
さを志向するあまり、機能やコードベース
の肥大化を招いてしまい、統一感のある小
さく単機能なソフトウェアの姿を保てなく
ならないだろうか。もし活発さを志向する
OSS...
例えば上手く設計できたソフトウェアが
あるとして、「これ以上減らすところがな
く、実質的に完成していて、手を入れると
ころもほとんどない」ことによって「開発
が活発ではなく、メンテナンスされていな
い」というイメージを与えてしまい、それ
が悪い...
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
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 proj...
• github, Social Coding は良くも悪く
も本当に「社会」になりつつある
• コードを通じてこの「社会」に関わ
りましょう
まとめ
https://speakerdeck.com/a_matsuda/social-coding
ご清聴ありがとうございました
OSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係について
Upcoming SlideShare
Loading in …5
×

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

9,990 views

Published on

「OSS活動の活発さと評価の関係について」
Feb 16, 2016 @ 日本OSS推進フォーラム

Published in: Technology
  • Be the first to comment

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

  1. 1. OSS活動の活発 さと評価の関係 について 和田 卓人 (@t_wada) Feb 16, 2016 @ 日本OSS推進フォーラム
  2. 2. 和田 卓人 id: t-wada @t_wada github: twada
  3. 3. Do you write tests?
  4. 4. 2016年初頭の OSS風景
  5. 5. http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity いわゆる Social Coding
  6. 6. • 身分制度の変革 • Social Coding 以前の OSS • プロダクトに人が群がる • コミッター様 vs. 下々のものども Social Coding が OSS にもたらしたもの @a_matsuda https://speakerdeck.com/a_matsuda/social-coding
  7. 7. • コミッタ階級による
 アンシャンレジームの崩壊 • 市民革命。人民の直接参加。主権在民。 • コミューン、すなわちコミュニティ • 人民がソースコードを保持する権利を手 にするところからコミュニティが始まる Social Coding 革命 @a_matsuda https://speakerdeck.com/a_matsuda/social-coding
  8. 8. • More users • More use-cases • More contributions • OSS は公開しただけでは使われない • 継続的な開発とメンテナンスが重要 OSS プロダクトに必要なもの @tagomoris http://tagomoris.hatenablog.com/entry/2015/08/23/160337
  9. 9. • オープンな開発チーム • 密室で決まっているような
 印象を与えないこと • オープンなコントリビューション手順 • 企業のサポート OSSコミュニティを作るために @tagomoris http://tagomoris.hatenablog.com/entry/2015/08/23/160337
  10. 10. • 常に英語を使う。
 これが絶対的に大事。 • ロシア語わからん問題 • 英語を使うことは、広くコントリビュー ションを受け入れますという意思表示 • 日本語で来た issue は即閉じるくら いの勢いで良い English! English! @tagomoris http://tagomoris.hatenablog.com/entry/2015/08/23/160337
  11. 11. どのあたりを見ますか? https://github.com/power-assert-js/power-assert
  12. 12. どのあたりを見ますか? https://www.npmjs.com/package/power-assert
  13. 13. • 我々が見るもの • 最終コミット日付 • バージョン番号 • open な issue や PR の数 • star 数……などなど • ゆえに、積極的に issue や PR を受け入れ て活発さを維持する取り組みが必要 継続的な開発とメンテナンス @tagomoris http://tagomoris.hatenablog.com/entry/2015/08/23/160337
  14. 14. http://semver.org/lang/ja/
  15. 15. http://codelunch.fm/16/ #codelunchfm でもしゃべっています
  16. 16. 1.4.3 semantic versioning
  17. 17. 1.4.3 major minor patch semantic versioning
  18. 18. 1.4.3 major minor patch semantic versioning 下位互換性のあるバグ修正は patch を上げる
  19. 19. 1.4.3 major minor patch semantic versioning 下位互換性のある機能追加は minor を上げる
  20. 20. 1.4.3 major minor patch semantic versioning バグ修正だろうが、機能追加だろうが、 下位互換性が無ければ major を上げる
  21. 21. 1.4.3 major minor patch semantic versioning 個人的にはデフォルトの挙動を変えるときに major を上げることが多い
  22. 22. ^1.4.3 semver は作者と利用者の約束と信頼関係 ~1.4.3 下位互換性のある機能追加もどんどんダウンロードする 下位互換性のあるバグ修正だけダウンロードする
  23. 23. • 我々が見るもの • 最終コミット日付 • バージョン番号 • open な issue や PR の数 • star 数……などなど • ゆえに、積極的に issue や PR を受け入れ て活発さを維持する取り組みが必要 継続的な開発とメンテナンス @tagomoris http://tagomoris.hatenablog.com/entry/2015/08/23/160337
  24. 24. http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity 良いソフトウェア設計と両立できるのだろうか?
  25. 25. それは結果的にソフトウェアの構造をゆ がめることにつながらないだろうか。活発 さを志向するあまり、機能やコードベース の肥大化を招いてしまい、統一感のある小 さく単機能なソフトウェアの姿を保てなく ならないだろうか。もし活発さを志向する OSS 開発にそのようなバイアスがかかる のであれば、そこには構造的な問題、不 幸な構図があるように見えてしまう http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity
  26. 26. 例えば上手く設計できたソフトウェアが あるとして、「これ以上減らすところがな く、実質的に完成していて、手を入れると ころもほとんどない」ことによって「開発 が活発ではなく、メンテナンスされていな い」というイメージを与えてしまい、それ が悪い評価につながりかねないのは、不 幸なことではないだろうか http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity
  27. 27. http://tagomoris.hatenablog.com/entry/2015/08/31/101025
  28. 28. 戦略1: 地道な更新
  29. 29. https://twitter.com/tmtms/status/635743856714055680
  30. 30. http://rebuild.fm/106/
  31. 31. https://github.com/power-assert-js/power-assert/commit/7d6552c5
  32. 32. 戦略2: 最終コミット以外も 見てもらう
  33. 33. https://twitter.com/kurehajime/status/635041257400569856
  34. 34. https://twitter.com/nazoking/status/635216180886679552
  35. 35. コミット以外にダウンロード数等を見せる試み
  36. 36. 戦略3: プラグイン機構
  37. 37. https://twitter.com/kazuho/status/635009225026961408
  38. 38. https://twitter.com/sonots/status/634978258878988288
  39. 39. https://www.gitbook.com/book/azu/javascript-plugin-architecture/details
  40. 40. http://aosabook.org/en/index.html
  41. 41. http://aosabook.org/en/index.html
  42. 42. 戦略4: 適者生存の法則
  43. 43. https://twitter.com/Dryad/status/635841558932099072
  44. 44. http://d.hatena.ne.jp/essa/20140330/p1
  45. 45. しかし、今の業界は、「エコシステム」の時代だ。 熱帯雨林のように、食いあいつつ共生しあうさまざな タイプのプレイヤーが、自分の為だけの個別の意思決 定をして、その相互作用で技術が発展していく。「エ コシステム」は矛盾だらけで、ある技術が発展するの と同時に、そのアンチテーゼとなる技術も伸びる 「ロードマップ」が指し示す未来の方向と違う方向 に進むことは致命的な間違いだが、「エコシステム」 はむしろ中心部がレッドオーシャンで、周辺部に生き 残りが容易なブルーオーシャンがある http://d.hatena.ne.jp/essa/20140330/p1
  46. 46. 普通の人は「ロードマップ」 の中では真ん中を進むべきで、 「エコシステム」の中では真ん 中を避けるべきだ http://d.hatena.ne.jp/essa/20140330/p1
  47. 47. https://www.flickr.com/photos/erh1103/8219419962 https://www.flickr.com/photos/danfromindiana/18259396623/ github はバザールか熱帯雨林か
  48. 48. 「社会問題」たち
  49. 49. https://twitter.com/kizmarh/status/553141889541877760
  50. 50. https://github.com/dear-github/dear-github/pull/115
  51. 51. https://twitter.com/kizmarh/status/553141889541877760https://github.com/eslint/eslint/issues/5205
  52. 52. https://github.com/dear-github/dear-github
  53. 53. Code of Conduct
  54. 54. https://bugs.ruby-lang.org/issues/12004
  55. 55. http://contributor-covenant.org/
  56. 56. http://postgresql.nabble.com/WIP-CoC-td5881640.html
  57. 57. https://github.com/domgetter/NCoC
  58. 58. https://www.flickr.com/photos/erh1103/8219419962 https://www.flickr.com/photos/cost3l/12494650935/ 『伽藍とバザール』は今日を説明できるか
  59. 59. https://medium.com/@nayafia/what-success-really-looks-like-in-open-source-2dd1facaf91c
  60. 60. • 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
  61. 61. • github, Social Coding は良くも悪く も本当に「社会」になりつつある • コードを通じてこの「社会」に関わ りましょう まとめ https://speakerdeck.com/a_matsuda/social-coding
  62. 62. ご清聴ありがとうございました

×