Gopherくん(再)入門
「Gopherくん」は、プログラミング言語Goの公式マスコットキャラクターで、これはGopherくんのちょっと長い紹介記事です。
2016年に『Gopherくん入門』という記事を書いたのですが、当時配信に使っていたGoogle App Engineの料金体系の変化などから、公開を停止したままになっていました。
noteに慣れてきたので、ご要望をいただいていたこの記事を加筆修正し、(再)入門として公開します。リンクや紹介の見直しと表現の修正などを行い、現在のGopherくんの状況への言及を追加ました。
なお、この記事にはCC0 1.0 ライセンスを適用します。記事本体については、あらゆる利用が許可なく行えます。引用部分、Twitterの埋め込み、ライセンス表記のある画像などは、それぞれの使用条件に準じてください。
お問い合わせやご依頼は、TwitterのDMまでお願いします。
はじめに
Go言語はそのシンプルで実際的な設計から、クラウド関連を中心とした幅広いプロダクトに採用されています。2016年にはまだまだ拡大期だったGoも、2023年現在ではすでに定番言語のひとつになっています。
およそ優れたプロダクトの付随的なマスコットキャラクターというのは、LinuxのTuxしかり、Androidのドロイド君しかり、本体の普及とともに、ぼんやりと消えていくものです。Gopherくんもやはり、以前ほどには見かけなくなっています。それでもカンファレンスの看板になったり、まだまだ健闘しています。
この狂気の入り混じったキャラクターが、いずれ忘れられていくのはもったいない。そこで6年経った今、改めてGopherくん入門を再編して公開します。
公式情報について
この記事は、以下に挙げる2つの公式情報を中心に、Gopherくんの基礎や歴史などを紹介しています。ただし独自調査も多いため、誤りもあるかも知れません。誤りがあれば、ぜひTwitterでご指摘ください。
公式ブログ
公式情報のひとつは、Go言語公式ブログです。Gopherくんについての歴史や正式な扱い、オリジナルの画像ファイルなどが掲載されています。
GopherCon 2016でのプレゼンテーション
もうひとつの公式情報は、GopherConというイベントでGopherくんの原著者であるRenée Frenchが行ったセッションです。
セッションは『The Go Gopher: A Character Study』というもので、そこで使用したプレゼンテーションのPDF版がGitHubで公開されています(ただし、ページサイズの設定を誤って書き出されたようで、途中からページの区切りがぐちゃぐちゃです)。
このセッションでは、これまで断片的にしか語られてこなかったGopherくんの様々な設定が、たくさんのイラストとともに紹介されています。セッションそのものの動画もYouTubeで公開されています。
特にGopherくんの描き方やレギュレーションは、このセッションを元に構成しています。
名前について
まずは色々とややこしい名前について。
正式名称
Gopherくんには本来固有の名前がありません。呼称として”Go gopher”だけがあると、公式情報で明言されています。
大文字小文字の扱いは、公式でも統一されていません。きちんと英語表記するなら、公式記事のタイトルのように”The Go Gopher”とするのが無難でしょうか。
以下の引用にあるように、かつてはGordon(ゴードン)という名前で紹介されていたこともあった気もします。
しかし今では全く言及されませんし、非公式な愛称だったのかもしれません。
なお、この記事では「Gopherくん」という表記で統一しています。日本語では、ただGopherと書くよりキャラクターと認識しやすく、その他のgopher一般とも区別できるためです。
検索しにくいネーミング
“gopher”とは、このキャラクターのモチーフとなった「ホリネズミ」という動物を指す言葉です。ホリネズミという実在する動物の名前 に”Go”と付け加えただけでは、たとえば日本語で「ネズミくん」と名付けるのとそう大差ありません。
そのため”gopher”と検索すると、動物そのも のや、それを使った他のキャラクターなどが該当してしまいます。検索などで結果をGopherくんに絞りたければ、”golang gopher” とするのが無難です。
そもそも言語の”Go”も非常に検索しにくく、”golang”で代用されています。検索サービス企業Googleのプロジェクトなのに、言語名・マスコット名ともに検索に不向きなのは、個性的なチームの独立性の証でしょうか。
Goプログラマの愛称としての"Gopher"
Go言語のユーザーたちは、Goのプログラマたちを親しみを込めて”gopher”と呼ぶことがあります。
たとえばGo言語最大のカンファレンスは「GopherCon」であり、運営はGopher Academy。もちろんGopherくんのカンファレンスではありませんが、毎年Gopherくんを使ったシンボルが使用されています。
他にもアナウンスやフォーラムなどでの呼びかけとして使われることもあり、Goのユーザーにとって、キャラクターと共に”Gopher”の名もまた、ゆるやかなつながりの象徴となっています。
作者は Renée French
Gopherくんの生みの親は、Renée French。アメリカを中心に活躍するイラストレーターで、絵本やコミックも手がけています。またGo言語の生みの親のひとりであるロブ・パイクの配偶者です。
作風は、穏やかな不気味さを持ちながらも、可愛らしい魅力あるキャラクターが中心。画材の質感を使ったやわらかいタッチで、闇や霧の向こうから見つめられるような表現が美しいです。
静かで濃く軽い悪夢のようなキャラクターたちは、Gopherくんとはまた違う魅力を持っています。TwitterやInstagramでたくさんの作品を見られます。
ライセンス
Gopherくんは「CC BY 4.0」
Renée Frenchが生み出したオリジナルのGopherくんには、Commons Attribution 4.0(CC BY 4.0)というライセンスが適用されています。
この「CC BY」というライセンスは、使用時に適切なクレジットを掲示すれば、自由に改変や再配布が可能、というものです。
CC BYとは
Webなどの普及とともに、誰もが簡単に著作物を入手し、複製できる時代が大きく加速しました。そんな時代に顕在化した著作物の利用に関する様々な 問題を、できるだけシンプルかつ現実的に解決しよう、という目的で生まれたのがCreative Commons(CC)です。
CCは複雑な著作権やその法の専門家でなくとも、自分の著作物を分かりやすくコントロールできること、またそれにより適切な二次利用が促進されることを目指し、選択しやすくまとまったライセンスの公開や啓蒙活動を行っています。
CCが提案するライセンスでは、自分の著作物をどんな風に使ってほしいか、わかりやすい選択肢から選べるようになっています。その選択肢のひとつが”CC BY”であり、後ろに付く”4.0”はライセンスのバージョンです。
CC BYは、用意された選択肢の中で2番目に制限が少ないものです。CC BYが適用された著作物は、著作権に関する情報を適切に表示することで、商用も含めた利用が可能であり、その他に制限はありません。
Gopherくんを使うには
CC BY 4.0が適用されているGopherくんは、自分で自分のGopherくんを好きに描いたり、それを発表したり、さらにはそれを製品として販売も可能ということです。ただし、原著者がRenée Frenchだということを必ず添える必要があります。
ということでGopherくんを使う際には、最低限次のような表記を付けましょう。
日本語版
英語版
モチーフはホリネズミ
Gopherくんは「ホリネズミ」という動物をモチーフにしています。
そもそも”gopher”とはこの動物らの一般名です。中央から北アメリカにかけて生息し、特にアメリカ合衆国のミネソタ州は、州の愛称のひとつが”The Gopher State”、州限定の宝くじの名前は”Gopher 5“などと、州を象徴する動物とされています。
ホリネズミはその名の通り、地下にトンネルを掘って生活します。鋭い爪の前脚、長く発達した前歯を持ち、時に捕食者や人間も攻撃します。ただしほとんどは草食で、草の根などを食べています。
モグラ同様トンネルが畑や農作物を荒らすこともあって、害獣として扱われることも多い動物で、”Gopher”とだけ検索すると、駆除されてしまった無残な姿を目にするかも知れません。また捕獲用の罠や、それにかかった様子なども見つかるので、注意が必要です。
gopher = ジリス?
gopherを「ジリス」と説明している場合があり、たとえば「gopherの意味・使い方・読み方|英辞郎 on the WEB」という英和辞典では、訳語が俗なものを除いて「ジリス」としかありません。
ジリスという語はかなり広い範囲を指す場合がありますが、「gopher」も同様に、地面に穴を掘って暮らすげっ歯類をひとまとめに表現する場合にも用いられるようです。
本来ホリネズミとジリスは同じネズミ目でも、科が異なる動物です。ジリスの方がリスらしい可愛さがあり、ホリネズミはもっと鈍重な姿をしています。ジリスの中にはマーモットのようにずんぐりした姿のものもいるため、混同されやすいのかも知れません。
広義のgopherが「地面に穴掘るげっ歯類」ぐらいのニュアンスであり、狭義にはホリネズミを指す、といった辺りが実際のようです。しかし訳語としてはホリネズミの方が適切でしょう。
後述していますが、アメリカ人でもホリネズミとシマリスを混同したなんてエピソードがあるぐらいなので、翻訳が入ると更に混乱するのは仕方がないのかも知れません。系統も近く生態も似ていて生息地も重なる彼らの見分けには、世界中で混乱があるようです。
Gopherくんの歴史
Gopherくんは、はじめからGoのマスコットキャラクターだったのではありません。そうなるまでに意外と長い歴史があります。
Plan 9
GoとGopherくんにとって、「Plan 9」というオペレーティングシステムは大きな意味を持っています。
Plan 9はUNIXの後継を目指して開発されたOSです。開発はUNIXと同じくベル研究所で、数多くの先進的な設計を盛り込みましたが、広く普及はしませんでした。現在でも公開されていますし、Infernoという更なる後継OSもありますが、実質終了したと言っていいプロジェクトです。
しかしPlan 9は、現在に続く様々な成果を生み出してもいます。たとえば現在事実上の標準となっているUnicodeの符号化方式UTF-8は、このプロジェクトから生まれました。
さてGoは、Robert Griesemer、Rob Pike(ロブ・パイク)、Ken Thompson(ケン・トンプソン)によって具体化し、Ian Lance Taylor、Russ Cox(ラス・コックス)、Andrew Gerrandなどが加わって生み出されました。
彼らのうち、ロブ・パイク、ケン・トンプソン、そしてラス・コックスという豪華なメンバーは、Plan 9の主要な開発者でした。こうした著名なエンジニアが再び取り組んだGoには、Plan 9に存在した思想や感覚が大きく影響しています。
このようにGoは、Plan 9の中核エンジニアたちが深く関わって誕生し、Plan 9から受け継がれた部分を持つ言語として誕生しました。そしてその流れはマスコットキャラクターにも受け継がれています。
Glenda
Plan 9には「Glenda」というマスコットキャラクターがいます。Plan 9の公式ページ には今も掲げられていますし、Glenda専用のページもあります。
絵柄から分かるように、このGlendaを描いたのは、Gopherくんの作者であるRenée Frenchです。Glenda以外にも彼女の描いたキャラクターは、Plan 9開発メンバーのアバターとして使われていました。
先に挙げた公式情報のひとつ、The Go Gopher: A Character Studyでは、ロブ・パイクやケン・トンプソン、そして今でも同じアバターを使い続けているrsc (Russ Cox)のキャラクターなどが紹介されています。
Plan 9という意欲的な新しいOS開発の場に、Renée Frenchというアーティストが関わり、Glendaというマスコットキャラクターが設けられたこと。そのPlan 9の開発者たちやアーティストが、Go言語に深い影響を与えていること。そうしたPlan 9の系譜があったからこそ、GoのマスコットキャラクターとしてのGopherくんは誕生しました。
※Glendaのライセンス
上記のGlendaの画像はPlan 9の公式サイトで配布されているものですが、著作権者やライセンスが明示されていません。次のように、”Tシャツとか作るのに自由に使っていいけど、製品化するならコレクション用にサンプルを送ってね”と、ゆるいメッセージがあるだけです。
この記事の用途は問題ないと判断して掲載していますが、利用には注意が必要です。
なお、Wikimedia Commonsにはベクター化されたグレンダが2022年に登録され、CC BY 4.0が適用されて公開されています。しかし権利の経緯が記載されていないため、不適切な可能性が残ります。
最初期のGopherくん
Go言語のマスコットキャラクターに採用されるかなり前から、Gopherくんの原型は存在していました。それはニュージャージーのローカルFM局WFMUのチャリティーキャンペーン用に依頼されたTシャツのデザインで、「Glendaの遠いいとこ」という設定のキャラクターです。
現在のGopherくんよりやや狂気が強いですが、造形のエッセンスはほぼそのままです。このGopherが描かれたのは1999年とあるので、Gopherくんは24年前にはすでにほぼ完成していたことになります。
このキャラクターはその後、Plan 9開発者のひとり、Bob Flandrena(bobf)が自身のアバターとして使っていたようです。
Go言語のマスコットに採用
Googleの社内プロジェクトとしてGoの開発において、Renée Frenchはロゴのデザインなどをボランティアで行っていました。そして2009年、Goの成果がオープンソースとして公開されることになった際に、 Renée Frenchの提案で公式マスコットキャラクターとしてGopherくんが採用されました。
Internet ArchiveのWayback Machineで2009年11月時点のGo言語公式サイトを見ると、今より小さめですが、すでにGopherくんが使われています。
その後Gopherくんは徐々に大きく露出するようになります。一時は公式サイトのトップでダウンロードを誘ったり、Goにまつわる様々な場面で活躍していました。
現在はやや露出が減っていますが、それでも2023年1月現在、まだまだトップページにも健在ですし、公式チュートリアル「A Tour of Go」でも入門者を見守り?続けています。
立体化
Go開発チームでは、Gopherくんを紙やディスプレイの中だけでなく、立体化する遊びも行われました。立体化されたGopherくんはカンファレンスなどで活躍しています。
ぬいぐるみ
2011年のカンファレンスに合わせて、Squishableというぬいぐるみ製作サービスで製造されたぬいぐるみは、毛むくじゃらすぎる失敗を経て、現在の姿になりました。
このぬいぐるみは人気で、Twitterなどでも度々見かけました。日本にも結構な数存在してそうです。
Googleのグッズストアで販売されていて(Go Gopher Squishable - Google Store)、以前はピンクと紫のタイプもありましたが、今は販売されていないようです。Google App Engineのぬいぐるみは未だに売ってるのに…(App Engine Plush - Google Store)。
フィギュア
フィギュアは、Renée Frenchが作った粘土のモデルを元に、キャラクターグッズ製造の大手Kidrobotが樹脂製の洗練されたフィギュアを形にしたそうです。ちなみに、最初の段階の粘土像はロブ・パイクのGitHubアカウントで、アバターとして使われ続けています。
このフィギュアは本来のGopherくんよりかなり洗練され、一般受けする姿に調整されています。残念ながら販売はなく、カンファレンスなどで配られているようです。実に残念です。ほしい。
このように、Gopherくんはある日マスコットキャラクターとして作り出されたのではなく、Goという言語誕生の経緯にも関わりを持っています。
キャラクターそのものの魅力はもちろんですが、開発者たちからの長い愛着があってこそ、他のオープンなプロダクトのキャラクターと異なり、息の長い活躍が続いているのかも知れません。
Gopherくんの描き方
Gopherくんは、かなりシンプルな特徴で構成されています。その特徴さえつかめば、誰でもそれなりにGopherくんなイラストが描けます。
もうひとつ、最初に挙げたGopherConでのスライド『The Go Gopher: A Character Study』の中で、「MODEL SHEET」と題したGopherくんの表現に関する仕様が掲載されています。これまでこういったガイドは公開されておらず、はじめてのリファレンスとなります。
以下は全てこのスライドからの抜粋ですが、スライドそのもののライセンスが明記されていないため、フェアユースの範疇と判断して引用していますので、再利用はご注意ください。
GopherくんはCC BY 4.0でライセンスされているので、リファレンスといっても、二次創作での表現を何ら縛るものではありません。それでもやはり、原作者の考えるデザインは重要ですし、何よりこの不思議な魅力のエッセンスが集まっています。
ここではこのリファレンスを参照しつつ、Gopherくんを構成する要素をそれぞれ確認し、その描き方を紹介します。
構成要素
上記リファレンスに加え、独自にいくつか項目を追加したGopherくんの描き方は、次のような単位で構成されています。
大きな目
小さな耳
丸い鼻
口元のふくらみ
大きな前歯
2頭身の胴体
短い手足としっぽ
指?
カラー
並べると多く見えますが、描けばすぐ覚えられる簡単なものばかりです。
大きな目
一番の特徴である大きな目。描き方によっては頭部の半分以上を占めるほどになります。Gopherくんは2頭身なので、体長の4分の1ほどを意識するとバランスが取りやすいです。
虹彩部分は通常黒で、ワンポイントの輝きが入ります。横から見ると眼球がとび出ているように描かれる事が多く、ぬいぐるみやフィギュアでも、半球状にしっかりと盛り上がっています。さらに眼球だけでなく、虹彩部分も飛び出して描かれます。
リファレンスでは、そうした目の全体的な描き方へは言及されていませんが、虹彩の表現、そして目による感情表現が取り上げられています。しっかり認 識しておきたいのは、「眉毛を付けないで」とわざわざ書いている点。たしかに眉を描いてしまうと、途端に安直な雰囲気になってしまいます。
小さな耳
頭部のやや後ろに耳が生えていますが、とても小さく描かれることもあります。リファレンスでは表裏や窪みなども触れていますが、描き方によっては表の耳の穴は省略されます。
耳に関連して、勢いよく動く際の表現について。髪のように耳が後ろに引っ張られます。
丸い鼻
リファレンスで取り上げられてはいませんが、頭部のほぼ中心には小さな鼻があります。
真っ黒で表現することが多いですが、リファレンスではグレーっぽく描かれるなどまちまちです。黒い場合は瞳のように輝きを加える場合もあります。特に鉛筆系がそうですが、イラストによっては塗り潰さず線で表現することも。
サイズは重要です。あまり大きいと可愛さが減じ、小さすぎると別のキャラクターになってしまいます。
口元のふくらみ
Gopherくんでも猫などと同じく”Whisker Pad”呼ばれているこのふくらみも、重要な特徴です。
ふくらみは鼻の下半分を囲むように、ややへの字に凹ませた楕円形で描かれます。また正面以外で描く場合は、飛び出しています。
この部分の凹みから、前歯が生えたり、時に口が描かれたりします。
大きな前歯
実物のホリネズミは、大きな前歯が上下から生えています。しかしGopherくんで描かれるのは、通常上の歯のみ。口を開けたイラストでも下の歯は描かれません。
前歯はかなり長く、口元のふくらみと同じほどあります。しかしこれを短く描くと、アクの強さが減ってよりかわいくなります。
また、リファレンスにあるように、基本は同じ長さの前歯を2本並べて描きますが、区切りとなる中心の線を描かず一枚のように表現すると、更にクセが減ってかわいさが増します。
2頭身の胴体
Gopherくんは2頭身が基本です。頭が半分、残りがもう半分の覚えやすい比率です。
胴体には微妙な丸みとくびれがあって、慣れない内は描きにくいかもかもしれません。Renée Frenchのスライドによれば”kidney been shape”とのことですが、実物のインゲン豆よりも、イラスト的な丸っこさがあります。
リファレンスでは他に、座るなどして体を曲げた場合の表現が挙げられています。
短い手足としっぽ
リファレンスで”nubs”と言われているように、手足には複雑な表現はなく、突起状に描かれます(リファレンスでは手足をnubsとしていますが、しっぽも同様です)。
手は体全体の真ん中辺り、足は胴体の下部、それぞれやや前面から生えています。ただしどちらも動きの表現次第で生える位置が動きます。しっぽは角度によっては隠れてしまいますが、胴の丸みにお尻を意識して、その頂点から生やすと良いようです。
指?
キャラクターとしてのGopherくんに人間用の道具を使わせる場合、この突起状の手足が問題になります。そもそも指が無いため、ドラえもんのように道具を吸着させることになりますが、その表現と原理もリファレンスで明らかにされました。
そしてなんと手足の肉球は、ファンデルワールス力、つまり分子間力によってものを吸着していました。指の描写がなかった謎が解けました。
これはヤモリなどが手足だけで天井に張り付くファンデルワールス吸着と呼ばれる原理で、微細なファンデルワールス結合を束ねて重量を支えるというものです。そのため、肉球にあたる部分が触れさえしていれば、物を掴めます。
ただ、分子間力で吸着するということは、熱い物は持てないのかもしれません…。
カラー
Gopherくんは色々な色で描かれます。はじめはホリネズミらしい淡い茶色でしたが、現在は水色が基本となり、他にも色々な色のGopherくんが存在しています。
色が違っても全てのGopherくんに共通しているのは、リファレンスにもあるその色分け。
まだ見ぬ黒や金色のGopherくんでも、このルールさえ守ればらしく見えます。
Gopherくんの魅力
まとめとして、私の考えるGopherくんの魅力について。
気持ち悪さと愛着
Gopherくんは、気持ち悪いとか不気味とか、不細工とかいった、否定的な印象を持たれることがあります。一方で、私のように強い魅力を感じる者もいます。
はじめて見た時に抱く否定的な印象は、Gopherくんを記憶に残します。何となくかわいい小奇麗なだけの、すぐに忘れられるマスコットキャラク ターが多い中、悪印象でも覚えてもらえることは強みです。しかしGopherくんは、ただ否定的な印象を残すだけではありません。
そのまま何度も目にしていると、気持ち悪さや不気味さを見慣れてくるにつれ、少しずつ愛着が湧いてきます。一度でもかわいいと思ってしまえば、最初に自分が感じた悪印象や、周囲がまだ抱いているそれへの反発から、むしろ積極的に「いや、かわいいよ」と主張したくなってしまいます。
Go言語の入門時に多くのプログラマーが触れる、公式チュートリアル「A Tour of Go」は、ひどい罠です。このチュートリアルには常にGopherくんが張り付いています。
もしまだGopherくんが気持ち悪く見えていても、チュートリアルを進めるうちに慣れてしまいます。チュートリアルを終える頃には達成感も相まっ て、なんだか親しみすら覚えます。Goのプログラマが最も一般的なルートでGoに触れていると、自然とGopherくんに愛着が湧いてしまうのです。
一度Gopherくんを見慣れて、さらに愛着まで湧いてしまったGoユーザーは、SNSや勉強会などでGopherくんを使いたくなります。元々殺風景になりやすいプログラミング言語中心のイベントでは、ライセンスの緩さも相俟って、Gopherくんを使うハードルは低いのです。
こうしてGoのユー ザーは、Goの情報に触れる限りGopherくんを見慣れていき、さらに目にする人を増やしていきます。
フリーなキャラクター
昔に比べて、二次利用しやすいキャラクターはとても増えました。しかし、充分にフリーで、しかも質の高いキャラクターはわずかです。
たとえばゆるキャラの多くは自由な二次創作を許すわけではなく、用途も個別に許諾が必要です。CCライセンスを適用され二次創作が盛んなキャラク ターでも、CC BY-NCで非商用利用に制限されていたりします。
OSS関連ではCC BY-SAが適用されたキャラクターもいますが、CC BYとCC BY-SAとの差は大きいです。SAは気軽な使用をためらわせるに十分な効果があります。
時にCC BYでライセンスされたキャラクターがいても、どこかで見たことのあるような薄っぺらいものが多く、魅力にとぼしいのが実際です。たとえばD言語くんやApache Hybeのマスコットほど突き抜けている例は稀です。
もしGopherくんのライセンスがCC BYでなかったら、今のような広がりも無かったでしょう。原著者への敬意さえ持てば、CC BYはパブリックドメインとそう変わりません。
ノイズへの強さ
これはGopherくんを表現した顔文字のようなものです。@tenntennが作ったもので、たった5文字ですが、Gopherくんにしか見えません。見えません。見えません。
Gopherくんを構成するのは、描き方でも解説したように、とてもシンプルな特徴です。このシンプルさは、多少表現が異なっても、要点さえ押さえていればGopherくんに見えてしまうという、ノイズへの強い耐性をもたらします。
表現ノイズへの高い耐性と、CC BYという自由なライセンスの組み合わせは、自作による広がりを後押しします。自作編にあったような描き方を少し意識すれば、誰もが自分のGopher くんを作れます。
少々線が歪んでいようと、構図が狂っていようと、「Gopherくん描いたよ!」と言える気楽さがあります。
ほとんど白紙
Gopherくんには、キャラクターとしての背景がほとんどありません。名前も無く、物語も無く、どうやら性別すら無さそうです。
ときにRenée French本人から設定が追加されることもありますが、キャラクターとしての枠を限定するものはほとんどありません。
キャラクターとして強い背景を持たないため、Gopherくんは何にだってなれます。たとえば、国や地域ごとのGoのユーザーグループは、民族衣装や伝統的な物産、名物などをまとったGopherくんをアイコンとして使っています。
こういう点は、設定が忘れられて何にでも変身させられるハローキティやガチャピンのようなキャラクターと似ています。しかしGopherくんはCC BYで使えます。どんなご当地Gopherくんだろうが、実質阻むものはありません。極端な話、Gopherくんのポルノや血みどろのバイオレンスだって 可能です(原作者は悲しむかも)。
謎
私はこの画像でGopherくんにやられました。
これはgoroutineという、Go言語標準の並行処理の仕組みを解説する画像です。確かに解説は理解できました。けれど本題とは無関係な疑問が残ります。
なぜ本を燃やす?
ちょっと不気味で愛くるしいキャラクターを使って技術の概念を解説するのに、なぜ本を燃やす? みんなで協力して並行してまで、なぜ本を燃やす?
キャラクターとしての動機を理解し難い焚書という作業を、言語の大きな特徴の解説イラストにおいて選ばれたGopherくんの姿は、とても衝撃的でした。
これは唐突にTwitterに投稿された、”pink gopher is macho”。ピンクなのも、マッチョの源な胸毛も、そしてこのイラストが何の意味を持つのかも、謎です。その後ピンクなGopherくんがマッチョや男性の設定で活躍することもありません。
これもGopherCon 2016のスライドにあるものですが、「Gopherくんが有名なポーズを取るとこんなだよ」という、謎のチョイス。胴と手足の素晴らしい短さがひしひしと伝わってきますが、なぜプレゼンのハイライトにこれを選んだのか。
Gopherくんの謎はRenée Frenchの謎です。彼女の閃きからGopherくんに与えられる描写は、突然で、理不尽で、無意味で、大掛かりに設計された商業キャラクターには無い、楽しい謎に満ちています。
現在のGopherくん
2016年当時、Gopherくんは誰もが知るような知名度のキャラクターではありませんでした。それは2023年現在も変わっていません。しかしその使われ方は、ゆっくりと変わってきたように感じます。
今も昔もGopherくんは、Go言語という本体の周辺でしか、ほとんど知られていません。つまりはエンジニアがその認知者の大半で、そこから大きく広がっていく気配はありません。それは、魅力の質がピンポイントでしか存在しない根本的な設定と、公式の展開の乏しさを考えれば仕方がないでしょう。
エンジニアたちの中でも、広がりは小さく縮んでいます。当時まだ、この一見気持ち悪さもあるキャラクターには、目新しさがありました。シンプルな造形もあって、エンジニアが手軽に描いて投稿するようなシーンもありました。しかし狭い業界に知れ渡ってしまえば、「ちょっと前に見かけた妙なキャラクター」という位置に落ち着いたのかもしれません。
では他のOSSのキャラクターのように、もう表から消え歴史の中でだけ見つかる存在になったかというと、そうでもありません。
たとえばGo言語の最大のカンファレンス「GopherCon」は、今でも欠かさずGopherくんをトップに描きます。これは日本のカンファレンス「Go Conference」通称GoConも同様です。
こうした傾向がいつまで続くかはわかりません。しかし表から姿を消していった他のプロダクトのキャラクターたちに、そのヒントがあるような気がします。
Tux
LinuxのTuxは、Linus本人が公募し、一時はLinuxを親しませる象徴となったこともありました。しかし決してLinuxと不可分ではない、ある意味でお客様的なマスコットでした。
今やTuxは歴史のアーカイブか、彼を採用した古いゲームなどに残るばかりで、完全に懐かしい存在になってしまいました。キャラクターとして愛され、派生のプロダクトも生まれ、カンファレンスなどでグッズが配布されるなどした点は、Gopherくんと重なります。
しかしLinuxユーザーが自らを積極的に「pengins」と呼んだり、欠かさずカンファレンスのトップにTuxを掲げたりすることはありませんでした。
確かにTuxは愛され、一時はLinuxと合わせていつも見かける程でした。しかしそれは、Linuxという世界を変えうる新しい試みへの期待と、幅広い分野の盛り上がりが生んだものであって、そこで求められた「楽しい飾り」がTuxの実態だったのかもしれません。
プロダクトが社会の堅実な層にまで普及し、エンタープライズ寄りになりゆく中で、それ以外の参加者が去る。実務中心の派手さを求めない傾向が広がる。そうしていつの間にか、楽しい飾りはプロダクトに似合わないものとなってしまう。更に、Linuxがエンタープライズ用途で最も成功し、コンシューマではUbuntuの様に異なるビジュアル方針を持つ代理者が表立つ。
このようにしてLinuxは、マスコットによって賑わった時代を経て、マスコットキャラクターを欲しないプロダクトへと到達したのではないでしょうか。
ドロイド君
Androidのマスコットキャラクターである「Android ロボット」、通称「ドロイド君」も、表からほとんど姿を消したOSSのマスコットキャラクターです。
ドロイド君の広がりは、Googleのマーケティング目的が明確でした。iPhoneと対抗しうるスマートフォンの選択肢として、Androidの名を広めるための重要な役割を果たしました。
可愛くシンプルで親しめるキャラクターを使い、テレビCMや、時には着ぐるみも使って宣伝する。バージョン名にお菓子の名を採用しニュースのネタを提供する。そうした戦略の甲斐あってか、Androidはもうひとつの選択肢としてブランドを確立し、結果としてドロイド君は表舞台から消えました。
もちろん今でも公式にAndroidのロゴはドロイド君の顔ですし、公式サイトのブランドガイドラインにも掲載されています。しかしかつてのように全面に出ることもなければ、そもそもキャラクターとして用いられる機会すらほとんどありません。
Androidが一定のブランドを確立してしまった以上、ドロイド君のような具体性のついたマスコットは、これ以上ブランドにとって不要であるとGoogleが判断したのでしょう。
Linux同様、勃興期にマスコットを欲したプロダクトは発展の末、マスコットを必要としない地点まで到達したと言えるのかもしれません。
導入された個性的なマスコットキャラクターはブランドの認知を高める一方で、ブランドがプラットフォームに寄れば寄るほど、伴う個性がプレイヤーの邪魔をしてしまいます。たとえばマクドナルドのマスコットキャラクターたちも同様で、普遍的な地位を手に入れた後では、「ああ、あのキャラクターのやつね」と言われてしまうことが、更なる発展を阻害しうるのでしょう。
Gopherという緩い結束
翻ってGoとGopherくんの場合。Tuxやドロイド君との同異はどこにあるでしょうか。
Gopherくんもやはり、同じくマスコットキャラクターです。象徴として使われ、カンファレンスなどで露出し、グッズ化され、二次創作も広がりました。しかし大きく違うがあり、それはプロダクトとの緩く長い繋がりを持つことだと考えています。
前述のようにGo言語とGopherくんの間には、ある意味誕生前からの繋がりがあります。かといってそれは、公募したのでもなければ、戦略的に投入されたのでもありません。Goの生みの親たちが近しい人々と、なんとなく欲し、遊び、面白がったという緩い繋がりです。そしてその繋がりは、今も続いています。
そうした緩く長い繋がりは、Goの開発チームの気風であり、これが維持される限り、Gopherくんは少なくともGoというプロダクトと共に露出し続けるのではないでしょうか。
2018年、Goがロゴを一新しました。もしやGopherくんも引退かと思いきや、きちんとマスコットの継続も言及されました。そして今も、Goの公式サイトのあちこちにGopherくんが現れます。
こうした開発側の緩く長い繋がりが、ユーザー側にも同じような繋がりを生んでいることが、カンファレンスで変わらずGopherくんが描かれる理由でもあると思います。
開発チームがこの繋がりを断ってしまわない限り、Gopherくんはずっと緩やかに、マスコットキャラクターとして存在し続けるのではないでしょうか。たとえばGoogleがGoに戦略的な投資を始めれば別ですが、ある意味普及期を終え安定した今のGoに、そうした波乱は起きる可能性も少なそうです。
一定の緩さを許容し楽しんできたGo開発者たちの、この愛すべきマスコットキャラクターとの繋がりが、今後も続くことを願います。
Goと関係のない「Gopher」「ゴーファー」
最後におまけで、GoやGopherくんと関係のない、Gopherやゴーファーを紹介しておきます。単に”gopher”や”ゴーファー”と検索するとこれらの情報も見つかるので、Gopherくん探しの助けになるかもしれません。
ミネソタ大学スポーツチーム
大学スポーツが盛んなアメリカでは、「アリゾナ・ワイルドキャッツ」や「ミシガンステート・スパルタンズ」など、学校ごとに様々なスポーツ共通のチーム名を持つ場合があります。
ホリネズミが数多く生息する中西部ミネソタ州のミネソタ大学では、スポーツチームの名前が「Minnesota Golden Gophers(ミネソタ・ゴールデン・ゴーファーズ)」。そしてマスコットキャラクターは「Goldy Gopher」です。もちろんホリネズミがモチーフで、すっとぼけた顔をしています。
ホリネズミをモチーフとしたキャラクターとしてはGopherくんより大分古く、1940年頃。しかしこの時依頼された画家がスケッチしたのは、ホリネズミではなく、なんとシマリスだったそうです。
画家はホリネズミの済まないアイオワ出身者だったため取り違えたのですが、大昔からアメリカでも、ホリネズミとリスの混同はあったようです(Let's Go: A mascot of many stripes | Chaska News | swnewsmedia.com より)。
ちなみにミネソタ州が「gopher state」と呼ばれるようになったのは、1858年の鉄道投資に対する風刺漫画だったようです(Why is Minnesota the gopher state?)。批判的に用いられたホリネズミが、いつの間にか州の象徴になっていった歴史も興味深いです。
WWW以前のプロトコル
インターネットにWWWがまだ普及していない時代、Gopherというプロトコルと、それを用いたシステムがありました。世代によってはgopherという字面から、まずこちらを思い浮かべるのかも知れません。
なんとなく予想できると思いますが、開発したのは前出のミネソタ大学です。ミネソタ人はかなりホリネズミ好きなんでしょうか。
このプロトコルは、黎明期のインターネットでコンテンツの公開や検索が可能だった事から、ある程度普及しました。しかしWWWやWebブラウザの普及にともなって下火になり、今ではほとんど使われていません。
Gopherプロトコルについて日本語で書かれたものでは、BB WatchとWiredの記事が詳しいです。どちらの記事もすでにかなり古いものですが、今でも読めて素晴らしいです。
現在ではGopherを積極的に使う理由はほとんどなくなりました。2016年現在では、すでにインターネットの歴史の一部となりつつあるようです。
それでも、WWW以前のインターネットに触れてきた人や、ネットワークプロトコルの学習者が、今でも自らGopherサーバーを立てることはあるようです。そういう人たちにとってGopherくんは、かなりの検索ノイズになっているのかも知れません。
『くまのプーさん』のゴーファー
ディズニー版のアニメ『くまのプーさん』第一作には、その名もゴーファーというキャラクターが登場します。
ディズニー版くまのプーさんのキャラクター一覧 - Wikipediaによれば、原作には登場しないディズニー版オリジナルのキャラクターのようです。レギュラーではなくサブキャラクターであり、せわしない性格で、出っ歯の決して可愛いとは言えない様子で描かれています。
以下の動画はディズニー公式チャンネルの、ゴーファーが登場するエピソードです。
1960年代アメリカのアニメ『Go Go Gophers』
1966年からアメリカのCBSで放送されていた、『Go Go Gophers』というアニメのシリーズがあります。日本で放送もされていて、邦題は『インディアン・ゴーファー』。
ホリネズミをモチーフにしたネイティブアメリカン風のキャラクターふたりが、ふたりを追い払って町を奪おうとする軍人(コヨーテと、熊?)たちを、 機転を利かせて追い払う、という設定のコメディのようです。
以下のページに画像が掲載されていますが、ホリネズミキャラクターは、やはり立派な前歯をしています。
Mike’s Classic Cartoon Themes & Images - G
古き良きカートゥーンコメディといった雰囲気ですが、「開拓者に勝利するネイティブ・アメリカン」という構成はユニークです。
グラディウス『ゴーファーの野望』
シューティングゲームの名作『グラディウス』のシリーズのひとつ。ただしこのゴーファーは”GOFER”であり、このゲームのボスの名前です。ホリネズミとは関係ありません。
ゴフェル株式会社
なんと、この記事の前身を書いた2016年、有限会社ARKUSという岡山の企業が、社名を「ゴフェル株式会社」へと変更していました。英字表記はまさに「gopher」です。
ゴフェル(Gopher)| 電子機器向けの組み込みボード開発・設計ならゴフェル株式会社
組み込み系の設計・製造を得意とする企業で、ボードが特に強そう。産業用のパネコンなど、幅広いソリューションを提供しているようです。しかし、GopherくんもGoも全く関係はなさそうで、社名の由来が気になります。