企業でOSS開発をするということ

 企業でOSS開発をするということ

OWS2020の企画講演セッションでの発表資料です。
https://www.iwsec.org/ows/2020/

OSSに取り組むと企業にとってどのようなメリットがあるのか?また、OSS開発者として勤務する場合の良い点・大変な点などを説明しています。

3f2e97dc4e6a5daaf1cb8a406c533176?s=128

Teppei Fukuda

October 27, 2020
Tweet

Transcript

  1. © 2020 Aqua Security Software Ltd., All Rights Reserved OWS

    2020 اըηογϣϯ1 Teppei Fukuda / Oct 27th, 2020 اۀͰOSS։ൃΛ͢Δͱ͍͏͜ͱ
  2. 2 • ໊લɿ෱ా మฏʢ@knqyf263ʣ • ձࣾɿAqua Security Software Ltd. •

    ॴଐɿOpen Source Team • ܦྺ • 2019೥5݄ɹझຯͰηΩϡϦςΟOSS։ൃ • 2019೥5݄ɹւ֎اۀ͔Βࣗ࡞OSSͷങऩΦϑΝʔ • 2019೥9݄ɹΠεϥΤϧʹҠॅͯ͠OSS։ൃΛଓ͚Δ ࣗݾ঺հ
  3. 3 େମͷܦҢ͸ϒϩάʹॻ͍ͨͷͰׂѪ • http://knqyf263.hatenablog.com/entry/2019/08/20/120713 ΠεϥΤϧʹདྷΔ·Ͱͷ࿩

  4. 4 • ࣄۀ಺༰ɿίϯςφͱΫϥ΢υωΠςΟϒΞϓϦͷͨΊʹ։ൃ͞Εͨɺ ϑϧϥΠϑαΠΫϧͳηΩϡϦςΟιϦϡʔγϣϯ • ैۀһ਺ɿ260໊ఔ౓ • ຊࣾɿΞϝϦΧͱΠεϥΤϧ • ಛ௃

    • ϕϯνϟʔͰ͋Γͳ͕Βάϩʔόϧاۀ • OSSʹྗΛೖΕ͍ͯΔ Aqua Security Software Ltd.
  5. 5 • اۀͱOSSͷؔΘΓ • ԿΛ໨తͱͯ͠OSSʹऔΓ૊ΜͰ͍Δͷ͔ • ձࣾһͱOSSͷؔΘΓ • OSS։ൃΛۀ຿Ͱߦ͏͜ͱʹ͍ͭͯ ຊ೔ͷൃද಺༰

    • OSSͱ͸Կ͔ • OSS΁ͷߩݙํ๏ ※ ࿩͞ͳ͍͜ͱ ϒϩάʹ΋΄΅ಉ͡಺༰Λॻ͍͍ͯ·͢ https://knqyf263.hatenablog.com/entry/2020/08/28/074749
  6. اۀͱOSSͷؔΘΓ

  7. 7 • ϕϯνϟʔاۀͰ͋Δʹ΋ؔΘΒͣOSS։ൃνʔϜ͕ଘࡏ͢Δ • େاۀͱҟͳΓ௚઀తʹϏδωεɾརӹʹܨ͛Δඞཁ͕͋Δ • ࣾ಺Ͱ࡞ͬͨ΋ͷΛ͔͔ͤͬͩ͘ΒOSSʹ͠Α͏ɺͰ͸ͳ͘OSSΛࣄۀͷҰ؀ͱ ͯ͠ߟ͍͑ͯΔ • ྫɿHashiCorp,

    Elastic • ݩʑ͸OSS͸΍͍ͬͯͳ͔͕ͬͨOSSͷ࣋ͭྗʹؾ͍ͮͯνʔϜΛ্ཱͪ͛ͨ ฐࣾͱOSSͷؔΘΓ
  8. 8 • ࢢ৔ͷख़੒ • ༗ྉԽ΁ͷҠߦ͠΍͢͞ • ඼࣭ͷ޲্ • ΧϯϑΝϨϯεͰͷൃද •

    ϑΝϯΛ࡞Δ͜ͱ • ίϛϡχςΟʹΑΔϑΟʔυόοΫ ฐ͕ࣾ໨ࢦ͍ͯ͠Δ΋ͷ
  9. 9 • Ϋϥ΢υωΠςΟϒʹҠߦ͍ͯ͠ͳ͍اۀ΋ଟ͍ • DevSecOpsͱݴΘΕͯ΋ϐϯͱ͜ͳ͍اۀ΋ଟ͍ ࢢ৔ͷख़੒ https://www.synopsys.com/ja-jp/glossary/what-is-devsecops.html OSSͰମݧͯ͠΋Β͏ ※ ແྉͳͷͰࢼ͠΍͍͢

    ࢢ৔ن໛ͷ֦େ
  10. 100ԯ 10 20% 1ԯ 2000ສ 10% 10ԯ ࢢ৔͕֦େ͢Ε͹ 10%Ͱ΋10ԯʹͳΔ

  11. 11 ༗ྉԽ΁ͷҠߦͷ͠΍͢͞ OSS อकܖ໿ SaaS ༗ྉػೳ OSSͰे෼ʂ ͱ͍͏ϦεΫ΋͋Δ

  12. 12 ඼࣭ͷ޲্ OSS ଟ͘ͷ໨ʹࡽ͞ΕΔ

  13. 13 • Elasticࣾͷྫ • X-Pack͸༗ྉϓϥάΠϯ • ݩʑ͸ϓϥΠϕʔτ • εύήοςΟίʔυʹͳͬͨ •

    ެ։ͨ͠Β඼࣭͕޲্ • X-Pack͚ͩผϥΠηϯε ඼࣭ͷ޲্
  14. 14 • ΦʔϓϯͳΧϯϑΝϨϯεͰ͸੡඼ͷࠂ஌͸ېࢭ • OSSͷએ఻ͳΒ໰୊ͳ͍ • ձ໊ࣾΛ஌ͬͯ΋Β͑Δ • ձࣾಉ࢜ͷަྲྀͰίϥϘ͢Δ͜ͱ΋ ΧϯϑΝϨϯεͰͷൃද

  15. 15 • ιϑτ΢ΣΞΤϯδχΞ͸ྑ͍πʔϧΛଞऀʹ঺հ͠Α͏ͱ͢Δ • ޱίϛͰ޿͕͍ͬͯ͘ • ྑ͍OSSΛ࡞͍ͬͯΔձࣾ͸Ѫ͞ΕΔ • ͨͱ͑༗ঈ൛ΛങΘͳͯ͘΋ྑ͍ධՁΛ ޿͛ͯ͘ΕΔ

    ϑΝϯΛ࡞Δ ͋ͷπʔϧྑ͔ͬͨʂ ࢖ͬͯΈͨʁ
  16. 16 ίϛϡχςΟʹΑΔϑΟʔυόοΫ • ·ͣ͸࢖ͬͯ΋Βͬͯײ૝Λ໯͏ɺͱ͍͏͜ͱ͕༗ঈπʔϧΑΓߦ͍΍͍͢ • όά΍ཉ͍͠৽ػೳ • খ͘͞࡞ͬͯվળΛॏͶ΍͍͢ • OSSϢʔβ਺ʼ༗ঈ൛Ϣʔβ਺

    • ແྉͰ࢖Θͤͯ΋Β͍ͬͯΔͷͰϑΟʔυόοΫͰߩݙ͠Α͏ͱ͍͏ҙࣝ OSS SaaS ϑΟʔυόοΫ OSS Ϣʔβ SaaS Ϣʔβ ϑΟʔυόοΫ ϑΟʔυόοΫ
  17. 17 ίϛϡχςΟʹΑΔ৘ใఏڙ • ྑ࣭ͳ৘ใ͕ू·Δ

  18. 18 ίϛϡχςΟʹΑΔߩݙ • ௒༏लͳߩݙ΋͋Δ • Berkeley DBͷCͰॻ͔ΕͨιʔείʔυΛಡΜͰϦόʔεɾΤϯδχΞϦϯά͠ɺGoʹҠ২ ࣗ෼ͨͪͰ͸Ϧιʔεෆ଍Ͱ։ൃͰ͖ͳ͔ͬͨػೳ

  19. ձࣾһͱOSSͷؔΘΓ OSSΤϯδχΞΛ΍ͬͯײͨ͜͡ͱ

  20. 20 ࣮੷ʹͳΔ • OSS։ൃ͸ͦͷ··֎͔Βݟ͑Δ • ࠾༻ଆʹͱͬͯͷϝϦοτɿޱ͚ͩୡऀͳਓؒͷ࠾༻Λආ͚ΒΕΔ • ձࣾһʹͱͬͯͷϝϦοτɿ৬຿ܦྺॻΛॻ͔ͳͯ͘ྑ͘ͳΔ

  21. 21 ಘҙͳܗͰΞ΢τϓοτͰ͖Δ • ιϑτ΢ΣΞΤϯδχΞ͸Ξ΢τϓοτ͕େࣄ • ֎෦ొஃ • ϒϩάɾຊͷࣥච • OSS

    ಘҙͳ͜ͱΛ৳͹͢
  22. 22 ษڧʹͳΔ • Issue΍PRΛड͚औΔ • ࣗ෼͕஌Βͳ͍͜ͱΛڭ͑ͯ͘ΕΔ͜ͱ΋ଟ਺͋Δ • PRΛݟֶͯͿ

  23. 23 ਂ͘ಛఆྖҬΛֶ΂Δ • ઐ໳෼໺ΛಘΔ • Iܕ͔ΒTܕʹҠߦ͢Δ΄͏͕ਫ਼ਆతʹ͸ָ • ձࣾͰ͸δΣωϥϦετͷ΄͏͕ٻΊΒΕΔ͜ͱ΋͋Δ • ଞऀͷൺֱͱ͍͏؍఺Ͱ͸෯ʹ͸ݶΓ͕ͳ͍

    Iܕਓࡐ ઐ ໳ ੑ Tܕਓࡐ ஌ࣝͷ෯ ஌ࣝͷ෯ ઐ໳෼໺ͷͳ͍ δΣωϥϦετ ઐ ໳ ੑ
  24. 24 ଟ͘ͷਓʹ໾ཱͭ஌ݟΛڞ༗͠ʹ͍͘ • ษڧձͳͲͰ͸ଟ͘ͷਓʹ໾ཱͭ஌ࣝΛڞ༗͢Δͱ͍͏લఏ͕͋Δఔ౓͋Δ ͕ɺઐ໳ྖҬͰͷ஌ݟ͸ଞͷਓʹ໾ʹཱͨͳ͍͜ͱ͕ଟ͍ A ෼ ໺ B ෼

    ໺ C ෼ ໺ ؒҧ͍΍͍͢จ๏ πʔϧͷ Πϯετʔϧํ Berkeley DBͷ ಺෦࣮૷
  25. 25 ޿͘৮Εͳ͍ʢՄೳੑ͕͋Δʣ • ઐ໳ྖҬΛۃΊΑ͏ͱ͢Δͱଞͷ෼໺ʹ͋Ε͜ΕखΛग़͕࣌ؒ͢ͳ͍͔΋͠Εͳ͍ A ෼ ໺ B ෼ ໺

    C ෼ ໺ XXX͸ৗࣝ YYYΛ࢖ͬͯΈͨ
  26. 26 • OSSࣗମ͸ແྉͳͷͰձࣾͷച্ʹͳΒͳ͍ • ͓ۚΛ΋Βͬͯ޷͖ͳ͜ͱΛ΍͍ͬͯΔ͜ͱʹࡑѱײΛ๊͔͘΋͠Εͳ͍ • ͳͥOSSΛ΍͍ͬͯΔͷ͔ʁΛҙࣝ͢Δ • ݴΘΕ͔ͨΒ΍͍ͬͯΔɺͩͱਏ͘ͳΔ͔΋͠Εͳ͍ •

    ձࣾͷ໨ઢʹͳΔ • ߩݙྫ • SaaSʹOSSΛ૊ΈࠐΉ • OSSܦ༝Ͱ༗ঈ൛ϢʔβΛ֫ಘ͢Δ ձࣾͷച্ʹߩݙͰ͖Δํ͕ਫ਼ਆతʹָ ָͯ͘͠࠷ߴʂͱ͸ͳΒͳ͍͔΋͠Εͳ͍
  27. 27 • OSS͕޿͘࢖ΘΕΔΑ͏ʹͳΔͱχʔζ΋޿͘ͳΔ • ଟ͘ͷϢʔβʹͱͬͯෆཁʹݟ͑ΔػೳͳͲʹରԠ͢Δ৔߹΋͋Δ • ར༻౷ܭΛऔΔ͜ͱ͕ग़དྷͳ͍ʢେࣄʣ • ࢓ࠐΉ͜ͱ͸Մೳ͕ͩڪΒ͘ݏΘΕΔʢGitHubͷ ͕ݶքʣ

    • υΩϡϝϯτʹॻ͍ͯ͋Δ͜ͱΛ࣭໰ͯ͘͠Δਓ΋૿͑Δ • ΧελϚʔαϙʔτۀʹͳͬͯ͠·͏͜ͱ΋͋Δ • PRΛૹͬͯ͘ΕͨਓΛແԼʹग़དྷͳ͍ਫ਼ਆతͳ໰୊΋ • ͦͷޙͷϝϯςφϯε͸ϝϯςφʔ͕ߦ͏ඞཁ͕͋Δ ϝϯςφϯείετ͕ߴ͘ͳΔ
  28. 28 • ࣗ෼ͷ৔߹͸ݩʑझຯͷ։ൃͩͬͨͷͰগ͠ಛघ • ۀ຿ͱͯ͠։ൃ͢ΔҎ্͸اۀͱͯ͠ͷํ਑ʹै͏ඞཁ͕͋Δ • খ͍͞πʔϧʁશ෦ೖΓπʔϧʁ • false positiveΛݮΒ͢ʁfalse

    negativeΛݮΒ͢ʁ • ͲͪΒ͕ਖ਼͍͠ͱ͍͏͜ͱ͸ͳ͍ͷͰٞ࿦ΛॏͶΔඞཁ͕͋Δ • ͦͷ݁Ռྑ͍΋ͷʹͳΔ͜ͱ΋͋Δ͕ࣗ෼ͷͩ͜ΘΓ͸ೖΕʹ͍͘ ํ਑ΛܾΊʹ͘͘ͳΔ
  29. 29 • ڍ͖͛ͯͨར఺͸࢖ΘΕͯͦ͜ͷ࿩ • ୭ʹ΋஌ΒΕͳ͚Ε͹ҙຯ͕ͳ͍ • ϒϩά΍ొஃͳͲ͕ඞཁ • ྑ͍΋ͷΛ։ൃͰ͖ͨͱࢥ͍͑ͯΕ͹ ൃදͦͷ΋ͷ͕੒Ռ͡Όͳ͍ͷͰਏ͘ͳ͍

    • Product-drivenͳൃද͸͓͢͢Ί એ఻͸ඞཁ
  30. 30 • ࠩ͠ࠐΈλεΫ͕ඇৗʹଟ͍ • ༗ঈϓϩμΫτͰ͸ΧελϚʔαϙʔτνʔϜ͕͍Δ͜ͱ͕ଟ͍ • OSSͰ͸Issue΁ͷରԠΛࣗ෼Ͱߦ͏ඞཁ͕͋Δʢن໛ʹ΋ΑΔʣ • PRΛϨϏϡʔ͢Δඞཁ͕͋Δ •

    ༗ঈϓϩμΫτͰ͸·ͣى͜Βͳ͍ࠩ͠ࠐΈ • OSSͱͯ͠ͷ݈શੑΛอͭͨΊʹ͸௕ظͷ์ஔ͸೉͍͠ʢpublic͔ͩΒͦ͜ʣ • AػೳΛ্ظ໨ඪʹ͍ͯ͠ΔͷʹBػೳͷPR͕དྷͯ͠·ͬͨ...ͳͲ • ໨ඪͷมߋͳͲॊೈͳରԠΛձ͕ࣾೝΊΔඞཁ͕͋Δ ձ͔ࣾΒͷධՁ͕೉͍͠ʢݸਓʣ
  31. 31 • ௚઀ച্Λ͋͛ΔΘ͚Ͱ͸ͳ͍ • ձࣾͷ஌໊౓ͷ޲্ͳͲ͸ଌΓʹ͍͘ • ͳͥ༗ঈϓϩμΫτʹڵຯΛ͔࣋ͬͨʁͳͲΛฉ͍ͯOSSܦ༝ͷސ٬͕ ͍Δͷ͔͔֬ΊΔ • Ϣʔβ਺ͳͲଌΕΔ΋ͷ͸ଌͬͯࠩ෼ΛݟΔ

    ձ͔ࣾΒͷධՁ͕೉͍͠ʢOSS) OSS Ϣʔβ SaaS Ϣʔβ ׂ߹͸ʁ Ϣʔβ਺͸ʁ
  32. 32 • ଟ͘ͷਓʹࣗ෼ͷπʔϧ͕ར༻͞ΕΔ • ੈքதͷਓ͔Βײँ͞ΕΔ • ࠃڥ΋૊৫΋௒͑ͯҰؙͱͳͬͯ։ൃ • ଞʹͦͷΑ͏ͳ׆ಈΛ஌Βͳ͍ ָ͍͠

    https://memegenerator.net/instance/50118051/will-ferrell-elf-open-source-makes-me-feel-super-happy ΄΅झຯ
  33. 33 • ָ͠͞ʹ΋ͭͳ͕Δ • େاۀ΍੓෎ʹΑΔ࠾༻ ΍Γ͕͍͕͋Δ

  34. 34 • اۀ͕OSSʹऔΓ૊ΉϝϦοτ • ࢢ৔ͷख़੒ • ༗ྉԽͷ͠΍͢͞ • ඼࣭޲্ •

    ஌໊౓޲্ • ίϛϡχςΟʹΑΔߩݙ ·ͱΊ • ۀ຿ͰOSSʹऔΓ૊Ή։ൃऀ • ϝϦοτ • ָ͍͠ɾ΍Γ͕͍͕͋Δ • ࣮੷ʹͳΔ • ઐ໳ྖҬΛ࣋ͯΔ • σϝϦοτ • ٯʹઐ໳֎ʹগ͠ૄ͘ͳΔՄೳੑ • Ϣʔβ਺૿ՃʹΑΔϝϯςφϯείετ • ධՁ͞Εʹ͍͘Մೳੑ
  35. ൪֎ฤɿΠεϥΤϧʹ͍ͭͯ

  36. 36 ΠεϥΤϧ

  37. 37 ΠεϥΤϧ

  38. 38

  39. ఱؾ͕ྑ͍

  40. None
  41. Ϗʔν͍ۙ

  42. 42

  43. ҆ଉ೔

  44. 44 • ిؾث۩ېࢭ • όεɾిंఀࢭ • ళ͸جຊด·Δ • ྉཧېࢭ •

    ͓ۚ΋࢖Θͳ͍ • ϖϯ΋࣋ͨͳ͍ ҆ଉ೔
  45. 45 ౎৺෦Ͱ΋ͷͲ͔

  46. 46 • ࣏҆ྑ͍ • ਓ͕༏͍͠ • ৯ࣄ͓͍͍͠ • γΣΞεΫʔλʔศར •

    λΫγʔ͕ศརͰ͍҆ • ిं͕৽װઢฒͷ޿͞ɾ៉ྷ͞ • ग़ੜ཰͸೔ຊͷ2ഒҎ্Ͱࢠڙʹ༏͍͠ • ਓ͕ཅؾ ͦͷଞ
  47. © 2020 Aqua Security Software Ltd., All Rights Reserved Thank

    you for your attention!