OpenCode 違い
Caution
この記事を読んで今緊急でZennを書いているんですけれども、OpenCodeは2つあって、ちゃんと区別しないとステークホルダーに失礼なので気をつけましょうということを伝えたいです。
opencode-ai/opencode
おそらく皆さんが最初にXで見たであろう、gihyo.jpで紹介されていないOpenCodeはこちらです。
99%Goで作られています。
メイン開発者はKujtim-sanです。
Kawaii TUIフレームワークのBubble Teaを使っていて、Kujtim-sanは現在Bubble TeaなどKawaiiターミナルライブラリを開発しているCharmで働いています。
そう聞くと謎の安心感がありますが、実際はそうでもないようです。
CharmのCEO、Christian-sanのX Postを見てみましょう。
やあみんな、ちょっといいかい? 僕、Charmって会社の代表なんだ。今、OpenCodeのことで、事実と違うウワサが広まってるみたいだから、僕が何があったのか、ちゃんとお話ししたいんだ。
話は4月にさかのぼる。Kujtim Hoxhaっていう、すごく才能のある青年が「TermAI」っていうクールなプロジェクトを始めたんだ。うちの会社の、えーっと…Bubble TeaとかLip Glossとか、そういう楽しい名前のツールを使ってね。
そしたら、2人の開発者が彼に近づいてきて、「手伝うよ! もっと良くしようぜ!」って言ってくれたんだ。で、プロジェクトの名前を「OpenCode」にしようって提案した。そのうちの1人は、ご丁寧にドメインまで取ってきてくれたんだよ。
その時、彼らはKujtimにはっきりこう言ったんだ。「これは君のプロジェクトだからね。全部君のものだ。いつでも好きなようにしていいんだよ」って。信じられるかい?
僕たちはKujtimの作ったものが大好きになってね。だから彼をフルタイムでうちに誘ったんだ。「Charmで、お金の心配なく、仲間と一緒にこの素晴らしいプロジェクトを続けよう!」ってね。もちろん、例の2人にも話はしたんだけど、「いや、うちはいいや」って感じだった。
僕も「もしプロジェクトがうちに"お引越し"するなら、名前も変わるかもしれないね」とは言ったけど、まだ何も決まってなかったんだよ。
ところがだよ、みんな、ここからが大変なんだ。その直後、彼らはプロジェクトを勝手に自分たちの会社の場所に移して、「OpenCode」って名前も、AURパッケージっていうのも、自分たちが持ってたドメインも、全部自分たちのものにしちゃったんだ! なんてこった!
だから、今出回ってるウワサについて、はっきりさせておくね。
- まず、誰かが頑張った記録(コミット履歴)を消したりは絶対にしてない。
- みんなが困らないように、パッケージはうちで登録し直したんだ。
- コメントを消したのは、それが誤解を招いたり、変な宣伝だったりした時だけさ。
- そして何より、このプロジェクトは今も、生みの親であるKujtimが、みんなに見える場所でちゃんと続けてるんだ。
Kujtimが始めたオリジナルのプロジェクトは、今もオープンソースで、元気に動いてる。僕たちCharmのチームみんなで、全力で応援してるんだ。
…ってわけさ。これが本当の話。
また近いうちに、新しいニュースを伝えられると思うよ。
Gemini 2.5 ProにSystem Instructionを追加して翻訳し加筆修正
言っている意味がよく分かりませんが、この発言は後述する2人の開発者のほか、T3 Stackの提唱者で有名なTheo-sanをはじめとしたTypeScript Gangから非難を受けることになりました。
ちなみに現在のopencode-ai/opencode
のAURパッケージはopencode-ai-binです。
sst/opencode
で、こちらが今回gihyo.jpで紹介されたopencodeです。
メイン開発者はDax-sanですが、Tomorrowというポッドキャストを一緒にやっているAdam-sanも開発に参加しています。
まずは先程のX Postに関する一部反論を見てみましょう(原文はChristian-sanのX Postのスレッドを参照してください)
Dax:
ねえ、みんな! 何がどうなっちゃったのか分からないんだけど、僕とAdamが頑張った分がどこかへ消えちゃったみたいなんだ。ほら、協力メンバーのリストに名前が載ってないよ! どうしよう!Adam:
なあ、「opencode」なんて名前、どう考えてもピンとこないだろ? もっとこう、バシッとカッコいい名前に変えちまえばいいじゃないか! ね、簡単だろ?Theo:
おっとっと、それで一本取ったつもりかい? もうさ、そんな名前はポイしちゃって、新しい仲間と楽しくやろうぜ!
Gemini 2.5 ProにSystem Instructionを追加して翻訳し加筆修正
とにかくopencodeという知名度の高い名前がほしいことが伺えます。
続いてDax-sanのX Postを見てみましょう(時系列がごちゃごちゃになってしまいましたが、今回紹介したX Postsの中で一番古いものです)
いいかい? 僕、この問題はね、みんなには見えないところで、ちゃんと話し合って解決しようとしたんだ。でもね、途中からお返事が来なくなっちゃって…。
そもそも「Charm」っていう会社がね、もともとこの「opencode」を自分たちのものにしたいって言ってきたんだ。開発のリーダーの子は賛成したんだけど、僕とAdamは「うーん、それはちょっと違うんじゃないかな」って思ったんだよ。
だから、僕はそこの社長さんとちゃんとお話したんだ。「この『opencode』って名前は、僕がお金を払ってドメインも取ったし、みんなも僕たちのものだって知ってくれてる。だから、この名前は僕のものですよね?」って。そしたら、社長さんも「うん、そうだね」って納得してくれたんだ。
僕はね、泥沼の長いケンカなんてしたくなかった。だから、お互いに譲り合うことにしたんだ。「わかった、じゃあプログラム本体は君たちに譲るよ。その代わり、『opencode』っていう名前だけは、僕が大切に使い続けるからね」って、そういうお約束をしたわけ。
それでね、もう1ヶ月も経つんだ。僕たちは心機一転、まっさらな状態から、新しいものを一生懸命作ったんだよ。…なのに、彼ら、まだ僕たちの名前を使い続けて、みんなを混乱させてるんだ。ひどいじゃないか。
それだけじゃないんだ。彼らがやったこと、聞いてくれるかい?
- 僕が頑張って書いた記録を、まるで無かったことみたいに書き換えちゃうし…
- わざと紛らわしい名前で新しい部品を登録して、みんなを困らせようとするし…
- Adamなんて、元々いた場所から追い出されちゃうし…
- 他の人が「やっぱりこれはやめます」って言った変更を、勝手に取り込んじゃうし…
- 「どうなってるんですか?」っていう質問のコメントも、見えないように消しちゃうんだ。
だから、僕たちが「新しいopencodeができましたよ!」ってお話ししても、たくさんの人たちが間違った場所に行っちゃってるんだ。これじゃ、せっかくのお話がちゃんと伝わらないよ。
まったく…人のものを横取りしようとするなんて、本当にかっこ悪いことだよ。僕は悲しいな。
やっぱり、最初から彼らと関わるのは、ちょっと心配だなって思ってたんだけど…その予感が当たっちゃったみたいだね。
Gemini 2.5 ProにSystem Instructionを追加して翻訳し加筆修正
これは…矛盾していますね。
とにかく関係がこじれた以上、今後はCharm’s Stackを使い続けるのも難しいですから、まずは一部ソースコードをBunとTypeScriptに変更して開発を続けていくようです。[2][3]
sst/opencode
のAURパッケージはopencode-bin
で、npmパッケージはopencode-ai
ですので注意しましょう。
Note
別に私はどちらが正しいことを言っていて、どちらを使うべきと提言するつもりはありません。
TypeScript Gangではないので。
ただ両方がオープンソースのClaude Codeクローンを目指している以上、全く同じ機能を追加していくと、最終的にはプログラミング言語やフレームワークぐらいでしか差別化ができなくなってしまいます。
プログラミング言語やフレームワークの観点から見て、皆さんはどちらのOpenCodeを応援したいですか?
その気持ちを大切にしながら、正しい選択をしていただければ幸いです。
記事を書いていたら、昔私がGoのDBクライアントBunについてZennで一番最初に記事を書いていたのに、いつの間にかタグがTypeScriptランタイムのBunのアイコンに変わっていたことを思い出しました。
Discussion