Friendica
         2012/3/6 第28回 あしたの研




    ●インフォサイエンス 塩谷 沢生
Friendicaとは

●   オープンソースの分散型SNS(Distributed SNS)

●   オーストラリアのMike Macgirvin氏 によって創設

●   元々の名前は"Friendika"
     ● "-ika" という字面がよろしくないということで最近改称
       (発音は同じ)

●   自分で手軽に「分散型」SNSを構築できるソフトウェア
今さらながら、SNS


●   Social Network System の略

●   「社会的ネットワークの構築が出来るサービスやウェブサイ
    ト(Wikipediaより)」
    ○   広い意味では、人や組織がつながる機能を提供していれば
        何でもSNS : 電子メールやネットニュース、掲示板も!

●   「人と人とのつながりを促進・サポートする、コミュニティ型の
    会員制サービス(同上)」
    ○   現在有名なサービスとしては、Facebook・Google+
    ○   国産サービスとしてはGree・Mixiなど
SNSが提供する機能

●   SNSでよく提供される機能
    ○   プロフィール
    ○   メッセージ交換
    ○   友人・知り合いのリンク
    ○   日記・ブログ機能
    ○   掲示板、写真、動画など、コンテンツのシェア

●   ユーザ同士のコミュニケーションという体験や現象
    そのものが、SNSのテーマ
    ○   実物を電子的に置き換えるソフトウェアとは性質が異なる
        ■ メール ← 手紙
        ■ HTML ← 出版物


    ○   そういう意味で、SNSでは「何でもあり」…これはまぁ余談
中央集権型SNS

●   狭義のSNS(会員制SNS)は基本的にこのスタイル
     ○   全てがSNS提供者の管理下に置かれている
     ○   同じSNSのメンバー同士が、交流を持つ




                       Facebook


    FacebookのAliceさん
                                  FacebookのBobさん
中央集権型SNSの問題点

●   SNSをまたがった交流は難しい
●   自分のSNSを構築しても、他のSNSと交流できない
    ○   (既存のSNS連携技術については後述)


                Facebook


                                     My SNS




                           Google+
         mixi

                                      内輪でしか使えない…
分散型SNS

●   SNS同士が、共通のプロトコルで連結する
    ○    別々に管理されているSNS同士が通信
    ○    プロトコルを守ってさえいれば、どのSNSとも連結可能
    ○    電子メールと同じ仕組み


        Alice's SNS   Bob's SNS           My SNS




                                  どのSNSともつながっている…!!
Friendicaの特徴

●   オープンソースの分散型SNSシステム
    ○   SNSとしての機能は大体実装済み
    ○   構造が整理されていて拡張性が高い
        http://portal.friendika.com/compare


●   セキュリティに配慮した設計
    ○   プロトコルに再配布の制限やコンテンツの削除機能が
        組み込まれている

●   DFRNプロトコル:
    ○   プライバシーやスパムへの対策を念頭に置いたプロトコル
         ■ 非対称な関係
         ■ 公開・個人の二種類のコミュニケーション
         ■ ノード同士が直接通信(他者を介さない)
とりあえずデモ

●   原則としてドメインかサブドメインが取れる環境が必要
    ○   それ以外の場所にも置けるが、連携に制約あり

●   その他、Apache / PHP / MySQLなど

●   今回は Sakura Internetのレンタルサーバで構築
    ○   無料ドメインへの設置はmod_rewriteの設定が
        まだうまく行かず

●   Chromeでないと動かない部分がいくつか…
    ○   IE8だと表示が乱れます
DFRNプロトコルの構成

●   各利用者はプロフィールページと4つのURL
    (Web API)を用意する
    ○   知り合いとなるためのURL
        ■ dfrn-request URL / dfrn-confirm URL


    ○   メッセージ交換用のURL
         ■ dfrn-notify URL / dfrn-poll URL



●   プロフィールへのURLが、ユーザーを指す識別符号
    ○   http://friendica.example.com/info-taro
    ○   Webfingerに対応、メールアドレス形式でも可
         ■ infotaro@friendica.example.com
            → Webfingerで問い合わせることで、上記のURLに変換
    ○   プロフィールを見れば、上記の4つのURLも分かる
