write.kogu

Gopherくん入門

キャラクター Gopherくん golang

go gophers by Renee French CC BY 3.0

「Gopherくん」は、プログラミング言語Goの公式マスコットキャラクターです。

Go言語はそのシンプルさや明確さが評価されて、採用が増えているプログラミング言語です。Dockerなどの有名なプロダクトだけでなく、ユーティリティや新しいシステム系、そしてWebのプログラミングでどんどん浸透しています。このサイトもGoによる自作のシステムを使用しています

そんなGo言語の広がりとともに、マスコットキャラクターであるGopherくんを見かける機会も増えてきました。日本でもGoの普及が進む今、Gopherくんに入門しておきましょう。

オリジナルのThe Go gopher(Gopherくん)は、Renée Frenchによってデザインされ、CC BY 3.0ライセンスが適用されています。

Update

2016-12-27
Creative Commonsのライセンス表記を「CC-XX」から「CC XX」に訂正。
2016-12-22
Egon Elbreの画像のサムネイル版を、手描きのものとパスのものに差し替え。
Gopherくんの顔文字「ʕ◔ϖ◔ʔ」がtenntennの作であることを追記。

目次

公式情報について

この記事は、以下に挙げる2つの公式情報を主に、Gopherくんの基礎や歴史などを紹介しています。ただし独自に調査している部分も多いため、誤りもあるかも知れません。誤りがあれば、ぜひTwitter(@belbomemo)で指摘ください。

公式ブログ

公式情報のひとつは、Go言語公式ブログの投稿です。Gopherくんについての歴史や正式な扱い、オリジナルの画像ファイルなどが掲載されています。

The Go Blog by Google CC BY 3.0

GopherCon 2016でのプレゼンテーション

もうひとつの公式情報は、GopherConというイベントでGopherくんの原著者であるRenée Frenchが行ったセッションです。

The Go Gopher: A Character Study by Renée French 引用

セッションは「The Go Gopher: A Character Study」というもので、そこで使用したプレゼンテーションのPDF版がGitHubで公開されています(ただし、ページサイズの設定を誤って書き出されたようで、区切りがぐちゃぐちゃです)。

このスライドでは、これまで断片的にしか語られてこなかったGopherくんの設定が、たくさんの新しいイラストとともに紹介されています。

また、セッションそのものの動画もYouTubeで公開されています。

基礎

まずはGopherくんの基礎として、名前や作者、そしてライセンスなどを確認しましょう。

基本のGopherくん by Renée French CC BY 3.0

名前について

正式名称

Gopherくんには本来固有の名前がありません。呼称として”Go gopher”だけがあると、公式情報で明言されています。

The gopher has no name, and is called just the “Go gopher”.

大文字小文字の扱いは、公式情報でも統一されていません。きちんと英語表記するなら、公式記事のタイトルのように”The Go Gopher”とするのが無難でしょうか。

かつてはGordon(ゴードン)という名前で紹介されていたこともあった気がしますが、今では全く言及されません。そもそも非公式な愛称だったようです。

なお、この記事を含め私たちは「Gopherくん」という表記で統一しています。日本語では、ただGopherと書くよりキャラクターと認識しやすく、その他のgopher一般とも区別できるためです。

検索しにくい

“gopher”とは、このキャラクターのモチーフとなった「ホリネズミ」という動物を指す言葉です。ホリネズミという実在する動物の名前に”Go”と付け加えただけでは、たとえば日本語で「ネズミくん」と名付けるのとそう大差ありません。そのため”gopher”と検索すると、動物そのものや、それを使った他のキャラクターなどが該当してしまいます。そのため検索などで結果をGopherくんに絞りたければ、”golang gopher” とするのが無難です。

そもそも言語の”Go”も非常に検索しにくく、”golang”で代用されています。一応Googleのプロジェクトなのに、言語名・マスコット名ともに検索に向いていないのは、チームの独立性の証でしょうか。

Goプログラマの愛称

Go界隈ではGoのプログラマたちを、親しみを込めて”gopher”と呼ぶことがあります。

たとえばGo言語最大のカンファレンスは「GopherCon」であり、運営はGopher Academy。もちろんGopherくんのカンファレンスではありませんが、毎年Gopherくんを使ったシンボルが使用されています。

