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

インナーソース入門 ~ 企業におけるコラボレーションと生産性を高める秘訣

インナーソース入門 ~ 企業におけるコラボレーションと生産性を高める秘訣

インナーソースの世界へようこそ。インナーソースは、閉じた組織におけるオープンソースソフトウェアを開発するための原動力であり、プロジェクトの "オープン性" を企業内のチームを超えて広げるものです。この本では、オライリーの編集者兼著者である Andy Oram が、オープンソース開発を成功させる原則を確認するとともに、大手 EC の PayPal でインナーソースがどのように機能したのかを説明することによって、皆様をインナーソースの世界に導きます。

PayPal がインナーソースを採用するまでの過程には企業としての意思決定の積み重ねがあり、その中にはツールと文化の意識的な刷新が含まれています。 インナーソースを通じて、同社はより迅速な開発とより良い品質を達成するだけでなく、プログラマが PayPal のどの開発プロジェクトにも貢献することを奨励し、チーム間の共創を可能にしました。

この本を通して読者の皆様は、以下のようなインナーソース戦略の具体的なメリットを学ぶことができます。

より高速な開発: プログラマーは、ユニットテスト、コードカバレッジ、および継続的インテグレーションを使用して、初期の段階でバグを取り除くことができます。
完全なドキュメント化: コードを説明するドキュメントの質が向上します。コードに併記される公式なコメントの質が上がることと、チャット・チケット・メーリングリストでの議論で公式的な説明を控えることの両方を含みます。
コードの再利用: 組織全体のプログラマーが、他のチームが開発したモジュールのコードとアーキテクチャを理解することができます。
チーム横断的なコラボレーション: チーム外からの貢献には摩擦がなくなり、書き直されることがほとんどなくなります。
GitHub を使った開発: GitHub では、社内用のプライベートリポジトリだけでなく、OSS 用のパブリックリポジトリも合わせて扱うことができます。
この書籍は無償であり、クリエイティブ・コモンズ・ライセンス(CC BY)で提供されています。 原本 (PDF形式3.3 MB)も同じく CC BY ライセンスで提供されており、誰でもダウンロードすることができます。

Yuki Hattori

January 13, 2023
Tweet

More Decks by Yuki Hattori

Other Decks in Technology

