JetBrains All Products Pack教室ライセンスが無償提供されました
第5回の報告でも触れた通り、昨年12月、CoderDojo西神はチェコのJetBrains社からAll Products Packの教室ライセンスを無償でご提供して頂きました。他のCoderDojo等での導入の参考になれば幸いです。
はじめに
こども向けプログラミングと言うと、第一にScratchのようなビジュアルプログラミングがイメージされ、実際にScratchを学習しにCoderDojoへ来てくれるニンジャは多数います。その一方で、「小学生向けScratch教室」という側面が強くなり、中高生のニンジャが参加しづらい雰囲気になりがちなものまた事実です。
経緯
CoderDojo西神は、Scratch一辺倒なプログラミング学習からの脱却と幅広い世代を対象にしたプログラミング学習の実現を視野に、マイコンを利用したScratch以外のグラフィカルプログラミングや、一般的にイメージされるテキストベースのプログラミングも学べる場を提供できないか、試行錯誤を続けています。
JetBrainsは学生向けにアカデミックライセンスを無償で提供しており、学生証をスキャンした画像と有効なメールアドレスがあれば中高生であってもウェブのフォームから申し込むことができます。
また、トレーニングコースやブートキャンプ向けにも無償ライセンスを提供しています。CoderDojo西神も定期的に開催するプログラミング教室ですので、教室ライセンスを申し込むことにしました。
VSCodeではダメ?
CoderDojoでの学習は月に1回、数時間程度です。ニンジャはプログラミングを学びに来るのであって、拡張機能で環境構築するために来るのではないという観点から、インストールしたら即使え、プログラミングそのものに集中できるJetBrains IDEを選択しています。
もちろん、VSCodeで学びたい、あるいはVSCodeの使い方を学びたいというニンジャに対してJetBrains IDEを押しつけるようなことはしません。
制限事項
あくまで非商用の教育用のライセンスです。有償のプログラミング教室での利用や、いかなる組織の製品やサービスの開発での利用は禁止されています。
申請方法
教室ライセンスの申し込みフォームに必要事項を入力して送信します。
Your Staff ID
「Your Staff ID」という項目にIDカードをスキャンした画像を添付する必要がありますが、CoderDojoはコミュニティ組織でIDカードはありません。その旨を付記して
CoderDojo西神開設時の承認メールのスクショ
CoderDojo ZenのURL
を送付しました。しかしこれだけではNGだったようで、その後のメールのやり取りでCoderDojo西神で作成した名刺の画像を送付しました。
Licenses you need
同時に利用するであろうライセンス数を入力するのですが、これはちょっと迷いました。現状、CoderDojo西神はPC持参あり4名・持参なし4名の計8名のニンジャが参加できることになっていますので、今回は8つリクエストしました。
Purpose of licenses use
利用目的です。「プログラミング教室での学習」なのですが、これだけだと後のメールのやり取りでもうちょっと詳細な情報を求められます。例えばですが「年を通して定期的に開催するプログラミングスクールで、教える言語はKotlin, Java, Python, JavaScript/TypeScriptなど。スクールで用意するPCにインストールして利用する予定」のように具体的に記載しておくと手間が省けます。
サポートフォーラム
フォーム送信後、教室ライセンスの担当者からメールで返信があります。サポートフォーラムにチケットが作成されますので、ここで担当者とコミュニケーションを取りながら足りない情報や説明などを必要に応じて補足することになります。
ライセンス付与
特に問題がなければ、後日、ライセンスが付与された旨のメールが届きます。JetBrainsアカウントでログインすると、ライセンス管理画面に付与れたライセンスが表示されます。
ライセンスサーバ側の設定
教室ライセンスは付与 (提供) されただけでは利用できません。また、実は微妙に危険な状態にもなっていますので、適切に設定する必要があります。
前提
個々の開発者向けに発行されるライセンスはJetBrainsアカウントに紐付けられ、通常はToolBox Appにアカウント情報を入力しておけば特に意識せずに利用できます。
一方、教室ライセンスはLicense Vaultライセンスサーバによって管理され、ライセンスサーバで認証されたJetBrainsアカウントごとにIDEの利用が許可されます。このため、License Valutと連携して動作するJetBrains Hubの認証モジュール (Auth Module) の設定も必要になります。
認証モジュール設定
上のスクショのライセンス一覧から教室ライセンスを選択し、左メニューのTeams -> 一覧のLicense Vault Cloud -> 左メニューのLicense Vault と進んでLicense Vaultの画面を開きます。
「Users access to licenses」の欄が以下のようになっていると思います。
ライセンスの付与直後は、JetBrains Hubの認証モジュールのうち、JetBrains Accountモジュールが有効になっており、教室ライセンスの申請者のメアドと同じドメインを持つJetBrainsアカウントが教室ライセンスを利用できるよう設定されています。
上記引用部分の下段にあるJetBrains Hubのリンクを開くと、My Dashboard画面になります。画面右上の六角形 (ナット?) のアイコンからAuth Modulesを選択し、モジュール一覧からJetBrains Accountを選択します。
中ほどに「Restricted domains and emails」があり、ここにライセンス申請時のメアドのドメイン部が記載されていると思います。まずこれを自身のメアドに修正します。また、既に教室ライセンスを使う予定のあるニンジャのメアドが分かっている場合は、ここに追記して保存しておきましょう (1行1エントリ)。
License Vaultの画面を再読み込みすると、「Users access to licenses」に上記で設定したメアドが列挙されるようになります。
JetBrains IDE側の設定
License Vaultの設定が済んだら、次はニンジャ側の準備・設定です。
JetBrainsアカウント作成
もしニンジャがJetBrainsアカウントを未作成であれば作成します。作成したアカウントに紐付けられたメアドを、上記のJetBrains Hubの認証モジュールの「Restricted domains and emails」にメアドを追加します。
ライセンスのアクティベート
Toolbox App等からいずれかのJetBrains IDEを起動した時、ライセンスが未設定の場合はライセンスの設定を求められます。以下の手順でアクティベートしましょう。
ライセンスダイアログの左側にある「IDEをアクティブにする」にチェック
ライセンス入手元の「ライセンスサーバ」にチェック
「サーバアドレス」にLicense Vault画面に表示されるサーバURLを入力
「アクティブ化」をクリック
ブラウザが起動し、「License Vault requests access on behalf of the following service」という画面が表示されたら「Accept」
「認証に成功しました」と表示されたらアクティベート完了
これで教室ライセンスでJetBrains IDEを利用することができるようになります。なお、ライセンスはIDE毎にアクティベートする必要があります。
CoderDojo西神での運用
上述の通り、同時に利用できるライセンスは8つしかありません。この限られた数のライセンスをCoderDojo西神のニンジャ全員で使い回すことになります。
※JetBrainsアカウントを使い回す訳ではない点にご留意下さい。
そこで、CoderDojo西神として当面は、ある月に参加したニンジャに対して、次月のCoderDojoの開催日までのおよそ1ヶ月間は利用できるような運用を検討しています。継続してCoderDojoに参加したニンジャは継続して利用できるということです。
今後、CoderDojo西神の参加者が増え、教室ライセンスが8つでは足りなくなった場合は、追加のライセンス提供を依頼するか、この運用を見直すかの対応を行う予定です。
アカデミックライセンスを取得する
なお、冒頭で延べた通り、学生証とメアドがあれば無償のアカデミックライセンスを取得することができます。自前のPCをお持ちであれば、こちらを選択することをおすすめします。
CoderDojo西神では、このアカデミックライセンス取得のサポートも行っています。