Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

オープンソース、オープンデータという考え方 / Open source and open da...

オープンソース、オープンデータという考え方 / Open source and open data concepts

2025/12/12 明治大学 情報科学科向けの講演資料

Avatar for K.Sakanoshita

K.Sakanoshita

December 12, 2025
Tweet

More Decks by K.Sakanoshita

Other Decks in Education

Transcript

  1. オープンソース、オープンデータという考え方 坂ノ下 勝幸 諸国・浪漫 / OpenStreetMap Foundation Japan Code for

    OSAKA, Harima, Kusatsu/ 淀川アートネット Facebook: K.Sakanoshita X(Twitter): @K_Sakanoshita 本資料で利用している地図: © OpenStreetMap contributors P.1
  2. P.2 自己紹介 - 坂ノ下 勝幸 ◼ 仕事 ⚫ 大阪情報コンピューター専門学校 講師

    ◼ 主な所属コミュニティ・団体 ⚫ OpenStreetMap Foundation Japan ⚫ Wikimedians of Japan User Group ⚫ 諸国・浪漫、淀川アートネット、Code for OSAKAなど ◼ 主な活動内容 ⚫ マッピングパーティ/ウィキペディアタウンの開催および協力 ⚫ オープンソース/データの社会実装(アプリ開発・提供など) ◼ 目指していること ⚫ 地元の情報は、自分たちで発信する文化を作る ⚫ 現場こそ最強のツールとデータが使えるように P.2
  3. P.4 ◼ ソフトウェアには様々な種類がある ⚫ 有名なものは「アプリケーション(アプリ)」。みんなこれを使いたい ◼ アプリを使うには動作させる 環境を用意する必要がある ◼ 右図のソフトウェアには全て

    著作者と著作権がある ◼ 著作権のお陰で、著作者は 財産を守ることが出来る ⚫ 違法コピーされた場合、損害 賠償を請求などを行う法的な 根拠となる ⚫ あくまで法律上の話であって 違法コピーを防ぐ、技術的な 対策とは別の話 ソフトウェアの構成 ハードウェア ・パソコン、スマホ、IT家電など ソフトウェア ファームウェア(ハードウェア内蔵) ・OSを読み込んで起動させるソフトウェア オペレーティングシステム(OS) ・Windows、Android、iOS、UNIXなど ミドルウェア、フレームワーク ・アプリケーション開発を楽にするソフトウェア アプリケーション ・ゲーム、業務アプリ、ツールなど 全て必要 P.4
  4. P.5 著作権と利用規約(ライセンス) ◼ ソフトウェアには著作権が認められている ⚫ 著作者は、自分のソフトウェアの用途を決める権利がある ◼ ソフトウェアに値段を付けて販売している ⚫ 販売しているのは「ソフトウェアを利用する権利」

    ⚫ ソフトウェアそのものを販売している訳では無い ◼ アプリのインストール時、利用規約への同意が求められる ⚫ 無料のアプリでも同じ。著作者は利用者を選択する権利がある ⚫ 利用者は著作者の利用規約を無視して利用する権利は無い ◼ 例えばWindows 11ライセンス条項は ⚫ 販売ではないこと、1ユーザーのみ使える リバースエンジニアリング禁止を始めとて 様々な条件が記載されている P.5
  5. P.6 オープンソースとは ◼ ソフトウェアの利用規約(ライセンス)の一種類 ⚫ 「誰でも自由にソースコード(設計図)をコピーして使っても良い」と 著作者が利用規約(ライセンス)を作成・公開しているソフトウェア ✓ 「商用利用可」や「商用利用不可」など、オープンソースにも種類がある ✓

    著作者がバラバラに利用規約を設定した場合、それらのソースコードを 複数集めてアプリを開発するのが困難になる(矛盾する箇所など)ため、 GPLやMITなど、既に存在する利用規約を著作者が選択する例が多い ◼ オープンソースのアプリケーションはあまり多く無い ⚫ 例えば、ゲームの大半はソースコードは非公開 ⚫ オープンソースな業務アプリケーションも少ない ✓ Microsoft社のOfficeやAdobe社のIllustratorもソースコードは非公開 なぜ、オープンソースを取り上げるのか? P.6
  6. P.9 なぜ、オープンソース?(1/2) ◼ 様々な理由が存在している。分かり易いものから順に説明 ⚫ 共同開発を行うことで、コストを維持しつつ品質を上げたい ✓ 従来の共同開発は、会社同士が権利に関する綱引きや、相手の会社に 負担を重くさせようとするなど、下手するとデメリットが大きい場合がある ✓

    オープンソースとして公開することで、そういった会社間の綱引きを防ぎ、 自分のビジネスで必要な機能だけ協力するなど、負担割合も調整可能 ⚫ 直接的に利益が出せないソフトウェアを別の手法で活用するため ✓ 例えば、「TCP/IP」と呼ばれる通信用のソフトウェアはオープンソースで 公開されているが、インターネット普及前は開発・販売する会社もあった ➢ (参考) http://www.funkygoods.com/schwarzschild/2009_05/2009_05_25.html ✓ TCP/IPをコンピュータで動作させるソフトウェアは社会に欠かせないが、 インターネットやTCP/IP自体が利益を生んでいる訳では無い ➢ 利益を上げる仕組み(源泉)として、オープンソースを活用する考え方 ✓ GoogleがWebブラウザ(Google Chrome)をオープンソース主体で開発して おり、マイクロソフトもChromeのオープンソース版(Chromium)へ切り替え ➢ Webブラウザの主導権を握るより、その上のサービスで利益を目指す P.9
  7. P.10 なぜ、オープンソース?(2/2) ◼ オープンソースで公開する様々な理由(少しややこしい編) ⚫ 税金で開発されたソフトウェアは国民みんなの資産なのでは? ✓ アメリカでは2016年にオバマ大統領(当時)が政府が開発している ソフトウェアのオープンソース化と集約(一か所に集める)を実施 ✓

    (参考) https://japan.cnet.com/article/35091700/ ⚫ ソフトウェアはコピーが非常に簡単であり、コストも掛からない ✓ 食べ物は農家や漁師、牧場で時間と手間を掛けて手に入れている ✓ 工場で製品を作るには、原材料を集めて高度な技術で加工している ⚫ ソフトウェアはパソコンがあれば、誰でも開発することが出来る ✓ それなのにソフトウェアに値段を付けて販売する理由が分からない ✓ 開発者に手間が掛かるのは分かるが、ソフトウェアを必要としている みんなで手分けして開発すれば良いのではないか? ✓ コピーしたい人がいたら好きなだけコピーすれば良い、物とは違って ソフトウェアはいくらコピーしても無くならないから 貧富の差、環境の違い、ビジネスなど、様々な理由がある また、「オープンソース=正しい」とは限らない P.10
  8. P.11 オープンソースが認知されたきっかけ ◼ 1980年代まで ⚫ インターネット普及前。一部の大学や研究者を中心にオープンソースの きっかけの一つとなったフリーソフトウェア運動が始まる ✓ 「フリーソフトウェア運動=ソフトウェアは自由であるべきだ」という考え方 ◼

    1990年代 ⚫ インターネット普及開始。ネット上で開発者の自由な意見交換が進む ⚫ フリーソフトウェア運動は政治的な側面が強く、ビジネスでは利用が 難しい(自社改良のソースコードも公開義務が発生するため)ことで、 エリック・レイモンド氏提唱の「オープンソース」が支持を集める ✓ オープンソースは、派生ソフトのソースコード配布を強制しないライセンスも可能 ◼ 2000年代 ⚫ OSやWebサーバーなど、インターネット上のサービスに必要となる ソフトウェアがオープンソースで公開され、一気に普及していく ✓ ただし、サーバー側のソフトウェア中心であり、一般のWindowsユーザーが利用 するゲームなどのアプリケーションは、オープンソース化する流れではない P.11
  9. P.13 オープンデータって? ◼ 意外と勘違いされやすいこと ⚫ ネットで公開されているデータのことでは無い ◼ オープンデータで一番大事なこと ⚫ 利用できる、そしてアクセスできる

    ✓ コンピュータで簡単に利用出来ること(紙資料はオープンデータでは無い) ⚫ 再利用と再配布ができる ✓ どんな目的でも利用でき、データを書き換えて再配布できること ⚫ 誰でも使える ✓ データの使い道、人種、所属団体、思想、宗教などで差別してはならない 単に「望ましい」ではなく、複数のデータを 様々なことに使うには「オープンデータ」という ルールに沿って公開することが大事 P.13
  10. P.14 オープンデータ登場までの流れ ◼ 2000年代にオープンソースの考え方とソフトウェアが普及 ⚫ 「オープン」の考え方をソフトウェア以外にも適用する試みが発生 ⚫ その結果、「オープンデータ」という言葉が自然発生的に普及する ◼ Wikipediaの始まりは2001年1月

    ⚫ 世界中の知識を持ち寄って誰もが使える百科事典を作るプロジェクト ⚫ ライセンスは「CC BY-SA 4.0」というオープンデータで公開される ◼ OpenStreetMapの始まりは2004年12月 ⚫ 「Wikipediaの地図版」と良く言われる、世界地図を人類全体で共同 整備し、誰もが自由に使える地図(正確には地理空間データ)を作る ◼ アメリカを始めとした政府機関でもオープンデータが普及 ⚫ 2009年にオバマ大統領がオープンデータ推進を各省に通達 ⚫ 2015年に日本政府が「政府標準利用規約2.0」を公開 ✓ オープンデータと互換性がある(1.0では一部非互換があった) P.14
  11. P.16 地域活動にも様々なものがある ◼ 1990年代後半のインターネット普及により ⚫ デジタルに興味がある方たちがネットとリアルで繋がるようになる ⚫ その結果、日本各地で様々な活動がネットとリアルで始まっていく ⚫ 以下、私が関わっている団体に関しての説明(他にも様々にある)

    ◼ 2002年 関西オープンフォーラム開始 ⚫ 中野秀男先生が有志と開始。後述のオープンソースカンファレンス と同様の趣旨で、関西に根差して20年以上継続中 ◼ 2004年 オープンソースカンファレンス(OSC)開始 ⚫ 株式会社びぎねっと運営。企業からユーザー会まで様々な方たちが 商品、活動を紹介しあうコミュニティを構築し、20年以上継続中 ◼ 2013年 Code for Japan設立 ⚫ 市民と行政が連携して社会問題の解決を目指す活動。コロナ禍では 東京都と連携して「新型コロナウイルス感染症対策サイト」を公開 P.16
  12. P.17 非ITな地域活動のデジタル化 ◼ 非ITなコミュニティのデジタル化は少し遅れる ⚫ アート、まちづくり、子育て、防災・防犯、障がい者支援など ⚫ 前ページに書いたITコミュニティとは、まだまだ繋がりが弱い ◼ コロナ禍で強制的にオンライン化

    ⚫ オンライン会議ツール「Zoom」が爆発的に非ITでも普及する ⚫ 2020年~2022年頃には「オンライン飲み会」も当たり前となる ◼ スマートフォンとSNSの普及率が向上 ⚫ Instagramを始めとしたSNSが一般化 ⚫ 非ITな地域活動でも活用が増えていく P.17
  13. P.18 デジタル化への対応 ◼ 結果、地域活動もデジタル化が進んでいる ⚫ ほとんどの方はスマホを持っていて、SNSも使える状態 Instagramに写真を載せるなど、立派なデジタル地域活動 ◼ でも、デジタル化の問題もあります ⚫

    データの保管場所に信頼性が高くない場所を使う危険性 ✓ 無料で利用できるホームページやブログを提供しているサービスなど ✓ 2019年に終了した「Yahoo!ジオシティーズ」は400万件のサイトを保有 ※参考) https://seniorguide.jp/column/furuta/1176647.html ⚫ ライセンスを決めず「とにかく集めた」可能性 ✓ 「昔の写真を集めてアーカイブサイトを作ろう」として写真を集めるが、 利用規約を決めてないので、他の誰も使えない。お年寄りに利用規約を 説明すること自体が難しい場合も多い 地域活動は基本的にお金が無い(掛けられない)が やり方によって資料(データ)を残せる方法もある P.18
  14. P.19 「清水寺」は最初から世界遺産? ◼ 清水寺の創建年代 ⚫ 「清水寺縁起絵巻」「今昔物語集」「扶桑略記」によれば、 宝亀(ほうき)9年(西暦778年)音羽山に着いた僧の賢心は、 観音の化身から寺を任されたことが始まりとされる ◼ 清水の舞台から飛び降りた人

    ⚫ 「成就院日記」によると、飛び降りは 元禄7年(1694年)~元治元年(1864年)に 未遂含む235件、生存率は85.4% 様々なことを記録、将来に残すことは 地域の魅力、宝になっていく可能性となる P.19
  15. P.20 地域資料を将来に残すなら ◼ オープンデータとするのが大事 ⚫ 少なくとも、何も取り決めずに「単に集めただけ」での活用は厳しい ⚫ もちろん、オープンデータ以外のライセンスを設定する方法もあるが、 この場合、データをマージすることに制約が発生することに注意する ⚫

    将来に残すことを考えると、オープンデータでの情報収集が望ましい ◼ 国際的なデータプラットフォームが大事 ⚫ 補助金でサーバを持つ場合、補助金が切れるとデータが消失する恐れ ⚫ 寄付やスポンサーで運営基盤が安定している国際プロジェクトを利用 することは、データを長生きさせる(将来に残せる)可能性がある ⚫ 全く「想定していない活用方法」やデータ連携が出来る可能性がある ←こういったプロジェクトの活用が重要 P.20
  16. P.21 さて、どう活用していくか ◼ Wikimedia各プロジェクトやOpenStreetMapに関わる? ⚫ 残念ながら「さぁ、みんなで編集しよう」では人は動かない ⚫ 理由は様々だが、「巨大プロジェクトの一部」に埋没してしまい 活動の動機となる地域性が失われると感じる人が多いからかも? ◼

    他にも関わりにくい理由がある ⚫ Wikimedia commonsに写真を載せただけでは見て貰えない ※フォトコンテストで最優秀とかなら話は別ですが、レアケース ⚫ WikidataはIT詳しくない人には「訳が分からない」 ⚫ OpenStreetMapは「単なる地図」にしか見えない ✓ 単なる地図なら、Google Mapsで十分でしょ? ⚫ Wikipediaだけは、Google検索で表示されるので 他と違って、埋没しない可能性がある P.21
  17. P.22 アプリでオープンデータを活用する ◼ やりたいことと、必要なことは別物 ⚫ インフラ層のイメージは電気やガス、水道かな ⚫ みんながやりたいことはアプリケーション層 ✓ 例えば、地域の歴史書、子育てマップ、バリアフリーマップなど

    ⚫ 必要なこと(Wikimedia各プロジェクトやOpenStreetMap)はインフラ層 ✓ 例えば、その地域の歴史・文化、施設の位置情報など 「やりたいこと」と「必要なこと」を繋げる ためにアプリを開発する方法があります 名称 意味 アプリケーション層 みんながやりたいこと ※アプリケーションが該当 インフラ層 実現させるために必要なもの ※オープンデータが該当 やりたい! P.22
  18. P.25 Wikimediaの各プロジェクト Wikimedia財団 英語版 日本語 ドイツ語 フランス語 ・・・ 英語版 日本語

    ドイツ語 フランス語 ・・・ 英語版 日本語 ドイツ語 フランス語 ・・・ 英語版 日本語 ドイツ語 フランス語 ・・・ 英語版 日本語 ドイツ語 フランス語 ・・・ 英語版 日本語 ドイツ語 フランス語 ・・・ 言語毎に独立して運用 写真や動画は ここに集約 • 個人や団体の寄付で運営 • サーバー運用など、プロ ジェクトの下支えを担当 • プロジェクトの運営には 直接的には関わらない Commons (写真・動画) Wikipedia (百科事典) Wiktionary (辞書) Books (教科書) Source (原文) Wikiquote (引用集) News (ニュース) ここを軽く紹介 P.25 Wikipediaでは無い
  19. P.28 Web APIで画像のURLを取得する ◼ コードにするとこんな感じ getWikiMediaImage(fileTitle, thumbnailWidth, imageDom) { const

    apiUrl = `https://commons.wikimedia.org/w/api.php?action=query&titles=${fileTitle}&format=json&prop=imageinfo&iiprop=url|extmetadata &origin=*`; fetch(apiUrl + (thumbnailWidth == "" ? "" : `&iiurlwidth=${thumbnailWidth}`)) .then(response => response.json()) .then(data => { const pages = data.query.pages; const pageId = Object.keys(pages)[0]; const urlCat = thumbnailWidth == "" ? "url" : "thumburl"; if (pages[pageId].imageinfo !== undefined) { const fileUrl = pages[pageId].imageinfo[0][urlCat]; const copyright = typeof (imageDom) == "string" ? document.getElementById(imageDom + "-copyright") : undefined imageDom = typeof (imageDom) == "string" ? document.getElementById(imageDom) : imageDom; imageDom.src = fileUrl; imageDom.setAttribute("src_org", pages[pageId].imageinfo[0].url); imageDom.setAttribute("src_org", pages[pageId].imageinfo[0].url); if (copyright !== undefined) { let artist = pages[pageId].imageinfo[0].extmetadata.Artist.value let license = pages[pageId].imageinfo[0].extmetadata.LicenseShortName.value let html = `Image by ${artist} <a href="${pages[pageId].imageinfo[0].descriptionurl}">${license}</a>` copyright.innerHTML = html } } else { console.log("File Not Found:" + pages[pageId].title); } }) } 要するに Wikimedia CommonsのWeb APIを使えば、 1億以上のメディアファイルを自在に使える P.28
  20. P.29 その他にも ◼ 他にもWikimediaの様々なプロジェクトが存在している ⚫ 誰でも一度ぐらいは使ったことのある「Wikipedia」 ⚫ 世界中のあらゆる物(概念含む)にIDを付与する「Wikidata」 ⚫ 他にも旅行ガイドから教科書、出典資料の収集などもある

    ◼ 創設者ジミー・ウェールズの発言 ⚫ 想像してみてください。 すべての、1人1人の人間が、 すべての持ちうる知識を持ちより、 自由に分かち合える世界を 趣旨に賛同した方達が無償で活動に協力している P.29
  21. P.32 OpenStreetMapのロゴ画像 ※3単語をまとめて1単語(スペース無し) 最初にお伝えしたいこと ◼ OpenStreetMapとは ⚫ 何処かの企業の製品や提供しているサービスではありません ⚫ 世界中のみんなと一緒に「地図」を作る国際プロジェクトです

    ⚫ 2004年に英国から始まり、日本では2008年頃に始まりました ◼ みんなとは ⚫ 個人、企業やNGO、NPOなどの組織も含みます ⚫ 誰でも自由に参加出来るオープンな活動です ◼ OpenStreetMapは誰のもの ⚫ 英国のOpenStreetMap Foundation(財団)が オープンデータ(ODbL)で提供しています P.32
  22. P.36 OpenStreetMapが実現したいこと 店舗情報 背景地図 店舗情報 背景地図 経路情報 投稿情報 経路情報 大企業が提供している地図

    OpenStreetMapと組み合わせた地図 企業、団体、個人が 必要な層を追加できる (車いす、アレルギー、保育園 防災、防犯、歴史など) OpenStreetMap 交通情報 作りたい地図に必要な 情報がOpenStreetMapに あるので作る手間が減る 作りたい地図に必要な 情報はあるが、印刷し て他の方に渡すのは 禁止など制約が多い P.36
  23. P.37 様々な活動を支えるデータの共同整備 店舗情報 背景地図 経路情報 OpenStreetMapと組み合わせた地図 企業、団体、個人が 必要な層を追加できる (車いす、アレルギー、保育園 防災、防犯、歴史など)

    OpenStreetMap 例えば、商店街のランチマップを作って 印刷して配布する場合、道路や建物から 地図を描いていくのはコストが掛かる そのため、様々な活動でも利用している 基礎データ(道路や建物など)を共同で 整備することで、コスト削減が出来る また、地域に住んでいる方たちが地図を 直接更新することで、バリアフリーなど きめ細かいデータの整備が行える そして、マップを作る団体が活動停止し ても、新しい団体が生まれた時は、その データを引き継いで活動が再開出来る 国際プロジェクトなため、国境を超えた 国際的なマップを作ることが出来る P.37
  24. P.38 どんなデータが記録できる? ◼ 地図は「点」「線」「領域」の組み合わせで出来ている ◼ 点(ポイント) ⚫ 店舗、施設、石碑、案内板、彫像、 自動販売機、樹木、ベンチなど ◼

    線(ライン) ⚫ 道路、歩道、並木、生垣、川、壁、 フェンス、擁壁など ◼ 領域(エリア) ⚫ 建物、池・沼、駐車場、広場、森、 庭園、公園、プールなど P.38
  25. P.45 みんなで地図を描く意義 ◼ スマホやタブレットでも簡単に出来ます ⚫ 施設や店舗情報の入力程度なら、数十秒程度で記録出来ます ⚫ Webブラウザで登録、スマホアプリで登録など様々な手段があります ◼ OpenStreetMapはバリアフリー情報が追加出来ます

    ⚫ 車椅子で行ける施設情報を共有するwheelmap.org は OpenStreetMapと連動し、世界中で使われています ◼ 様々な現存する地物の情報追加が出来ます ⚫ 歴史、文化、防犯、防災などでの活用も可能です ⚫ そして、OpenStreetMapは全ての編集履歴が残ります ⚫ 100年後に100年前の地図を表示させる ことも出来るので、「未来の古地図」を 作る活動と考えることも出来ます P.45
  26. P.47 地図上に写真を表示させる ◼ 例えば、アプリの独自データとOSMのデータを組み合わせ ることで「何処に何があるか」を写真を含めて可視化できる Wikimedia Commons データベース OpenStreetMap データベース

    アプリの独自データ 国際的なオープンデータの プラットフォーム(保管先) 地域の方たちが必要な情報だけを 分かりやすく地図表示するアプリ P.47
  27. P.54 意外と近い活動をしている所もある ◼ 地域活動でも地域資料(データ)が求められている ⚫ 各地のNPOやコミュニティは、そういったデータを自前で準備して いることが非常に多く、活動終了とともにデータが消散していく ✓ 例)バリアフリーマップ、商店街マップ、地域の文化・歴史の冊子など ◼

    データの収集~活用のノウハウは団体によって異なる ⚫ 資料(データ)を残す視点を持って活動している団体は少ない ⚫ また、「残す」ことを意識しても、ライセンスを決めていないので、 新しい活用(ネット掲載など)への対応や後継団体に権利移譲する ことが出来ない場合も多い(権利関係が不明なので出来ないなど) ◼ あなたのアプリでオープンデータを使うことで ⚫ オープンデータが地域活動に直接的に役立つ ⚫ オープンデータの活用に自然と意識が向いて、 データの充実に興味・関心を持ってもらう P.54
  28. P.55 地域には色んな方たちがいる ◼ WikimediaやOpenStreetMapはあくまで手段 ⚫ 自由な地図や百科事典を作る目的を持っているのはWikipediaや OpenStreetMapのプロジェクト側 ⚫ 地域には、その地域ならではの目的がある ◼

    地域には色んな団体やコミュニティが存在 ⚫ 市民団体やコミュニティは基本的に独自に活動 ⚫ 普段は知り合う機会が少ない方たちがお互いの活動内容を知る きっかけとなり、新しい活動に繋がっていく可能性がある P.55
  29. P.56 まとめ ◼ オープンデータ&オープンソースの考え方 ⚫ 地域活動では、著作権やアーカイブに関する視野が狭い時がある ⚫ 地域活動の成果は地域の宝であり、出来れば将来に残していきたい ⚫ そのためには、オープンデータ&国際的なプラットフォームが大事

    ⚫ ただし、「自分たちの活動」として認識できる仕組みが必要となる ⚫ アプリから積極的にオープンデータを活用することで、地域活動の 低コスト化と自然なデジタルアーカイブ化が出来る可能性がある ⚫ 一地域向けのアプリでもオープンソースなら他地域でも役立つかも ◼ 先ほど紹介したアプリはオープンソースで公開中 ⚫ https://github.com/K-Sakanoshita ⚫ https://github.com/armd-02 オープンデータ&オープンソースなので みなさん、ご自由にお使いください P.56