DFRNでのコミュニケーション(1)

●   最初の一歩: 自己紹介 (introducution)
    ○   Alice に対し、 Bobが連絡を取ろうとする

    ○   Bob -> Alice : Alice の request URLへ送信
         「僕へ連絡があれば、ここへ送って下さい」

    ○   Bob <- Alice : BobにIDを発行し、Bobのconfirm URLへ送信
         「私からのメッセージにはこういう印をつけます」
           ※実際のやりとりは、詐称を防ぐためもう少し複雑
自己紹介が成立すると…

●   AliceはBobにメッセージを送れるようになる
    ○   Aliceからのメッセージは、Bobのnotify URLへ送信
    ○   BobからAliceにはまだメッセージを送れない

●   Bobへの連絡は、Aliceだけが出来る
    ○   Bobがメッセージを受け取るのは、許可した相手からだけ
    ○   AliceがBobのアドレスを漏らしても、意味がない

●   これでAlice -> Bobの「非対称な関係」が成立
     ○ 次にAliceがBobに自己紹介することで、対称的な関係になる
     ○ もちろん、Aliceは即座に許可を出しても良い


●   DFRNではspamを送るのは、メールよりずっと難しい
DFRNのコミュニケーション(2)

●   公開のコミュニケーション
    ○   自己紹介不要のメッセージ配信
    ○   任意のメッセージを poll URLで公開する
    ○   フォロワーはpoll URLを定期的にチェックすれば、
        フォロー先が公開した最新情報を得られる
    ○   他のプッシュ型プロトコルで中継して良い
        ■ Pubsubhubbubを採用
            ●   Google提案の講読・配信プロトコル
            ●   全講読者がpoll URLに集中アクセスしないで済む
        ■   ただし、他プロトコルではセキュリティが保証されない
            ●   そのため、中継は公開メッセージだけに制限されている
DFRNのコミュニケーション(小まとめ)

●   DFRNでは、二種類のメッセージを使い分ける
    ○   これにより、実装も効率化されている

●   個人的なメッセージ
    ○   許可を貰った相手にだけ送れる
    ○   宛先となる notify URLを呼び出す、プッシュ型配信
    ○   DFRNに対応したサイト間で直接送信するので、
        セキュアに情報を管理できる

●   公開メッセージ
    ○   誰でも読むことが出来る
    ○   配信者の poll URL から取得する、プル型配信
    ○   Pubsubbubhubと組み合わせて、効率的なプッシュ型も可能
    ○   他のシステムを経由しての送信もありうる、
        非セキュアな送信
メッセージの形式

●   メッセージの記述には、Atom と Bbcodeを使用する

    ○   Atom : RSSなどで使用されるXML仕様

    ○   以下の拡張を併用する
        ■ Atom tombstone: Atom のコンテンツを部分削除
        ■ Atom threading : 要素をスレッド別に管理



    ○   Bbcode: 電子掲示板向けの、簡易マークアップ言語

        ■   [b] text [/b] というようにマークアップする

        ■   HTMLではJavascriptや特殊タグを埋め込まれるので、
            それを避けるための措置
コメント機能

●   DFRNのメッセージには、コメントをつけられる
    ○   個人的メッセージでも、公開メッセージでも

●   メッセージにつけたコメントは、再送信される
    ○   一旦元メッセージの所有者宛に集約 → 再配布

●   再送信するかどうかは、オリジナルの所有者が管理
    ○   ポリシーの徹底のため、再々配信は禁止
    ○   コメントの作者は、コメントの削除だけが可能

●   コメントのやりとりには、Salmon Protocolを使用
    ○   Googleが開発した、コメント分散問題を解決するプロトコル
    ○   コンテンツに、コメントの投稿先を追加して配布する仕組み
DFRNでのコメント動作

●   コメント作成の流れ
    1. Alice が自分の写真をBobとCathyのnotify URLに投稿する
    2. Bobのサイトに、Aliceの写真が表示される
    3. Bobは、自分のサイトでコメントを作成する
    4. Bobのサイトで作成したコメントが、Aliceのnotify URLに送信される
    5. Bobのコメントは、Aliceの写真とともにBob・Cathyに再送信される

