ハクソク

世界を動かす技術を、日本語で。

法的なものは正当なものと同じか:AIの再実装とコピーレフトの侵食

概要

  • Pythonライブラリchardetの7.0リリースを巡るライセンス変更問題
  • AIによる再実装とLGPLからMITへのライセンス変更
  • 法的正当性と社会的正当性の違いが論点
  • オープンソースコミュニティ内での意見の分裂
  • コモンズへの貢献義務と共有文化のあり方

chardet 7.0のリリースとAI再実装問題

  • Pythonライブラリchardet、毎月約1億3千万件の利用実績
  • メンテナーのDan BlanchardClaude(Anthropic製AI)を活用し、APIとテストスイートのみをAIに提示してゼロから再実装
  • 新バージョンは48倍高速化、マルチコア対応、全面的な設計刷新
  • ライセンスがLGPLからMITに変更
  • JPlagによるコード比較で1.3%未満の類似度、Blanchardは「独立した新作」と主張
  • 元作者Mark PilgrimがGitHubで異議申し立て、「LGPL下の修正は同ライセンスで公開義務」と主張

法的正当性 vs 社会的正当性

  • オープンソース界の著名人**Armin Ronacher(Flask作者)**はリライセンスを歓迎
  • **Salvatore Sanfilippo(Redis作者/antirez)**はAI再実装を法的・歴史的に擁護
  • 両者とも「合法なら問題ない」との立場だが、「合法=正当」という論理の飛躍を指摘
  • 法律は最低限の基準であり、社会的な正しさ信頼は別問題

GNUプロジェクトとの歴史的比較

  • antirezはGNUプロジェクトのUNIX再実装を前例に挙げるが、方向性が逆
    • GNUはプロプライエタリ→フリーソフトへの解放
    • chardet 7.0はコピーレフト→パーミッシブへの緩和(コモンズ保護のフェンス撤去)
  • コモンズ拡大ではなく、保護の喪失につながる事例

GPLの意義とMITライセンスとの対比

  • Ronacherは「GPLは共有文化に反する」と主張
  • GPLは配布時のみソース公開義務を課す、個人利用は制限しない
  • MITライセンスは改変・独占利用が可能、コモンズから一方的に受け取る構造
  • 小規模開発者にとってはコピーレフトが公平性を担保

共有文化の現実と矛盾

  • VercelがGNU BashをAIで再実装→CloudflareがNext.js(MIT)を同様に再実装し反発
  • MITライセンスでも競合他社による再実装は反感を招く
  • 「共有文化」の現実は自分から外への一方向性に偏り

法律と社会的信頼の乖離

  • 法的に新作と認められても、12年にわたる貢献者との社会的契約は破棄される
  • コモンズから受け取った者が還元しない行為は反社会的とFSFのZoë Kooymanも指摘
  • 法の許容=正当化ではない

立場の非対称性と分析の限界

  • antirezやRonacherは中心的開発者・有力者の視点
  • コピーレフト保護の喪失は、長年の貢献者には脅威
  • 立場の違いを無視した「普遍的分析」は自己正当化に過ぎない

コピーレフトの未来とコミュニティ価値

  • Bruce Perens(Open Source Definitionの起草者)は「AI再実装でソフトウェア経済崩壊」と警告
  • コピーレフトが容易に回避できる時代、その必要性はむしろ増す
  • コモンズから受け取った者がコモンズに何かを返すという原則
  • 法律とコミュニティ規範の分離、価値観は法の変化で失われない

この論争は、AI時代のオープンソースとコモンズの未来、そして法と社会的正当性の関係を問い直す論点を提供。コピーレフトの意義や共有文化のあり方を再考する契機となっている。

Hackerたちの意見