Transcript

  1. ·͕͖͑ Πϯφʔιʔεͷੈք΁Α͏ͦ͜ɻ Πϯφʔιʔε͸ɺ ดͨ͡૊৫ʹ͓͚ΔΦʔϓϯιʔειϑτ ΢ΣΞΛ։ൃ͢ΔͨΊͷݪಈྗͰ͋Γɺ ϓϩδΣΫτͷ "Φʔϓϯੑ" Λاۀ಺ͷνʔϜΛ௒͑ ͯ޿͛Δ΋ͷͰ͢ɻ ͜ͷຊͰ͸ɺ

    ΦϥΠϦʔͷฤूऀ݉ஶऀͰ͋Δ Andy Oram ͕ɺ Φʔϓϯι ʔε։ൃΛ੒ޭͤ͞ΔݪଇΛ֬ೝ͢Δͱͱ΋ʹɺ େख EC ͷ PayPal ͰΠϯφʔιʔε͕ͲͷΑ ͏ʹػೳͨ͠ͷ͔Λઆ໌͢Δ͜ͱʹΑͬͯɺ օ༷ΛΠϯφʔιʔεͷੈքʹಋ͖·͢ɻ PayPal ͕ΠϯφʔιʔεΛ࠾༻͢Δ·Ͱͷաఔʹ͸اۀͱͯ͠ͷҙࢥܾఆͷੵΈॏͶ͕͋Γɺ ͦͷதʹ͸πʔϧͱจԽͷҙࣝతͳ࡮৽ؚ͕·Ε͍ͯ·͢ɻ ΠϯφʔιʔεΛ௨ͯ͡ɺ ಉࣾ͸ ΑΓਝ଎ͳ։ൃͱΑΓྑ͍඼࣭Λୡ੒͢Δ͚ͩͰͳ͘ɺ ϓϩάϥϚ͕ PayPal ͷͲͷ։ൃϓϩδ ΣΫτʹ΋ߩݙ͢Δ͜ͱΛ঑ྭ͠ɺ νʔϜؒͷڞ૑ΛՄೳʹ͠·ͨ͠ɻ ͜ͷຊΛ௨ͯ͠ಡऀͷօ༷͸ɺ ҎԼͷΑ͏ͳΠϯφʔιʔεઓུͷ۩ମతͳϝϦο τΛֶͿ͜ͱ ͕Ͱ͖·͢ɻ ΑΓߴ଎ͳ։ൃ: ϓϩάϥϚʔ͸ɺ Ϣχο τςετɺ ίʔυΧόϨοδɺ ͓ΑͼܧଓతΠϯς άϨʔγϣϯΛ࢖༻ͯ͠ɺ ॳظͷஈ֊ͰόάΛऔΓআ͘ ͜ͱ͕Ͱ͖·͢ɻ ׬શͳυΩϡϝϯτԽ: ίʔυΛઆ໌͢ΔυΩϡϝϯτͷ࣭͕޲্͠·͢ɻ ίʔυʹซه͞ ΕΔެࣜͳίϝϯτͷ্࣭͕͕Δ͜ͱͱɺ νϟο τ ɾ νέοτ ɾ ϝʔϦϯάϦετͰͷٞ࿦Ͱ ެࣜతͳઆ໌Λ߇͑Δ͜ͱͷ྆ํΛؚΈ·͢ɻ ίʔυͷ࠶ར༻: ૊৫શମͷϓϩάϥϚʔ͕ɺ ଞͷνʔϜ͕։ൃͨ͠Ϟδϡʔϧͷίʔυ ͱΞʔΩςΫνϟΛཧղ͢Δ͜ͱ͕Ͱ͖·͢ɻ νʔϜԣஅతͳίϥϘϨʔγϣϯ: νʔϜ֎͔Βͷߩݙʹ͸ຎࡲ͕ͳ͘ͳΓɺ ॻ͖௚͞Ε Δ͜ͱ͕΄ͱΜͲͳ͘ͳΓ·͢ɻ GitHub Λ࢖ͬͨ։ൃ: GitHub Ͱ͸ɺ ࣾ಺༻ͷϓϥΠϕʔτϦϙδτϦ͚ͩͰͳ͘ɺ OSS ༻ͷύϒϦοΫϦϙδτϦ΋߹Θͤͯѻ͏͜ͱ͕Ͱ͖·͢ɻ ͜ͷॻ੶͸ແঈͰ͋Γɺ ΫϦΤΠςΟϒ ɾ ίϞϯζ ɾ ϥΠηϯε(CC BY)Ͱఏڙ͞Ε͍ͯ·͢ɻ ݪ ຊ (PDFܗࣜ3.3 MB) ʢhttps://innersourcecommons.org/learn/books/getting-started-with- innersource/ ʣ ΋ಉ͘͡ CC BY ϥΠηϯεͰఏڙ͞Ε͓ͯΓɺ ୭Ͱ΋μ΢ϯϩʔυ͢Δ͜ͱ͕Ͱ͖ ·͢ɻ 1
  2. ஶऀΑΓ೔ຊޠ൛ʹدͤͯ ஶऀͱͯ͠೔ຊޠ൛ͷൃץΛخ͘͠ࢥ͍·͢ɻ O’Reilly Media ͔Βӳޠ൛ͷຊॻ͕ੈʹग़ͨͷ ͸ 2015೥7݄ͷ͜ͱͰɺ ಉࣾͷϨϙʔτͷதͰ΋τοϓΫϥεͷਓؾ͕Կ೥΋ଓ͖·ͨ͠ɻ ຊॻ ͷ೔ຊޠ൛͕ఏڙ͞Εͨ͜ͱͰɺ

    ೔ຊͰ΋ιϑτ΢ΣΞ։ൃํ๏Λมֵ͢Δ͜ͱ͸΋ͪΖΜɺ ίϛ ϡχέʔγϣϯ͕ࠜຊ͔ΒڧԽ͞Εɺ ࣾ಺ͷͲ͜ʹͰ΋ߴ඼࣭ͳߩݙΛͰ͖ΔΦʔϓϯͳମ࣭ ͷ࣮ݱ͕༰қʹͳΓ·ͨ͠ɻ ೔ຊͷଟ͘ͷେاۀ͕ຊॻͰޠΒΕ͍ͯΔڠಇతͳϓϩάϥϛϯ άͷԸܙΛड͚ΒΕΔͷͰ͸ͳ͍͔ɺ ͱࢲ͸ظ଴͍ͯ͠·͢ɻ ڠಇͱݸਓͷଚॏΛཧ೦ͱͨ͠ اۀจԽͱ͸ɺ ༷ʑͳνʔϜͷਓࡐͱ࠽ೳΛ߹Θͤɺ ଞͷνʔϜͱڞʹιϑτ΢ΣΞ։ൃΛ৐Γ ӽ͑ͯΏ͘ ͜ͱ͔Βੜ·ΕΔͷͰ͢ɻ Πϯφʔιʔεͱ͍͏ಇ͖ํΛֶͿ͜ͱ͸ɺ ։ൃऀ΋اۀ ΋Φʔϓϯιʔειϑτ΢ΣΞͷՁ஋Λཧղ͢Δͷʹ໾ཱͪ·͢ɻ ͜ͷཧղ͕ͦ͜Πϯφʔιʔ εͷਪਐऀ͕ৗʹ໨ࢦ͖ͯͨ֩͠ͱͳΔ໨ඪͳͷͰ͢ɻ As the author of Getting Started with InnerSource, I’m very happy to see a Japanese translation. O’Reilly Media released Getting Started with InnerSource in English in July 2015, and for several years it held top spot among our reports in attracting readers. Now it can play a role in Japan, not only to transform software practices, but to put communications on a firmer ground and open up organizations to high-quality contributions from all over the company. I think that a lot of large companies in Japan would benefit from instituting the type of collaborative programming described in the report. A business culture so oriented toward collaboration and personal respect can thrive by bringing talent from each team to improve the software managed by other teams. Learning the InnerSource way of working also helps programmers and companies appreciate the value of open source software, which has always been a key goal of the promoters of InnerSource. Andy Oram, author and editor, https://www.praxagora.com/ ʢhttps://www.praxagora.com/ ʣ 2
  3. License ݪ୊: Getting Started with InnerSource ʢhttps://innersourcecommons.org/learn/books/getting- started-with-innersource/ ʣ ஶऀ:

    Andy Oram ൃߦ೔: 2015೥7݄ ൃߦݩ: O’Reilly Media ຋༁: InnerSource Commons Japan ຊॻ͸ O'Reilly Media, Inc. ΑΓਖ਼ࣜʹ຋༁ڐՄΛड͚ɺ CC-BY-NC-SA 4.0 ʢhttps://creativecommons.org/licenses/by-nc-sa/4.0/ ʣ ͷϥΠηϯεͷ΋ͱެ։͞Ε͍ͯ·͢ɻ 3
  4. ໨࣍ ɿ ୈ1ষ νʔϜؒίϥϘϨʔγϣϯ΁ͷڧྗͳΞϓϩʔν 1.1 OSS ͷݪଇ͕ػೳ͢Δ৔ ૊৫ԣஅతͳίϥϘϨʔγϣϯ ஍ཧతʹ෼ࢄͨ͠։ൃͱΞδϟΠϧͳϓϩάϥϛϯάͷҧ͍ ܧଓతͳςετͱ։ൃ

    ໌จԽͷॏཁੑ ΠϯϑϥͷͨΊͷՁ஋ OSS ʹ૬Ԡ͍͠Ϩϕϧͷൃݟ 1.2 PayPal ͕ΠϯφʔιʔεΛ࠾༻͢Δ·Ͱ ຤୺͔Β࢝ΊΔ ΑΓεϐʔσΟͳ։ൃϓϩηε OSS ͱͷௐ࿨ GitHub ίϥϘϨʔγϣϯ ඼࣭ͷ޲্ จԽͷมԽ 1.3 ஶऀ঺հ 4
  5. ୈ1ষ νʔϜؒίϥϘϨʔγϣϯ΁ͷڧྗͳΞϓϩʔν ۙ೥ɺ ΦϖϨʔςΟϯάγεςϜɺ Ϋϥ΢υίϯϐϡʔςΟϯάɺ JavaScript ϑϨʔϜϫʔΫΛ͸͡Ίͱ͢Δ͞·͟ ·ͳ OSS(Open Source

    Software: Φʔϓϯιʔειϑτ΢ΣΞ) ͷීٴʹ৮ൃ͞Εɺ Πϯφʔιʔε ͱ͍͏ඪ ޠͷ΋ͱɺ ͦͷڧྗͳ OSS ༝དྷͷϓϥΫςΟεΛ໛฿ͯ͠಺෦ͷίϥϘϨʔγϣϯʹऔΓೖΕΑ͏ͱ͢Δاۀ ͕૿͍͑ͯ·͢ɻ ͜ͷϖʔδͰ͸ɺ Πϯλʔωο τ঎औҾͷେखͰ͋Δ PayPal ͷܦݧ͔Βɺ Πϯφʔιʔε͕Τ ϯδχΞɺ ܦӦऀɺ ϚʔέςΟϯά/PR ෦໳ʹͲͷΑ͏ͳརӹΛ΋ͨΒ͔͢Λݟ͍͖ͯ·͢ɻ ΠϯφʔιʔεʹΑΔϓϩδΣΫτϚωδϝϯτͷັྗΛཧղ͢ΔͨΊʹɺ ͦ΋ͦ΋ OSS ։ൃ͕ͳͥ͜͜·Ͱ੒ ޭ͖ͯͨ͠ͷ͔ɺ ͦͷཁҼΛߟ͑ͯΈ·͠ΐ͏ɻ ϓϩάϥϚʔ͸ɺ Ϛωʔδϟʔ΍νʔϜ͚ͩͰͳ͘ɺ Ϣʔβʔ΍ίϯτϦϏϡʔλʔͱ͍ͬͨ෯޿͍ਓʑͱ ࣗ෼ͷ࢓ࣄΛڞ༗͠·͢ɻ ΄ͱΜͲͷ OSS ϓϩδΣΫτͰ͸ɺ ੈքதͷ୭΋͕ࣗ༝ʹίʔυΛΈΔ͜ͱ͕ Ͱ͖ɺ ίϝϯτΛ࢒͠ɺ ݕূ͢Δ͜ͱʹΑΓ৽͍͠εΩϧΛֶͿ͜ͱ͕Ͱ͖·͢ɻ ·ͨɺ χʔζʹ߹ΘͤͯΧ ελϚΠζͨ͠Γɺ վળͨ͠ίʔυͷมߋΛఏग़Ͱ͖·͢ɻ ֘౰ϓϩδΣΫτΛ΋ͱʹͨ͠৽͍͠ίʔυϦϙδτϦ(ϒϥϯν)Λࣗ༝ʹ࡞੒Ͱ͖ΔͨΊɺ ίʔυ͕ݩʑʹ ࡞ΒΕͨ໨తҎ֎ͷ࢖༻ʹ΋ରԠͰ͖·͢ɻ ௨ৗɺ ͞·͟·ͳϒϥϯνΛݩͷϚελʔϒϥϯνʹϚʔδ ͢ΔͨΊͷϧʔϧͱɺ ͦΕΛࢧԉ͢Δٕज़͕͋Γ·͢ɻ ஍ཧతʹ཭Εͨ৔ॴʹ͍Δਓʑ͕ɺ ผʑͷ࣌ؒʹɺ ಉ͡ίʔυͰ࡞ۀͨ͠Γɺ ಉ͡ϓϩδΣΫτʹҟͳΔί ʔυͷϑΝΠϧΛఏڙͰ͖·͢ɻ ίϛϡχέʔγϣϯ͸ɺ ޱ಄Ͱඇެࣜʹڞ༗͞ΕΔͷͰ͸ͳ͘ɺ υΩϡϝϯτԽ͞Εͯެͷ৔ʹ౤ߘ͞ΕΔ ܏޲͕͋Γɺ ͦΕ͸ϓϩδΣΫτͷཤྺΛ࢒͢͜ͱʹͳΓɺ ·ͨ৽͍͠ϓϩδΣΫτϝϯόʔʹֶशͷػձ Λఏڙ͢Δ͜ͱʹͳΓ·͢ɻ Ϣχο τςετͷ࡞੒͸ɺ ॏཁͳϓϩάϥϛϯάλεΫʹͳΓ·͢ɻ ʮϢχοτςετʯ ͸ɺ ޡͬͨೖྗΛڋ൱ ͨ͠Γɺ ಛఆͷ৚݅ԼͰద੾ͳ෼ذΛ͢ΔͳͲɺ ಛఆͷݽཱͨ͠ಈ࡞ΛνΣοΫ͢Δখ͞ͳςετͰ͢ɻ Φ ʔϓϯιʔεͱΠϯφʔιʔεͰ͸ɺ ຊ൪Քಇதͷো֐͔ΒͷอޢͷͨΊʹɺ มߋ͕νΣοΫΠϯ͞ΕΔ ࡍɺ ςετ͕ৗʹ࣮ߦ͞Ε·͢ɻ ୯Ұͷ૊৫ʹ͓͚Δݟ஍ͱ੍ޚͷൣғ಺ʹͱͲ·Δͱ͍͏఺Ͱɺ Πϯφʔιʔε͸ैདྷͷΦʔϓϯιʔεͱ͸ҟ ͳΓ·͢ɻ ϓϩδΣΫτͷ"Φʔϓϯੑ"͸૊৫಺ʹݶఆ͞Ε·͕͢ଟ͘ͷνʔϜʹ·͕ͨΓ·͢ɻ ͜ΕʹΑΓɺ ૊ ৫͸෦֎ऀʹίʔυ͕ެ։͞ΕΔ͜ͱΛڪΕΔ͜ͱͳ͘ɺ ڝ૪ͷݯઘͰ͋ΔاۀൿີΛίʔυʹຒΊࠐΉ͜ͱ͕ Ͱ͖·͢ɻ ಉ࣌ʹɺ ૊৫શମʹΘͨΔਓʑʹΑͬͯఏڙ͞ΕΔଟ༷ͳࢹ఺΍ΫϦΤΠςΟϏςΟͷԸܙΛड͚Δ ͜ͱ͕Ͱ͖·͢ɻ ૊৫͕ΠϯφʔιʔεϓϩδΣΫτͷҰ෦ΛҰൠʹެ։͠ɺ ͦΕΒΛޮՌతʹ OSS ʹม͑Δ͜ͱΛબ୒͢Δέ ʔε΋Α͋͘Γ·͢ɻ OSS ͷٕज़ͱ؅ཧख๏͕ࣾ಺Ͱ࢖༻͞Ε͍ͯΕ͹ɺ ϓϩδΣΫτΛެͷ৔ʹҠ͢͜ͱ͸ඇ ৗʹ༰қʹͳΓ·͢ɻ ΠϯφʔιʔεઓུΛ࠾༻͢Δར఺͸ҎԼͷ௨ΓͰ͢ɻ 5
  6. ૊৫ԣஅతͳίʔυͷ࠶ར༻͕ඈ༂తʹਐΈ·͢ɻ ֤νʔϜͷϓϩάϥϚʔ͸ɺ ଞͷνʔϜʹΑͬͯ։ൃ ͞ΕͨϞδϡʔϧͷίʔυͱΞʔΩςΫνϟΛཧղ͠ɺ ίʔυΛίϯτϦϏϡʔτͰ͖·͢ɻ ͜ͷΑ͏ͳνʔϜؒͷίϥϘϨʔγϣϯ͕ɺ ൺֱతຎࡲͷগͳ͍΋ͷʹͳΓ·͢ɻ ड͚औͬͨνʔϜ͕ίϯ τϦϏϡʔτ͞ΕͨίʔυΛॻ͖௚͢͜ͱ͸΄ͱΜͲͳ͘ͳΓɺ ্૚෦ʹ͓͚Δٞ࿦΋ඞཁͳ͘ͳΓ·͢ɻ

    ϓϩάϥϚʔ͸Ϣχο τςετɺ ίʔυΧόϨοδɺ ܧଓతΠϯςάϨʔγϣϯΛ࢖͍ɺ ։ൃͷॳظஈ֊Ͱ όάΛऔΓআ͘ ͜ͱΛֶͿ͜ͱ͕Ͱ͖ΔͨΊɺ ։ൃ͸ΑΓ଎͘ͳΓ·͢ɻ νʔϜϝϯόʔؒͰަΘ͞ΕΔί ϝϯτͷ΍ΓऔΓʹ͸͕͔͔࣌ؒΓ·͕͢ɺ ৽͍͠ϓϩάϥϚʔ͕γεςϜʹ͍ͭͯૣֶ͘Ϳ͜ͱ͕Ͱ͖Δ Α͏ʹͳΔͨΊɺ ͦΕҎ্ͷޮՌ͕͋Γ·͢ɻ ϓϩάϥϚʔ͸ࣗ෼ͷίʔυΛΑΓྑ͘ υΩϡϝϯτԽ͢Δ͜ͱΛֶͿΑ͏ʹͳΓɺ ͦΕ͸ެࣜͳυΩϡϝ ϯτ(ίʔυ಺ͷίϝϯτ΍υΩϡϝϯτ)΍ɺ ඇެࣜͳυΩϡϝϯτ(σΟεΧογϣϯϦετ) ʹରͯ͠΋ޮՌ ͕͋Γ·͢ɻ υΩϡϝϯτ͸ϓϩδΣΫτͷཤྺΛఏڙͯ͠֎෦ͷਓ͕ؒཧղ͢Δॿ͚ͱͳΔͨΊɺ ΑΓଟ ͘ͷਓ͕ϓϩδΣΫτ΁ίϯτϦϏϡʔτͰ͖ΔΑ͏ʹͳΓ·͢ɻ 6
  7. ૊৫ԣஅతͳίϥϘϨʔγϣϯ OSS ͷ։ൃ͸ɺ νʔϜ ɾ اۀ ɾ ࠃͷڥքΛӽ͑ͯɺ ੈքதͷݸਓ͕ Linux

    ΍ Apache ͷΑ͏ͳओཁͳίϯϐϡʔ ςΟϯάγεςϜͷਐาʹڠྗ͢Δ͜ͱΛՄೳʹ͠·͢ɻ ແࠎͳϋοΧʔ͕Ͳ͔͜ͷ஍ԼࣨͰίʔυΛॻ͘ ͱ͍ ͏εςϨΦλΠϓ͸(͔ͭͯͦΕ͕ద੾ͩͬͨͱͯ͠΋)࣌୅஗ΕͰ͢ɻ Linux ͷΑ͏ͳ OSS ϓϩδΣΫτʹ͓͚ Δத৺తͳίϯτϦϏϡʔλʔ͸ɺ ࠓ΍େاۀʹۈΊ͍ͯ·͢ɻ ଟ͘ͷॏཁͳ OSS ϓϩδΣΫτ͸ɺ ݸʑͷϓϩάϥϚʔʹΑΔൃҊ͔Β࢝·Γ·͕ͨ͠ɺ ͦΕ͸Α͘େاۀʹ࠾ ༻͞Ε͍͖ͯ·͢ɻ ·ͨɺ PayPal Λ͸͡Ίͱͯ͠ɺ େاۀͷத͔Β OSS ϓϩδΣΫτ͕ੜ·ΕΔέʔε΋͋Γ· ͢ɻ ͲͷΑ͏ͳ૊৫Ͱ͋ͬͯ΋ OSS ͷ੒ޭʹ͔ܽͤͳ͍ͷ͸ɺ ಺෦ͷਓʑ͕ɺ ֎෦ͷਓʑʹιϑτ΢ΣΞʹ͓͚ Δ։ൃ ɾ ςετ ɾ υΩϡϝϯτԽ ɾ ϓϩϞʔγϣϯͷओཁͳ໾ׂΛͤ͞Δ͜ͱͱɺ ͢΂ͯͷίϯτϦϏϡʔλʔʹՄ ೳͳݶΓެฏͳڝ૪ͷ৔Λఏڙ͢Δ͜ͱͰ͢ɻ 8
  8. ஍ཧతʹ෼ࢄͨ͠։ൃͱΞδϟΠϧͳϓϩάϥϛϯάͷҧ͍ OSS ͷࠃڥΛӽ͑ͨ׆ಈ͸ɺ ΞδϟΠϧ΍εΫϥϜͷΑ͏ͳҰൠతͳاۀͷ։ൃΞϓϩʔνͱڧ͘ରরతͰ ͢ɻ ޙऀͷ։ൃख๏͸ɺ 1 ͭͷΦϑΟεͰإΛ߹Θͤͯ࢓ࣄΛ͢ΔνʔϜͷͨΊʹઃܭ͞Εͨ΋ͷͰ͋Δ͜ͱ͸ ໌Β͔Ͱ͢ɻ ΞδϟΠϧ΍εΫϥϜͷ޻෉͸ɺ

    ΦϑΟεͰ࢓ࣄΛ͢Δ஥ؒΛ։ൃऀ͚ͩʹͤͣɺ ιϑτ΢ΣΞͷϢ ʔβʔ΍ͦͷଞͷεςʔΫϗϧμʔͨͪͱ΋ఆظతͰΧδϡΞϧͳ৘ใڞ༗Λ͢Δ͜ͱͰ͢ɻ ͜ͷ޻෉ʹΑΓɺ ཁٻ࢓༷ॻ΍ઃܭॻͱ͍ͬͨυΩϡϝϯτͷඞཁੑΛݮΒ͢͜ͱ͕Ͱ͖·͢ɻ ͔͠͠ɺ ͜ͷΑ͏ͳ։ൃख๏͸ɺ ୯ Ұͷ࡞ۀݱ৔Ͱ͸ͳ͍Α͏ͳΑΓେ͖ͳ؀ڥʹ͓͍ͯ͸ɺ ͋·Γ্ख͍͖͘·ͤΜɻ ΞδϟΠϧ΍εΫϥϜ͕֦ுੑͱ͍͏୅ঈΛ෷͏ͱ͢Ε͹ɺ OSS ։ൃ͸εϐʔυͱ͍͏୅ঈΛ෷͏͜ͱʹͳΓ· ͢ɻ OSS ϓϩδΣΫτ͸ɺ 1 ͭͷΦϑΟεͰಇ͘ઐ໳νʔϜ΄Ͳ଎͘ಈ͘ ͜ͱ͕Ͱ͖·ͤΜɻ కΊ੾Γ͕(࣌ʹ͸ ڰؾతͳ΄Ͳ)ݫ͍͠ελʔτΞοϓ ɾ ϕϯνϟʔʹͱͬͯɺ ͜ͷ୅ঈ͸໌Β͔ʹେ͖ͳҧ͍ͱͳΓ·͢ɻ ͜ͷҧ͍ ͸ɺ ΠϯϑϥͷͨΊͷՁ஋Ͱઆ໌͢ΔΑ͏ʹɺ ͦΕͧΕͷ։ൃϞσϧʹదͨ͠ιϑτ΢ΣΞͷछྨʹ΋ඍࡉͳӨ ڹΛٴ΅͠·͢ɻ ਐߦ଎౓ʹ੍ݶ͕͋Δʹ΋͔͔ΘΒͣɺ ଟ͘ͷ OSS ϓϩδΣΫτ͸ɺ ݫ͍͠ೲظΛकΓɺ ༧ଌՄೳͳϦϦʔεΛ ͍ͯ͠·͢ɻ ͔͠͠ɺ ༧ଌՄೳੑΛߴΊΔͨΊʹػೳΛ٘ਜ਼ʹ͢Δ͜ͱ΋গͳ͋͘Γ·ͤΜɻ ಛఆͷϦϦʔεͰܭ ը͞Ε͍ͯΔػೳΛ֦ு͢Δ͜ͱͷதʹ͸ɺ ظݶΛա͗ͳ͍Α͏ʹޙճ͠ʹ͠ͳ͚Ε͹ͳΒͳ͍΋ͷ΋ؚ·Εͯ ͍Δ͔΋͠Ε·ͤΜɻ ࣮Λݴ͏ͱɺ ΞδϟΠϧͳϓϩάϥϛϯά͸ඞͣ͠΋ OSS ։ൃͷఢͰ͸͋Γ·ͤΜɻ ࣮ࡍɺ จݙʹ͓͍ͯ͜ͷ2 ͭΛ૊Έ߹ΘͤͨνʔϜ͕ใࠂ͞Ε͍ͯ·͢ [1]ɻ ͔͠͠ɺ ൴Βʹ͓͍ͯ͸ཁ݅ͱલఏ͕ҟͳΔͱ͍͏͜ͱΛཧղ ͢Δ͜ͱ͕ɺ OSS ΛΑΓΑ͘ཧղ͢Δ͜ͱʹܨ͕ΔͰ͠ΐ͏ɻ [1]: Stol, KJ, P. Avgeriou et al. “Key Factors for Adopting Inner Source.” ʢhttp://www.brian- fitzgerald.com/wp-content/uploads/2014/05/TOSEM-2014-stol.pdf ʣ ACM Transactions on Software Engineering Methodology (TOSEM) (2014): Vol 23, No 2. 9
  9. ܧଓతͳςετͱ։ൃ େ൒ͷ OSS ϓϩδΣΫτͰ͸ɺ دͤΒΕΔίϯτϦϏϡʔγϣϯͷҰͭͻͱͭΛݫ͘͠٬؍తʹςετ͢Δ࢓૊ ΈΛઃ͚͍ͯ·͢ɻ ͜ΕʹΑΓ඼࣭͸อͨΕɺ ڠྗऀؒͷ৴པ΋ৢ੒͞Ε·͢ɻ ྫ͑͹ɺ Ϣχοτςετ΍ܧଓత

    ΠϯςάϨʔγϣϯͱ͍ͬͨඪ४తͳٕज़͕࠾༻͞Ε͓ͯΓɺ ͦΕΒͷٕज़Λਖ਼͘͠࢖͏ͨΊͷنൣ΋పఈ͞Ε ͍ͯ·͢ɻ OSS ։ൃऀ͸඼࣭؅ཧΛΑΓՊֶతʹ͍ͯ͠ΔͷͰ͢ɻ OSS ʹ͓͍ͯςετۦಈ։ൃ͸ٻΊΒΕͳ͍΋ͷͷɺ Ϣχοτςετ͸ඇৗʹॏࢹ͞Ε͍ͯ·͢ɻ ίϯτϦϏϡ ʔγϣϯର৅ͷ OSS ϓϩδΣΫτʹ͓͚Δ඼࣭อূνʔϜͷ༗ແʹ͔͔ΘΒͣɺ ίϯτϦϏϡʔλʔ͸ࣗ਎ͷ ॻ͍ͨίʔυΛอূ͢ΔͨΊͷϢχοτςετ΋߹Θͤͯॻ͘ ͜ͱ͕ٻΊΒΕ·͢ɻ ίʔυΛมߋ͢Δʹ͸ςετ ࣮ߦπʔϧͱॴఆͷखଓ͖͕ඞཁͰ͋Γɺ มߋ͕ϦϙδτϦʹऔΓࠐ·ΕΔͨΊʹ͸ܿനͰ͋Δςετ݁Ռ͕ٻ ΊΒΕ·͢ɻ ͜͏͢Δ͜ͱʹΑΓɺ มߋ͞Εͨίʔυ͕ҙਤ௨Γʹಈ͘ ͜ͱ͚ͩͰͳ͘ɺ ͦΕҎ֎ͷίʔυʹѱӨ ڹ͕ͳ͍͜ͱ΋͔֬ΊΒΕΔͷͰ͢ɻ ίʔυΧόϨοδͷଌఆ΍੩తίʔυղੳͱ͍ͬͨݱ୅తͳٕज़͸ɺ OSS ͷੈքͰ͸͞΄Ͳݟ͔͚·ͤΜ͕ɺ PayPal Ͱ͸ੵۃతʹ࢖ΘΕ͍ͯ·͢ɻ ·ͱΊΔͱɺ ςετͱܧଓతΠϯςάϨʔγϣϯ͸ 2 ͭͷॏཁͳ໾ׂΛ୲͍ͬͯ·͢ɻ ·ͣͻͱͭ͸໪࿦ͷ͜ͱɺ ϓϩμΫτ͕յΕͳ͍Α͏ʹ͢Δ͜ͱͰ͢ɻ Ͱ͕͢ɺ ͦΕ͚ͩͰ͸ͳ͘ɺ େ͖ͳ੹೚Λ࣋ͭʹ૬Ԡ͍͠։ൃऀΛݟ ͚ͭΔͷʹ΋໾ཱͭͷͰ͢ɻ ྫ͑͹ɺ τϥεςουίϛολʔ [2] ͱ͍͏ಌΕͷশ߸ʹ૬Ԡ͍͠։ൃऀΛݟ͚ͭΔ ʹ͸ɺ ड͚ೖΕΒΕͨίϛο τͷ਺Ͱ൑அ͢Δ͜ͱ͕௨ྫͰ͢ɻ τϥεςουίϛολʔ͸ɺ ଞͷ։ൃऀͷ੒ՌΛ ϨϏϡʔͯ͠࠾൱Λ൑ఆ͢Δ໾ׂΛ࣋ͪ·͢ɻ ·ͨɺ ࣗ਎͸ͦ͏ͨ͠ϨϏϡʔϓϩηεΛܦΔ͜ͱͳ͘มߋ͢Δݖ ݶΛ࣋ͪ·͢ɻ ͞Βʹɺ ඼࣭ج४Λຬͨ͞ͳ͍ίʔυΛఏग़ͨ͠৳ͼ੝Γͷ։ൃऀΛҭͯΔ໾ׂ΋୲͍·͢ɻ [2]: (༁஫) OSS ʹ͓͍ͯɺ ίϛολʔ͸։ൃํ਑΍ίʔυมߋͷ࠷ऴ൑அΛ୲͏த৺తଘࡏͰ͢ɻ Πϯφ ʔιʔεͰ͸ɺ ͋Δ૊৫಺ͷιϑτ΢ΣΞʹରͯ͠ҰఆҎ্ͷίϯτϦϏϡʔγϣϯΛͨ͠ͱ৴པ͞Εͨਓ ͸ɺ ͦͷ૊৫಺ͷॴଐ෦ॺʹؔΘΒͣτϥεςουίϛολʔͱݺ͹Ε·͢ɻ ͓๽෇͖ίϛολʔͱݴͬͯ ΋Α͍͔΋͠Ε·ͤΜɻ 10
  10. ໌จԽͷॏཁੑ ͞ΒͳΔ OSS ͷ৴೦͸పఈతͳ໌จԽͰ͢ [3]ɻ ͜Ε͸ɺ ؔ܎ऀͷ஍ཧతͳҐஔͱλΠϜκʔϯ͕ଟ༷Ͱ͋Δ ͜ͱʹىҼ͍ͯ͠·͢ɻ Ϣʔβʔ޲͚υΩϡϝϯτ͸ଟ͘ͷ OSS

    ϓϩδΣΫτͰखബʹͳΓ͕ͪͳͷͰ͕͢(࣮ ͸ϓϩϓϥΠΤλϦϓϩδΣΫτͰ΋ಉ༷ʹखബͰ͢)ɺ ։ൃऀͷߟ͑Δ૝ఆɺ ҙࢤܾఆɺ ࣮૷ʹ͍ͭͯ͸ੵۃత ʹه͞Ε·͢ɻ ͜͏࣮ͨ͠ঢ়͸ ʮแׅతͳυΩϡϝϯτΑΓ΋ಈ͘ ιϑτ΢ΣΞΛʯ ༏ઌ͢ΔΞδϟΠϧιϑτ΢ΣΞ։ൃએݴ ʢhttps://agilemanifesto.org/iso/ja/manifesto.html ʣ ͱ͸ରরతͰ͢ɻ OSS ίϛϡχςΟ(ͱ͍͏։ൃऀத৺ͷੈք)Ͱ ΋ಈ͘ ιϑτ΢ΣΞ͕ਖ਼ٛͱ͞ΕΔ΋ͷͷɺ ࣮ݱͰ͖ͨࣄฑʹ͍ͭͯ͸υΩϡϝϯτʹ࢒͢͜ͱ͕ґવͱͯ͠ॏࢹ ͞Ε͍ͯ·͢ɻ ͜Ε͸ҰൠతͳΞδϟΠϧʹର͢Δಛ௃ͱ͓֮ͯ͑ͯ͘͠΂͖͜ͱͰ͢ɻ OSSʹ͓͚Δٞ࿦΍ঢ়گઆ໌ͱ͍ͬͨ͋ΒΏΔίϛϡχέʔγϣϯ͸໌จԽ͞Ε·͢ɻ ྫ͑͹ɺ ଟ͘ͷϓϩδΣ ΫτͰ GitHub ʹॻ͖ࠐ·ΕΔίϝϯτ͕։ൃΛࠨӈ͍ͯ͠Δ͜ͱͰ͠ΐ͏ɻ ϝʔϦϯάϦετ͸ٞ࿦ʹΑΔҙࢥ ܾఆʹ͔ܽͤͳ͍πʔϧͱͳ͍ͬͯΔͰ͠ΐ͏ [4]ɻ ʮϝʔϦϯάϦετʹॻ͔Ε͍ͯΔ͜ͱ͚͕ͩࣄ࣮ͩʯ ͱ͍͏ ݴ͍ճ͠Λฉ͍ͨ͜ͱͷ͋Δಡऀ΋ଟ͍ͷͰ͸ͳ͍Ͱ͠ΐ͏͔ɻ ҙࢥܾఆͱ࣮૷ͷৄࡉΛ໌จԽ͢Δ͜ͱͷՁ஋ͱͯ͠ɺ ৽ͨʹࢀՃ͠Α͏ͱ͢ΔਓʑͷͨΊʹϓϩδΣΫτͷྺ ࢙Λ௲Δ͜ͱ͕ڍ͛ΒΕ·͢ɻ ࣌ؒΛ͔͚ͯܦҢΛಡΈղ͚͹ɺ ϓϩδΣΫτͷจԽ΍ֶͼͷ͋ΔܦݧΛ୭Ͱ΋ ஌Δ͜ͱ͕Ͱ͖ΔͷͰ͢ɻ ͦͯ͠ɺ ڠಇ͢Δʹ͸ಉ͡ݴޠΛ༻͍Δඞཁ͕͋Δ͜ͱʹ΋஫ҙ͕ඞཁͰ͢ɻ ؔΘΔਓʑ͕஍ཧతʹ͹Β͹ΒͰ ͋Δ OSS ϓϩδΣΫτͰ͸ɺ ͝ଘ஌ͷ௨Γӳޠ͕ڞ௨ݴޠͱͳ͍ͬͯ·͢(ଞͷݴޠΛ༻͍ΔॏཁͳϓϩδΣΫ τ΋͋Γ·͕͢)ɻ ಡΈॻ͖ͷํ͕ձ࿩ΑΓ΋ຽओతͳίϛϡχέʔγϣϯΛଅ͠·͢ɻ ͳͥͳΒ֎ࠃޠΛྲྀெʹ ࿩ͤΔΑ͏ʹͳΔΑΓ΋ɺ ॻ͚ΔΑ͏ʹͳΔํ͕؆୯͔ͩΒͰ͢ɻ Αͬͯɺ ଟ͘ͷਓʑ͸ɺ ݁ଋྗ͸ߴ͍΋ͷͷೃ છΈͷͳ͍ݴޠΛ࢖͏νʔϜΑΓ΋ɺ OSS ϓϩδΣΫτʹࢀՃͰ͖ΔͷͰ͢ɻ [3]: (༁஫) ݪจͰͷઅ໊͸ The Importance of Documentation Ͱ͢ɻ ͜͜Ͱͷ documentation ͱ͸υΩ ϡϝϯτʹ͢Δ͜ͱ͚ͩͰͳ͘ɺ νϟο τ΍νέοτͷίϝϯτ΋ؚΉͨΊɺ ໌จԽͱදݱ͠·ͨ͠ɻ [4]: (༁஫) 2022 ೥ݱࡏͰ͸ Gitter ΍ Slack ͱ͍ͬͨνϟοτπʔϧ͕ϝʔϦϯάϦετʹ୅Θͬͯར༻ ͞ΕΔ৔߹΋૿͍͑ͯΔͰ͠ΐ͏ɻ 11
  11. ΠϯϑϥͷͨΊͷՁ஋ OSS ͸௿ϨΠϠʔͰ੒ޭ͖ͯ͠·ͨ͠ɻ ͜͜Ͱݴ͏௿ϨΠϠʔͱ͸ɺ OSɺ ϋΠύʔόΠβʔɺ ίϯύΠϥʔ΍Τ σΟλʔͱ͍ͬͨ։ൃऀ͕࢖͏πʔϧɺ ίʔυͷ੬ऑੑΛݟ͚ͭΔͨΊͷηΩϡϦςΟπʔϧɺ ͦͷଞϢʔβʔ

    ʹ͸ݟ͑ͳ͍৔ॴʹஔ͔Ε͍ͯΔ΋ͷ͕֘౰͠·͢ɻ Ұํɺ ϢʔβʔΠϯλʔϑΣʔε(UI)͸ OSS ͱͯ͠։ൃ͢Δ͜ͱʹࠜڧ͍൓ൃ͕͋Δͱ͍͏͜ͱ͕Θ͔͍ͬͯ· ͢ɻ ΤϯυϢʔβʔ޲͚ͷ OSS ͱͯ͠޿͘ීٴͨ͠΋ͷ͸ͳ͔ͳ͔͋Γ·ͤΜɻ Mozilla Firefox ͸௝͍͠ྫͳ ͷͰ͢ɻ ͦͷཧ༝Λ஌Δώϯτ͸ɺ OSS ։ൃͱΞδϟΠϧ։ൃͷൺֱΛಡΈฦ͢ͱΘ͔ΔͰ͠ΐ͏ɻ ΞδϟΠϧ։ൃ͕޿ ͘࠾༻͞Ε͍ͯΔཧ༝͸ɺ ։ൃऀ͕Ϣʔβʔͱͷີ઀ͳର࿩Λଓ͚ΒΕΔํ๏͔ͩΒͰ͢ɻ ର࿩Λ௨ͨ͡ϑΟ ʔυόοΫΛಘ͔ͯΒ਺೔ͷ͏ͪʹ࡞ۀΛ࢝ΊΒΕ·͢ɻ Ұํɺ ΄ͱΜͲͷ OSS ϓϩδΣΫτͰ͸ɺ α ൛΍ β Ϧ Ϧʔεͱ͍ͬͨੲͳ͕Βͷํ๏ͰϢʔβʔͷ൓ԠΛಘ͍ͯ·͢ɻ Ϣχοτςετʹॏ఺Λஔ͍͍ͯΔ͜ͱ΋ɺ OSS ͕Πϯϑϥʹ޲͍͍ͯΔ͜ͱΛද͍ͯ͠ΔͰ͠ΐ͏ɻ ΞδϟΠϧ ͷઐ໳ՈͰ͋Δ Mike Cohn ͸ɺ 2009೥ʹςετϐϥϛου [5] ͱ͍͏֓೦Λఏএ͠·ͨ͠ɻ ͜ͷ֓೦Ͱ͸ɺ UI ͷ ςετΛ࠷্Ґɺ ϢχοτςετΛ࠷ԼҐͱͨ͠ෳ਺ͷ֊૚͕ઃ͚ΒΕɺ ϢχοτςετΛ࠷΋ॏࢹͯ͠ػೳςε τͱͷґଘΛݮΒ͢͜ͱ͕આ໌͞Ε͍ͯ·͢ɻ UI ΛϢχο τςετͰ֬ೝ͢Δ͜ͱ͸ࠔ೉Ͱ͋Γɺ Ͱ͖ͨͱͯ͠΋ͦͷ৴པੑͱՁ஋͸௿͍΋ͷʹͳͬͯ͠·͍ ·͢ɻ ͦ͜Ͱɺ γεςϜશମͷಈ࡞ͱɺ Ϣʔβʔͷૢ࡞͕ظ଴͢Δ݁ՌΛੜΉ͜ͱΛ֬ೝͰ͖Δػೳςετͷग़ ൪ͱ͍͏Θ͚Ͱ͢ɻ ཁ͢Δʹɺ OSS ͷ඼࣭ͱ৴པΛ൫ੴͳ΋ͷͱ͢Δςετϓϩηεʹ͓͍ͯɺ UI ͷςετ͸ऑ͍ͷͰ͢ɻ ͜ͷ͜ͱ ΋ɺ UI Λ࣋ͭ OSS ͕গͳ͍ཧ༝͔΋͠Ε·ͤΜɻ [5]: (༁஫) ͜ͷจ຺Ͱखಈςετ͸ؚ·Εͳ͍͜ͱʹ஫ҙ͍ͯͩ͘͠͞ɻ Mike Cohn ͸ Succeeding with Agile ʢhttps://www.mountaingoatsoftware.com/books/succeeding-with-agile-software-development-using- scrum ʣ ·ͨ͸ The Forgotten Layer of the Test Automation Pyramid ʢhttps://www.mountaingoatsoftware.com/blog/the-forgotten-layer-of-the-test-automation-pyramid ʣ ͷதͰ Test Automation Pyramid ͱه͍ͯ͠·͢ɻ "ࣗಈςετϐϥϛου" ͷํ͕ਖ਼֬ͳ༁Ͱ͕͢ɺ ೔ຊͰ͸ "ς ετϐϥϛου" ͱ͍͏ݺশ͕ීٴ͍ͯ͠·͢ɻ 12
  12. OSS ʹ૬Ԡ͍͠Ϩϕϧͷൃݟ OSS ͱϑϦʔιϑτ΢ΣΞ͸ɺ Microsoft ͷ Windows ΍ Oracle ͷ

    Database ͱ͍ͬͨϓϩϓϥΠΤλϦιϑτ ΢ΣΞ [6] ͱൺֱ͞Ε͖ͯ·ͨ͠ɻ ݱࡏͰ͸ɺ SaaS(Software as a Service)ͱ͍͏ఏڙϞσϧ͕ϓϩϓϥΠΤλϦ ιϑτ΢ΣΞͷ։ൃͰҰൠతʹͳ͖ͬͯ·ͨ͠ɻ SaaS Ͱ͸ [7]ɺ Ͳͷ෦෼ΛԿͷํ๏Ͱ։ൃ͢Δ͔ΛܾΊΔ͜ͱ ʹͳΓ·͢ɻ Πϯφʔιʔε ͔ɺ Φʔϓϯιʔε͔ɺ ͋Δ͍͸ΞδϟΠϧͷΑ͏ͳؔ܎ऀΛݶఆ͢ΔνʔϜࢤ޲ ͷํ๏ͳͷ͔ͱ͍͏બ୒Ͱ͢ɻ ͜ͷબ୒ʹ͸ຊষ͕ΨΠυϥΠϯͱͯ͠໾ཱͭͰ͠ΐ͏ɻ ଟ͘ͷاۀͰ͸ɺ ͍͔ͭ͘Λ૊Έ߹Θͤͨબ୒Λ͍ͯ͠·͢ɻ ͦ͏ͨ͠اۀ͸ɺ ϏδωεͷίΞͱͳΔιϑτ΢Σ ΞΛ SaaS ͷഎޙʹӅ͓ͯ͘͠ҰํͰɺ Πϯϑϥʹ૬౰͢Διϑτ΢ΣΞΛࣗ༝ʹެ։ ɾ ڞ༗͍ͯ͠·͢ɻ ·ͨɺ ͦ ͷΑ͏ͳاۀ͸ΫϩʔζυίΞ ʢhttp://radar.oreilly.com/2011/12/could-closed-core-prove-a-more.html ʣ ͱݺ͹ΕΔ ͜ͱ͕͋Γ·͢ [8]ɻ Πϯϑϥ෦෼Λ OSS ʹ͢Δ͜ͱʹΑΓɺ ϓϩάϥϛϯάʹؔΘΔ਺ଟͷਓʑ͕རӹΛड͚ɺ ࣾһͷ࠾༻ͱڭҭ͕ޮ཰తʹͳΓɺ اۀ͸֎͔ΒͷίϯτϦϏϡʔγϣϯΛड͚औΔ͜ͱ͕Ͱ͖ΔΑ͏ʹͳΔͷ Ͱ͢ɻ [6]: (༁஫) ϓϩϓϥΠΤλϦ(proprietary)ͱ͸ɺ "ಠ઎త"ɺ "ઐച" Λҙຯ͢Δܗ༰ࢺͰ͢ɻ ϓϩϓϥΠΤλϦ ιϑτ΢ΣΞͱ͸ɺ 1͕ࣾಠ઎తʹఏڙ͠ɺ ιʔείʔυ΍ͦͷଞͷதؒ੒Ռ෺͕ඇެ։Ͱ͋Διϑτ΢Σ ΞΛओʹҙຯ͠·͢ɻ ຊจͷΑ͏ʹɺ OSS ͷରٛޠͱͯ͠࢖ΘΕΔ৔߹͕΄ͱΜͲͰ͢ɻ [7]: (༁஫) SaaS ʹݶΒͣɺ σεΫτοϓΞϓϦ΍૊ࠐΈιϑτ΢ΣΞͰ΋ಉ༷ͷબ୒Λ͢Δ͜ͱ͕͋ΔͰ ͠ΐ͏ɻ [8]: (༁஫) Φʔϓϯ ɾ Ϋϩʔζઓུͷํ͕೔ຊͷاۀਓʹͱͬͯೃછΈ͕͋ΔͷͰ͸ͳ͍Ͱ͠ΐ͏͔ɻ ͨͩ ͠ɺ Φʔϓϯ ɾ Ϋϩʔζઓུ͸ιϑτ΢ΣΞͷ։ൃ΍ఏڙͷํ๏Ͱ͸ͳ͘஌ࡒϚωδϝϯτͷจ຺ͰޠΒΕ Δ͜ͱʹ஫ҙ͕ඞཁͰ͢ɻ ڵຯͷ͋Δಡऀ͸ܦࡁ࢈ۀলൃߦͷ2013೥൛΋ͷͮ͘Γനॻ ʢhttps://www.meti.go.jp/report/whitepaper/mono/2013 ʣ ୈ3અ ͦͷ3Λࢀর͢ΔͱΑ͍Ͱ͠ΐ͏ɻ 13
  13. 1.2 PayPal ͕ΠϯφʔιʔεΛ࠾༻͢Δ·Ͱ PayPal ͕ΠϯφʔιʔεΛ࠾༻͢Δ·Ͱͷաఔʹ͸اۀͱͯ͠ͷҙࢤܾఆͷੵΈॏͶ͕͋Γɺ ྺ࢙తͰେن ໛ͳ΋ͷͰ͢ɻ Πϯφʔιʔε ͷ࠾༻͸ɺ ͦΕ·ͰʹԿ౓͔͋ͬͨاۀมֵͱಉ༷ʹɺ

    πʔϧͱاۀจԽͷઓ ུతมߋͱͯ͠ਐΊΒΕ·ͨ͠ɻ PayPal ͕ΠϯφʔιʔεΛ࠾༻͢ΔҎલʹߦΘΕͨมֵͱͦͷ݁Ռ͸࣍ͷ௨ΓͰ͢ɻ ։ൃ଎౓Λ޲্ͤ͞Δٕज़ͷௐࠪͱద༻ (ྫ ɿ ଟ͘ͷϓϩδΣΫτ͕ Java ͔Β JavaScript ·ͨ͸ Node.js ʹҠߦͨ͠) ࠾༻ͨ͠৽ٕज़ʹؔ܎͢Δ OSS ίϛϡχςΟͱ։ൃϞσϧ΁ͷڵຯ͕ৢ੒͞Εͨ ࣾ಺ͱࣾ֎ͲͪΒͷڠಇͰ΋ GitHub ͕࢖ΘΕΔΑ͏ʹͳͬͨ ඼࣭ʹߴ͍ؔ৺͕෷ΘΕΔΑ͏ʹͳͬͨ ͭ·Γɺ PayPal Ͱ͸ΠϯφʔιʔεΛ࠾༻͢Δલ͔ΒΦʔϓϯιʔεʹΏ͔Γͷ͋Δٕज़Λ෦෼తʹ࠾༻ͯ͠ ͍ͨͱ͍͏͜ͱͰ͢ɻ ·ͨɺ Ұ෦ͷࣾ಺༻ίʔυΛ OSS Խ͢Δ͜ͱʹ΋औΓ૊Έ·ͨ͠ɻ ٯͷॱংɺ ͢ͳΘͪࣾ ಺ͱ͍͏ݶΒΕۭͨؒͰ OSS ༝དྷͷํ๏Λ࣮ફ͔ͯ͠Β OSS Λެ։͢Δͱ͍͏ಓΛḷΔاۀ΋͍Δ͜ͱͰ͠ ΐ͏ɻ ͨͩɺ ͦͷํ͕Ұൠతʹ೉͍͠ͱߟ͑ΒΕ͍ͯ·͢ɻ ͲͪΒͷॱংʹͯ͠΋ɺ OSS ͷπʔϧͱɺ ڠಇతͳ։ ൃϓϩηεΛଅਐ͢Δ GitHub ͷΑ͏ͳπʔϧΛख़஌͍ͯ͠Δ͜ͱ͕ॏཁͰ͢ɻ PayPal ʹ͓͚Δ༷ʑͳมԽ͸ಉ࣌ʹൃੜ͠ɺ ໌Β͔ʹ૬ޓʹӨڹ͍ͯ͠·͢ɻ Ҏ߱ͷઅͰ͸ͦΕΒΛඥղ͖ɺ ֤มԽΛݸผʹઆ໌ͯ͠Ώ͖·͢ɻ 14
  14. ຤୺͔Β࢝ΊΔ PayPal ͷΠϯφʔιʔε͸ɺ ถࠃ֎ͷ༷ʑͳࢧࣾͰಇ͘ηʔϧεΤϯδχΞ͔Β࢝·Γ·ͨ͠ [9]ɻ ൴Β͸ɺ ֤஍ Ҭͷར༻ऀͷ޷Έʹ߹ΘͤͨΓɺ ஍Ҭ޲͚ͷϓϩϞʔγϣϯ΁ͱ໾ཱͯΔͨΊʹϢʔβʔ޲͚ͷίʔυΛमਖ਼ ͠·ͨ͠ɻ

    ͔͠͠ɺ ͦ͏ͨ͠ϓϩάϥϚʔ͕ͨͪߦͬͨมߋ͸ɺ ͙͢ʹίΞνʔϜʹड͚ೖΕΒΕΔΘ͚Ͱ͸͋Γ ·ͤΜͰͨ͠ɻ όΠεϓϨδσϯτͳͲ͕հೖͯ͠ϚʔδΛٻΊɺ ͦͷ͋ͱͰ൓ର͢ΔίΞΤϯδχΞ͕Ϛʔδ લʹมߋΛॻ͖໭͢͜ͱ΋͋Γ·ͨ͠ɻ ͜Εͱಉ࣌ʹυΩϡϝϯτ͕ෆे෼Ͱ͋Δͱ͍͏໰୊΋͋Γɺ ଞͷνʔϜͷ։ൃऀͱͷؒͰඈͼަ͏ۓٸͷ Eϝ ʔϧͷ΍ΓऔΓͰΧόʔ͍ͯ͠·ͨ͠ɻ ͜ΕΒͷϝʔϧʹ͸ॏཁͳ৘ใؚ͕·Ε͍ͯ·͕ͨ͠ɺ ͦͷଞͷଟ͘ͷ ։ൃऀ͕໨ʹ͢Δ͜ͱ͸͋Γ·ͤΜͰͨ͠ɻ ଟ͘ͷࢧࣾͰ͸ɺ ͦ͏ͨ͠ϝοηʔδΛͦΕͧΕಠࣗͷ Wiki ʹΧο τˍϖʔετ͢ΔࢼΈΛ࢝ΊΔ࢝຤Ͱͨ͠ɻ ίΞνʔϜͷίʔυʹର͢ΔυΩϡϝϯτ͕ෆे෼Ͱ͋ΔͨΊʹ֤஍ҬͷΤϯδχΞ͕ίʔυΛे෼ʹཧղͰ͖ ͣɺ ίΞνʔϜ͕ड͚ೖΕ΍͍͢มߋʹ࢓্͛ΒΕͳ͔ͬͨͷͰ͢ [10]ɻ ͦ͜Ͱɺ ֤ࢧࣾͷΤϯδχΞ͸αϯϊθͷຊࣾʹඈͼɺ 1ϲ݄ؒίΞνʔϜ͔Β௚઀ڭ͑Λड͚·ͨ͠ɻ ͔͠͠ɺ ଟ͘ͷτϥεςο υίϛολʔΛҭͯΒΕΔ΄Ͳ஌ࣝΛे෼ʹ޿ΊΒΕͨͱ͸͍͑ͣɺ ౤ࢿʹݟ߹͏΋ͷͰ͸͋Γ ·ͤΜͰͨ͠ɻ υΩϡϝϯτͷ֦ॆ΋શ͘ਐΈ·ͤΜͰͨ͠ɻ ΤϯδχΞ͕ͨͪ฼ࠃʹؼࠃͨ͠ޙ͸ɺ จ໘ʹΑΔ ໰͍߹ΘͤΛ௨ͯ͡ɺ ϝϯλʔͱͳͬͯ͘ΕΔίΞνʔϜͷ։ൃऀΛ୳͢͜ͱΛ༨ّͳ͘͞Ε·ͨ͠ɻ ͜ͷΑ͏ʹଟେͳ࿑ྗΛ෷ͬͨ݁Ռɺ Πϯφʔιʔεͷ΄͏͕ྑ͍ํ๏͔΋͠Εͳ͍ͱߟ͑ΒΕɺ ࠾༻͞ΕΔ͜ͱ ʹͳΓ·ͨ͠ɻ ͦͯ͠ɺ ֤νʔϜ͸ΠϯφʔιʔεʹΑͬͯϓϩδΣΫτ͕ຊ౰ʹޮ཰Խ͢Δ͜ͱʹؾ͖ͮ·͠ ͨɻ ίΞνʔϜͷτϥεςουίϛολʔ΋ɺ ͦͷϓϩηε͕͸Δ͔ʹ༏Ε͍ͯΔ͜ͱʹؾ͖ͮ·ͨ͠ɻ ཭Εͨ஍ Ҭʹ͍ΔΤϯδχΞͰ͋ͬͯ΋ GitHub ͔ΒίʔυΛϓϧͰ͖ΔΑ͏ʹͳΓ·ͨ͠ɻ ίΞνʔϜ͸ɺ ΑΓ্खʹ֤஍ҬͷίϥϘϨʔλʔͨͪͱ࿈ܞ͢Δํ๏Λֶ΂͚ͨͩͰͳ͘ɺ ஍ҬͷίϯτϦϏϡ ʔλʔͨͪ΁ͷࢦಋΛ௨ͯ͡ɺ Ϟδϡʔϧੑͱཧղ͠΍͢͞ΛߴΊΔͨΊʹίΞίʔυͷͲ͜ΛϦϑΝΫλϦϯά ͢Ε͹Α͍͔ͷώϯτΛಘΔΑ͏ʹͳΓ·ͨ͠ɻ ·ͨɺ ҟͳΔ஍ҬͰߦΘΕͨ࡞ۀͷύλʔϯʹؾͮ͘ ͜ͱ͕Ͱ͖ ͨͨΊɺ ܦݧ๛෋ͳ஍ҬͷΤϯδχΞΛɺ ଞͷ஍Ҭͷ஥ؒͷϝϯλʔʹ࠾༻Ͱ͖·ͨ͠ɻ [9]: (༁஫) PayPal ʹ͸ถࠃͷ΄͔ʹ༷ʑͳڌ఺͕͋Γ ʢhttps://careers.pypl.com/locations/default.aspx ʣ ɺ ͞Βʹ޿͍ࠃʑΛࢢ৔ͱ͍ͯ͠·͢ ʢhttps://www.paypal.com/en/webapps/mpp/country-worldwide ʣ ɻ [10]: (༁஫) ͜Ε͸ݪஶʹ͸ͳ͍จͰ͕͢ɺ PayPal ͷഎܠΛཧղ͢ΔͨΊʹ͸ඞཁͱ൑அͯ͠௥Ճ͠·͠ ͨɻ 15
  15. ΑΓεϐʔσΟͳ։ൃϓϩηε PayPal ͷᴈ໌ظ͸ൺֱతϞϊϦγοΫͳ C++ ϓϥοτϑΥʔϜͰελʔτ͠·ͨ͠ɻ ͦͷޙɺ ϨΨγʔͳཁૉ ͸ C++ ͕࢒Γͳ͕Β΋ɺ

    ৽ن։ൃʹ͍ͭͯ͸ Java ͷ Spring Λ࢖ͬͯɺ ΑΓϞδϡʔϧԽ͞Εͨํ๏ͰߦΘΕ ΔΑ͏ʹͳΓ·ͨ͠ɻ ͦͷҠߦޙ΋ɺ ։ൃऀͷ Jeff Harrell ͕ݴ͏ʹ͸ɺ ֤੡඼ͷίʔυʹ͸ ʮ෦଒಺஌ࣝʯ ͱ͍ ͏ࣾ಺ͷҰ෦Ͱ͔͠௨༻͠ͳ͍஌͕ࣝଟ͘ຒΊࠐ·Ε͍ͯ·ͨ͠ɻ ͦͷͨΊɺ খ͞ͳมߋΛऔΓࠐΉʹ΋਺िؒ ͕ඞཁͰɺ ৽ೖࣾһʹ͸6िؒͷτϨʔχϯάظ͕ؒඞཁͩͬͨͷͰ͢ɻ 3೥લɺ PayPal ͸ Node.js Λ࠾༻͠ɺ େ͖ͳมԽΛ਱͛·ͨ͠ɻ PayPal ͷ Node.js ։ൃऀͰ͋Δ Poornima Venkatakrishnan ʹΑΔͱɺ Node.js ͷϓϥο τϑΥʔϜ͸·ͣϓϩτλΠϐϯάͷͨΊʹ࢖༻͞Ε·ͨ͠ɻ ͦͷ ݁Ռʹຬ଍ͨ͠։ൃऀͨͪ͸ɺ ຊ൪؀ڥʹಋೖ͍ͨ͠ͱߟ͑·ͨ͠ɻ ·ͣ͸ Spring ϓϥοτϑΥʔϜͱ Node.js Ͱಉ͡ػೳΛฒߦͯ͠։ൃ͢Δ࣮ݧΛࢼΈ·ͨ͠ɻ ։ൃ࣌ؒ ɾ ίʔυߦ਺ ɾ ։ൃʹඞཁͳΤϯδχΞͷ ਺ͳͲΛج४ʹɺ 2ͭͷϓϥο τϑΥʔϜΛൺֱͨ͠ͷͰ͢ɻ Node.js ͸໌Β͔ʹউ͍ͬͯ·ͨ͠ɻ PayPal ͕ Node.js Λ࠾༻͢Δͱ͍͏ൃද͸ɺ ଟ͘ͷϓϩάϥϚʔΛɺ ಛʹ C++ ͔Β Java ΁ͷҠߦ͕௕ͯ͘େ มͩͬͨ͜ͱΛهԱ͍ͯ͠ΔϓϩάϥϚʔΛ৺഑ͤ͞·ͨ͠ɻ ͔͠͠ɺ PayPal ͸ɺ Node.js ΁ͷҠߦ͕·ͬͨ͘ ҧ͏΋ͷͰ͋Δ͜ͱΛࣔ͠·ͨ͠ɻ PayPal ͸ɺ ҠߦτϨʔχϯάʹΘ͔ͣ 2೔ؒͷεέδϡʔϧΛ૊Έ·ͨ͠ɻ Harrell ʹΑΔͱɺ τϨʔχϯάͷࢀՃऀ͸ɺ ৽͘͠׆ؾ͕͋ͬͯΤΩαΠςΟϯάͳੈքʹೖͬͨ͜ͱΛ͙͢ʹ࣮ ײͨͦ͠͏Ͱ͢ɻ ͞Βʹɺ JavaScript ͷ෼໺ͷϦʔμʔͰ͋Δ Douglas Crockford ΛτϨʔχϯάͷελοϑͱ ܴͯ͑͠ΒΕͨ͜ͱ΋޾ӡͰͨ͠(Crockford ͸ɺ ඇৗʹਓؾͷߴ͍ॻ੶ JavaScript: The Good Parts ʢhttp://shop.oreilly.com/product/9780596517748.do ʣ ͷஶऀͰ͋Γɺ ΦϥΠϦʔͷ JavaScript Master ClassϏ σΦ ʢhttp://shop.oreilly.com/product/9780596809614.do ʣ ͷ੍࡞ऀͰ΋͋Γ·͢)ɻ ݱࡏɺ PayPal ͷ৽ػೳ։ൃνʔϜͷେ൒͸ Java Λར༻͍ͯ͠·͕͢ɺ ͦͷҰํͰɺ Node.js νʔϜ͕։୓͠ ͨΠϯφʔιʔεͷϓϥΫςΟεΛ࠾༻͍ͯ͠ΔνʔϜ͕ଘࡏ͠·͢ɻ 16
  16. OSS ͱͷௐ࿨ Node.js ʹҠߦ͢ΔͨΊͷτϨʔχϯά͸ɺ ଟ͘ͷڭࡐ͕ΦϯϥΠϯͰར༻Ͱ͖ͨ͜ͱͱɺ Node.js ͸લճͷ Java ΁ͷҠߦʹൺ΂ͯΧελϚΠζͷඞཁੑ͕গͳ͔ͬͨ͜ͱ͔Βɺ ؆୯ʹ୹࣌ؒͰ࣮ࢪͰ͖·ͨ͠ɻ

    ·ͨɺ ε λοϑ͕ࣗ෼ࣗ਎ͷֶशϓϩηεΛܧଓͰ͖ΔΑ͏४උ͢Δʹ͸ɺ جຊతʹ2೔ؒͷτϨʔχϯάͰे෼Ͱͨ͠ɻ Harrell ʹΑΔͱɺ جຊతͳ৘ใ͸ࣾ಺ͷϝʔϦϯάϦετͰγχΞϓϩάϥϚʔʹਘͶΔͷͰ͸ͳ͘ɺ ୯ʹ StackOverflow ͳͲͷαΠτ (͋Δ͍͸ݕࡧΤϯδϯͳͲ) Ͱݕࡧ͢Ε͹ྑ͍ͱ͍͏͜ͱΛ PayPal ͷϓϩάϥϚ ʔ΁఻͑Δͷʹ͕͔͔࣌ؒͬͨͦ͏Ͱ͢ɻ ͔͠͠ɺ ΍͕ͯ৘ใͷ໰͍߹Θͤ͸ OSS ίϛϡχςΟ΁ͷͻͨΉ͖ ͳऔΓ૊Έʹ·Ͱ޿͕Γ·ͨ͠ɻ ଟ͘ͷاۀ͸ɺ OSS ͱ͍͏ٕज़͕७ਮʹߴ඼࣭ͰແঈͰ͋Δ͜ͱΛັྗͱΈͳ͓ͯ͠Γɺ ͦΕΛ͖͔͚ͬʹͨ͠ OSS ͷ࠾༻͸ίϛϡχςΟ΁ͷܧଓతͳࢀೖʹͭͳ͕Δͱߟ͍͑ͯ·͢ɻ ͜Ε͕ PayPal ͕ Node.js Λ࠾༻ͨ͠ͱ͖ʹىͬͨ͜͜ͱͰ͢ɻ ͍·Ͱͦ͜ ʮJavaScript ϓϩάϥϚʔ͸ Node.js ʹ୅ΘΔٕज़Λ୳͍ͯ͠Δʯ ͱࢦఠ͢Δίϝϯςʔλʔ΋͍Δ΄ͲϐʔΫΛա͗ͯ੒ख़ͨ͠ Node.js Ͱ ͕͢ɺ PayPal ͕ Node.js ίϛϡχςΟʹࢀೖͨ࣌͠ظ͸·ͩॳظͰͨ͠ɻ ͦͷͨΊे෼ʹίϯτϦϏϡʔγϣϯ ͢Δ༨஍͕͋ͬͨͷͰ͢(ຊઅͷޙ൒Ͱઆ໌͢ΔΑ͏ʹɺ OSS ͷมԽ͢Δ଎౓͕࠾༻͢Δٕज़Λࠨӈ͠·͢)ɻ PayPal ͸ɺ Node.js Foundation ͱ ECMAScript Technical Committee 39 ͷձһͱͳΓɺ ඇৗʹੵۃతͳ׆ ಈΛ͠·ͨ͠ɻ ϓϩάϥϚʔͷࣗݾֶशͱ৽ن࠾༻ࣾһͷଈઓྗԽͱ͍͏2ͭͷ໨ඪΛଅਐ͢ΔͨΊɺ PayPal ͸ JavaScript ͱ Node.js ΁Ҡߦ͢Δࡍʹɺ ଞͷਓؾͷ OSS ͷπʔϧΛੵۃతʹಋೖ͠·ͨ͠ɻ ྫ͑͹ɺ ςετʹ͸޿͘࢖ΘΕ ͍ͯΔ Seleniumɺ ܧଓతΠϯςάϨʔγϣϯʹ͸ Jenkinsɺ Java ͷςετʹ͸ TestNGɺ JUnitɺ Mockito ͱ͍ͬ ͨ۩߹Ͱ͢ɻ ͦͷաఔͰ PayPal ͸ɺ Nemo ʢhttps://github.com/paypal/nemo ʣ (౰ॳ͸ Matt Edelman ʹΑͬͯ։ ൃ͞Ε·ͨ͠)΍ɺ SeLion ʢhttp://selion.io ʣ ɺ ͦͯ͠ Illuminator ʢhttps://github.com/paypal/Illuminator ʣ ͱ͍ͬͨ OSS ͷίϯϙʔωϯτͱޓ׵ੑͷ͋ΔπʔϧΛ͍͔ͭ͘։ൃ͠ OSS Ͱఏڙ͠·ͨ͠ɻ PayPal ͕ Node.js Λ࠾༻ͨ͠ͷ͸։ൃॳظͰ͋ͬͨͨΊɺ ͍͔ͭ͘ͷπʔϧ͕ෆ଍͍ͯ͠·ͨ͠ɻ ͦ͜Ͱ PayPal ͸͜ͷػೳෆ଍Λղফ͢ΔͨΊʹ Node.js ΞʔΩςΫνϟΛ੍ޚ͢ΔϑϨʔϜϫʔΫͰ͋Δ Kraken ʢhttp://krakenjs.com/ ʣ Λ։ൃ͠·ͨ͠ɻ Kraken ͷ։ൃཧ༝͸ɺ ࣾ಺ͷ͋ΒΏΔίʔυʹݟΒΕΔ ʮ෦଒಺஌ࣝʯ ͱ͍͏ࣾ಺ͷҰ෦Ͱ͔͠௨༻͠ͳ͍஌ࣝΛɺ Ұൠతʹ֮͑ΔՁ஋ͷ͋Δ஌ࣝʹঢ՚ͤ͞Δ͜ͱͰͨ͠ɻ ͦͷͨ Ίɺ Harrell ͷνʔϜ͸ Kraken Λ OSS ͱͯ͠։ൃ͢Δ͜ͱʹͨͦ͠͏Ͱ͢ɻ ͜͏ͯ͠ɺ Kraken ͸͓ͦΒ͘൴Βͷ ࠷΋੒ޭͨ͠ OSS ϓϩδΣΫτʹͳΓ·ͨ͠ɻ Venkatakrishnan ͸ɺ ͜ͷ࣌ PayPal ʹಋೖͨ͠ OSS ༝དྷͷϓϥΫςΟεΛ࣍ͷΑ͏ʹڍ͍͛ͯ·͢ɻ 17
  17. ߴ͍඼࣭ج४Λઃఆ͢Δ͜ͱɻ ίʔυΛίϛο τ͢ΔલʹίʔυΧόϨοδςετ͕࣮ߦ͞Εɺ ΧόϨοδ ͕গͳ͘ ͱ΋ 90% Ҏ্Ͱͳ͚Ε͹ͳΒͳ͍ɻ ίʔυͷϓογϡʹରͯࣗ͠ಈϏϧυ͕࣮ߦ͞Εɺ ͦͷίʔ

    υ͕Ϛʔδ͞ΕΔͷʹे෼ͳ඼࣭͕͋Δ͔֬ೝ͞ΕΔඞཁ͕͋Δɻ ϦϙδτϦʹ͋Δ͢΂ͯͷίʔυʹରͯ͠ɺ υΩϡϝϯτΛඞਢͱ͢Δ͜ͱɻ ͢΂ͯͷσΟεΧογϣϯΛ GitHub ্Ͱߦ͏͜ͱɻ ͜ΕʹΑΓɺ νʔϜ֎ͷਓʑ͔Βͷҙݟऩू͕ଅਐ͞ Εɺ ίϥϘϨʔγϣϯ͕ՄೳʹͳΔɻ ࣾ಺ϓϩδΣΫτ༻ͷϓϥΠϕʔτͳ GitHub ϦϙδτϦͱɺ OSS ༻ ͷύϒϦοΫͳ GitHub ϦϙδτϦΛઃ͚Δɻ ͢΂ͯͷઐ໳஌ࣝΛ୯ҰͷνʔϜ͔ΒಘΔඞཁ͸ͳ͍ͱΤϯδχΞʹڭ͑Δ͜ͱɻ ੈքதͷͲ͔͜ΒͰ΋ ࢧԉΛड͚Δ͜ͱ͕Ͱ͖Δͷ͕ OSS Ͱ͋Δɻ OSS ϓϩδΣΫτʹίϯτϦϏϡʔτ͢Δ͜ͱͰձࣾͷ஌໊ ౓্͕͕Γɺ ੵۃతʹऔΓ૊Ή࢟੎ΛίϛϡχςΟʹࣔ͢͜ͱ͕Ͱ͖Δɻ νʔϜͰߦͬͨ࢓ࣄʹର͢ΔތΓΛҭΈɺ ͦͷ੒ՌΛΧϯϑΝϨϯεͰ࿩ͨ͠Γɺ PayPal ͷٕज़ϒϩάʹ ॻ͍ͨΓ͢ΔΑ͏঑ྭ͢Δ͜ͱɻ Harrell ͸ιϑτ΢ΣΞελοΫͷ্Ґʹߦ͚͹ߦ͘΄Ͳɺ ٕज़ͷมԽ͕ܹ͍͠ͱࢦఠ͍ͯ͠·͢ɻ ͜ͷٕज़ͷม Խ͸ιϑτ΢ΣΞ։ൃʹ͓͍ͯ͸ৗʹ෇͖·ͱ͏΋ͷͰ͋Γɺ OSS Ͱ͋Ε͹ͳ͓͞ΒͰ͢ɻ ͦͷͨΊ PayPal ͸ νʔϜʹର͠ɺ ઈ͑ͣࣗ෼ͨͪͷεΩϧΛධՁ͢Δ͜ͱΛਪ঑͍ͯ͠·͢ɻ ։ൃऀͨͪʹ͸ܧଓతʹֶश͢Δ͜ ͱ͕ظ଴͞Ε͍ͯΔͷͰ͢ɻ ୅ସπʔϧͷධՁ͸ɺ ඞવతʹνʔϜ͝ͱʹ࠾༻͢Δπʔϧ͕ҟͳΔͱ͍͏ଟ༷ੑΛ΋ͨΒ͠·͢ɻ ։ൃऀͷ Matt Edelman ͸ɺ ͜ͷݱ৅͸ OSS ʹಛʹΑ͘ݟΒΕΔͱࢦఠ͍ͯ͠·͢ɻ ͳͥͳΒϓϩάϥϚʔ͸ɺ Unix ͷ෕ Ͱ͋Δ Ken Thompson ͕ఏҊͨ͠ ʮଟ͘ͷখ͞ͳϓϩάϥϜ͕Ұॹʹಈ͘ʯ ͱ͍͏ݴ༿ʹԊͬͯπʔϧΛ։ൃ ͢Δͷ͕޷͖͔ͩΒͰ͢ɻ ͦͷͨΊ PayPal ͷνʔϜͰ͸ React ΍ Angular ͳͲɺ ͞·͟·ͳ࠷৽ٕज़͕࢖༻͞Ε͍ͯ·͢ɻ ͨͩϓϩά ϥϚʔʹ͸ɺ ϥΠϒϥϦΛਪ঑͢ΔલʹύΠϩο τϓϩδΣΫτͰࢼ͠ɺ ୅ସҊΛΑ͘ൺ্ֱͨ͠Ͱબ୒͢Δ͜ͱ ͕ٻΊΒΕ·͢ɻ OSS ͷΞʔΩςΫνϟ͸ɺ ػೳͷ֦ுΛՄೳʹ͢ΔϓϥάΠϯΛඋ͍͑ͯΔ͜ͱ͕Α͋͘Γ·͢ɻ Edelman ʹΑ Δͱɺ PayPal ͸ Kraken ͷϓϥάΠϯͷҰ෦Λࣾ಺Ͱ (ΠϯφʔιʔεϞσϧΛ௨ͯ͡) ։ൃ͠ɺ ͦͷଞΛ OSS ͱͯ͠։ൃ͍ͯ͠Δͦ͏Ͱ͢ɻ 18
  18. GitHub ίϥϘϨʔγϣϯ ͋Δاۀ͕Ϟμϯͳίʔυ։ൃʹ͓͍ͯಛघͳॏཁੑΛ࣋ͭ஍ҐΛங͍͍ͯ·͢ɻ ͦΕ͸ GitHub Ͱ͢ɻ ΋ͱ ΋ͱ͸։ൃΛ༰қʹ͢ΔͨΊͷόʔδϣϯ؅ཧιϑτ΢ΣΞͰ͋ΔGitΛ༻͍ͨSaaSϓϥοτϑΥʔϜͰ͕ͨ͠ɺ ݱࡏͰ͸։ൃऀ͕͔ܽͤͳ͍ͱײ͡ΔػೳΛඋ͑ɺ ඇৗʹચ࿅͞ΕͨίϥϘϨʔγϣϯϓϥοτϑΥʔϜ΁ͱਐ

    Խ͠·ͨ͠ɻ ৄࡉʹ͍ͭͯ͸࣍ͷ2఺͕ࢀߟʹͳΓ·͢ Git for Teams ʢhttp://shop.oreilly.com/product/0636920034520.do ʣ ͱ Collaborating with Git video ʢhttp://shop.oreilly.com/product/0636920034872.do ʣ Ͱ͢ɻ PayPal Ͱ͸ɺ Kraken ͷΑ͏ʹ OSS ϓϩδΣΫτͷίʔυΛ GitHub ʹஔ͚ͩ͘Ͱͳ͘ɺ ࣾ಺ʹ GitHub Enterprise Λઃஔ͢Δ͜ͱͰɺ ࣾ಺ͷϓϩάϥϚʔ͕ύϒϦοΫͷ GitHub ͷϢʔβʔͱಉ͡Α͏ʹίϥϘϨʔ γϣϯͰ͖ΔΑ͏ʹ͍ͯ͠·͢ɻ ίʔυϨϏϡʔ΍ίϛοτɺ ςετ͸ OSS ͱಉ͡Α͏ʹߦΘΕ·͕͢ɺ ࣾ಺Ϧϙ δτϦͷ্ͰߦΘΕ͍ͯ·͢ɻ ࠷΋ॏཁͳ͜ͱ͸ɺ PayPal ͷ֤νʔϜϝϯόʔ͕νʔϜ֎෦ͷϓϩάϥϚʔ͔ Β΋৽͍͠ίʔυΛड͚औΔͱ͍͏ࣄ͕श׳Խ͞Ε͍ͯΔͱ͍͏ࣄͰ͢ɻ Edelman ʹΑΔͱɺ GitHub ͱΠϯφʔιʔεʹҠߦ͢Δલ͸ɺ PayPal ͷϓϩάϥϚʔ͸ଞͷνʔϜʹରͯ͠͸ খ͞ͳόάमਖ਼Λఏڙ͢Δ͘ Β͍͔͠Ͱ͖ͳ͔ͬͨͱݴ͍·͢ɻ ΋͠൴Β͕ΑΓେ͖ͳ·ͱ·ΓͷίʔυΛఏڙ Λ͢Δ৔߹ɺ ड͚औͬͨνʔϜ͸ίʔυΛਫ਼ࠪ͠ɺ ৔߹ʹΑͬͯ͸θϩ͔ΒίʔυΛॻ͍ͨ৔߹ͱൺ΂ͯมΘΒ ͳ͍Α͏ͳࣄ͕ͨ·ʹى͖͍ͯ·ͨ͠ɻ νʔϜؒͰͷίʔυͷ΍ΓͱΓʹ͍ͭͯ͸ɺ ߴ͍ϨϕϧͷϚωʔδϟ͕ؔ ༩͠ͳ͚Ε͹ͳΒͳ͍͜ͱ΋͠͹͠͹Ͱͨ͠ɻ ͔͠͠࠷ۙͰ͸ɺ ৽ػೳʹରͯ͠େ෯ʹॻ͖׵͑Δࣄͳ͘νΣοΫΠϯͰ͖ΔΑ͏ʹͳΓ·ͨ͠ɻ ͦͷཧ༝ͷ1ͭ ͸ɺ υΩϡϝϯτʹର͢Δ৽͍͠ߟ͑Ͱ͢ɻ ΠϯφʔιʔεͷϓϩδΣΫτ͸ɺ γεςϜΛਂ͘ཧղ͢Δগ਺ͷಛ ݖΛ࣋ͭϓϩάϥϚʔ͚ͩͰͳ͘ɺ ΑΓଟ͘ͷࣾ಺ϓϩάϥϚͷ্ʹ੒Γཱ͍ͬͯͳ͚Ε͹ͳΒͳ͍ͱ Edelman ͸ڧௐ͍ͯ͠·͢ɻ ୭΋͕ϓϩδΣΫτΛֶश͠ɺ େ͖ͳ࢓༷มߋ͕ൃੜ͢ΔΑ͏ͳఏҊ΋Ͱ͖ΔͷͰ͢ɻ ·ͨɺ υΩϡϝϯτ(ίʔυͱ GitHub ͷίϝϯτͷ྆ํ)ʹΑͬͯɺ ։ൃऀ͸ΞʔΩςΫνϟมߋͷඞཁੑΛཧղ ͢ΔΑ͏ʹͳΓ·͢ɻ Ծʹ͋ͳͨ΋΋͠4ճʹ෼͚༷ͯʑͳਓʹɺ ͳͥͦΕ͕ෳࡶʹͳ͍ͬͯͯ௚ײతͰ͸ͳͷ ͔Λઆ໌͠ͳ͚Ε͹ͳΒͳ͍ͱͨ͠Βɺ ߟ͑ํ͕มΘΔͰ͠ΐ͏ɻ ·ͨɺ ϓϩάϥϚʔ͕ࠃΛ௒͑ͯྗΛൃش͢Δ͜ͱͰɺ ஌తͳ੒௕΍࢓ࣄͷ΍Γ͕͍Λײ͡ΔΑ͏ʹͳΓ·͢ɻ ϓ ϩάϥϚʔ͸ɺ ίʔυͷઃܭʹ͍ͭͯΑΓแׅతʹߟ͑ΔΑ͏ʹͳΓɺ ಉ࣌ʹίʔυϨϏϡʔ΍ςετɺ υΩϡϝϯ τͷॻ͖ํͳͲͷ৽͍͠εΩϧ΋਎ʹ͚ͭΔ͜ͱ͕Ͱ͖·͢ɻ Πϯφʔιʔε͸ "શһͷύϑΥʔϚϯεΛఈ্ ͛͢Δ" ͱɺ Edelman ͸ݴ͍ͬͯ·͢ɻ Edelman ͸ɺ ίΞΠϯϑϥετϥΫνϟ಺ͷϞδϡʔϧͰݟ͔ͭͬͨ͋ΔηΩϡϦςΟؔ࿈ͷόάʹ͍ͭͯݴٴ ͍ͯ͠·͢ɻ ͋Δػೳ͕ɺ ࢓༷ॻ(RFC)ʹਖ਼֬ʹԊ͍ͬͯͳ͔ͬͨͷͰ͢ɻ ౰ॳɺ Πϯϑϥ ɾ νʔϜͷ֎͔Β൴Β ʹରͯ͠मਖ਼͢ΔΑ͏ʹѹྗ͕͔͔Γɺ ଟ͘ͷϝʔϧ͕ඈͼަ͍·ͨ͠ɻ ͔͠͠ɺ ͋Δ֎෦ͷϝϯόʔ(ηΩϡϦς 19
  19. ඼࣭ͷ޲্ ಉ࣌ظʹɺ PayPal ͸ϓϥο τϑΥʔϜͷେ෦෼Λ Node.js ʹҠߦ͠ɺ OSS ͷϓϥΫςΟεΛ࠾༻ͭͭ͠ɺ ඼࣭޲

    ্΁ͷऔΓ૊ΈΛ։࢝͠·ͨ͠ɻ ඼࣭อূͷϦʔμʔͰ͋Δ Doug Simmons ʹΑΔͱɺ PayPal ͷ͜ͷ໨ඪʹ ޲͚ͨεςοϓ͸ҎԼͷ௨ΓͰͨ͠ɻ ΑΓଟ͘ͷϢχοτςετ ܧଓతΠϯςάϨʔγϣϯ ίʔυϨϏϡʔ ΑΓଟ͘ͷίʔυΧόϨοδϨϙʔτ ੩తղੳ ͢΂ͯͷձ࿩͕ެͷ৔ͰߦΘΕΔඞཁ͸͋Γ·ͤΜ͕ɺ GitHub ͷίϝϯτϓϩηε͸͍͔ͭ͘ͷ఺Ͱ඼࣭Λ޲ ্͍ͤͯ͞·͢ɻ τϥεςουίϛολʔ͸ɺ ࣗ෼ͷίʔυΛϦϙδτϦʹड͚ೖΕ͍ͨͱئ͍ͬͯΔ৽ਓϓϩά ϥϚʔͷϝϯλʔͱͯ͠΋ޮՌతʹػೳ͠·͢ɻ ౤ߘऀͱτϥεςουίϛολʔͷؒͰަΘ͞ΕΔίϝϯτͷ΍ ΓͱΓ͸ɺ ౤ߘऀʹͱͬͯ΋ଞͷϓϩάϥϚʔʹͱͬͯ΋ϦΞϧλΠϜʹֶशͰ͖Δྑ͍ڭࡐͱͳΓ·͢ɻ 21
  20. จԽͷมԽ Πϯφʔιʔεͷ࠾༻ͱ͍͏اۀมֵʹ͸ɺ ैۀһͷෆ҆ͱظ଴΁ͷ৻ॏͳରԠ͕ٻΊΒΕ·͢ɻ PayPal ͸͜ ͷมֵΛࢧԉ͢ΔͨΊʹɺ ֎෦ͷ OSS ։ൃઐ໳ՈΛޏ༻͠·ͨ͠ɻ ଟ͘ͷاۀͷऔక໾΍ϕςϥϯ͸

    [11]ɺ ʮ࠷΋ॏཁͳจԽతมԽͱ͸ɺ ैۀһ͕ଞνʔϜʹίʔυΛఏڙ͢Δࣄ ΁ͷࣗ৴Λ༩͑Δ͜ͱͩʯ ͱߟ͑ΔʹࢸΔܦݧΛ͖ͯͨ͠Α͏Ͱ͢ɻ ͦͷͨΊʹ͸ɺ పఈతͳυΩϡϝϯςʔγϣ ϯͱஸೡͳݸਓࢦಋ͕͔ܽͤ·ͤΜɻ ಛʹ ʮόάʹۤ৘Λݴ͏ࣾһͷश׳Λमਖ਼͢Δश׳΁ม͑ͳ͚Ε͹ͳΒ ͳ͍ʯ ͱ Edelman ͸ࢦఠ͍ͯ͠·͢ɻ Harrell ͸ɺ νʔϜϝϯόʔΛઆಘͯ͠ɺ νʔϜ֎ͷ PayPal ϓϩάϥϚʔ͕ίϯτϦϏϡʔγϣϯͰ͖ΔΑ͏ʹ͠ ͨ͜ͱΛ͍֮͑ͯ·͢ɻ νʔϜϝϯόʔ͸ɺ ֎෦ͷίʔυͷνΣοΫʹ͹͔Γ࣌ؒΛͱΒΕɺ ࣗ෼͕ͨͪίʔυΛ ॻ͚ͳ͘ͳΔͷͰ͸ͳ͍͔ͱɺ Α͘൓ର͍ͯ͠·ͨ͠ɻ ผͷاۀͷௐࠪͰ͸ɺ ৽͍͠ίϯτϦϏϡʔγϣϯ͸ࣗ෼ ͷϝϯςφϯεͷखؒΛ૿΍͢͜ͱʹͳΔͱɺ ϓϩάϥϚʔ͕৺഑͍ͯ͠·ͨ͠ [12]ɻ ͔͠͠ɺ ݫີͳςετͱϏϧυϓϩηεͰίϯτϦϏϡʔγϣϯͷ࣭Λ֬อ͍ͯͨͨ͠Ίɺ ͜ΕΒͷܽ఺͸༧૝Α Γগͳ͔ͬͨ͜ͱ͸͝ঝ஌ͷͱ͓ΓͰ͢ɻ ͍ͣΕʹͯ͠΋ɺ ίϯτϦϏϡʔγϣϯͷνΣοΫʹ͸ߴ͍εΩϧ͕ඞ ཁͩͱɺ Harrell ͸ड़΂͍ͯ·͢ɻ ͦͯ͠ɺ ίϯτϦϏϡʔγϣϯ͸νʔϜ͕࡞੒ͨ͠ίʔυͷՁ஋ΛߴΊ͍͖ͯ· ͨ͠ɻ Edelman ͸ɺ ʮϞδϡʔϧͷ࡞ऀʹ͸ɺ ඼࣭ͱҰ؏ੑͷج४Λҡ࣋ͭͭ͠ɺ ίϛϡχςΟ͔ΒͷϑΟʔυόοΫ΍ มߋʹରͯ͠ΦʔϓϯͰ͋Δ͜ͱͰɺ ιϑτ΢ΣΞͷՁ஋ΛߴΊ͍ͯ͘ ͜ͱ͕ظ଴͞Ε·͢ʯ ͱड़΂͍ͯ·͢ɻ ൴ ʹΑΔͱɺ ։ൃऀ͸ςετΛॻ͍ͨΓίʔυϨϏϡʔΛͨ͠Γ͢Δ͜ͱ΁ͷෆຬ͔Βɺ ͦΕΛओு͢ΔΑ͏ʹͳͬ ͨͦ͏Ͱ͢ɻ ඼࣭໘Ͱ͸ɺ ϓϩάϥϚʔ͕ΠϯφʔιʔεͷόάϨϙʔτΛఏग़͢Δͱɺ ·ͣ͸Ϟδϡʔϧͷ୲౰ऀʹૹΒΕ ·͢ɻ ͜ͷϓϩάϥϚʔ͸ɺ ͦͷόάϨϙʔτΛӨڹΛड͚ΔίʔυͷίϯτϦϏϡʔλʔʹ౉͢͜ͱ͕Ͱ͖· ͢ɻ ϞδϡϥʔΞʔΩςΫνϟͱ໌֬ͳ API ఆٛ͸ɺ νʔϜ֎͔ΒͷίϯτϦϏϡʔγϣϯΛଅਐ͢ΔͨΊʹෆՄܽ ͩͱ͍͏͜ͱ͕ɺ ଟ͘ͷϓϩάϥϛϯάνʔϜʹΑΓ֬ೝ͞Ε͍ͯ·͢ɻ Πϯφʔιʔεͷ։ൃϓϥΫςΟε͸ɺ ຊ࣭తʹ OSS ͷ։ൃϓϥΫςΟεͱಉ͡ͳͷͰɺ ࣾ಺Ͱ։ൃ͞Εͨϓϩ δΣΫτΛ OSS Խ͢Δͷ͸ඇৗʹ؆୯Ͱ͢ɻ ίʔυΛҰൠެ։༻ͷϦϙδτϦʹҠಈ͠ɺ ࣾ಺Ͱ΍͍ͬͯͨό άใࠂ΍ίʔυฤूͱ͍ͬͨίϯτϦϏϡʔγϣϯΛࣾ֎Ͱ΋ಉ༷ͷํ๏Ͱ΍Δ͚ͩͳͷͰ͢ɻ ͨͩ͠ɺ ͍͔ͭ͘๏తͳนʹ௚໘͢ΔՄೳੑ͕͋Γ·͢ɻ ϓϩάϥϚʔ͕֎෦ͷίʔυΛϓϩδΣΫτʹ૊Έࠐ Μͩ৔߹Λྫʹڍ͛·͢ɻ ͜ͷͱ͖๏຿෦໳͸ɺ ͢΂ͯͷϥΠηϯεΛௐࠪͯ͠ɺ ൴Β͕ίʔυΛΦʔϓϯԽ͢Δ ݖརΛ͔࣋ͭɺ ͦΕΒͷίʔυͷϥΠηϯεͱ૊ΈࠐΜͩίʔυͷϥΠηϯεͱͷؒʹޓ׵ੑ͕͋Δ͔Λ֬ೝ͠ 22
  21. ͳ͚Ε͹ͳΓ·ͤΜɻ ·ͨɺ ϒϥϯυϨϏϡʔ͕ඞཁͳ৔߹΋͋Γ·͢ɻ PayPal Ͱ͸ɺ ๏຿νʔϜ͕ OSS ઐ໳ Ոͱ૬ஊ͠ɺ ඞཁͳखॱΛ΢ΣϒϕʔεͰߦ͑ΔΑ͏ʹ͠·ͨ͠ɻ

    ݱ୅ͷϓϩάϥϚʔ͸ɺ มԽ͕੒௕ʹͭͳ͕Δ͜ͱΛֶͼ·͢ɻ ৽͍ٕ͠ज़΍πʔϧ͸͓͖ͯ͞ɺ จԽΛม͑Δ ͜ͱͰɺ ػහʹߦಈ͠ɺ ࠷৽ͷεΩϧΛ਎ʹ͚ͭଓ͚Δ͜ͱ͕Ͱ͖ΔͷͰ͢ɻ Πϯφʔιʔε͸ɺ ͜ΕΒ͢΂ͯͷ ੒Ռ΁ͷୈҰาͰ͢ɻ [11]: (༁஫) ݪจͰ͸ Observers from many company Observers from many company Observers from many company Observers from many company ͱॻ͔Ε͍ͯ·͢ɻ ͜ͷ؍ଌऀ(observers)ͱ ͸ɺ औక໾ձʹࢀՃ͢Δ΋ͷͷܾٞݖͷͳ͍ϘʔυΦϒβʔόʔͱݺ͹ΕΔਓ͔ɺ اۀͷมભΛ؍ଌ͠ ͖ͯͨ௨ৗͷऔక໾͔ϕςϥϯࣾһΛҙຯ͢Δͱߟ͑ɺ ͜ͷΑ͏ʹ༁͠·ͨ͠ɻ ·ͨɺ ݪจʹ͸໌ࣔ͞Εͯ ͍·ͤΜ͕ɺ ΠϯφʔιʔεʹΑΔจԽతมԽΛܦݧͨ͠ਓʑΛࢦ͍ͯ͠ΔͰ͠ΐ͏ɻ [12]: Stol, KJ, AB Muhammad, et al. “A comparative study of challenges in integrating Open Source Software and Inner Source Software.” ʢhttp://www.cs.rug.nl/paris/papers/IST11.pdf ʣ Information and Software Technology 53 (2011): 1319–1336. 23
  22. 1.3 ஶऀ঺հ Andy Oram ͸ɺ O'Reilly Media ͷฤूऀͰ͢ɻ 1992 ೥͔Βಉࣾʹۈ຿͓ͯ͠Γɺ

    ݱࡏ͸Φʔϓϯιʔεٕज़ ͱιϑτ΢ΣΞΤϯδχΞϦϯάΛઐ໳ͱ͍ͯ͠·͢ɻ O'Reilly Ͱͷ൴ͷஶ࡞ʹ͸ɺ ถࠃͰॳΊͯग़൛͞Εͨ Linux ͷॻ੶΍ɺ 2001 ೥ʹग़൛͞Εͨ Peer-to-Peer ɺ 2007೥ͷϕετηϥʔ Beautiful Code ͳͲ͕͋Γ·͢ɻ 24
  23. ͓ΘΓʹ ຊॻ੶ͷ຋༁࣌ɺ ೔ຊͰ͸ ʮσδλϧτϥϯεϑΥʔϝʔγϣϯ(DX)ʯ ͕όζϫʔυͱͯ͠஫໨͞ Ε͍ͯ·͢ɻ ͔͠͠σδλϧτϥϯεϑΥʔϝʔγϣϯΛମݱ͠Α͏ͱ͢Δاۀ͸ຊ࣭తʹιϑ τ΢ΣΞاۀͱͳΔඞཁ͕͋Γɺ ࣾ಺Ͱιϑτ΢ΣΞΤϯδχΞΛ͔͔͑Δ಺੡Խʹ଩Λ੾Δ͜ ͱʹͳΓ·͢ɻ

    ҰํͰσδλϧτϥϯεϑΥʔϝʔγϣϯΛ੠ߴʹڣͿ૊৫͕ɺ ͦͷΑ͏ͳΤϯδ χΞϦϯάͷࠜຊతͳ՝୊ʹऔΓ૊ΜͰ͍Δ͔ʹ͍ͭͯ͸ɺ ٙ໰ͷ༨஍͕͋ΔͰ͠ΐ͏ɻ Πϯφʔιʔε͸ΦʔϓϯιʔεͷจԽ΍ϓϥΫςΟεΛاۀʹ࣋ͪࠐΉ͜ͱͰɺ ࣾ಺ͷαΠϩ Λյ͠ίϥϘϨʔγϣϯΛՃ଎ͤ͞Δ͜ͱ͕ओͳ໨తͰ͢ɻ ·ͨɺ Πϯφʔιʔε͸ࣾ಺Ͱίʔυ Λҭͯͯڞ༗͢ΔจԽΛ࡞Δ͜ͱʹΑΓɺ ΤϯδχΞ͕ΑΓޮ཰తʹɺ ͦͯ͠޾ͤʹಇ͚ΔΑ͏ʹ ͳΔ͜ͱʹ΋ߩݙ͠·͢ɻ ΤϯδχΞ͕޾ͤʹͳΕΔ෩௨͠ͷྑ͍ίϥϘϨʔγϣϯ͕ࣾ಺ʹଘ ࡏ͢Ε͹ɺ ૊৫ͱΤϯδχΞͷؔ܎΋ྑ޷ʹͳΔͰ͠ΐ͏ɻ ίϩφՒ͸ΤϯδχΞͷಇ͖ํΛม͑·ͨ͠ɻ ϦϞʔτͰͷ։ൃ͕૿͑ͨ݁Ռɺ ࠓ·ͰҎ্ʹඇ ಉظͰίϛϡχέʔγϣϯΛߦ͏ඞཁੑ͕ߴ·͍ͬͯ·͢ɻ ࣌ؒ΍৔ॴΛҟʹ͢Δϝϯόʔ͕ί ϥϘϨʔγϣϯ͢Δ࣌୅ʹٻΊΒΕ͍ͯΔͷ͸ɺ ੵۃతͳυΩϡϝϯςʔγϣϯจԽͰ͢ɻ ΋ͱ΋ ͱ͕ࠃͱ࣌ؒΛ௒͑ͨίϥϘϨʔγϣϯͰ͋ΔΦʔϓϯιʔεͷߟ͑ํΛ૊৫ʹ౷߹ͨ͠Πϯ φʔιʔε͸ɺ ࠓޙͷ෼ࢄԽͨ͠૊৫ʹΑΔ։ൃʹ΋ߩݙͯ͘͠ΕΔ͜ͱͰ͠ΐ͏ɻ ͨͩ͠ɺ Πϯφʔιʔε͸Ұ໷ʹͯҭͭ͜ͱ͸͋Γ·ͤΜɻ Πϯφʔιʔε͸ଟ͘ͷݸਓ͕Ռͨ͠ ͨ༗ࢤͷߩݙʹΑͬͯৢ੒͞Ε·͢ɻ ΤϯδχΞͷಇ͘؀ڥΛվળ͠ɺ ڞ૑͕ੜ·ΕΔ૊৫Λ࣮ ݱ͢ΔͨΊʹΠϯφʔιʔε͸શͯͷਓʹ։͔Ε͍ͯ·͢ɻ InnerSource Commons ͸Πϯφ ʔιʔεͷཧղɺ ద༻ɺ ࣮ફΛਪਐ͢ΔެӹஂମͰ͢ɻ ஌ࣝͱܦݧΛ஝ੵɺ ڞ༗͠ɺ ϕετϓϥΫ ςΟεΛݟ͚ͭɺ ීٴ׆ಈΛ͢Δɺ ͦͷ࣮ଶ͸ੈքதͷ༗ࢤϝϯόʔͷߩݙʹΑΔ΋ͷͰ͢ɻ ຊ ॻͷ຋༁΋༗ࢤͷߩݙʹΑΓ࣮ݱ͠·ͨ͠ɻ ͜ͷ຋༁ʹ͸࿨༁Ҏ্ʹɺ େมେ͖ͳ΋ͷؚ͕·Ε͍ͯ·͢ɻ ຊॻͷ຋༁͸Πϯφʔιʔεʹ ؔ͢ΔॳظͷϓϩδΣΫτͰɺ ͦ΋ͦ΋Πϯφʔιʔεʹ͍ͭͯͷ೔ຊޠʹ͓͚Δڞ௨ཧղ͕ଘ ࡏ͠ͳ͍ͱ͜Ζ͕ελʔτϥΠϯͰͨ͠ɻ Πϯφʔιʔεͷ୅දతͳϩʔϧͰ͋Δ "τϥεςου ίϛολʔ" ͷଘࡏ΍ɺ ਖ਼͍͠จষͷଊ͑ํͳͲɺ ίϛϡχςΟͰଟ͘ͷҙݟަ׵͕͞Εɺ ຋༁ʹ ࢸ͍ͬͯ·͢ɻ ࢲΛؚΊͨίϛϡχςΟϝϯόʔʹͱͬͯ΋ɺ ຊॻͷ຋༁׆ಈ͸ΠϯφʔιʔεΛ ਖ਼ֶ͘͠Ϳྑ͍ػձʹͳΓ·ͨ͠ɻ ͜ͷຊΛಡΜͩ͋ͳͨ͸ɺ ΠϯφʔιʔεΛཧղ͢ΔୈҰาΛ౿Έग़͠·ͨ͠ɻ ͜ͷཱྀ͸จԽม ֵͷཱྀͰ͋Γɺ ऴΘΔ͜ͱ͸͋Γ·ͤΜɻ ͔͠͠ɺ ৺഑͝ແ༻! ͜ͷཱྀʹ͸ InnerSource Commons Λ͸͡Ίͱͨ͠ੈքதͷڧྗͳ஥͕͍ؒ·͢ɻ ͦΕʹՃ͑ɺ ΠϯφʔιʔεΛ࣮ݱ͢ ΔͨΊͷύλʔϯूͰ͋Δ Πϯφʔιʔε ύλʔϯϒοΫ 25