GopherCon 2016 by Gopher Academy GopherConより引用

他にも、「Gopher Gala」というハッカソンがあったり、アナウンスやフォーラムなどでの呼びかけとして使われることもあります。Goのユーザーにとって、キャラクターと共に”Gopher”の名もまた、ゆるやかなつながりの象徴となっています。

原作者は Renée French

Gopherくんの生みの親は、Renée French。彼女はアメリカを中心に活躍するイラストレーターで、絵本やコミックも手がけています。

作風は、穏やかな不気味さを持ちながらも、可愛らしい魅力あるキャラクターが中心。画材の質感を使ったやわらかいタッチで、闇や霧の向こうから見つめられるような表現が美しいです。

静かで濃く軽い悪夢のようなキャラクターたちは、Gopherくんとはまた違う魅力を持っています。TwitterやInstagramでたくさんの作品を見られます。

なお彼女は、Go言語の生みの親のひとりであるロブ・パイクの配偶者でもあります。

ライセンスは自由度の高いCC BY 3.0

Renée Frenchが生み出したオリジナルのGopherくんには、Creative Commons - Attribution 3.0 Unported(CC BY 3.0)というライセンスが適用されています。

The gopher images are Creative Commons Attributions 3.0 licensed. That means you can play with the images but you must give credit to their creator (Renée French) wherever they are used.

The Go Gopher - The Go Blogより

この「CC BY」というライセンスは、使用時に適切なクレジットを掲示すれば、自由に改変や再配布が可能、というものです。

Webなどの普及とともに、誰もが簡単に著作物を入手し、複製できる時代が大きく加速しました。そんな時代に顕在化した著作物の利用に関する様々な問題を、できるだけシンプルかつ現実的に解決しよう、というのがCreative Commons(CC)です。CCは複雑な著作権やその法の専門家でなくとも、自分の著作物を分かりやすくコントロールできること、またそれにより適切な二次利用が促進されることを目指しています。

CCというライセンスでは、自分の著作物をどんな風に使ってほしいか、わかりやすい選択肢から選べるようになっています。その選択肢のひとつが”CC BY”であり、後ろに付く”3.0”はライセンスのバージョンです。

CC BYは、用意された選択肢の中で2番目に制限が少ないものです。CC BYが適用された著作物は、著作権に関する情報を適切に表示することで、商用も含めた利用が可能であり、その他に制限はありません。

つまりCC BY 3.0が適用されているGopherくんは、自分で自分のGopherくんを好きに描いたり、それを発表したり、さらにはそれを製品として販売も可能ということです。ただし、原著者がRenée Frenchだということを必ず添える必要があります

ということでGopherくんを使う際には、最低限次のような表記を付けましょう。

  • 日本語版

オリジナルのThe Go gopher(Gopherくん)は、Renée Frenchによってデザインされました。

  • 英語版

The Go gopher was designed by Renée French.

二次創作物のライセンス

Gopherくんを描いているからといって、全てがCC BY 3.0とは限りません。誰かの描いたGopherくんに、どんなライセンスを適用するかは、その描いた本人が決定するものです。そこで適用されているのは、CCのもっと制限の多いライセンスかも知れませんし、パブリックドメインかも知れません。著作者が定めた独自のライセンスの可能性もありますし、あるいは、明確なライセンスは採用せず個別に交渉が必要かもしれません。

CC BY 3.0が適用されているのは、飽くまでオリジナルのGopherくんです。誰が二次創作したものであっても、必ずライセンスは確認しましょう。なお、私たちが作ったものは、ほとんどCC BYで公開しています。

モチーフはホリネズミ

Gopherくんは「ホリネズミ」という動物をモチーフにしています。

ホリネズミ by Yellowstone National Park; Gillian Bowser Public Domain

そもそも”gopher”とはこの動物の一般名です。中央から北アメリカにかけて生息し、特にアメリカ合衆国のミネソタ州は、州の愛称のひとつが”The Gopher State”、州限定の宝くじの名前は”Gopher 5“などと、州を象徴する動物としています。

ホリネズミはその名の通り、地下にトンネルを掘って生活します。鋭い爪の前脚、長く発達した前歯を持ち、時に捕食者や人間も攻撃します。ただしほとんどは草食で、草の根などを食べています。

ホリネズミの前歯 by LeonardoWeiss CC BY 3.0

