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

More Related Content

What's hot

PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)NTT DATA Technology & Innovation
 
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~Miki Shimogai
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2Preferred Networks
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki
 
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...NTT DATA Technology & Innovation
 
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#135ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13Uptime Technologies LLC (JP)
 
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...NTT DATA Technology & Innovation
 

What's hot (20)

PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
 
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料)
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
 
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラPostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
 
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
 
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#135ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
 
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
 
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
 
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
 

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

OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)NTT DATA Technology & Innovation
 
企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)takanori suzuki
 
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦Insight Technology, Inc.
 
忙しい人のためのOpenStack超サマリ
忙しい人のためのOpenStack超サマリ忙しい人のためのOpenStack超サマリ
忙しい人のためのOpenStack超サマリNaoto Umemori
 
Dockerコミュニティ近況
Dockerコミュニティ近況Dockerコミュニティ近況
Dockerコミュニティ近況Akihiro Suda
 
OpenChain Japan Work Group Meeting #20 - Case Studies
OpenChain Japan Work Group Meeting #20 - Case StudiesOpenChain Japan Work Group Meeting #20 - Case Studies
OpenChain Japan Work Group Meeting #20 - Case StudiesShane Coughlan
 
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019満徳 関
 
オープンソースソフトウェア開発におけるバグ修正活動の課題分析とその解決方法の提案
オープンソースソフトウェア開発におけるバグ修正活動の課題分析とその解決方法の提案オープンソースソフトウェア開発におけるバグ修正活動の課題分析とその解決方法の提案
オープンソースソフトウェア開発におけるバグ修正活動の課題分析とその解決方法の提案Takashi Natsume
 
Microsoft MVP x Passion for community
Microsoft MVP x Passion for communityMicrosoft MVP x Passion for community
Microsoft MVP x Passion for communityRie Moriguchi
 
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」PC Cluster Consortium
 
ITフォーラム2020 AITC(6)
ITフォーラム2020 AITC(6)ITフォーラム2020 AITC(6)
ITフォーラム2020 AITC(6)aitc_jp
 
【会社概要資料】STC.pdf
【会社概要資料】STC.pdf【会社概要資料】STC.pdf
【会社概要資料】STC.pdfKosukeWada1
 
たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界Yutaka Kachi
 
OpenStack Congress Deep Dive
OpenStack Congress Deep DiveOpenStack Congress Deep Dive
OpenStack Congress Deep Divemasahito12
 
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...Insight Technology, Inc.
 
AITCオープンラボ 2018年5月度(4)
AITCオープンラボ 2018年5月度(4)AITCオープンラボ 2018年5月度(4)
AITCオープンラボ 2018年5月度(4)aitc_jp
 

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

OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
 
OSS光と闇
OSS光と闇OSS光と闇
OSS光と闇
 
企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)企業のオープンソース活動を支える Open Source Program Office (OSPO)
企業のオープンソース活動を支える Open Source Program Office (OSPO)
 
OSS Market Momentum In Japan
OSS Market Momentum In JapanOSS Market Momentum In Japan
OSS Market Momentum In Japan
 
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
 
忙しい人のためのOpenStack超サマリ
忙しい人のためのOpenStack超サマリ忙しい人のためのOpenStack超サマリ
忙しい人のためのOpenStack超サマリ
 
Dockerコミュニティ近況
Dockerコミュニティ近況Dockerコミュニティ近況
Dockerコミュニティ近況
 
OpenChain Japan Work Group Meeting #20 - Case Studies
OpenChain Japan Work Group Meeting #20 - Case StudiesOpenChain Japan Work Group Meeting #20 - Case Studies
OpenChain Japan Work Group Meeting #20 - Case Studies
 
PostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もうPostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もう
 
OpenStack入門 2016/06/27
OpenStack入門 2016/06/27OpenStack入門 2016/06/27
OpenStack入門 2016/06/27
 
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
 
オープンソースソフトウェア開発におけるバグ修正活動の課題分析とその解決方法の提案
オープンソースソフトウェア開発におけるバグ修正活動の課題分析とその解決方法の提案オープンソースソフトウェア開発におけるバグ修正活動の課題分析とその解決方法の提案
オープンソースソフトウェア開発におけるバグ修正活動の課題分析とその解決方法の提案
 
Microsoft MVP x Passion for community
Microsoft MVP x Passion for communityMicrosoft MVP x Passion for community
Microsoft MVP x Passion for community
 
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
 
ITフォーラム2020 AITC(6)
ITフォーラム2020 AITC(6)ITフォーラム2020 AITC(6)
ITフォーラム2020 AITC(6)
 
【会社概要資料】STC.pdf
【会社概要資料】STC.pdf【会社概要資料】STC.pdf
【会社概要資料】STC.pdf
 
たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界たぶん45分くらいでわかる、オープンソースの世界
たぶん45分くらいでわかる、オープンソースの世界
 
OpenStack Congress Deep Dive
OpenStack Congress Deep DiveOpenStack Congress Deep Dive
OpenStack Congress Deep Dive
 
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
 
AITCオープンラボ 2018年5月度(4)
AITCオープンラボ 2018年5月度(4)AITCオープンラボ 2018年5月度(4)
AITCオープンラボ 2018年5月度(4)
 

More from Masahiko Sawada

PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説Masahiko Sawada
 
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...Masahiko Sawada
 
Transparent Data Encryption in PostgreSQL
Transparent Data Encryption in PostgreSQLTransparent Data Encryption in PostgreSQL
Transparent Data Encryption in PostgreSQLMasahiko Sawada
 
Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...Masahiko Sawada
 
Bloat and Fragmentation in PostgreSQL
Bloat and Fragmentation in PostgreSQLBloat and Fragmentation in PostgreSQL
Bloat and Fragmentation in PostgreSQLMasahiko Sawada
 
Database Encryption and Key Management for PostgreSQL - Principles and Consid...
Database Encryption and Key Management for PostgreSQL - Principles and Consid...Database Encryption and Key Management for PostgreSQL - Principles and Consid...
Database Encryption and Key Management for PostgreSQL - Principles and Consid...Masahiko Sawada
 
今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説Masahiko Sawada
 
Vacuum more efficient than ever
Vacuum more efficient than everVacuum more efficient than ever
Vacuum more efficient than everMasahiko Sawada
 
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~Masahiko Sawada
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説PostgreSQL10徹底解説
PostgreSQL10徹底解説Masahiko Sawada
 
FDW-based Sharding Update and Future
FDW-based Sharding Update and FutureFDW-based Sharding Update and Future
FDW-based Sharding Update and FutureMasahiko Sawada
 
What’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributorWhat’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributorMasahiko Sawada
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介Masahiko Sawada
 
pg_bigmと類似度検索
pg_bigmと類似度検索pg_bigmと類似度検索
pg_bigmと類似度検索Masahiko Sawada
 
pg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいことpg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいことMasahiko Sawada
 
Introduction VAUUM, Freezing, XID wraparound
Introduction VAUUM, Freezing, XID wraparoundIntroduction VAUUM, Freezing, XID wraparound
Introduction VAUUM, Freezing, XID wraparoundMasahiko Sawada
 
XID周回問題に潜む別の問題
XID周回問題に潜む別の問題XID周回問題に潜む別の問題
XID周回問題に潜む別の問題Masahiko Sawada
 

More from Masahiko Sawada (20)

PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
 
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
 
Transparent Data Encryption in PostgreSQL
Transparent Data Encryption in PostgreSQLTransparent Data Encryption in PostgreSQL
Transparent Data Encryption in PostgreSQL
 
PostgreSQL 12の話
PostgreSQL 12の話PostgreSQL 12の話
PostgreSQL 12の話
 
Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...
 
Bloat and Fragmentation in PostgreSQL
Bloat and Fragmentation in PostgreSQLBloat and Fragmentation in PostgreSQL
Bloat and Fragmentation in PostgreSQL
 
Database Encryption and Key Management for PostgreSQL - Principles and Consid...
Database Encryption and Key Management for PostgreSQL - Principles and Consid...Database Encryption and Key Management for PostgreSQL - Principles and Consid...
Database Encryption and Key Management for PostgreSQL - Principles and Consid...
 
今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説
 
Vacuum more efficient than ever
Vacuum more efficient than everVacuum more efficient than ever
Vacuum more efficient than ever
 
Vacuumとzheap
VacuumとzheapVacuumとzheap
Vacuumとzheap
 
Parallel Vacuum
Parallel VacuumParallel Vacuum
Parallel Vacuum
 
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説PostgreSQL10徹底解説
PostgreSQL10徹底解説
 
FDW-based Sharding Update and Future
FDW-based Sharding Update and FutureFDW-based Sharding Update and Future
FDW-based Sharding Update and Future
 
What’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributorWhat’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributor
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介
 
pg_bigmと類似度検索
pg_bigmと類似度検索pg_bigmと類似度検索
pg_bigmと類似度検索
 
pg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいことpg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいこと
 
Introduction VAUUM, Freezing, XID wraparound
Introduction VAUUM, Freezing, XID wraparoundIntroduction VAUUM, Freezing, XID wraparound
Introduction VAUUM, Freezing, XID wraparound
 
XID周回問題に潜む別の問題
XID周回問題に潜む別の問題XID周回問題に潜む別の問題
XID周回問題に潜む別の問題
 

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

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