●   この過程で、Bobは自分のサイトにしかアクセスしていないことに注目
     ○ これは、公開メッセージを投稿した場合も同様
比較:OpenIDによるSNS連携

●   OpenIDではシングルサインオンが可能になる
    ○   Aliceの写真を見たりコメントするには、
        Aliceのサイトを使う
    ○   Aliceのサイトが、Bobのサイトに尋ねて認証を行う

                         OpenIDで問い合わせ
           Alice's SNS                          Bob's SNS




                                BobはAliceのサイトへアクセス
                                AliceのSNSに登録がなくてもOK


Aliceは自分のSNSに投稿          「ここではAliceがルールだ…」
OpenSocial APIの場合

●   各SNSで共通のアプリケーションを開発するAPI
    ○   APIで実装されたサイトへ、自分のSNSからアクセス
    ○   たしかにSNSには束縛されないが…

                        写真共有サイト


    共通APIで共有サイトへ



          Alice's SNS                 Bob's SNS



                                             Bobは自分のSNSから
                                             写真サイトへアクセス


Aliceは自分のSNSから                    「今度は写真共有サイトが
写真サイトに投稿                           ルールか…」
DFRN/Friendicaの場合

●   Bobは自分のサイトで全てのことが出来る
    ○    あとはFriendicaサーバが面倒を見てくれる

                          BobはDFRNにより
                          写真へアクセス

        Alice's SNS                                   Bob's SNS



                                              Good!
                      コメントはSalmon Protocolで                   Bobは自分のSNSで
                      Aliceの元へ                                写真サイトへアクセス




Aliceは自分のSNSから                            「自分のサイトが一番楽だね…」
写真アプリに投稿
DFRNのまとめ(2)

●   個人の公開プロフィールを表すDFRN-URLと、
    4つのAPIで構成
    ○   自己紹介 要求 - 承認 ( request - confirm )
    ○   メッセージ通知 - 配信 ( notify - poll )

●   個人同士の認証とメッセージ送信に徹したプロトコル
    ○   メッセージの形式や、メッセージの内容は
        Atomなど標準的な仕様の組み合わせ
    ○   電子メールで言えば、DFRNはSMTP(メッセージ交換)
        ■ メッセージの管理(POP/IMAP)や、
          書式(MIME)は別の標準的仕様を採用
DFRNのセキュリティ

●   DFRNでは、プロトコルに従う限りセキュア
    ○   個人的メッセージの再配信は禁止
    ○   メッセージやコメントの作成者は、削除が出来る
    ○   宛先の各サイトでは、削除通知を受け取ったら
        確実に削除する義務がある

●   プロトコルに従わない場合があるのは、仕方ない
    ○   他SNSなど、別のシステムに流れた場合
    ○   DFRNを不正に実装している
    ○   ユーザが手元でコピペして再送信
FriendicaとDFRN

●   FriendicaはDFRNのリファレンス実装として開発
    ○   作者も同じMacgirvin氏
    ○   PHP + RDB(MySQL) で構成
    ○   MITライセンス
    ○   Friendica.comを始め、多数のサイトで運用中

●   他のSNSとも、プラグイン等で連携可能
    ○   Diaspora, Status.Net
    ○   Twitter
    ○   Facebook
    ○   Google +