トンネルが畑や農作物を荒らすこともあって、害獣として扱われることも多い動物で、”Gopher”とだけ検索すると、駆除されてしまった無残な姿を目にするかも知れません。また捕獲用の罠や、それにかかった様子なども見つかるので、注意が必要です。

ジリスではない

たまにgopherを「ジリス」としているのを見ますが、ジリスとホリネズミは異なる動物です。ジリスの方がリスらしい可愛さがあり、ホリネズミはもっとモグラっぽい鈍重な姿をしています。

わたしはジリス by Benefactor123 CC BY 3.0

ただしTwitterなどを見ていると、アメリカ人ですら間違えていることがあります。生態も似ていて生息地も重なっているため、世界中で彼らの見分けに混乱しているようです。

歴史

Gopherくんは、はじめからGoのマスコットキャラクターだったのではありません。そうなるまでに、意外と長い歴史があります。

Plan 9

GoとGopherくんにとって、「Plan 9」というオペレーティングシステムは大きな意味を持っています。

Plan 9はUNIXの後継を目指して開発されたOSです。開発はUNIXと同じくベル研究所で、数多くの先進的な設計を盛り込みましたが、広く普及はしませんでした。現在でも一応開発は続いていますし、Infernoという更なる後継OSもありますが、停滞しています。それでも、Plan 9には現在に続く成果もあり、たとえば現在事実上の標準となっているUnicodeの符号化方式UTF-8は、このプロジェクトから生まれました。

さてGoは、Robert GriesemerRob Pike(ロブ・パイク)Ken Thompson(ケン・トンプソン)によって具体化し、Ian Lance TaylorRuss Cox(ラス・コックス)Andrew Gerrandなどが加わって生み出されました。彼らのうち、ロブ・パイク、ケン・トンプソン、そしてラス・コックスというなんとも豪華なメンバーは、Plan 9の主要な開発者でした。そのためGoにはPlan 9の思想や感覚が大きく影響しています。

GoはPlan 9のエンジニアたちが深く関わって誕生し、Plan 9から受け継がれた部分を持つ言語です。そしてマスコットキャラクターにも、その流れは受け継がれました。

Glenda

Plan 9には「Glenda」というマスコットキャラクターがいます。Plan 9の公式ページ には今も掲げられていますし、Glenda専用のページもあります。

Glenda by Renée French Free

絵柄を見れば分かるように、この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シャツとか作るのに自由に使っていいけど、製品化するならコレクション用にサンプルを送ってね”と、ゆるいメッセージがあるだけです。

Feel free to use these images to make t-shirts and other paraphernalia, but if you do a production run, please send us a sample for our collection.

今回の用途では問題ないと判断して、著者はRenée French、ライセンスの代わりに”Free”と表記しましたが、利用の際は注意してください。

最初期のGopherくん

Go言語のマスコットキャラクターに採用されるかなり前から、Gopherくんの原型は存在していました。それはニュージャージーのローカルFM局WFMUのチャリティーキャンペーン用に依頼されたTシャツのデザインで、「Glendaの遠いいとこ」という設定のキャラクターです。

WFMUのGopher by Renée French CC BY 3.0

現在のGopherくんよりやや狂気が強いですが、造形のエッセンスはほぼそのままです。このGopherが描かれたのは1999年とあるので、Gopherくんは15年前すでにほぼ完成していたことになります。

このキャラクターはその後、Plan 9開発者のひとり、Bob Flandrena(bobf)が自身のアバターとして使っていたようです。

Go言語のマスコットに採用

Googleの社内プロジェクトとしてGoの開発において、Renée Frenchはロゴのデザインなどをボランティアで行っていました。そして2009年、Goの成果がオープンソースとして公開されることになった際に、Renée Frenchの提案で公式マスコットキャラクターとしてGopherくんが採用されました。Internet ArchiveのWayback Machine2009年11月時点のGo言語公式サイトを見ると、今より小さめですが、すでにGopherくんが使われています。

その後Gopherくんは徐々に大きく露出するようになり、今では公式サイトのトップでダウンロードを誘ったり、チュートリアル「A Tour of Go」に寄り添ってくれたりしています。

ダウンロードを誘う by Google CC BY 3.0
Tour of Goに寄り添う by Google CC BY 3.0

