🤼

OpenCode 違い

に公開

Caution

https://gihyo.jp/article/2025/06/opencode

この記事を読んで今緊急でZennを書いているんですけれども、OpenCodeは2つあって、ちゃんと区別しないとステークホルダーに失礼なので気をつけましょうということを伝えたいです。

https://github.com/opencode-ai/opencode
https://github.com/sst/opencode

opencode-ai/opencode

おそらく皆さんが最初にXで見たであろう、gihyo.jpで紹介されていないOpenCodeはこちらです。

https://github.com/opencode-ai/opencode

99%Goで作られています。
メイン開発者はKujtim-sanです。

Kawaii TUIフレームワークのBubble Teaを使っていて、Kujtim-sanは現在Bubble TeaなどKawaiiターミナルライブラリを開発しているCharmで働いています。

そう聞くと謎の安心感がありますが、実際はそうでもないようです。
CharmのCEO、Christian-sanのX Postを見てみましょう。

https://x.com/meowgorithm/status/1933593074820891062

やあみんな、ちょっといいかい? 僕、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です。

https://aur.archlinux.org/packages/opencode-ai-bin

sst/opencode

で、こちらが今回⁠gihyo.jp⁠で紹介されたopencodeです。

https://github.com/sst/opencode

https://x.com/thdxr/status/1935801226362302730

メイン開発者はDax-sanですが、Tomorrowというポッドキャストを一緒にやっているAdam-sanも開発に参加しています。

https://tomorrow.fm/

まずは先程のX Postに関する一部反論を見てみましょう(原文はChristian-sanのX Postのスレッドを参照してください)

Dax:
ねえ、みんな! 何がどうなっちゃったのか分からないんだけど、僕とAdamが頑張った分がどこかへ消えちゃったみたいなんだ。ほら、協力メンバーのリストに名前が載ってないよ! どうしよう!

Adam:
なあ、「opencode」なんて名前、どう考えてもピンとこないだろ? もっとこう、バシッとカッコいい名前に変えちまえばいいじゃないか! ね、簡単だろ?

Theo:
おっとっと、それで一本取ったつもりかい? もうさ、そんな名前はポイしちゃって、新しい仲間と楽しくやろうぜ!

Gemini 2.5 ProにSystem Instructionを追加して翻訳し加筆修正

とにかくopencodeという知名度の高い名前がほしいことが伺えます。
続いてDax-sanのX Postを見てみましょう(時系列がごちゃごちゃになってしまいましたが、今回紹介したX Postsの中で一番古いものです)

https://x.com/thdxr/status/1933561254481666466

いいかい? 僕、この問題はね、みんなには見えないところで、ちゃんと話し合って解決しようとしたんだ。でもね、途中からお返事が来なくなっちゃって…。

そもそも「Charm」っていう会社がね、もともとこの「opencode」を自分たちのものにしたいって言ってきたんだ。開発のリーダーの子は賛成したんだけど、僕とAdamは「うーん、それはちょっと違うんじゃないかな」って思ったんだよ。

だから、僕はそこの社長さんとちゃんとお話したんだ。「この『opencode』って名前は、僕がお金を払ってドメインも取ったし、みんなも僕たちのものだって知ってくれてる。だから、この名前は僕のものですよね?」って。そしたら、社長さんも「うん、そうだね」って納得してくれたんだ。

僕はね、泥沼の長いケンカなんてしたくなかった。だから、お互いに譲り合うことにしたんだ。「わかった、じゃあプログラム本体は君たちに譲るよ。その代わり、『opencode』っていう名前だけは、僕が大切に使い続けるからね」って、そういうお約束をしたわけ。

それでね、もう1ヶ月も経つんだ。僕たちは心機一転、まっさらな状態から、新しいものを一生懸命作ったんだよ。…なのに、彼ら、まだ僕たちの名前を使い続けて、みんなを混乱させてるんだ。ひどいじゃないか。

それだけじゃないんだ。彼らがやったこと、聞いてくれるかい?

  • 僕が頑張って書いた記録を、まるで無かったことみたいに書き換えちゃうし…
  • わざと紛らわしい名前で新しい部品を登録して、みんなを困らせようとするし…
  • Adamなんて、元々いた場所から追い出されちゃうし…
  • 他の人が「やっぱりこれはやめます」って言った変更を、勝手に取り込んじゃうし…
  • 「どうなってるんですか?」っていう質問のコメントも、見えないように消しちゃうんだ。

だから、僕たちが「新しいopencodeができましたよ!」ってお話ししても、たくさんの人たちが間違った場所に行っちゃってるんだ。これじゃ、せっかくのお話がちゃんと伝わらないよ。

まったく…人のものを横取りしようとするなんて、本当にかっこ悪いことだよ。僕は悲しいな。

やっぱり、最初から彼らと関わるのは、ちょっと心配だなって思ってたんだけど…その予感が当たっちゃったみたいだね。

Gemini 2.5 ProにSystem Instructionを追加して翻訳し加筆修正

これは…矛盾していますね。

とにかく関係がこじれた以上、今後はCharm’s Stackを使い続けるのも難しいですから、まずは一部ソースコードをBunとTypeScriptに変更して開発を続けていくようです。[2][3]

https://opencode.ai/

sst/opencodeのAURパッケージはopencode-binで、npmパッケージはopencode-aiですので注意しましょう。

https://aur.archlinux.org/packages/opencode-bin
https://www.npmjs.com/package/opencode-ai

Note

別に私はどちらが正しいことを言っていて、どちらを使うべきと提言するつもりはありません。
TypeScript Gangではないので。

ただ両方がオープンソースのClaude Codeクローンを目指している以上、全く同じ機能を追加していくと、最終的にはプログラミング言語やフレームワークぐらいでしか差別化ができなくなってしまいます。

プログラミング言語やフレームワークの観点から見て、皆さんはどちらのOpenCodeを応援したいですか?
その気持ちを大切にしながら、正しい選択をしていただければ幸いです。


記事を書いていたら、昔私がGoのDBクライアントBunについてZennで一番最初に記事を書いていたのに、いつの間にかタグがTypeScriptランタイムのBunのアイコンに変わっていたことを思い出しました。

https://zenn.dev/tkithrta/articles/c6074e0f09eb90
https://zenn.dev/topics/bun

脚注
  1. https://x.com/gihyojp/status/1935892924291571893 ↩︎

  2. https://x.com/thdxr/status/1929570507575242804 ↩︎

  3. https://x.com/thdxr/status/1928902930419048585 ↩︎

Discussion