Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2年目サイボウズ社員とOSS / OSS development of junior engineer in Cybozu

2年目サイボウズ社員とOSS / OSS development of junior engineer in Cybozu

OSC 2021 Online/Fukuoka のセッション資料です。
セッション情報はこちら↓
https://event.ospn.jp/osc2021-online-fukuoka/session/456679
アーカイブはこちら↓
https://www.youtube.com/watch?v=LuW8kutFgQQ

サイボウズの2年目エンジニアの田代が普段の業務でOSSとどのような関わり方をしているのかを紹介します。
自社OSS開発業務、UpstreamへのContribution、OSS活動を支援する社内の取り組みなど、様々な視点からお話しする予定です。

B8371b3d5b0eb7af6fc62d43cb10647d?s=128

Masaharu TASHIRO

November 17, 2021
Tweet

Transcript

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

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

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

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

  5. OSS開発業務について

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

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

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

  9. 1週間のスケジュール ⽉ ⽕ ⽔ ⽊ ⾦ 10:00 11:00 朝会・モブ作業 朝会・モブ作業

    12:00 昼休み 13:00 リリース作業 振り返り 14:00 No MTG day 15:00 スプリントレビュー 16:00 17:00 勉強会 勉強会 全体振り返り 18:00 改善タスク・技術探求 ※基本は個⼈作業、必要に応じてモブの時間を設ける。 ※⽔曜はkintone開発チームのスクラムイベントにも参加。
  10. 機能追加・バグ修正 ▌ZenHubでタスク管理 ▌GitHub上でPRを作成・レビュー・マージ l社外からも経緯が⾒えるようにしている lレビュワーはメンバーから2名ランダムで選出

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

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

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

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

  15. 業務を通じて感じたこと

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

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

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

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

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

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

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

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

  24. OSSポリシー・ガイドライン ▌サイボウズ社員がOSS関連活動を⾏いやすくする l業務でOSSを利⽤するとき l会社の著作物をOSSとして公開するとき l個⼈で製品関連OSSを公開するとき など サイボウズのオープンソースソフトウェアポリシーを紹介します - Cybozu Inside

    Out | サイボウズエンジニアのブログ https://blog.cybozu.io/entry/oss-policy
  25. 通知オフ太郎 for Garoon ▌Garoonの予定参加通知を⾃動で オフにするブラウザ拡張 ▌OSSガイドラインに沿って公開 l社外の⼈も利⽤可能 https://tasshi.hatenablog.jp/entry/2020/10/19/173000

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

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