立体化

Go開発チームでは、Gopherくんを紙やディスプレイの中だけでなく、立体化する遊びも行われました。立体化されたGopherくんはカンファレンスなどで活躍しています。

ぬいぐるみ

2011年のカンファレンスに合わせて、Squishableというサービスを使って製造されたぬいぐるみは、毛むくじゃらすぎる失敗を経て、現在の姿になりました。

毛むくじゃらGopherくん by Google CC BY 3.0
完成したぬいぐるみGopherくん by Google CC BY 3.0

このぬいぐるみは人気で、Twitterなどでも度々見かけます。日本にも結構な数存在してそうです。

Googleのグッズストアで販売されていて(Go Gopher Squishable - Google Store)、以前はピンクと紫のタイプもありましたが、今は販売されていないようです。Google App Engineのぬいぐるみは売ってるのに(App Engine Plush - Google Store)。

フィギュア

Gopherくんフィギュアの完成まで by Google CC BY 3.0

フィギュアは、Renée Frenchが作った粘土のモデルを元に、キャラクターグッズ製造の大手Kidrobotが樹脂製の洗練されたフィギュアを形にしたそうです。ちなみに、最初の段階の粘土像はロブ・パイクのGitHubアカウントで、アバターとして使われ続けています。

このフィギュアは本来のGopherくんよりかなり洗練され、一般受けする姿に調整されています。残念ながら販売はなく、カンファレンスなどで配られているようです。実に残念です。


このように、Gopherくんはある日マスコットキャラクターとして作り出されたのではなく、Goという言語誕生の経緯にも関わりを持っています。キャラクターそのものが優れているだけでなく、開発者たちからの長い愛着もあってなりたっています。

二次創作

Gopherくんは、自由な二次創作が可能なライセンスが適用されています。そのおかげもあり、Goユーザーを中心に自作が広がっています。

ここでは日本の二次創作を中心に幾つかと、私たちが作ってきたGopherくんの一部を紹介します。

tenntenn

@tentenのGopher by tenntenn CC BY 3.0

日本での本格的なGopherくんといえば、@tenntenn。GopherConでもスピーカーとして登壇している方で、作品はRenée Frenchのお気に入りにも挙げられています。ついにリリースされたLINEスタンプもあります。

Gopherくんのかわいさを強めたイラストで、ライセンスはオリジナル同様CC BY 3.0。

ʕ◔ϖ◔ʔ

@tenntennは、このGopherくんの顔文字の作者でもあります。私は「ごふぁ」でいつでも変換できるように登録しています。

mattn

本物のGopher by mattn パブリックドメイン

@mattn_jpは、Go本体への貢献も多い素晴らしい裸です。2015年のGo Advent Calendarでは、Gopherくんにデスクトップを走り回させてくれました。Windows API直叩きとかアセット埋め込みとかコンソールウインドウ無しとか、ためになる作りも盛り込んだ、無駄で高機能なデスクトップマスコット版Gopherくんです。

みんなのGo言語

現場の知見が集まったGo本です。表紙のイラストは稲葉貴洋さんですが、中身にとても手間のかかったGopherくんが隠れています。

描いたのはpecoなど有名なGoのプロダクトもあるDaisuke Maki(@lestrrat)さん。Gopherくんには、プログラマに絵を描かせる何かがあります。

Laurel Duermael

Laurel Duermaelは、フランス出身で、モバイルゲームなどを中心にアメリカで活動するイラストレーター。かわいく確実なラインが記憶に残るイラストで、どこかで彼女の作品を見かけたことがあるかも知れません。

Gopherくんも描きますが、DockerのマスコットキャラクターMoby Dockを積極的に描いています。

Egon Elbre

Egon Elbre Gophers 1 by Egon Elbre CC0 1.0
Egon Elbre Gophers 1 by Egon Elbre CC0 1.0

GitHub(egonelbre/gophers)で、CC0ライセンスを適用したGopherくん手描きイラストを大量に公開。CC0は、実質パブリックドメインと同等の、最も制約の無いCCライセスです。

色、構図、モチーフ、どれもが独特で強烈なGopherくん。@egonelbreからリクエストすると、手描きのものをパス化してくれてるようです。

パス化されたものはきれいでかっこいいけれど、手描きほど勢いが足りりないのが惜しい。

