IT界隈の名前被り列伝
Sakana AIが日本特化LLM「Namazu」を発表した。しかし一部の世代にとって「Namazu」は1997年から存在する全文検索エンジンだ。Perlで書かれたインデックス作成コマンド mknmz とC言語の検索コマンド namazu のセットで、2000年代前半の日本語Linuxサーバーでは定番だった。
IT業界ではこの手の名前衝突が日常的に起きている。名前空間という概念を発明した業界なのに、自分たちのプロダクト名には名前空間がない。
伝説級の衝突
JavaとJavaScriptは名前被りの殿堂入りだ。1995年、NetscapeのBrendan Eichがわずか10日で開発したスクリプト言語は、当初Mochaと呼ばれ、次にLiveScriptになり、最終的にJavaScriptに改名された。当時人気だったJavaにあやかるマーケティング戦略だったが、Eich本人が2018年のインタビューで「JavaScriptの遺産で最悪の部分」と語っている。30年経った今でも初心者が「JavaとJavaScriptは同じもの?」と質問するのを見かける。
同名異物リスト
IT界で見つけた名前衝突を並べてみた。
| 名前 | これと | これが被ってる |
|---|---|---|
| Namazu | 全文検索エンジン(1997) | Sakana AIの日本特化LLM(2026) |
| Copilot | GitHub Copilot(2021) | Microsoft 365 Copilot(2023)、Windows Copilot |
| Spark | Apache Spark(分散処理、2014) | Sparkメールクライアント(Readdle, 2015) |
| Eclipse | Java IDE(2001) | 三菱の車。そして日食 |
| Atom | Atomフィード(RFC 4287, 2005) | GitHubのテキストエディタ(2014、2022年終了) |
| Falcon | CrowdStrikeのEDR | TIIのLLM(2023)。そしてSpaceXのロケット |
| Mercury | NASAの宇宙計画 | MTA(Postfixの前身)。プログラミング言語Mercury |
| Rust | Mozilla発のプログラミング言語(2010) | ゲームのRust(Facepunch Studios, 2013) |
| Go | 囲碁 | Googleのプログラミング言語(2009)。既存のGoという名前のソフトも多数 |
| Swift | OpenStack Swift(オブジェクトストレージ、2010) | Appleのプログラミング言語(2014) |
| Sage | Sage会計ソフト(1981) | 数学ソフトウェアSageMath(2005)。商標問題で改名 |
| Quartz | macOSのグラフィックスレイヤー | Javaのスケジューリングライブラリ |
| Phoenix | PhoenixBIOS | Elixirのwebフレームワーク |
LLM動物園
LLMの命名は動物園と化している。
| 名前 | 動物 | 開発元 |
|---|---|---|
| Llama | ラマ | Meta |
| Alpaca | アルパカ | Stanford |
| Vicuna | ビクーニャ | LMSYS |
| Falcon | ハヤブサ | TII(UAE) |
| Orca | シャチ | Microsoft |
| Koala | コアラ | Berkeley AI |
| Dolphin | イルカ | Eric Hartford |
| Qwen | 千問(動物じゃない) | Alibaba |
| Gemma | 宝石(動物じゃない) | |
| Namazu | ナマズ | Sakana AI |
Metaが最初にLlamaと名付けたのがきっかけで、ラマ科の動物(アルパカ、ビクーニャ)がLlama派生モデルの定番名になった。Sakana AI(魚)がNamazu(ナマズ)を出すのは、動物名を採用しつつも「うちは魚でいく」という名前空間の確保に見える。
これだけ動物名が使われているのに「Dragon」がいない。かっこよすぎて逆に避けられているのか。DragonFly BSD、Dragon NaturallySpeaking(音声認識)、Qualcomm Snapdragonなど過去には使われているが、Snapdragonは金魚草(花の形が竜の口に似ている)の英名なのでドラゴン要素は薄い。LLM界隈でドラゴンを名乗るモデルはまだ現れていない。
逆に気持ち悪い名前もある。CockroachDB(ゴキブリ)は「殺しても死なない」=「障害に強い分散DB」という命名だが、名前を聞くたびにちょっと嫌な気持ちになる。同じ発想でいくとTardigrade(クマムシ)とかHydra(切っても再生する)もありそうだが、さすがにゴキブリほどのインパクトはない。
名前を変えられた側
名前が被って改名を余儀なくされたケースもある。
- SageMath → 会計ソフトSageとの商標問題で、Sage → SageMathに改名
- Mocha → LiveScript → JavaScript → 改名のたびにアイデンティティが変わった
- GIMP → 名前が英語スラングで不適切という指摘を受け続けているが、変えていない。強い
札束で解決した名前被り
大企業は名前が被っていても気にせず突っ込んで、後から金で解決する。
Appleの「iPhone」は、Ciscoが2000年にInfogear買収で取得済みの商標だった。Ciscoは既にLinksysブランドでVoIP電話を「iPhone」として販売していた。AppleはCiscoと2年間交渉していたが、ライセンス契約がまとまらないままスティーブ・ジョブズが2007年1月のMacworldで「iPhone」を発表。Ciscoは即座に商標権侵害で提訴し、翌月に和解。両社がiPhoneの名前を使える合意になったが、金銭面の条件は非公開。
「iPad」も同じパターンだ。富士通が2003年に小売業向けの業務用端末「iPad」の商標を出願していた。Appleは2010年1月にiPadを発表し、3月に富士通から商標権を推定400万ドル(当時のレートで約3.6億円)で買い取って決着した。発売の1週間前だ。
iOSもCiscoの商標だった。CiscoはルーターのOS「Internetwork Operating System」をiOSと呼んでおり、iPhone商標の和解条件にiOSの使用許諾も含まれていたとされる。
Appleだけで3件。名前を考えるコストより訴訟で解決するコストのほうが安いという判断なのか、単にジョブズが「この名前がいい」と言ったら止められなかったのか。
UNIXコマンドの暗号
名前衝突とは別の問題として、UNIXコマンドは短縮しすぎて意味不明なものが多い。テレタイプ時代にキーストロークを減らす必要があった名残だが、初見では何の略か想像もつかない。
| コマンド | 正式名 | 一見すると |
|---|---|---|
grep | Global Regular Expression Print | 何かを掴む(grab)? |
awk | Aho, Weinberger, Kernighan | 作者3人の頭文字。読み方すら不明 |
sed | Stream Editor | 堆積物(sediment)? |
cat | concatenate | 猫 |
tee | T字パイプの分岐 | お茶(tea)?ゴルフ? |
dd | data duplicator(諸説あり) | IBM JCLのDD文という説も。由来が確定していない |
tac | catの逆 | catを逆さにしたら逆順出力。そのまんま |
less | lessはmoreの改良版 | 「less is more」のジョーク |
cron | chronos(時間) | 知らなきゃただの4文字 |
sudo | superuser do | 「擬似」のpseudoと紛らわしい |
ls が list、cd が change directory、rm が remove くらいは推測がつく。しかし grep や awk は背景知識なしには解読不能で、もはや暗号だ。
数字で中間を省略する系
長い英単語の最初と最後だけ残して、間の文字数を数字で置き換える表記法がある。
| 表記 | 元の単語 | 意味 | 間の文字数 |
|---|---|---|---|
| i18n | internationalization | 国際化 | iとnの間に18文字 |
| l10n | localization | ローカライズ | lとnの間に10文字 |
| k8s | kubernetes | コンテナオーケストレーション | kとsの間に8文字 |
| a11y | accessibility | アクセシビリティ | aとyの間に11文字 |
| o11y | observability | 可観測性(ログ・メトリクス・トレースの統合監視) | oとyの間に11文字 |
| c14n | canonicalization | 正規化(XMLやURLの表記統一) | cとnの間に14文字 |
| m17n | multilingualization | 多言語化 | mとnの間に17文字 |
i18nとl10nは国際化・ローカライズの文脈で定着しているが、o11yやc14nになるともう初見では読めない。a11yはアクセシビリティ界隈では普通に使われているが、「ally(味方)」と読めてしまうので意図的にそう読ませている節もある。
k8sが最も成功した例だろう。そもそもKubernetesはギリシャ語の「κυβερνήτης(操舵手)」が由来で、英語の綴りのルールから外れている。「kube」まではいいが「rnetes」で脳が止まる。クーバネティス、クーベルネティス、クバネティス、人によって読み方もバラバラ。読めない、書けない、長い、の三重苦なのでk8sが流行るのは必然だった。ただし音声で「ケーエイツ」と言われても何のことかわからない問題は残っている。
読めない・意味不明な名前
名前が被る以前に、そもそも読めない・由来が意味不明なものも多い。
| 名前 | 読み方 | 由来 |
|---|---|---|
| Nginx | エンジンエックス | 「engine x」の短縮。Nginxとだけ見て読める人はいない |
| PHP | ピーエイチピー | 元は「Personal Home Page」、現在は「PHP: Hypertext Preprocessor」。再帰的頭字語 |
| GNU | グヌー | 「GNU’s Not Unix」。これも再帰的頭字語。読みは「ヌー」派と「グヌー」派で割れる |
| YAML | ヤムル | 元は「Yet Another Markup Language」、後から「YAML Ain’t Markup Language」に。また再帰的 |
| Kubernetes | クーバネティス? | k8sの項を参照 |
| pytest | パイテスト | pyをパイと読むかピーワイと読むか問題。PyPI(パイピーアイ)と合わせると混乱する |
| macOS | マックオーエス | Mac OS X時代は「テン」と読むのか「エックス」と読むのかで揉めた |
| Vercel | ヴァーセル | 読み方が公式発表されるまでバーセル、ベルセル、色々あった |
| Deno | ディーノ | Nodeのアナグラム。デノと読む人もいる |
| Supabase | スーパベース | 「super + base」だが綴りが「supa」なのでスパベースと読みがち |
再帰的頭字語(PHP、GNU、YAML)は「自分の名前の中に自分の名前が入っている」という構造で、展開すると無限ループする。ハッカー文化のジョークが由来だが、結果として「で、何の略なの?」に永遠に答えられない。
ちなみに命名エピソードとして一番いいのはMySQL/MariaDBだ。MySQLの「My」は作者Michael “Monty” Wideniusの長女の名前。OracleによるMySQL買収後にフォークして作ったMariaDBの「Maria」は次女の名前。娘2人の名前が世界で最も使われるDB群に刻まれている。
なぜ被るのか
技術プロダクトの命名で衝突が起きやすい。
- 短くてキャッチーな英単語は有限。動物、宝石、神話、天体はすぐ枯渇する
- OSSは商標登録しないことが多く、法的な排他権がない
- 分野が違えば混同しないだろうという楽観。Copilotはその楽観が裏切られた例
- npmやPyPIのパッケージ名は早い者勝ちだが、プロダクト名にはそういう仕組みがない
Phil Karltonの有名な言葉がある。「計算機科学で難しいことは2つだけ。キャッシュの無効化と、名前をつけること」。30年経っても名前の問題は解決していないし、LLMが増え続ける限り動物の名前も足りなくなるだろう。次はどの生物が犠牲になるのか。
自分で名前を考えたい人向けにIT製品 命名シミュレーターを作った。既存の名前と被るかどうかも判定してくれる。