●   現在は2.4の開発が進行中
    ○   DFRN改め、Zot!プロトコル へ
    ○   Diasporaとのメッセージ交換の実現
    ○   Shared Social tag機能(#ハッシュタグの共通化)
他のオープンソースの分散型SNS

●   Apple Seed http://opensource.appleseedproject.org/
     ○   最も古いOSS分散型SNS、2004年登場

●   Status.Net / identi.ca http://status.net/
     ○   2008年、Twitterのクローンとして登場(旧称Laconica)
     ○   GNU Socialのベースプロジェクト
     ○   OStatusプロトコル

●   One Social Web http://onesocialweb.org/
     ○   VodafoneのR&D部門発、2010年に登場するも活動停止中
     ○   メッセージングプロトコル XMPP

●   Diaspora https://www.joindiaspora.com/
     ○   2010年登場の新進気鋭のプロジェクト
     ○   Diasporaプロトコル
Federated Social Web

●   SNSでも「オープン」という意味は多様化している
    ○   Open ID : オープンな認証
    ○   OpenSocial : オープンなAPI
    ○   オープンソースのSNS
    ○   APIがオープンな(公開されている)SNS


●   Federated Social Web
    ○   Friendicaのように、SNS同士が連携しているWeb
    ○   2005年にW3CでFederated Social Web Inqubatorグループが発足
まとめ(1)

●   中央集権型SNS
    ○   SNS管理者が全てを握っている
    ○   メールよりずっと便利なコミュニケーションが可能
    ○   でも「ぼくのSNS」を作ってもあまり役に立たない



●   Distributed SNS / Federated SNS
    ○   共通のプロトコルで連携するSNS
    ○   SNSとメールのいいとこどり
         ■ メールサーバのように自由に管理できる
         ■ なおかつ、SNSの豊富な機能はそのまま
まとめ(2)

●   Friendica
    ○   DFRN/Zot!プロトコルを実装する、多機能Distributed SNS
    ○   メールアドレスに代わり、4つのAPIでコミュニケーション
         ■ 自己紹介から始まる、非対称な関係
         ■ 個人的・公開の二種類のメッセージ
         ■ 配信範囲の制限・削除機能を持つセキュアなプロトコル
    ○   メジャーなSNSの機能は大体サポート
         ■ 細かい部分は、標準的なプロトコルを上手く使用


●   SNSとメールを上手く折衷
    ○   個人ユーザより、むしろ企業ユーザにとって注目すべき
        オープンソースプロジェクト
    ○   かつてパソコン通信と電子メールが辿った歴史が、
        もう一度繰り返されるか?
備考 : 翻訳候補

●   日本語の情報はほとんどなし
    ○
●   翻訳候補としては…
    ○   公式サイト(http://friendica.com/)
         ■ トップページ
         ■ features
    ○   Github上のWikiページ(まだfriend-ikaのまま)
        https://github.com/friendika/friendika/wiki
         ■ なぜかとても見つけにくい…
         ■ オンラインヘルプと大体同じ内容
    ○   ユーザ向けマニュアルらしいものが見あたらない…

Friendica_28th_AshitanoKen

  • 1.
    Friendica 2012/3/6 第28回 あしたの研 ●インフォサイエンス 塩谷 沢生
  • 2.
    Friendicaとは ● オープンソースの分散型SNS(Distributed SNS) ● オーストラリアのMike Macgirvin氏 によって創設 ● 元々の名前は"Friendika" ● "-ika" という字面がよろしくないということで最近改称 (発音は同じ) ● 自分で手軽に「分散型」SNSを構築できるソフトウェア
  • 3.
    今さらながら、SNS ● Social Network System の略 ● 「社会的ネットワークの構築が出来るサービスやウェブサイ ト(Wikipediaより)」 ○ 広い意味では、人や組織がつながる機能を提供していれば 何でもSNS : 電子メールやネットニュース、掲示板も! ● 「人と人とのつながりを促進・サポートする、コミュニティ型の 会員制サービス(同上)」 ○ 現在有名なサービスとしては、Facebook・Google+ ○ 国産サービスとしてはGree・Mixiなど
  • 4.
    SNSが提供する機能 ● SNSでよく提供される機能 ○ プロフィール ○ メッセージ交換 ○ 友人・知り合いのリンク ○ 日記・ブログ機能 ○ 掲示板、写真、動画など、コンテンツのシェア ● ユーザ同士のコミュニケーションという体験や現象 そのものが、SNSのテーマ ○ 実物を電子的に置き換えるソフトウェアとは性質が異なる ■ メール ← 手紙 ■ HTML ← 出版物 ○ そういう意味で、SNSでは「何でもあり」…これはまぁ余談
  • 5.
    中央集権型SNS ● 狭義のSNS(会員制SNS)は基本的にこのスタイル ○ 全てがSNS提供者の管理下に置かれている ○ 同じSNSのメンバー同士が、交流を持つ Facebook FacebookのAliceさん FacebookのBobさん
  • 6.
    中央集権型SNSの問題点 ● SNSをまたがった交流は難しい ● 自分のSNSを構築しても、他のSNSと交流できない ○ (既存のSNS連携技術については後述) Facebook My SNS Google+ mixi 内輪でしか使えない…
  • 7.
    分散型SNS ● SNS同士が、共通のプロトコルで連結する ○ 別々に管理されているSNS同士が通信 ○ プロトコルを守ってさえいれば、どのSNSとも連結可能 ○ 電子メールと同じ仕組み Alice's SNS Bob's SNS My SNS どのSNSともつながっている…!!
  • 8.
    Friendicaの特徴 ● オープンソースの分散型SNSシステム ○ SNSとしての機能は大体実装済み ○ 構造が整理されていて拡張性が高い http://portal.friendika.com/compare ● セキュリティに配慮した設計 ○ プロトコルに再配布の制限やコンテンツの削除機能が 組み込まれている ● DFRNプロトコル: ○ プライバシーやスパムへの対策を念頭に置いたプロトコル ■ 非対称な関係 ■ 公開・個人の二種類のコミュニケーション ■ ノード同士が直接通信(他者を介さない)
  • 9.
    とりあえずデモ ● 原則としてドメインかサブドメインが取れる環境が必要 ○ それ以外の場所にも置けるが、連携に制約あり ● その他、Apache / PHP / MySQLなど ● 今回は Sakura Internetのレンタルサーバで構築 ○ 無料ドメインへの設置はmod_rewriteの設定が まだうまく行かず ● Chromeでないと動かない部分がいくつか… ○ IE8だと表示が乱れます
  • 10.
    DFRNプロトコルの構成 ● 各利用者はプロフィールページと4つのURL (Web API)を用意する ○ 知り合いとなるためのURL ■ dfrn-request URL / dfrn-confirm URL ○ メッセージ交換用のURL ■ dfrn-notify URL / dfrn-poll URL ● プロフィールへのURLが、ユーザーを指す識別符号 ○ http://friendica.example.com/info-taro ○ Webfingerに対応、メールアドレス形式でも可 ■ infotaro@friendica.example.com → Webfingerで問い合わせることで、上記のURLに変換 ○ プロフィールを見れば、上記の4つのURLも分かる
  • 11.
    DFRNでのコミュニケーション(1) ● 最初の一歩: 自己紹介 (introducution) ○ Alice に対し、 Bobが連絡を取ろうとする ○ Bob -> Alice : Alice の request URLへ送信 「僕へ連絡があれば、ここへ送って下さい」 ○ Bob <- Alice : BobにIDを発行し、Bobのconfirm URLへ送信 「私からのメッセージにはこういう印をつけます」 ※実際のやりとりは、詐称を防ぐためもう少し複雑
  • 12.
    自己紹介が成立すると… ● AliceはBobにメッセージを送れるようになる ○ Aliceからのメッセージは、Bobのnotify URLへ送信 ○ BobからAliceにはまだメッセージを送れない ● Bobへの連絡は、Aliceだけが出来る ○ Bobがメッセージを受け取るのは、許可した相手からだけ ○ AliceがBobのアドレスを漏らしても、意味がない ● これでAlice -> Bobの「非対称な関係」が成立 ○ 次にAliceがBobに自己紹介することで、対称的な関係になる ○ もちろん、Aliceは即座に許可を出しても良い ● DFRNではspamを送るのは、メールよりずっと難しい
  • 13.
    DFRNのコミュニケーション(2) ● 公開のコミュニケーション ○ 自己紹介不要のメッセージ配信 ○ 任意のメッセージを poll URLで公開する ○ フォロワーはpoll URLを定期的にチェックすれば、 フォロー先が公開した最新情報を得られる ○ 他のプッシュ型プロトコルで中継して良い ■ Pubsubhubbubを採用 ● Google提案の講読・配信プロトコル ● 全講読者がpoll URLに集中アクセスしないで済む ■ ただし、他プロトコルではセキュリティが保証されない ● そのため、中継は公開メッセージだけに制限されている
  • 14.
    DFRNのコミュニケーション(小まとめ) ● DFRNでは、二種類のメッセージを使い分ける ○ これにより、実装も効率化されている ● 個人的なメッセージ ○ 許可を貰った相手にだけ送れる ○ 宛先となる notify URLを呼び出す、プッシュ型配信 ○ DFRNに対応したサイト間で直接送信するので、 セキュアに情報を管理できる ● 公開メッセージ ○ 誰でも読むことが出来る ○ 配信者の poll URL から取得する、プル型配信 ○ Pubsubbubhubと組み合わせて、効率的なプッシュ型も可能 ○ 他のシステムを経由しての送信もありうる、 非セキュアな送信
  • 15.
    メッセージの形式 ● メッセージの記述には、Atom と Bbcodeを使用する ○ Atom : RSSなどで使用されるXML仕様 ○ 以下の拡張を併用する ■ Atom tombstone: Atom のコンテンツを部分削除 ■ Atom threading : 要素をスレッド別に管理 ○ Bbcode: 電子掲示板向けの、簡易マークアップ言語 ■ [b] text [/b] というようにマークアップする ■ HTMLではJavascriptや特殊タグを埋め込まれるので、 それを避けるための措置
  • 16.
    コメント機能 ● DFRNのメッセージには、コメントをつけられる ○ 個人的メッセージでも、公開メッセージでも ● メッセージにつけたコメントは、再送信される ○ 一旦元メッセージの所有者宛に集約 → 再配布 ● 再送信するかどうかは、オリジナルの所有者が管理 ○ ポリシーの徹底のため、再々配信は禁止 ○ コメントの作者は、コメントの削除だけが可能 ● コメントのやりとりには、Salmon Protocolを使用 ○ Googleが開発した、コメント分散問題を解決するプロトコル ○ コンテンツに、コメントの投稿先を追加して配布する仕組み
  • 17.
    DFRNでのコメント動作 ● コメント作成の流れ 1. Alice が自分の写真をBobとCathyのnotify URLに投稿する 2. Bobのサイトに、Aliceの写真が表示される 3. Bobは、自分のサイトでコメントを作成する 4. Bobのサイトで作成したコメントが、Aliceのnotify URLに送信される 5. Bobのコメントは、Aliceの写真とともにBob・Cathyに再送信される ● この過程で、Bobは自分のサイトにしかアクセスしていないことに注目 ○ これは、公開メッセージを投稿した場合も同様
  • 18.
    比較:OpenIDによるSNS連携 ● OpenIDではシングルサインオンが可能になる ○ Aliceの写真を見たりコメントするには、 Aliceのサイトを使う ○ Aliceのサイトが、Bobのサイトに尋ねて認証を行う OpenIDで問い合わせ Alice's SNS Bob's SNS BobはAliceのサイトへアクセス AliceのSNSに登録がなくてもOK Aliceは自分のSNSに投稿 「ここではAliceがルールだ…」
  • 19.
    OpenSocial APIの場合 ● 各SNSで共通のアプリケーションを開発するAPI ○ APIで実装されたサイトへ、自分のSNSからアクセス ○ たしかにSNSには束縛されないが… 写真共有サイト 共通APIで共有サイトへ Alice's SNS Bob's SNS Bobは自分のSNSから 写真サイトへアクセス Aliceは自分のSNSから 「今度は写真共有サイトが 写真サイトに投稿  ルールか…」
  • 20.
    DFRN/Friendicaの場合 ● Bobは自分のサイトで全てのことが出来る ○ あとはFriendicaサーバが面倒を見てくれる BobはDFRNにより 写真へアクセス Alice's SNS Bob's SNS Good! コメントはSalmon Protocolで Bobは自分のSNSで Aliceの元へ 写真サイトへアクセス Aliceは自分のSNSから 「自分のサイトが一番楽だね…」 写真アプリに投稿
  • 21.
    DFRNのまとめ(2) ● 個人の公開プロフィールを表すDFRN-URLと、 4つのAPIで構成 ○ 自己紹介 要求 - 承認 ( request - confirm ) ○ メッセージ通知 - 配信 ( notify - poll ) ● 個人同士の認証とメッセージ送信に徹したプロトコル ○ メッセージの形式や、メッセージの内容は Atomなど標準的な仕様の組み合わせ ○ 電子メールで言えば、DFRNはSMTP(メッセージ交換) ■ メッセージの管理(POP/IMAP)や、 書式(MIME)は別の標準的仕様を採用
  • 22.
    DFRNのセキュリティ ● DFRNでは、プロトコルに従う限りセキュア ○ 個人的メッセージの再配信は禁止 ○ メッセージやコメントの作成者は、削除が出来る ○ 宛先の各サイトでは、削除通知を受け取ったら 確実に削除する義務がある ● プロトコルに従わない場合があるのは、仕方ない ○ 他SNSなど、別のシステムに流れた場合 ○ DFRNを不正に実装している ○ ユーザが手元でコピペして再送信
  • 23.
    FriendicaとDFRN ● FriendicaはDFRNのリファレンス実装として開発 ○ 作者も同じMacgirvin氏 ○ PHP + RDB(MySQL) で構成 ○ MITライセンス ○ Friendica.comを始め、多数のサイトで運用中 ● 他のSNSとも、プラグイン等で連携可能 ○ Diaspora, Status.Net ○ Twitter ○ Facebook ○ Google + ● 現在は2.4の開発が進行中 ○ DFRN改め、Zot!プロトコル へ ○ Diasporaとのメッセージ交換の実現 ○ Shared Social tag機能(#ハッシュタグの共通化)
  • 24.
    他のオープンソースの分散型SNS ● Apple Seed http://opensource.appleseedproject.org/ ○ 最も古いOSS分散型SNS、2004年登場 ● Status.Net / identi.ca http://status.net/ ○ 2008年、Twitterのクローンとして登場(旧称Laconica) ○ GNU Socialのベースプロジェクト ○ OStatusプロトコル ● One Social Web http://onesocialweb.org/ ○ VodafoneのR&D部門発、2010年に登場するも活動停止中 ○ メッセージングプロトコル XMPP ● Diaspora https://www.joindiaspora.com/ ○ 2010年登場の新進気鋭のプロジェクト ○ Diasporaプロトコル
  • 25.
    Federated Social Web ● SNSでも「オープン」という意味は多様化している ○ Open ID : オープンな認証 ○ OpenSocial : オープンなAPI ○ オープンソースのSNS ○ APIがオープンな(公開されている)SNS ● Federated Social Web ○ Friendicaのように、SNS同士が連携しているWeb ○ 2005年にW3CでFederated Social Web Inqubatorグループが発足
  • 26.
    まとめ(1) ● 中央集権型SNS ○ SNS管理者が全てを握っている ○ メールよりずっと便利なコミュニケーションが可能 ○ でも「ぼくのSNS」を作ってもあまり役に立たない ● Distributed SNS / Federated SNS ○ 共通のプロトコルで連携するSNS ○ SNSとメールのいいとこどり ■ メールサーバのように自由に管理できる ■ なおかつ、SNSの豊富な機能はそのまま
  • 27.
    まとめ(2) ● Friendica ○ DFRN/Zot!プロトコルを実装する、多機能Distributed SNS ○ メールアドレスに代わり、4つのAPIでコミュニケーション ■ 自己紹介から始まる、非対称な関係 ■ 個人的・公開の二種類のメッセージ ■ 配信範囲の制限・削除機能を持つセキュアなプロトコル ○ メジャーなSNSの機能は大体サポート ■ 細かい部分は、標準的なプロトコルを上手く使用 ● SNSとメールを上手く折衷 ○ 個人ユーザより、むしろ企業ユーザにとって注目すべき オープンソースプロジェクト ○ かつてパソコン通信と電子メールが辿った歴史が、 もう一度繰り返されるか?
  • 28.
    備考 : 翻訳候補 ● 日本語の情報はほとんどなし ○ ● 翻訳候補としては… ○ 公式サイト(http://friendica.com/) ■ トップページ ■ features ○ Github上のWikiページ(まだfriend-ikaのまま) https://github.com/friendika/friendika/wiki ■ なぜかとても見つけにくい… ■ オンラインヘルプと大体同じ内容 ○ ユーザ向けマニュアルらしいものが見あたらない…