ドット絵も。これぐらい手のかかったGopherくんのドット絵は、世界初だと思います。

私たちの自作

私たちもGopherくんを描いたり、自家用のグッズを作ったりしてきました。その一部をご紹介します。

3Dからイラスト作成

まず最初に公開したのは、Go on Githubというページ。GitHubでのGoの利用状況を毎日更新して表示するだけのものですが、飾りに自作のGopherくんを使っています。

Go on GitHub by kogu CC BY 3.0
Gophers by kogu CC BY 4.0

ここで使っているイラストは、すべて3DCGベースのものです。CINEMA 4Dというツールを使い、モデリングとレンダリングを行っています。モデリングしたものはスケッチ風のレンダリングができる機能を使って、鉛筆タッチで表現。

Cinema4DでGopherくん by kogu CC BY 3.0

Gopherくんは形状自体は単純なので、バランスさえ気をつければモデリングは簡単です。ただしイラスト的な無理に対応するため、ボーンなどを使わず、絵として成立させやすい手足や眼球の位置を優先しています。

本当はBlenderのFreestyleで描けるモデルデータを配布したいのですが、Cinema 4DやSketch and Toonとの違いの大きさに、実現していません。

手描き

手描きの中で一番気に入っているのは、内輪で勝手に「Moustache Gopher」と呼んでいる、杖を持った付けヒゲのGopherくんです。

Moustache Gopher by kogu CC BY 3.0

ヒゲや杖の唐突さと無意味さ、呆けた目やフォルムと、Gopherくんが持つ魅力を描きながら、独自の表現もできていてお気に入りです。

こうして描いてきたGopherくんたちは、2016年のgopherconでも複数採用してもらえました。

プレゼント

ここ数年、バースデープレゼントなどにもGopherくんを使ってきました。

はじめはこのマグカップ。前掲のGo on Github用に作ったStarを持ったGopherくんと、裏にはクレジット付きのオリジナルGopherくんを配置。

Gopherくんプランツタグ by kogu CC BY 3.0

これは家庭菜園用のプランツタグ。アクリルの板に、オリジナルGopherくんと植物を、レーザー加工機で描いています。Fab Labに感謝。同梱のカードには、消しゴムハンコのMoustache Gopher。

Gopher Notepad by kogu CC BY 3.0

断裁機が自由に使えるので、Gopherくん入りのメモ帳も作りました。メモ帳にしては絵柄が主張し過ぎですが、全ページに自作のGopherくんを入れてあります。

紙はコピー用紙でも大丈夫ですし、製本は木工用ボンドで背をしっかり固めて、厚紙で包めば十分です。断裁機が無いと化粧断ちは難しいですが、カッターナイフとヤスリでもある程度可能です。

Gopherくんの描き方

Gopherくんは、かなりシンプルな特徴で構成されています。その特徴さえつかめば、誰でもそれなりにGopherくんなイラストが描けます。

もうひとつ、最初に挙げたGopherConでのスライド『The Go Gopher: A Character Study』の中で、「MODEL SHEET」と題したGopherくんの表現に関する仕様が掲載されています。これまでこういったガイドは公開されておらず、はじめてのリファレンスとなります。

Go Gopher MODEL SHEET by Renée French

GopherくんはCC BY 3.0でライセンスされているので、リファレンスといっても、二次創作での表現を何ら縛るものではありません。それでもやはり、原作者の考えるデザインは重要です。

ここではこのリファレンスを参照しつつ、Gopherくんを構成する要素をそれぞれ確認し、その描き方を紹介します。

構成要素

  1. 大きな目
  2. 小さな耳
  3. 丸い鼻
  4. 口元のふくらみ
  5. 大きな前歯
  6. 2頭身の胴体
  7. 短い手足としっぽ
  8. カラー

並べると多く見えますが、描けばすぐ覚えられる簡単なものばかりです。

大きな目

一番の特徴である大きな目。描き方によっては頭部の半分以上を占めるほどになります。Gopherくんは2頭身なので、体長の4分の1ほどを意識するとバランスが取りやすいです。

虹彩部分は通常黒で、ワンポイントの輝きが入ります。横から見ると眼球がとび出ているように描かれる事が多く、ぬいぐるみやフィギュアでも、半球状にしっかりと盛り上がっています。さらに眼球だけでなく、虹彩部分も飛び出して描かれます。

