CodeCubeはコラボレーションの改善を目的とした新サービスで、オープンソースのプロジェクトだ。開発者がブラウザを通してセキュアにサンプルコードを共有、実行することを可能にする。
このサービスの最初のリリースはcodecube.ioで公開されており、Ruby、Python、Go、Cで書かれたコードの共有、実行をサポートしている。作者のHarry Marr氏はこれをオープンソースプロジェクトとしてGitHubでリリースしている。
プロジェクトを発表した投稿で、Harry氏は、多くの開発コミュニティはGistを使ってコードをやりとりして共有していると述べた。これはGitHubが提供するサービスで、コードスニペットの共有やコードのペーストを可能にするものだ。しかし、Gistにはコードを実行する機能がなく、共有されたコードをローカルにダウンロードしてセットアップする必要がある。Harry氏は「コードの実行環境に大きく依存していて、アウトプットの再現が極めて困難なことが多々あります」と述べている。
CodeCubeの作成にあたり、Harry氏はGoとJavaScriptの開発者が使っている同種のツール(Go Playground、JSFiddle)にインスパイアされたと言う。これらのツールはユーザがエディタに入力されたコードの実行を可能にする。彼は他の言語のためにこうしたツールを作成しようとしたが、ユーザが提供した任意のコードをサーバ上で実行するには、セキュリティ問題を克服する必要があった。
これを克服するため、CodeCubeはDockerというオープンソースプロジェクトに頼った。Harry氏はこう説明する。
[Docker]は比較的セキュアなサンドボックス環境の作成と破棄を一瞬のうちに実現できます。コードスニペットを実行するたびに、dockerコンテナを生成、開始し、それを使って信頼できないコードを実行します。そして、コードを終了して破棄します。
CodeCubeサービスおよびプロジェクトはすでに利用可能になっているが、将来のアップデートとして、ユーザ認証、協調編集、追加の言語サポート、UI改善が計画されている。
この発表に対するHacker NewsやTwitterでの反応はほとんどポジティブなもので、多くの注目を集めているようだ。