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

オープンソースソフトウェアとは何か.pdf

kouzoukaikaku
January 14, 2021
3.1k

 オープンソースソフトウェアとは何か.pdf

都庁デジタルセミナー第2回資料

kouzoukaikaku

January 14, 2021
Tweet

Transcript

  1. 1.進めたい政策の理解や発展につながる • ソースコードを共有するというこ とは、ソリューションの設計図を 共有すること。 • ソースコードに対する要望や改 善は、課題や期待する結果に対 するフィードバックでもある。 •

    別の用途に使われた場合でも、 新たな発展系を学べる 課題 ソリュー ション 期待する 結果 ソース コード 要望・改善・ フィードバッ ク ソース コード 別の用途に利用 別の解法やより良い やり方の発見
  2. • 東京都コロナ対策サイト の GitHub を、アクセシビ リティで検索した結果は、 20件 • 業界のプロフェッショナル による意見交換が多い

    • これを読むだけで、サイト が供えるべきアクセシビリ ティについて相当詳しくな れる https://github.com/tokyo-metropolitan-gov/covid19/issues? q=is%3Aissue+is%3Aclosed+%E3%82%A2%E3%82%AF %E3%82%BB%E3%82%B7%E3%83%93%E3%83%AA% E3%83%86%E3%82%A3
  3. QoS を上げるには、こまめな改善が必要 課題の発見 システム設計 開発 実装 リリース 状況確認 • 現代のシステム開発は、常に改善し続ける必要がある

    • リリースしてからの改善プロセスが重要 • オープンな開発プロセスをうまく使うことで、自分たちでソフ トウェア品質をコントロールできる • 他の組織とオープンに学ぶことができる 反復型開発
  4. GSA (U.S. General Services Adm inistration) のCode.g ov Vision: コミュニティリーダーとしてコード

    の再利用とオープンソース開発 を推進し、コードの品質を向上さ せながらコードの使用量を削減 する M ission: 私たちの使命は、コードの再利 用を促進し、オープンソースコ ミュニティを教育して結びつける ことで、政府のパートナーや開 発者がコストを削減し、品質を 向上させることができるようにす ることです。
  5. 英国 GDS (Governm ent Dig ital Service)のサービス標準 1. 利用者とニーズを理解する 2.

    利用者のために全体の問題を解決する 3. すべてのチャネルで統合された経験を提供す る 4. シンプルに使えるサービスを作る 5. 誰もがサービスを利用できるようにする 6. 多職種のチームを持つ 7. アジャイルな働き方をする 8. 反復し、頻繁に改善する 9. 利用者のプライバシーを守る安全なサービス を作る 10. .成功がどのようなものであるかを定義し、パ フォーマンスデータを公開する 11. 適切なツールや技術を選ぶ 12. 新規のソースコードをオープンにする 13. オープンな標準や共通コンポーネントやパター ンの利用と貢献 14. 信頼できるサービスを運営する https://www.gov.uk/service-manual/service-standard
  6. 1)[調達] 公共調達の仕組みは、オープンソースソフトウェアの開発にあまり向いていない。 • リポジトリの公開や、そのメンテナンスコストを誰が持つのか? • OSSで公開したい時に、どのように調達仕様書をかけばよいのかのノウハウが各自治体に無い • 対象ドメインがニッチすぎる場合、扱えるベンダーが少なすぎる場合は調達が不調になったり、品質が低 くなる可能性がある ◦

    そもそもGitHubくらい使える企業とやりとりすべき。 ◦ いないのであれば、入札へ参加する企業を増やす努力が必要 2)権利処理 • [公有財産問題]税金を使って開発したソフトウェアを、なぜ他市に無料で提供するのか?と言われる ◦ 無料で公開したことによって実際に機会損失が発生するケースはほぼ無い ◦ 東京都が先例を示したことにより、説明はしやすくなった • ベンダーがもともと持っている知的財産の場合、オープンにさせるのは難しさもある。 ◦ 「今回の委託費用で支払った部分は」という条件にする ◦ SaaS の利用はオープンソース対象外とする [オープン開発の課題]
  7. [オープン開発の課題2] 3)運用(メンテナンス) • Pull Request (一般からの改善報告)が来た際に誰がどう対応すればよいのか? ◦ そこも含めて運用委託業者に依頼(現在の東京都コロナサイトのやりかた) ◦ 大阪市のように、Pull

    Requestの機能自体無効にするという手もある 4)責任 • オープンソースを使った場合、誰が責任を持つのか? ◦ 問題の在り方としては、パブリッククラウド利用の場合の SLA問題と似ている ◦ そもそも、内部的にOSSを使っていないシステムというのはあまり無い ◦ 普通に考えれば、ベンダーが吸収すべき(オープンソースなのだから、直そうと思えば直せる はず。そのリスクを織り込んだ見積を作れば良い)
  8. まとめ • 行政システムのオープンソース利用 /共有は、英国、米国、EUではあたりまえ • ソースコードをオープンにすることで、日本全国の知的資本が向上する • オープンソースをデフォルトにすることで、ベンダーロックの排除と、納入コードの品質向上に繋がる • 海外のように、GitHub

    で、ソースコードを公開すべし • ただし、本当に活用するには、「反復開発」というワークフローに慣れなくてはいけない • できない理由があるとしたら何か?何故か? ◦ セキュリティが心配→世の中の多くのサービスもオープンソースになっているが、即セキュリティ問 題となるわけではない。 ◦ 企業が反対する→そりゃ、企業に聞いたらそういうところもあるでしょう。でも、発注するのはこちら だし、もっと良いベンダーと付き合えるチャンスかも ◦ 品質が心配→「オープンソースだから質が悪い」というのは大きな勘違い。みなさんが使っている サービスの多くはオープンソースソフトウェアで成り立っています。(もちろん、中には品質の悪いも のもありますが、それはクローズドソースでも同様)