すみません、今回は技術的な備忘録です。読み飛ばして下さい。

  • 本当の棋力は高いのに将棋大会で下位階級へ登録する人が少なくない、という問題が将棋界にずっと存在する
  • 理想を言えば、存在する全ての将棋大会で対局成績を記録し、全ての主催者が (他の主催者の大会の情報も) 自由に引き出せる仕組みが望ましい…が、強行規定がなければ無理
    (例えば、弁護士以外が業として弁護活動をすることができず、弁護士は弁護士会に所属しなければならない、という仕組み)
  • 全ての将棋大会の記録を目指す仕組みを日本将棋連盟が構築し、実際に将棋大会の7割~8割くらいがその仕組みを利用するようになれば、冒頭の目的は達成できそうだが、恐らく日本将棋連盟にそこまでの力はないと思われる
  • 日本将棋連盟以外の団体が仕組みを用意して大会主催者に (有料でも無料でも) 開放する、という形も悪くはない (全体として一枚岩の system 構築ができる) が、その団体の永続性が問題となる (採算が合わないからといって撤退されてしまうと、大会主催者は data の永続性の確保が大変)
  • 上記の点、永続性以外にも仕組みの負荷と性能も問題になる可能性がある (別件だが、以前 Challonge を利用した際、server の応答があまりにも遅くて使い物にならなかった
  • 単一 server (instance) だと、どこかの将棋大会で server resource を大量に消費した場合に他の将棋大会にも影響が出るので、大会ごとに instance を用意して resource 枯渇が他の将棋大会に影響しない形が望ましい (例えば12時間7円の VPS を借りていて性能が足りなかったら、追加で6円払って server 性能を増強すればよい)
  • なので、私が考える理想形は以下の通り
  • 大会運営・記録 program は GitHub で公開し、誰でも無料で利用できるようにする
  • 自分で server を立てたり VPS を借りたりできる人は、そこに上記 program を設置して運営
  • 上記ができない主催者のために、server resource が独立している SaaS を提供
  • 更にそれでも費用をケチりたい主催者のために、server resource が独立していない (共用 rental server のような) SaaS を提供

そうすると、主催者ごとの大会運営・記録 server の data を相互に取り出す必要が生じてきます。

で2017年頃に話題になった Mastodon が利用している ActivityPub が参考になりそうなので、「ActivityPub の資料を読まなくては」と思ってはいるのですが…なかなか時間がとれません。

また、当初の棋力・大会階級問題は ActivityPub だけでは解決できない (悪意を持つ大会参加者が複数の ID を用意したら検出できなくなる) ので、そこの部分をどうするか、について悩んでいます。

その解決の一助となる構想が将棋 ID でして、とりあえずこれを県連規模で実施できないかと考えています。県連規模でうまくいけば、各都道府県の data を相互に読めるようにして名寄せが実施できるようにしたいです。

言葉では言い表しにくいのですが、今はそういうことを考えています。

また、data は plain text で扱いたいと考えていまして、system 移行の際も data を plain text で可搬にするとなると JSON-LD が良さそうな気がするのですが、私は JSON-LD 自体を未だに学んでいないので、本当に JSON-LD が適切かどうか判断できない状況です。