$30 off During Our Annual Pro Sale. View Details »

それでも、自由なコンピューティングを希求する

ossaj
May 30, 2013

 それでも、自由なコンピューティングを希求する

講師:g新部裕氏(NPOフリーソフトウェアイニシアティブ 理事長、OSSAJ 理事)
概要:
自分のコンピューティングを自身で制御する、そして/または、コンピューティングに関して他の支配を受けないことが難しくなって来ています。そもそも、それが大切なことであるという認識も薄れてきて、これこそが、自由ソフトウェア運動の一番の危機でしょう。その根底が忘れられてきているのです。
今、再度、自由ソフトウェアの歴史を振り返り、自由なコンピューティングについて、あらためて考えます。小さいかもしれないけど踏ん張る、自由な設計のFST-01とそれを用いた Gnuk Token についても紹介します。

ossaj

May 30, 2013
Tweet

More Decks by ossaj

Other Decks in Technology

Transcript

  1. ͦΕͰ΋ɺࣗ༝ͳίϯϐϡʔςΟϯάΛرٻ
    ͢Δ
    g৽෦ ༟

    View Slide

  2. ຊ೔ͷ࿩
    ࠷ۙͷ׆ಈʹ͍ͭͯ
    ίϯϐϡʔςΟϯάͷࣗ༝ʹ͍ͭͯ
    15೥લͷࢥ͍ग़
    ྺ࢙ΛৼΓฦΔ
    ݱࡏ
    ·ͱΊ

    View Slide

  3. ࠷ۙͷ׆ಈ
    Gnuk Token
    FST-01
    GNU Privacy Guardͷվળ
    GNU Projectͷ΢ΣϒαΠτͷ೔ຊޠ຋༁

    View Slide

  4. Gnuk Token
    ࣗ༝ιϑτ΢ΣΞͷ࣮૷ "Gnuk" ͷ҉߸τʔΫϯɻ
    GNU Privacy GuardͰ࢖͏ɻ
    OpenPGP cardϓϩτίϧv2.0Λαϙʔτɻ
    ಛผͰ͸ͳ͍ɺSTM32ϓϩηοαͰಈ͘ɻ

    View Slide

  5. ҉߸τʔΫϯͱ͸?
    ެ։伴҉߸ͷ ϓϥΠϕʔτ伴 Λ಺෦ʹอ࣋͢Δɻ
    σόΠε಺෦ ͰܭࢉΛ͢Δɻ
    ిࢠॺ໊ / ೝূ / ҉߸ͷ෮߸ɻ
    ϓϥΠϕʔτ伴 ͸֎෦ʹ͸ܾͯ͠ग़ͳ͍ɻ

    View Slide

  6. Gnuk Tokenͷ༻్
    OpenSSHͷ伴͸Gnuk TokenʹೖΕͯ࢖͏ɻ
    ύεϫʔυΛ࢖ͬͨωοτϫʔΫͷೝূΛࢭΊ͍ͨɻ
    Web Ͱͷೝূ: no-passwd.net
    ࠃຽIDͰߦ੓ͷলྗԽͬͯϗϯτͰ͔͢? ͱ͍͏ܒൃɻ

    View Slide

  7. FST-01
    Flying Stone Tiny 01ͷུ
    ʮඈੴҴՙʯ͔Βඈੴٕज़(Flying Stone Technology)ͱ໊෇͚ͨɻ
    ࣗ༝ͳϋʔυ΢ΣΞઃܭɻ
    ʮಛผʯͰ͸ͳ͍ɺ 伴 Λѻ͏ϓϥοτϑΥʔϜɻ

    View Slide

  8. FST-01ͷܦҢ
    PCBͷઃܭͷιʔεΛ։ࣔɺϦϙδτϦʹɻ
    ୈࡾऀ͕੡଄Ͱ͖ΔΑ͏ʹɺ৘ใΛ։ࣔɻ
    ୭΋࡞ͬͯ͘Εͳ͍ͷͰࣗ෼Ͱ੡଄ൢചɻ
    http://www.seeedstudio.com/depot/

    View Slide

  9. GNU Privacy Guard
    PGPͷGNU൛ɻϓϥΠόγΛकΔιϑτ΢ΣΞɻ
    ిࢠॺ໊ (ಛʹɺιϑτ΢ΣΞͷిࢠॺ໊)
    ೝূ
    ిࢠϝʔϧͷ҉߸Խ

    View Slide

  10. GNU Project΢ΣϒαΠτͷ೔ຊޠ຋༁
    www.gnu.orgͷ࿦આͷ೔ຊޠ຋༁
    ࣗ༝ιϑτ΢ΣΞͷཧ೦ʹ͍ͭͯ
    GNUϓϩδΣΫτʹ͍ͭͯ
    ϥΠηϯεʹ͍ͭͯ

    View Slide

  11. ͳͥ͜͜ʹ?
    ࣗ༝ιϑτ΢ΣΞӡಈ͸ɺࣗ༝ͳOSΛಘͨɻ
    ࣾձʹ΋ೝ஌͞Εɺར༻͕޿͕ͬͨɻ
    ͔͠͠ɺͦͷ໨తʹ൓͢ΔΑ͏ͳ׆ಈ΋ಉ࣌ʹ޿͕ͬͨɻ
    ίϯϐϡʔςΟϯάͷࣗ༝͸͔͑ͬͯةػʹɻ
    ϓϥΠόγ͸෩લͷ౮͔΋ɻ

    View Slide

  12. ίϯϐϡʔςΟϯάͷࣗ༝
    ίϯϐϡʔςΟϯάͷࣗ༝ͬͯͳʹ?
    ࣗ༝ιϑτ΢ΣΞͱͷؔ܎
    ةػͷྫ (1)
    ةػͷྫ (2)

    View Slide

  13. ίϯϐϡʔςΟϯάͷࣗ༝ͬͯͳʹ?
    ࣗ෼ͷίϯϐϡʔςΟϯάΛࣗ਎Ͱ੍ޚ͢Δɻ
    ίϯϐϡʔςΟϯάʹؔͯ͠ଞͷࢧ഑Λड͚ͳ͍ɻ

    View Slide

  14. ࣗ༝ιϑτ΢ΣΞͱͷؔ܎
    ࣗ༝ιϑτ΢ΣΞ͸ɺίϯϐϡʔςΟϯάͷࣗ༝͕͢΂ͯͷϢʔβʹ͋
    Δ΂͖ͱߟ͑Δɻ
    ιϑτ΢ΣΞΛड͚औͬͨϢʔβ͢΂ͯʹɺͦͷࣗ༝Λอূ͢Δɻ
    ͜Ε͸ίϯϐϡʔςΟϯάͷࣗ༝ͷͨΊɻ͋Δ͍͸ɺͦΕ͸େલ
    ఏɻ
    ͜ͷॏཁੑ͕๨ΕڈΒΕͭͭ͋Δͷ͔΋ɻ

    View Slide

  15. ةػͷྫ (1)
    ʮศརͳʯεϚʔτϑΥϯɺʮ༗༻ͳʯΞϓϦ
    (ूதܕͷ)ίϛϡχέʔγϣϯɾαΠτ
    ʮϑϦʔʯϝʔϧαʔϏε
    SaaSͰΠϯετʔϧ͍Βͣ

    View Slide

  16. ةػͷྫ (2)
    ιϑτ΢ΣΞ։ൃϗεςΟϯάαΠτ
    ʮڭҭ༻ʯγϯάϧϘʔυίϯϐϡʔλ
    JavaScriptͰʮศརͳʯ΢ΣϒΞϓϦ
    ΠϯλʔωοτͰಈը഑৴

    View Slide

  17. 15೥લͷࢥ͍ग़
    GNU/Linux
    Distribution
    ڠಇ։ൃͷଅਐ
    ࢈ۀքͷࣗ༝ιϑτ΢ΣΞͷ׆༻

    View Slide

  18. GNU/Linux
    ࣗ༝ιϑτ΢ΣΞӡಈ͸ɺࣗ༝ͳOS, GNU/Linux, Λಘͨɻ
    ͦΕ·Ͱ͸։ൃ؀ڥ(GNU Toolchain)ͱͯ͠ͷར༻͕ओɻ
    ͜ͷ͜ΖɺωοτϫʔΫαʔόͰͷར༻͕੝Μʹɻ
    ͦͷޙɺ૊ࠐػثར༻ʹൃల͢Δɻ

    View Slide

  19. ࢈ۀքͷࣗ༝ιϑτ΢ΣΞͷ׆༻
    Apache, Mozilla, MySQLͳͲࣗ༝ιϑτ΢ΣΞͱͯ͠ϦϦʔεɻ
    RedHat, VALinux্͕৔ɻ
    IBMͷGNU/Linuxਪਐɻ

    View Slide

  20. Distribution
    Ϣʔβ͕௚઀ར༻Ͱ͖ΔόΠφϦͷܗͰ഑෍͢Δ΋ͷɻ
    ࡞ۀͷ࿑ྗͱ஌ࣝΛڞ༗͢Δ׆ಈ͕ఆࣜԽ͞Εͨɻ

    View Slide

  21. ڠಇ։ൃͷଅਐ
    ։์ܕͷ։ൃ
    ΠϯλʔωοτͰ৘ใަ׵
    ιʔείʔυϦϙδτϦ
    ෼ࢄܕͷ։ൃͱڞ༗
    Bug tracking system

    View Slide

  22. ༗༻ੑʹ͍͍ͭͯΖ͍Ζ(1)
    ܦࡁੑ
    ։ൃϝΧχζϜͷ༏Ґੑ
    ιϑτ΢ΣΞͷٕज़త༏Ґੑ
    ڝ૪ͱΠϊϕʔγϣϯ
    ιϑτ΢ΣΞͷࣗڅࣗ଍

    View Slide

  23. ༗༻ੑʹ͍͍ͭͯΖ͍Ζ(2)
    ιϑτ΢ΣΞʹ͓͚Δࣗ෼ͨͪͷจԽͷαϙʔτ
    ιϑτ΢ΣΞٕज़ͷ࠾༻ʹؔ͢Δࣗݾܾఆ
    ڭҭͱίϯϐϡʔλ
    ࢈ۀҭ੒
    ๵қऩࢧ

    View Slide

  24. ྺ࢙ΛৼΓฦΔ
    ࣗ༝ιϑτ΢ΣΞͬͯԿ?
    ࣗ༝ιϑτ΢ΣΞͷྺ࢙
    ࢈ۀԠ༻ͱͷিಥ
    Φʔϓϯιʔειϑτ΢ΣΞӡಈ
    ࣗ༝ιϑτ΢ΣΞӡಈͷಆ͍

    View Slide

  25. ࣗ༝ιϑτ΢ΣΞͬͯԿ?
    ࣗ༝ιϑτ΢ΣΞͷఆٛ
    0. ͲΜͳ໨తʹ΋ར༻Ͱ͖Δ
    1. ݚڀ͠ɺඞཁʹԠͯ͡ద༻Ͱ͖Δ (*)
    2. ྡਓΛॿ͚ΔͨΊʹෳ੡Λ഑෍Ͱ͖Δ
    3. վળ͠ɺͦͷվળΛίϛϡχςΟશମͷͨΊʹެ։Ͱ͖Δ (*)
    (*) ιʔείʔυ͕ར༻Ͱ͖Δ͜ͱ͕લఏ

    View Slide

  26. ࣗ༝ιϑτ΢ΣΞͷྺ࢙(1)
    1983: GNUϓϩδΣΫτఏএ͞ΕΔɻ
    1984: GNUϓϩδΣΫτ࢝·Δɻ
    1985: Free Software Foundationઃཱɻ
    1991: Linuxͷ։ൃ࢝·Δɻ
    1998: Φʔϓϯιʔεӡಈຄൃɻ
    199X: ͨ͘͞Μͷιϑτ΢ΣΞ͕ࣗ༝ʹ!

    View Slide

  27. ࣗ༝ιϑτ΢ΣΞͷྺ࢙(2)
    200X: ֤ࠃͰ੓෎ͷؔ৺ΛҾ͘Α͏ʹͳΔɻ
    2003: 1stΞδΞOSSγϯϙδ΢Ϝ։࠵ɻ
    200X: Ոి੡඼ʹ޿͕Δɻ
    2005: Google Summer of Code࢝·Δɻ
    2008: 6th CodeFestΞδΞ։࠵ɻ
    201X: Smart Phoneʹ޿͘࢖ΘΕΔɻ

    View Slide

  28. ࢈ۀԠ༻ͱͷিಥ
    طଘͷϏδωεϞσϧͱͷෆ੔߹
    ٕज़ͷ։ࣔͱ੡඼ͷࠩผԽ
    طଘͷϏδωε׳शͱͷෆ੔߹
    ݖརԽɺಠ઎Խ
    ։์ܕͷ։ൃ΁ͷࢀՃ͕ࠔ೉
    Φʔϓϯιʔειϑτ΢ΣΞӡಈ
    িಥͷճආͱ૊৫Λӽ͑ͨڠಇ͕໛ࡧ͞Ε͖ͯͨɻ

    View Slide

  29. ࣗ༝ιϑτ΢ΣΞӡಈͷಆ͍ (1)
    ࣗ༝ιϑτ΢ΣΞফ໓ͷةػ: RMS, "GNU Manifesto"
    ϓϩϓϥΠΤλϦιϑτ΢ΣΞͷ੡඼։ൃͱ঎׳श
    ಠ઎ʹΑΔιϑτ΢ΣΞ࢈ۀͷࢧ഑
    ιϑτ΢ΣΞಛڐ
    ϓϩςΫγϣϯ: DMCA, DRM, Tivoization

    View Slide

  30. ࣗ༝ιϑτ΢ΣΞӡಈͷಆ͍ (2)
    ։ൃ؀ڥͷࢧ഑ʹΑΔಠ઎ (Java Trap)
    Binary Blob (proprietary firmware)
    ϓϥοτϑΥʔϜͷϓϩϓϥΠΤλϦ֦ு
    ࢓༷͕ඇެ։ͷٕज़
    "Secure" Boot

    View Slide

  31. ڴҖʹͲ͏ཱͪ޲͔͔ͬͨ
    ڞಉମͷ࠶ߏஙͷ௅ઓ
    ʮͳ͍ͳΒࣗ෼Ͱ࡞Δʯ: GNU Project
    Copyleft ʹΑΔ෢૷
    ιϑτ΢ΣΞͷڐ୚৚݅Ͱࣗ༝ΛकΔ: GNU GPL

    View Slide

  32. Copyleft
    ιϑτ΢ΣΞͷڐ୚৚݅ͷςΫχοΫ
    ஶ࡞ݖͷ(ຊདྷͷҙਤ͸)ར༻ऀΛ੍ݶ͢Δ΋ͷ
    స༻ͯ͠ɺࣗ༝ΛकΔ
    ϓϩάϥϜͷվมͱͦͷ഑෍Λɺ ಉҰͷڐ୚৚݅Ͱ഑෍͢Δ͜ͱ Λঝ୚
    ͢Δ৔߹ʹͷΈڐՄ͢Δ
    վมͨ͠΋ͷʹͦͷੑ࣭͕఻ൖ͢Δ

    View Slide

  33. GNU General Public License
    Copyleft ͷ࣮૷ͷҰͭ
    ιϑτ΢ΣΞͷஶ࡞ݖΛओு͢Δ
    ஶ࡞ݖͷڐ୚ͱͯ͠ೝΊΔ୅ΘΓʹڐ୚৚݅͸क͍ͬͯͩ͘͞
    Ұൠେऺ͕૬ख
    4ͭͷࣗ༝ΛकΔ͜ͱɺࣗ༝ʹର͢ΔڴҖ΁ͷରॲ͕࣮૷͞Ε͍ͯΔ

    View Slide

  34. ݱࡏ
    ࣗ༝ͳίϯϐϡʔςΟϯά͸೉͘͠
    ͦͷഎܠ
    গ͠ر๬

    View Slide

  35. ࣗ༝ͳίϯϐϡʔςΟϯά͸೉͘͠ͳͬͨ
    ίϯϐϡʔλͷϢʔβͷࣗ༝Λଋറ͠ͳ͍(΂͖͕ͩ)
    ϋʔυ΢ΣΞΛఏڙ͢Δଆ੍͕ݶ͢Δ
    ιϑτ΢ΣΞΛఏڙ͢Δଆ੍͕ݶ͢Δ
    ίϯϐϡʔλωοτϫʔΫͷϢʔβͷࣗ༝Λଋറ͠ͳ͍(΂͖͕ͩ)
    αʔϏεΛఏڙ͢Δଆ͕͍Ζ͍Ζͱ੍ݶ͢Δ
    αʔϏεΛఏڙ͢Δଆ͕ͱ͍࣋ͬͯ͘

    View Slide

  36. ͦͷഎܠͷߟ࡯
    ͔֬ʹ͋ͬͨʮਫ਼ྗળ༻ʯͷռΊ͸ɺ͍·΍Ͳ͜ʹɻ
    ͔ͭͯ͸Πϯλʔωοτ͸ʮࢀՃʯ͢Δ΋ͷͩͬͨɻ
    ͔ͭͯ͸γεςϜ؅ཧऀ͸γεςϜͷྗΛೝࣝ͠ɺռΊ͕͋ͬͨɻ
    ͔ͭͯ͸ٕज़ऀ͸ɺٕज़ͷྗΛೝࣝ͠ɺռΊ͕͋ͬͨɻ

    View Slide

  37. গ͠ر๬(1)
    15೥લʹ͸ͳ͔ͬͨ΋ͷ
    Wikipediaͱ஌ࣝͷڞ༗
    ֶज़ࡶࢽͷOpen Access
    େֶڭҭͷωοτϫʔΫ΁ͷ։์
    OpenStreetMapͳͲͷσʔλͷղ์

    View Slide

  38. গ͠ر๬(2)
    ϋʔυ΢ΣΞͷ·ΘΓͰ΋։์ܕͷ։ൃ
    Arduinoͷීٴ
    ։ൃ΍ઃܭʹࣗ༝ιϑτ΢ΣΞͷํ๏࿦ΛԠ༻
    ܦݧͷڞ༗ɺ஌ࣝͷूੵ

    View Slide

  39. ·ͱΊ(1)
    ࣗ༝ιϑτ΢ΣΞ͸ࣾձΛม͑ɺࣾձ͸๛͔ʹɻ
    ࣗ༝ιϑτ΢ΣΞͷ׳श͸࢈ۀքΛม͑ͨɻ
    ݸਓ͕ϓϥΠόγΛकΔͷ͸೉͘͠ͳ͖͔ͬͯͨɻ
    ࣗ෼ࣗ਎Ͱࣗ෼ࣗ਎ͷ৘ใΛ੍ޚͰ͖Δ΂͖ɻ
    ϓϥΠόγΛकΔ࣌ɺࣗ༝ιϑτ΢ΣΞ͕ॏཁɻ

    View Slide

  40. ·ͱΊ(2)
    ࣗ༝ιϑτ΢ΣΞͱͦͷํ๏࿦͸ɺ޿͕͍ͬͯΔɻ
    ཱ٭఺ͱཧ೦͸๨ΕΒΕͯ͸͍͚ͳ͍ɻ
    ૬खͷࣗ༝Λଚॏ͢ΔจԽ͕৽͍ࣾ͠ձΛ࡞͍ͬͯ͘ྗڧ͍ಈ͖ʹͭͳ
    ͕Δɻ

    View Slide