Gopherくんの目 by Renée French

リファレンスでは、そうした目の全体的な描き方へは言及されていませんが、虹彩の表現、そして目による感情表現が取り上げられています。しっかり認識しておきたいのは、「眉毛を付けないで」とわざわざ書いている点。たしかに眉を描いてしまうと、途端に安直な雰囲気になってしまいます。

目の表情と感情表現 by Renée French

emotions are shown using eye shape. no eyebrows please.(感情は目の形で表します。眉は使わないで!)

小さな耳

頭部のやや後ろに耳が生えていますが、とても小さく描かれることもあります。リファレンスでは表裏や窪みなども触れていますが、描き方によっては表の耳の穴は省略されます。

Gopherくんの耳 by Renée French

耳に関連して、勢いよく動く際の表現について。髪のように耳が後ろに引っ張られます。

走る際の耳の表現 by Renée French

ears blowing back, motion lines, and maybe a drop of sweat for action shots.(動きのあるシーンでは、耳が後ろになびいたり、動きを線で表したり、あるいは汗を用いたりします)

丸い鼻

頭部のほぼ中心には小さな鼻があります。真っ黒で表現することが多いですが、リファレンスではグレーっぽく描かれるなどまちまちです。黒い場合は瞳のように輝きを加える場合もあります。特に鉛筆系がそうですが、イラストによっては塗り潰さず線で表現することも。

リファレンスでは特に触れられていませんが、サイズは重要です。あまり大きいと可愛さが減じ、小さすぎると別のキャラクターになってしまいます。

口元のふくらみ

Gopherくんでも猫などと同じく”Whisker Pad”呼ばれているこのふくらみも、重要な特徴です。

口元のふくらみ by Renée French

ふくらみは鼻の下半分を囲むように、ややへの字に凹ませた楕円形で描かれます。また正面以外で描く場合は、飛び出しています。

この部分の凹みから、前歯が生えたり、時に口が描かれたりします。

大きな前歯

実物のホリネズミは、大きな前歯が上下から生えています。しかしGopherくんで描かれるのは、通常上の歯のみ。口を開けたイラストでも下の歯は描かれません。

歯の表現 by Renée French

前歯はかなり長く、口元のふくらみと同じほどあります。しかしこれを短く描くと、アクの強さが減ってよりかわいくなります。また、リファレンスにあるように、基本は同じ長さの前歯を2本並べて描きますが、区切りとなる中心の線を描かず、一枚のように表現すると、更にクセが減ってかわいさが増します。

2頭身の胴体

Gopherくんは2頭身が基本です。頭が半分、残りがもう半分の覚えやすい比率です。

胴体には微妙な丸みとくびれがあって、慣れない内は描きにくいかもかもしれません。Renée Frenchのスライドによれば”kidney been shape”とのことですが、実物のインゲン豆よりも、イラスト的な丸っこさがあります。

Gopherくんの体型 by Renée French

リファレンスでは他に、座るなどして体を曲げた場合の表現が挙げられています。

座ると折り重なる腹肉 by Renée French

when seated, the belly flesh folds in half.(座った場合、お腹の肉が半分に折り重なります。)

ちなみに、画像から被写体を判定するサービスImage Identification ProjectにGopherくんの画像をかけたところ、「コンピューターのマウス」と判定されました。

Gopherくん = マウス

シルエットから判断されたようですが、確かにマウスをイメージすると描きやすいかも知れません。

短い手足としっぽ

リファレンスで”nubs”と言われているように、複雑な表現は一切なく、突起状に描かれます(リファレンスでは手足をnubsとしていますが、しっぽも同様です)。

手は体全体の真ん中辺り、足は胴体の下部、それぞれやや前面から生えています。ただしどちらも動きの表現次第で生える位置が動きます。しっぽは角度によっては隠れてしまいますが、胴の丸みにお尻を意識して、その頂点から生やすと良いようです。

キャラクターとしてのGopherくんに人間用の道具を使わせる場合、この突起状の手足が問題になります。そもそも指が無いため、ドラえもんのように道具を吸着させることになりますが、その表現と原理もリファレンスで明らかにされました。

Gopherくんの持ち方 by Renée French

