Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -

3.437 Aufrufe

Veröffentlicht am

Developers Summit 2019(デブサミ2019)の発表資料です。

Veröffentlicht in: Karriere
  • Als Erste(r) kommentieren

OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -

  1. 1. Copyright©2019 NTT Corp. All Rights Reserved. OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて - NTT OSSセンタ 澤田 雅彦 Developers Summit 2019 (C-1)
  2. 2. 2Copyright©2019 NTT Corp. All Rights Reserved. 業務としてのOSS活動(PostgreSQLの例) PostgreSQL ユーザ (NTTグループ) NTT OSSセンタ PostgreSQL コミュニティ フィードバック • ユーザからのフィー ドバックを PostgreSQLに直接反 映する • 企業・個人としての 強みにも繋がる • 技術力、提案力の強 化ノウハウ展開・ サポート提供
  3. 3. 3Copyright©2019 NTT Corp. All Rights Reserved. • オープンな開発体制 • 特定の企業などに依存せず、誰でも自由に開発に参加可能 • 合意を基本とする意思決定 • ソースコードの追加変更は、メーリングリストでの合意が前提 PostgreSQLコミュニティ
  4. 4. 4Copyright©2019 NTT Corp. All Rights Reserved. • PostgreSQL Global Development Group • OSSセンタからは8名参加、うち1名はCommitterとして参加 開発体制 5名 ・コミュニティ運営の 種々取りまとめ 28名 ・ソースコードを 追加変更できる 権限を有する 約300名 ・パッチの開発 ・パッチのレビュー 図は次の発表資料から引用: 「De-mystifying contributing to PostgreSQL」(PGCon 2018) 人数は不明 ・出力メッセージの 翻訳など
  5. 5. 5Copyright©2019 NTT Corp. All Rights Reserved. • ミートアップ、カンファレンスへの参加 • ミートアップ、カンファレンスでの登壇 • ドキュメント改善 • バグ報告 • バグ修正 • パッチのレビュー • パッチのテスト • 新機能開発 など様々 OSS活動ってどんなことをするの?
  6. 6. 6Copyright©2019 NTT Corp. All Rights Reserved. 技術サポート対応で出てくる問題や、検証作業等で不便 と感じた点を直すことが多い 例 • 想定どおりにBEFORE ROW DELETEトリガを駆動するようにロジカルレプ リケーションを修正しました • pgbenchにログ・ファイルのプレフィックを制御するオプション--log- prefixを追加しました • VACUUM VERBOSEがスキップした凍結されたページの数と最も古いxminを 報告するようにしました バグ修正・軽微な機能改善
  7. 7. 7Copyright©2019 NTT Corp. All Rights Reserved. 既存の課題、将来のユースケースに対応するために PostgreSQLをより強力なデータベースにする活動 • シャーディング • 透過的暗号化 新機能開発
  8. 8. 8Copyright©2019 NTT Corp. All Rights Reserved. • 大規模データを複数ノードにデータを分散して格納し、 性能向上を図る機能(Sharding)を、PostgreSQLの本体 機能の中(=Built-in)で実現する シャーディング データノード1 データノード2 データノード3 コーディネータノード アプリケーション
  9. 9. 9Copyright©2019 NTT Corp. All Rights Reserved. • DBデータを透過的に暗号化する機能の開発 • 鍵管理サーバ(サービス)と連携することで、強固な暗 号化機能を実現する • PCI-DSS等のセキュリティ規約に対応しやすくなる セキュリティ PostgreSQL 鍵管理システム 連携 INSERT INTO ... (‘1234-56...’)
  10. 10. 10Copyright©2019 NTT Corp. All Rights Reserved. OSS活動のやりがい
  11. 11. 11Copyright©2019 NTT Corp. All Rights Reserved. 自分が書いたコードがマージされると嬉しい 海外の凄腕ハッカーたちに「+1」されるだけでも嬉しい
  12. 12. 12Copyright©2019 NTT Corp. All Rights Reserved. • 国内外問わず年平均10回くらいの社外発表 • PGCon 2018 @Ottawa • 関西DB勉強会 @Osaka • Japan PostgreSQL Conference 2018 @Tokyo • PGConf.ASIA 2018 @Tokyo • FOSDEM 2019 @Brussels • デブサミ 2019 @Tokyo • 雑誌への寄稿や、インタビューも経験出来た 社外で発表する機会が増えた
  13. 13. 13Copyright©2019 NTT Corp. All Rights Reserved. • 自分が書いたコードがマージされると嬉しい • 社外で発表する機会が増えた • アウトプットの機会増 • 成果を対外的に示せる • 製品の開発動向に詳しくなった • 目利き力の向上 • 英語が少し上手になった OSS活動をしていて良かった事
  14. 14. 14Copyright©2019 NTT Corp. All Rights Reserved. • 英語でのコミュニケーション • 心理的障壁はなくなってきたが、わからないことが多い • 評価してもらえる仕組みが必要 • パッチの件数?パッチのサイズ? • レビューは成果に入る? • 成果が出るまで長い時間がかかる場合ある • 1年以上同じ機能を開発していることもよくある • 会社・上司の理解が不可欠 • 欧米時間帯に合わせた勤務も時には必要 OSS活動で辛い事・注意が必要な事
  15. 15. 15Copyright©2019 NTT Corp. All Rights Reserved. OSS活動のススメ
  16. 16. 16Copyright©2019 NTT Corp. All Rights Reserved. • これからOSS活動を始めてみたい →ミートアップへの参加、バグレポート、ドキュメント の修正、開発中機能のテスト • バグレポートくらいは送ったことがある →バグ修正、開発中機能のテスト • がっつりコードにも触りたい →新機能の開発、開発中機能のレビュー OSS活動のススメ
  17. 17. 17Copyright©2019 NTT Corp. All Rights Reserved. 長い目で見るとPostgreSQL本体に反映した方が良いもの が多い • ドキュメントの不備に対する知見を内部で抱えている • 変な挙動に合わせたツール • 独自のパッチを当てている 秘蔵のパッチ、眠ってませんか?
  18. 18. 18Copyright©2019 NTT Corp. All Rights Reserved. 人生最初のパッチ 一番最初に書いたパッチは、ベンチマークツール(pgbench)の不具合 を直すもの • ベンチマークで流すSQLが最大1024文字の制約があった • DBマイグレーションの検証中に本制約にかかり、検証を進めるこ とが出来なかった • 検証を進めるためにとりあえず、プロジェクト内でpgbenchのコー ドを修正 • PostgreSQLコミュニティに修正を提案し、マージ “秘伝のpgbench”化を防ぐことができた。 同プロジェクトにも他プロジェクトにもメリットあり。
  19. 19. 19Copyright©2019 NTT Corp. All Rights Reserved. ソースコードのビルド方法からパッチ・メールの送り方 までまとめていますので、ぜひ参考にしてください! 始め方がわからない、そんな方には…
  20. 20. 20Copyright©2019 NTT Corp. All Rights Reserved. • コミッタ(Committer) • ソースコードへの変更権限を持った役割 • OSS開発者にとって一つの目標 • PostgreSQLコミュニティでは28人(内3人は日本人) • コミッタになるための条件はOSSプロジェクトそれぞれ • PostgreSQLでは7,8年活動している人がコミッタになっ ていることが多い • 長い人で10年以上、早い人で2,3年 • 活動を継続できるか、良いプロジェクトに取り組めるかが非常 に重要 • 必ずしもコミッタを目指す必要はない コミッタを目指す
  21. 21. 21Copyright©2019 NTT Corp. All Rights Reserved. すでにOSSを利用しているならOSS活動を仕事にしよう あまりあるメリット • 自身・チームの技術力向上 • 製品の開発動向が把握できる • 英語力も向上する • エンジニアとしてのプレゼンス向上 • 自分が書いたコードが世界中で使われる! OSS活動へのモチベーションは人それぞれ。 まずは簡単なことから始めてみよう! 最後に - PostgreSQLの開発コミュニティに参加しよう!-
  22. 22. 22Copyright©2019 NTT Corp. All Rights Reserved. ご清聴ありがとうございました

×