オンライン実験の共有先はどこがいいのか
研究をする中で,オンライン実験プログラムを共有(公開)したいという場合があります。例えば,論文として掲載された実験プログラムを公開したい時や査読過程でプログラムの共有を求められた時などです。
査読中にプログラムの共有を求められた場合には,匿名で査読者にプログラムを共有しなければならなくなるため,相応の準備がないと対応に時間がかかります。こんな汚いコードは見せられないという恥ずかしさ問題だけでなく,適切に匿名化できているかをファイル名なども含めチェックする手間もでてきます。加えて,どこにアップロードすれば匿名化しての共有が可能なのかも考えなければなりません。
どこで公開するのか?最初に思いつく共有先はOpen Source Framework(OSF)です。OSFは実験プログラムに限らず,刺激,分析コードなどなど,多様な情報が公開されています。OSFには匿名リンクを作成する機能もあるため,査読過程でプログラムや刺激の提供を求められた場合には匿名で共有することも可能です。オンライン実験の場合も,プログラムをzipで圧縮してOSFにアップロードし,匿名リンクを作成することで匿名で共有することができます。しかし,OSFは公開という点では十分な機能を持ちますが,OSF内でデモや実際のプログラムを動かしたいということは不可能です(おそらく)。できるとすれば,デモやプログラムをアップロードしたURLを掲載するということでしょう。
オンラインで動くデモやプログラムを含めてプログラムを公開したい場合は自分のサーバーにアップロードして,それを共有するというのは1つの方法です。しかし,自分のサーバーでは冗長性に懸念があります(例えば,契約を更新しなかったり,URLが変わったりなど)。そのため,公開先として論文などに掲載にするにはややリスクがあります。そこで利用できる方法としてGithubとGithub pagesがあります。Githubでコードを共有して,Github pagesに実際に動くデモやプログラムを設置することで,コード&デモの公開が1つのサービスで完結します。jsPsych, lab.jsはGithub pagesで動作することを確認しているので,利用しやすいと思います。ただし,Githubは匿名での公開は難しいので,匿名査読の雑誌に投稿する予定のあるプログラムは採択まではGithubでは(publicでの)登録しない方がよいかもしれません。ただ,ここまで書いておいて気がつきましたが,もしかすると,OSFとGithubをうまく連携させれば,このような使い分けは必要ではないかもしれません。
オンライン実験をGithub pagesで公開した例としては,以下のレポジトリがあります。1つ目はjsPsychで作成された基礎実験のレポジトリ,2つ目は小林がlab.jsで作った実験のデモを置いています。Github pagesを利用したオンライン実験デモの公開は,Githubの使い方をご存じでしたら,比較的かんたんに利用できるかと思います。
https://kohske.github.io/KisojiOnline/
https://mklab-japan.github.io/labjsExps/
オンライン実験はオンラインで実験に参加してもらえるだけでなく,大抵のブラウザで動作するという点から,デモやコードの公開・利用がしやすいという特徴があります。この特徴は,オープンサイエンスにも親和性が高いと思います。今後は,共有のしやすさという点から,Experiment factoryのように,汎用性のある実験課題をみんなで共有していくという動きが日本でも進むことを期待しています。現状はボランティアに近いので,プログラムの開発・公開が業績として評価される仕組みも必要だとは思います(うまくできたプログラムは販売してしまっていいのかもしれませんが)。
この記事はOnline Psychological Experiment Advent Calendar 2020の6日目でした。