two ways holding objects, under the arm nub, and by touch.(物の持ち方は、下から腕の突起が覆いかぶさるか、触れるかの2種類)

手のひらの構造 by Renée French

adhesive hand and feet pads enable van der waals interactions, allowing the gopher to grab objects without fingers.(手足の肉球にはファンデルワールス力が働いているので、指なしで物を吸い付ける。)

なんと手足の肉球は、ヤモリなどのように物理的な分子間力によって物を吸着していました(熱い物持てない?)。そのため、肉球にあたる部分が触れさえしていれば、ものをつかめます。

カラー

Gopherくんは色々な色で描かれます。はじめはホリネズミらしい淡い茶色でしたが、現在は水色が基本となり、他にも色々な色のGopherくんが存在しています。

色々な色のGopherくん by Renée French

色が違っても全てのGopherくんに共通しているのは、リファレンスにもあるその色分け。

Gopherくんの色 by Renée French

tail, arms, legs, & whisker pad same color.(しっぽと手足、そして口元のふくらみは同じ色。)

まだ見ぬ黒や金色のGopherくんでも、このルールさえ守ればらしく見えます。

まとめ:Gopherくんの魅力

まとめとして、私たちの考えるGopherくんの魅力について。

気持ち悪さと愛着

Gopherくんは、気持ち悪いとか不気味とか、不細工とかいった、否定的な印象を持たれることがあります。一方で、私たちのように強い魅力を感じる者もいます。

はじめて見た時に抱く否定的な印象は、Gopherくんを記憶に残します。何となくかわいい小奇麗なだけの、すぐに忘れられるマスコットキャラクターが多い中、悪印象でも覚えてもらえることは強みです。しかしGopherくんは、ただ否定的な印象を残すだけではありません。

そのまま何度も目にしていると、気持ち悪さや不気味さを見慣れてくるにつれ、少しずつ愛着が湧いてきます。一度でもかわいいと思ってしまえば、最初に自分が感じた悪印象や、周囲がまだ抱いているそれへの反発から、むしろ積極的に「Gopherくんかわいいよ」と主張したくなってしまいます。

Go言語の入門時に多くのプログラマーが触れる、公式チュートリアル「A Tour of Go」は、ひどい罠です。このチュートリアルには常にGopherくんが張り付いています。

見慣れろ by Google CC BY 3.0

もしまだ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との差は大きいです。時にCC BYでライセンスされたキャラクターがいても、どこかで見たことのある薄っぺらいものが多い。たとえばD言語くんほど突き抜けた例は稀です。

もしGopherくんのライセンスがCC BYでなかったら、今のような広がりも無かったでしょう。原著者への敬意さえ持てば、CC BYはパブリックドメインとそう変わりません。

ノイズへの強さ

ʕ◔ϖ◔ʔ

これはGopherくんを表現した顔文字のようなものです。上でも挙げた@tenntennが作ったもので、たった5文字ですが、Gopherくんにしか見えません。誰がなんと言おうがGopherくんにしか見えません。

Gopherくんを構成するのは、描き方でも解説したように、とてもシンプルな特徴です。このシンプルさは、多少表現が異なっても、要点さえ押さえていればGopherくんに見えてしまうという、ノイズへの強い耐性をもたらします。

表現ノイズへの高い耐性と、CC BY 3.0という自由なライセンスの組み合わせは、自作による広がりを後押しします。自作編にあったような描き方を少し意識すれば、誰もが自分のGopherくんを作れます。少々線が歪んでいようと、構図が狂っていようと、「Gopherくん描いたよ!」と言える気楽さがあります。

ほとんど白紙

Gopherくんには、キャラクターとしての背景がほとんどありません。名前も無く、物語も無く、どうやら性別すら無さそうです。Renée French本人から設定が追加されることもありますが、キャラクターとしての枠を限定するものはほとんどありません。

キャラクターとして強い背景を持たないため、Gopherくんは何にだってなれます。たとえば、国や地域ごとのGoのユーザーグループは、民族衣装や伝統的な物産、名物などをまとったGopherくんをアイコンとして使っています。

こういう点は、設定が忘れられて何にでも変身させられるハローキティのようなキャラクターと似ています。しかしGopherくんはCC BYで使えます。どんなご当地Gopherくんだろうが、実質阻むものはありません。極端な話、Gopherくんのポルノや血みどろのバイオレンスだって可能です(原作者は悲しむかも)。