この状況を狭く見てると思う。歴史を振り返って、GPLが発明された理由を考えると、著作権に対抗するための著作権の試みだったってわかるよ。「コピーレフト」って名前もその考えを伝えようとしてる。AIが侵食してるのは著作権なんだ。GPLプログラムだけじゃなくて、クローズドソースのプログラムを逆アセンブルして再実装することもできるし、実際にそれを示した人たちもいる。HNでもその話があったよね。AIが著作権を侵食してるから、もしかしたらGPLの必要がなくなるかもしれない。GNUは立場を見直して、悪徳ソフトウェア企業と戦うための主なツールとしてGPLを捨てて、LLMをメインの武器として受け入れるべきだと思う。
コピーレフトは著作権の鏡であって、著作権に対抗する方法じゃない。コピーレフトは消費者に権利を与えるけど、著作権はクリエイターに権利を与える。重要なのは、エンドユーザーが自分のデバイスで動いているソフトウェアを修正する権利を持っていることだよ。残念ながら、単に「再実装」できないケースもある。例えば、制限されたツールやキー、独自の仕様にアクセスする必要がある場合とかね。
> LLMをメインの武器として LLMは、今のところ、最高品質のものを持つには巨額の資本支出が必要みたいで、これはメガ企業に権力がシフトする大きな変化だよ。オープンソースの世界から離れて、自分のコンピュータでLinuxやFreeBSD、他のオープンOSを使って革新的な作業をすることが難しくなる。フリーソフトウェア財団にとっては、あまりワクワクするアイデアじゃないと思う。時間が経てば「十分に良い」ローカルなものを動かせるようになるかもしれないけど、まだそこには至ってない。倫理的・道徳的な問題もあって、これらのものは何百万時間ものボランティアの労力で訓練されているから、その利益はメガ企業に集まることになる。編集: 私がたどり着いた結論は、LLMは「物事を進める」には良いけど、彼らが動いている文脈は資本に大きく傾いていて、オープンソースに参加するのがあまり面白くなくなるかもしれないってこと。機械がそれを吸い上げて、ライセンスを尊重したり、あなたの仕事を認めたりしなくなるからね。
それはナイーブだね。著作権はソフトウェアだけに適用されるわけじゃない。すでに「オープンソース」という言葉が生まれる前から、音楽のコピーに関する訴訟は数えきれないほどあったよ。歌詞を少し変えたからって著作権を回避できるわけじゃないし、スティーブン・キングの小説をドイツ語に翻訳して、場所やキャラクターの名前を変えたからって同じこと。裁判所は、最初の「ノスフェラトゥ」映画をドラキュラに似すぎているとして破棄するよう命じた。映画は元の作品からかなり大きく逸脱しているにもかかわらずね。もしClaudeが既存のコードベースをRustで再実装するように頼まれたなら、それは著作権侵害になる可能性がある。ちょっと言い換えた「氷と炎の歌」を別の言語に切り替えたからって、著作権が消えるわけじゃないよ。
その目的は「ソフトウェアを実行すれば、そのソフトウェアを検査・修正できて、その修正を仲間と共有できること」なんだけど、著作権に明確に抵抗するわけじゃないんだ。確かに著作権は悪い面があって、そういうことを妨げることが多いけど、GPLの目的は著作権を壊すことじゃない。単に「LLMに強制されて使うプロプライエタリソフトウェアをクローンできる」って言うのは、GPLの本質を全然理解してないよね。
> 著作権で著作権に対抗しようとした試みだったが、そんなに単純じゃない。確かにGPLの起源には「みんなが使えるべき」という考えがあるけど、オリジナルの作者への帰属も大事なんだ。人々が実質的に「公共財を奪う」ことができないようにするためでもある。AIの使い方は帰属を消してしまっていて、ライセンスを無視した企業よりもひどい形で公共財を奪っていることが多い。だから、ここ数十年でGPLのようなライセンスの必要性が以前よりも高まっているんだ。
> AIが著作権を侵食しているから、もうGPLの必要がなくなるかもしれない。GNUは立場を見直して、悪質なソフトウェア企業と戦うための主要なツールとしてGPLを捨てて、LLMを主要な武器として受け入れるべきだ。LLMって自由に使えるものなの、それともこれらの企業が所有してコントロールしてるの?「悪質なソフトウェア企業」と戦うためのツールを借りることになるの?
> AIが侵食しているのは著作権だ。今のところ、著作権を侵食しているのは人間だよ。例えば、この場合、誰かが何かをした。「AI」が脳を持って目覚めて突然それをすることを決めたわけじゃない。現実的にはAIとは関係ない。銃を持っているからといって、無作為に撃つわけじゃないよね。
> GPLを悪いソフトウェア企業と戦うための主要なツールとして捨てて、LLMを主要な武器として受け入れよう。LLMは現在の「悪いソフトウェア企業」の主要な現れの一つだ。
> AIは著作権を侵食している 大企業のIPでない限り、すべてのコンテンツを消費した同じ大企業のものだ。彼らを侵食するのは大変だね。
そのほとんどには同意するけど、GNUの立場が変わる部分には反対だな。GNUは一貫性を持って真摯でいるべきだと思う。そうしないと、AIに賛同していない多くの支持者が裏切られた気持ちになって、GNUのレガシーが損なわれちゃうから。LLMがプロプライエタリソフトウェアを征服するために組織が必要なら、それは新しい組織であって、GNUである必要はない。
> ブランシャールの話によると、彼は既存のソースコードを直接見たことがないらしい。彼はAPIとテストスイートだけをClaudeに与えて、ライブラリをゼロから再実装するように頼んだんだ。これは「壁のキャンバスに無造作にペンキを投げたら、ミッキーマウスの形になったから、私のミッキーマウスの知識を使わずに作ったから著作権侵害にはならない」って言ってるようなもんだよ。もちろん、ブランシャールはソースコードに詳しいし、何年もそのメンテナーをやってる。彼が自分の知識を使わずにClaudeに再実装を促したって前提があるんだ。
> これは「壁のキャンバスに無造作にペンキを投げたら、 > 彼はAPIとテストスイートだけをClaudeに与えて、頼んだ」って言ってるようなもんだ。違いは、Claudeは見てたから、盲目的じゃない。もっと言うと、私は無造作にそれを写真に撮って、それを使ったって感じかな。技術的には見てたってことだね。
> もちろん、ブランシャールはソースコードに詳しいし、何年もそのメンテナーをやってる。彼らがコードを見たかどうかは関係ないと思うし、彼がそれに詳しかったかどうかも関係ない。重要なのは、彼らが元のコードをツールに入力して、それをコピーするように設定したことだよ。そのツールがどう動くかはあまり関係ないし、それがコピーだと隠すかどうかも関係ない。もし私が本のスキャナーとプリンターを使って本のコピーを作るときに目隠しをしても、著作権侵害には変わりない。AIがツールなら、それは当てはまるはず。もし「ただの」ツールじゃないなら、元のものと並行して新しい出力を作ったことになるから、著作権侵害に関与してることになる。これは、従業員が上司の指示でそうするのと同じこと。だから、上司や会社が著作権侵害に責任を負うことになるし、著作権侵害の製品を作ったのが自分じゃなくても、配布する責任は変わらないよ。
彼が見たかどうかはあまり関係ないと思う。私の意見では、コードを見たからといって、表現要素をコピーしない限り、何かを再実装するのは法的に有効だと思う。それに、ソースコードを参照にして再実装するのも倫理的には問題ないと思う。ただし、正確な翻訳にならない限りね。
APIにだけこだわって実装を無視すると、もうミッキーマウスじゃなくてただのネズミになっちゃうよ。もし単なるクローンなら、50倍も速くはならないはず。でも、APIは著作権の対象になり得るみたいだね。私は一般的にはこれに反対だけど、PC互換機が普及したのは、消費者により良い選択肢を提供したからなんだ。
ブランシャールがこれを言った実際の引用を誰か見つけられる?私の理解では、彼の主張はクロードが書いている間に既存のソースコードを見ていなかったということだったんだけど。
これって赤いヘリングじゃない?APIの定義はGoogle対Oracleの下でフェアユースだけど、テストスイートは確実に著作権のあるコードだよね!
もし生成AIの出力は単に著作権の対象にならないと言ったらどうなる?AIが出すものは、既存の作品の権利を直接侵害しない限り、自動的にパブリックドメインになる。これによって、AIのリライトで再ライセンスするのがほぼ不可能になると思う。真にパブリックドメインに移行することが目的でない限りね。これによって、公共データで訓練されながら公共に何も価値を返さないという倫理的な問題にも少しは役立つと思うし、利益のために粗悪なものを生産することを抑制することにもつながるんじゃないかな。
オラクルはGoogleとの間でJava APIについて法廷で争ったことがあるね。APIの再実装は著作権侵害なしにできるけど、オラクルは発見段階で本当の侵害を見つけようとしたに違いない。この場合、新しいchardetがクリーンな再実装であることを理論的に証明できる。ブランチャードは再実装に必要なプロンプトをすべて提供できるし、トークンのコストで誰でも結果を再現できる。
>「ただ無心でそのキャンバスにペンキを投げつけたら、ミッキーマウスの形になったから、私のミッキーマウスの知識を使わずに作ったから著作権侵害にはならない」って言ってるようなもんだよね。私は法律の専門家じゃないけど、その例えは通用しないと思う。ミッキーマウスは商標だから、どうやって作られたかは関係ないんだよ。
企業の世界では、セキュリティが承認しないツールにアクセスするために再実装を使い始めたんだ。セキュリティはデフォルトで拒否する方針だし、エンジニアリングは「もっとAIを使おう」って方針。社内で書かれたコードはデフォルトで受け入れられる。これがどうなるかは分かるよね。セキュリティが承認しないツールを再実装するためにAIを使ってきた。インセンティブが最悪の結果を生んでしまったけど、今ここにいる。違う結果が欲しいなら、違うインセンティブを作らなきゃ。
「発明されていない」ってやつだね。完全な抗生物質耐性に向けた長くて遅い変異的進化が進行中だ。さらに根本的な企業と認知の不協和音もある。もし「AI」が安くて十分に良いなら、`git init`からセキュリティ関連のソフトウェアを繰り返し実装できるのに、どうしてサードパーティのソフトウェアのセキュリティを内部導入と同じペースで評価・承認するのには十分に安くて良くないの?LLMの生産に対する影響力が、既存のコードの分析に対する影響力とは違うと信じる根拠はあるの?
ブランチャードが新しいchardetの実装に実質的に関与していなかった(つまり「クロードがやった」)と主張しているなら、その新しい実装は機械生成のもので、アメリカでは著作権が認められないからライセンスもできない。もし彼がコードを著作権化するために「十分に」関与していたと主張するなら、彼自身が以前のLGPL実装に詳しいため、新しいものはほぼ間違いなく元の派生物になる。
> 彼自身が以前のLGPL実装に詳しいため、新しいものはほぼ間違いなく元の派生物になる。「クリーンルームリライト」は訴訟に対する完全無欠の盾を持つための極端な方法に過ぎない。それをしないからといって、彼が以前のコードの動作を見ただけで書いた新しいコードが自動的に派生物になるわけじゃない。
私にとって本当に興味深いのは、これが著作権を超えて知的財産の概念全体を解体するのかどうかってこと。すべては創造性が「難しい」という前提に基づいているけど、LLMは単にソフトウェアを書くわけじゃなくて、知識創造エンジンとして完全に一般的に機能するように急速に設計されている:数学の証明を解いたり、薬を設計したり。だから、「難しく」なくなったら、知的財産ってそもそも意味あるの? 最初にほとんど投資が必要なかったものに独占権を与える理由は何? たとえ著作権法が残っていたとしても、特許のように:それはAIが特許を回避するために考慮しなければならない入力パラメータになるだけだ。
> つまり、「ハード」じゃなくなったら、知的財産って意味あるの?最初にほとんど投資がいらなかったものに独占権を与える理由って何なの?たとえ知的財産法が残っていても、特許みたいなものは、AIが特許を回避するための制約の一つになるだけだと思う。実際、今の法律状況では、AIの出力は知的財産保護の対象にはならない(少なくともかなりの人間の修正がない限り)。知的財産保護は人間の作品のためだけにある。それでいいと思う。人が努力したなら、その作品を大企業が無料で盗むことができないように保護されるべきだよね。そうじゃなきゃ、LLMなんて誰が気にするの?
心配しなくていいよ。裁判所は著作権について常に大企業側に立ってるから。アメリカでも、ヨーロッパでも、関係ない。企業が自社製品にGPLコードを組み込んだ?裁判所は一度も著作権を守る決定を下したことがない。HPは何度もやったし、マイクロソフトも捕まった。でも、GPLは彼らの製品には適用されなかった。毎回、言い訳があったんだよね。学校の子供が映画をダウンロードしたら?違反ごとに30,000ドルプラス武装警官が押しかけて映画を取り除く。ここでの話題も同じ。OpenAIが著作権を侵害して訓練したとき、AIの訓練はフェアユースとは見なされなかった。AnthropicやGoogle、マイクロソフトも同様。彼らはChatGPTのモデルにハリー・ポッターやLinuxカーネルを組み込んだ。否定できないよ、文字通り。だから、今は変わったとしても、OpenAIは2020年までのすべての活動に対して訓練セットやコード、モデルを動かすために必要なものを再配布するよう強制されるべきだ。言うまでもなく…裁判所はそれを適用することを拒否した。だから「法律」を適用するだけでしょ。AIを使って「GPLを取り除く」っていう裁判所の判断?承認された。AIを使って「次のディズニースタイルの映画を作る」?軍隊を送れ!どちらが合理的な人々の法律を違反しているかなんて、そんな議論を避けるための言い訳はなんでもいいんだ。
知的財産が崩壊するかもしれないけど、それがフェアな方法とは限らない。資本主義が始まったとき、公有地が囲い込まれて私有財産が作られた。多くの場合、これは非常に不公平なプロセスだったけど、私たちはこの取り決めを尊重している。AIでも似たようなプロセスが起こっていて、公開されている情報がモデルの所有者によって囲い込まれている。おそらく、モデルの所有権という形で「残存的」知的財産が生まれ、みんながそれを使うために家賃を払うことになるだろう。実際、企業は自社のLLMのバージョンだけに情報を制限するようになるかもしれない。その情報にアクセスするためには、そのAIを使わなければならない。例えば、製品のドキュメントやデータシートは、彼らのAIに話しかけることでしか入手できなくなる。
LLMが発見プロセスに使われたかどうかに関係なく、薬の特許には何も変わらない。
創造的な成果をn次元の「ボリューム」として考えると、AIの表現は多くの分野で人間よりも広がりを持っているよね。具体的には、芸術スタイルや音楽スタイルなんかがそう。正直なところ、誰もがモーツァルトになれるわけじゃないけど、AIを使えば「モーツァルトライト」になれるかもしれない。これって、創造性のどれくらいが共有された体験として評価されるのかっていう疑問を呼ぶよね。
逆のことをずっと考えてた。知的財産法は、創造性を維持するために作られたもので、だからエリートがコントロールできるようにしてるんだ。特許は、農民が都市の製品を作り始めて、ギルドの秘密を脅かすときに登場した。著作権は印刷機が聖書のコピーや翻訳を簡単にして、誰でもアクセスできるようになったときに生まれた。(商標はこの見方には合わないけど、特に害があるとも思わない)「芸術を守るため」と「商業秘密の時限」を設けるのは、昔の「子供を守るため」と同じで、実際の結果をあまり考えない人を混乱させる方法だった。つまり、知的財産の未来は、権力者が自分たちの後ろに梯子を引き上げることを許すものに依存している。長期的には、著作権の拡大や厳しい執行が予想される。AIによるクローンが簡単になって、現状を脅かすからね。
ここで欠けてるのは、ライセンス違反がすでに起こってるってことだと思う。ほとんどの大きなモデルは、利用規約に違反する形でデータを使って訓練されてる。裁判が必要になるだろうけど、GPLコードで訓練されたモデルはオープンライセンスの要件があると考えるのは非常に妥当だと思う。
裁判が必要だと思う。今の議論は、変革的だからフェアユースに該当するってことだよね。
そうであればいいと思うかもしれないけど、そうじゃないっていう強い主張があるんだ。コピーレフトライセンスのコードで訓練することはライセンス違反じゃない。誰かがそれを読むのと同じくらい。著作権の観点から見ると、極端な変革的使用で著作権が適用されなくなる。フェアユースだよ。でも、裁判でそれを確認するのを待ってるのは同意する。実際、裁判の主な質問はフェアユースの原則そのものや訓練が十分に変革的かどうか(明らかにそうだけど)ではなく、具体的な点に関するものだと思う。1) 著作権で保護された資料は合法的に取得されたか(ここでは該当しない)、2) LLMは常にユニークな表現を提供しているか(例えば、本やライブラリをそのまま再現していないか)。この特定のケースでは、新しい実装が98.7%ユニークであることが確認された。
記事から: > 彼はClaudeにAPIとテストスイートだけを与えて、ライブラリをゼロから再実装するように頼んだ。GPL2から: > 作品のソースコードとは、その作品を修正するための好ましい形を意味する。実行可能な作品の場合、完全なソースコードとは、それが含むすべてのモジュールのソースコード、関連するインターフェース定義ファイル、実行可能ファイルのコンパイルとインストールを制御するためのスクリプトを含む。プロジェクトのテストスイートはそのソースコードの一部とは見なされないの?もしテストスイートがこのライブラリのソースコードの一部で、Claudeにテストスイートやインターフェース定義ファイルが与えられたなら、その出力はLGPL 2.1の条件の下でライブラリに基づく作品とは見なされないの?
Google対Oracleの判決では、APIの使用は公正なものであるとされていて、テストケースはAPIの使用に過ぎず、実装ではないと主張できるかもしれない。
それは変革的だから、違うね。法的には、テストを使って再実装を手助けするのは問題ない。ただ、MITライセンスの下で同じテストを再配布できない可能性があるみたい。だから、再実装のMIT配布はソースコードのみで、ソースコードとテストの両方ではダメかも。あるいは、テストは並行して配布できるけど、LGPLの下であってMITではないかもしれない。結局、コンパイルされたソフトウェアにはテストが含まれないから、あんまり関係ないけどね。
誰かこれを試してみるべきだよ。最近漏れたMinecraftのソースコードを使って、Copilotに別のプログラミング言語で正確なレプリカを作らせて、それをオープンソースとして公開するんだ。MicrosoftがAIの著作権侵害だと思うかどうかを見てみよう。
私はこの問題に対抗する鍵はまさにこの方法だと思ってる。ツールを彼らに対して使うんだ。
デザイン特許にぶつかるかもしれないよ。
大きな疑問は、著作権で保護された素材がトレーニング素材に使われた場合、LLMの出力がそのトレーニング素材に似ているときに著作権侵害になるのかってことだね。君の例では、著作権で保護された素材をLLMに入力として与えて、処理させてるわけだから。法的な結果がどうなるかは別として、これはあまり曖昧じゃないシナリオだよね。
言われている通り、これは同じことじゃないよね。AIがソースを見て、それをそのまま移植するなら、それは多分侵害になる。代わりに「Minecraftをゼロから作る」ってアイデアがいいと思うけど、動作やグラフィックはそのまま同じにする感じで。テクスチャやモデルをそのまま使うわけにはいかないから、AIにアセットを生成させる必要があるよ。
うわ、なんかこの議論で脳みそがリワイヤリングされた気がする。最初にchardetの件を読んだときは、悩んだけど法律的には許可されてる方に傾いてた。正直、vibersを責めるのは難しかったな。心の底ではリベラルなんだろうね。コモンズからの議論は、公共の利益の本質的な道徳に対する信念を呼び起こしてくれた。何かが「許されない」と聞くと悪い印象を受けるけど、そうじゃないと公共の知識の矢印が逆向きになっちゃうことに気づく。実際にこの例が現実で展開されるのを見て、以前のBSD寄りの考え方に影響を与えた。議論自体は前に出ていたかもしれないけど、今はGPLライセンスのテキストが支えている道徳をよりよく理解できるようになったよ。
この記事の主旨には賛成だな。法律で定められた最低限を超えて、私たちが良いと感じる基準や望ましいものはかなり広がっていると思う。ただ、もっと強調されるべきポイントがあって、それはこのことがあらゆる方向に向かうってこと。もしこの種の再実装が合法なら、オープンソースソフトウェアを取り込んで、プロプライエタリに再構築することができる。プロプライエタリソフトウェアを取り込んで、オープンソースに再構築することもできるし、プロプライエタリソフトウェアを自分のものとして再構築することもできる。法律が追いついて、この種の行動を防ぐ必要があるか、さもなくばソフトウェアに関して実質的に著作権のない世界に入ってしまう。これは良くないよ。そうなると、オープンライセンスのインセンティブがなくなって、企業は自社のAPIを企業秘密のように保護したり、隠したりし始めるだろう。
一方向にしか進まない。企業はオープンソースソフトウェアを取り込んで、プロプライエタリな再実装を作ることができる。でも、プロプライエタリソフトウェアを取り込んで、オープンソースのGPLバージョンを作ることはできない。もし試みたら、絶対に訴えられると思うよ。でも、大企業がオープンソースを台無しにすることは、もうニュースにもならない。実際、LLMがたくさんのGPLやAGPL、あるいはライセンスなしのソフトウェアでトレーニングされているにもかかわらず、プロプライエタリプロジェクトでLLMのコードを使うことが許されているのは、その一例だと(今でも)思ってる。