Slide 1

Slide 1 text

2年⽬サイボウズ社員と OSS OSC 2021 Online/Fukuoka

Slide 2

Slide 2 text

⾃⼰紹介 ▌⽥代 雅治 lたっしー(@tasshi820) ▌サイボウズ株式会社 lkintone開発チーム l2020年4⽉⼊社

Slide 3

Slide 3 text

サイボウズの製品 ▌toBのWebアプリケーション

Slide 4

Slide 4 text

開発の知識がなくても 業務に合わせたシステムを かんたんに作成できる クラウドサービス

Slide 5

Slide 5 text

OSS開発業務について

Slide 6

Slide 6 text

kintone DXチーム ▌DX (Developer Experience) ▌kintoneのエコシステムのDX向上 lSDKの提供(kintone/js-sdk) lシステムコンサルタント・営業との連携

Slide 7

Slide 7 text

kintone/js-sdk ▌kintoneのプラグイン・カスタマイズ開発の DX向上を⽬的としたツール群 ▌GitHubにてOSSとして社外公開 ▌TypeScript, ESLint, Prettier, Jest, etc. https://github.com/kintone/js-sdk

Slide 8

Slide 8 text

担当業務 ▌kintone/js-sdkの開発・保守 l機能追加・バグ修正 lIssue・PRの対応 l依存関係更新 lUpstreamへの貢献

Slide 9

Slide 9 text

1週間のスケジュール ⽉ ⽕ ⽔ ⽊ ⾦ 10:00 11:00 朝会・モブ作業 朝会・モブ作業 12:00 昼休み 13:00 リリース作業 振り返り 14:00 No MTG day 15:00 スプリントレビュー 16:00 17:00 勉強会 勉強会 全体振り返り 18:00 改善タスク・技術探求 ※基本は個⼈作業、必要に応じてモブの時間を設ける。 ※⽔曜はkintone開発チームのスクラムイベントにも参加。

Slide 10

Slide 10 text

機能追加・バグ修正 ▌ZenHubでタスク管理 ▌GitHub上でPRを作成・レビュー・マージ l社外からも経緯が⾒えるようにしている lレビュワーはメンバーから2名ランダムで選出

Slide 11

Slide 11 text

Issue・PR対応 ▌社外からのIssue・PRの対応 lバグ報告・修正がほとんど l要望もたまにある l朝会後のモブでそのまま対応する場合が多い

Slide 12

Slide 12 text

依存関係更新 ▌Renovateで半⾃動化している ▌Auto mergeされないものをレビューする lBREAKING CHANGEやBugfixをメインに⾒る lFeatureにも軽く⽬を通す https://github.com/cybozu/renovate-config

Slide 13

Slide 13 text

Upstreamへの貢献 ▌業務中にIssue・PRを出している lバグ修正のPRを必要に応じて出すことが多い ▌業務中のOSS活動は理解を得られている印象

Slide 14

Slide 14 text

過去のコントリビューション ▌新機能開発中に依存ツールのバグを発⾒・修正 lyargs/yargs#1928 ▌ライブラリアップデートで知った依存ツールの 新機能を試したところバグを発⾒・修正 lrollup/rollup#4133

Slide 15

Slide 15 text

業務を通じて感じたこと

Slide 16

Slide 16 text

業務を通じて感じたこと(1) ▌社外からのIssue・PR対応について l社外からリアクションがあると嬉しい lバグ修正のPRは本当に助かる lPRの取り込みには時間がかかる l 既存機能の体験との⼀貫性など考慮する必要があるため

Slide 17

Slide 17 text

業務を通じて感じたこと(2) ▌社外からのIssue・PR対応について(続き) lコミュニケーションが難しい l GitHubのコメントでやり取りするため l 齟齬が⽣じたり、往復が増えたり l なるべく明確に欲しい情報を伝えることが⼤事

Slide 18

Slide 18 text

業務を通じて感じたこと(3) ▌依存関係更新について l⾯倒なイメージがあるが学びも多い l Issue・PR上のやりとりなどから学べることも多い l依存ライブラリの新機能・最新情報を知れる l ⾃社製品で利⽤できる新機能があることも l Contributionチャンスになることも

Slide 19

Slide 19 text

業務を通じて感じたこと(4) ▌Upsteam OSSへの貢献について lUpstreamへの貢献を通して製品への貢献ができる lスキルアップにつながる(コードリーディングなど) l様々なOSSの開発環境・開発フローについて知れる l良い部分はjs-sdkにも取り込むことができる

Slide 20

Slide 20 text

OSS活動を⽀援する 社内の取り組みについて

Slide 21

Slide 21 text

OSS活動はハードルが⾼い 「OSS Contributionってどうやるの︖」 「製品関連ツールを公開してもいいの︖」

Slide 22

Slide 22 text

OSS推進チーム(OSPO) ▌社内のOSS利活⽤とOSSコミュニティの 持続可能な発展を⽀援するチーム lOSSコントリビューションハンズオン lOSSポリシー・OSSガイドライン など

Slide 23

Slide 23 text

OSSコントリビューション ハンズオン ▌IssueやPRを送るまでをメンターがサポート l⼤まかな⼿順 l貢献の前に⾒るべき情報 lメンテナが対応しやすいIssueの書き⽅ など ▌1度経験することで⼼理的ハードルが下がる

Slide 24

Slide 24 text

OSSポリシー・ガイドライン ▌サイボウズ社員がOSS関連活動を⾏いやすくする l業務でOSSを利⽤するとき l会社の著作物をOSSとして公開するとき l個⼈で製品関連OSSを公開するとき など サイボウズのオープンソースソフトウェアポリシーを紹介します - Cybozu Inside Out | サイボウズエンジニアのブログ https://blog.cybozu.io/entry/oss-policy

Slide 25

Slide 25 text

通知オフ太郎 for Garoon ▌Garoonの予定参加通知を⾃動で オフにするブラウザ拡張 ▌OSSガイドラインに沿って公開 l社外の⼈も利⽤可能 https://tasshi.hatenablog.jp/entry/2020/10/19/173000

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

社内ツール公開のメリット ▌社外の⼈にも使ってもらえる ▌社外にブラウザ画⾯を⾒せやすい l営業の製品デモ l画⾯共有 など

Slide 28

Slide 28 text

We are hiring!! 「サイボウズ 採⽤」で検索