焚書Gopher by Renee French CC BY 3.0

私はこの画像でGopherくんにやられました。

これはgoroutineという、Go言語標準の並行処理の仕組みを解説する画像です。確かに解説は理解できました。けれど本題とは無関係な疑問が残ります。なぜ本を燃やす?

ちょっと不気味で愛くるしいキャラクターを使って技術の概念を解説するのに、なぜ本を燃やす? みんなで協力して並行してまで、なぜ本を燃やす? キャラクターとしての動機を理解し難い、焚書という作業を選ばれたGopherくんの姿は、とても衝撃的でした。

唐突にTwitterに投稿された、”pink gopher is macho”。ピンクなのも、マッチョの源な胸毛も、そしてこのイラストが何の意味を持つのかも、謎です。その後ピンクなGopherくんがマッチョや男性の設定で活躍することもありません。

これもGopherCon 2016のスライドにあるもの。「Gopherくんが有名な人物と同じポーズを取るとこんなだよ」という、謎のチョイス。胴と手足の素晴らしい短さがひしひしと伝わってきますが、なぜプレゼンのハイライトにこれを選んだのか。

Gopherくんの謎はRenée Frenchの謎です。彼女の閃きからGopherくんに与えられる描写は、突然で、理不尽で、無意味で、大掛かりに設計された商業キャラクターには無い、楽しい謎に満ちています。

今後のGopherくん

これまでにも、ソフトウェアにマスコットキャラクターはいました。LinuxのTuxやJavaのDukeなど、一時はそのプロダクトを象徴するように使われることもありました。しかし現在、TuxもDukeも滅多に見かけません。どちらのプロダクトもより堅い世界が主要な場となり、マスコットキャラクターという存在が似合わなくなってきたことが原因かも知れません。

Gopherくんは、Goという言語によく合致したキャラクターです。シンプルでかきやすく、特徴的で、少し不細工。それはまた、Goのユーザーたちの雰囲気にも合致しています。カンファレンスにその名を冠し、アイコンとして使い、ユーザー自身がその名で呼び合います。公式非公式問わず、Goの催しでGopherくんを全く見ないのは考えにくいでしょう。こう自然とプロダクトに添えられるキャラクターは、現在だと、他にAndroidのドロイドくんぐらいでしょうか。

もちろん、マスコットキャラクターの存在そのものが時代にそぐわなくなれば、Gopherくんも懐かしい歴史のひとつとなるかも知れません。しかしそれはまだ先のことで、当分の間、Goの象徴として愛され続けるはずです。そしてもし、優れたアーティストたちが関わり続ければ、いつかどこかで、Goを離れた活躍もあるかも知れません。

付録

Goと関係のない「Gopher」「ゴーファー」

最後におまけで、Go言語と関係ないGopherやゴーファーを紹介しておきます。単に”gopher”や”ゴーファー”と検索すると、まだまだこれらの情報が多く見つかります。

ミネソタ大学スポーツチームのマスコットキャラクター

大学スポーツが盛んなアメリカでは、学校ごとにスポーツチーム全体の名前を持つ場合があります。

ホリネズミが数多く生息する中西部ミネソタのミネソタ大学では、スポーツチームの名前が「Minnesota Golden Gophers」。そしてマスコットキャラクターが「Goldy Gopher」です。

Goldy Gopher by Doggie88dude CC BY-SA 3.0

もちろんホリネズミがモチーフで、すっとぼけた顔をしています。

“gopher”と検索して出てくる非Gopherくんな結果で、一番多いのがこのMinnesota Golden Gophers関連です。

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

英語版でしかも出品者からですが、AmazonでDVDは販売されています。

グラディウス『ゴーファーの野望 エピソードII』

シューティングゲームの名作『グラディウス』のシリーズのひとつ。ただしこのゴーファーは”GOFER”であり、このゲームのラスボスの名前です。ホリネズミとは関係ありません。

【名作発掘】 『グラディウスII GOFERの野望』─―すべての異論を黙らせた圧倒的な完成度! : レトロゲームレイダース 最後のゲー戦


そのうち”gopher”と検索してもGopherくんばかり出てきて、他のGopherが困ることになるかも知れません。

広告