G.state
PHASE: ACTIVE — 383K COMMENTS COLLECTED

LEGACY
CODE
ARCHIVE

古いコードは骨董品。絡まった歴史が、今ようやく面白くなる。

Software Antiques Collection — Where tangled history finally gets interesting.

the light is on. come in.

SCROLL
// TODO: fix this before release (2003-04-12) · /* HACK: temporary workaround for IE6 */ · # FIXME: this will break in Y2K · REM KLUDGE: don't ask why this works · /* DANGER: This routine does not work well. */ · // I like tacos. · /* WTF: This value is specific to the Bradley */ · // TODO: fix this before release (2003-04-12) · /* HACK: temporary workaround for IE6 */ · # FIXME: this will break in Y2K · REM KLUDGE: don't ask why this works · /* DANGER: This routine does not work well. */ · // I like tacos. · /* WTF: This value is specific to the Bradley */ · // TODO: fix this before release (2003-04-12) · /* HACK: temporary workaround for IE6 */ · # FIXME: this will break in Y2K · REM KLUDGE: don't ask why this works · /* DANGER: This routine does not work well. */ · // I like tacos. · /* WTF: This value is specific to the Bradley */ ·
01

PUBLISHED WORKS

公開済みの成果物

#001C + Lua2002PUBLISHED

20年前のローグライクに埋め込まれたLua 5.0を発掘した話

READ ON NOTE.COM →

#002C1979COMING SOON

米陸軍が40年間メンテし続けたCコードに「DANGER: 正しく動かない」と書いてあった話

03

WHAT IS THIS

90 年代以前のソースコードは、AI が登場するはるか前に書かれた ソフトウェアの骨董品。

誰かが手作業で打ち込み、動かし、放置し、忘れられたもの。 死蔵プラットフォームに眠るそれらを、消える前に収集し、 創造的な使い方を探る。

“Clean OSS is edited literature. Legacy code is field recordings.”
◉

まず集める

消える前に、静かに

◈

面白い使い方を探す

創造的に、制約なく

◇

答えはあとから

読み解く時間そのものが価値

04

INTERESTING NUMBERS

実績データ

383K

comments extracted

12 repositories

12

repositories scanned

8 languages

1978

oldest code found

BRL-CAD vectfont.c

198

HACK + KLUDGE tags

BRL-CAD alone

350

“oops” comments

in US Army CAD code

8

emotions detected

frustration to humor

478

Japanese comments

incl. 442 hengband-lua

17.7K

tagged comments

14 tag types

05

COLLECTION SOURCES

AGoogle Code Archive1.4M projects2006 - 2015PRIORITY
ACodePlex Archive108K repos2006 - 2017ARCHIVED
ASourceForge~500K projects1999 - presentACTIVE
BGitHub AbandonedMillions2008 - presentFILTERING
CAcademic Code∞ (74% broken)VariousRICH SPAGHETTI
DGovernment OSS17K+VariousPUBLIC DOMAIN
ERetro / DemosceneCultural heritage1980s - 2000sHISTORICAL
06

WHAT WE'VE DONE + WHAT'S NEXT

集めて、読み解いて、伝える。

01

TODO Archaeology

383,418件のコメントを8言語・12リポジトリから抽出。感情分析・タグ検出パイプラインを構築。

DONE383K COMMENTS
02

Code Appraisal Reports

鑑定書シリーズ。#001 変愚蛮怒 Lua 公開済み、#002 BRL-CAD 準備中。月2本ペースで制作。

IN PROGRESS2 PUBLISHED
03

Legacy Code Museum

コメントをインタラクティブに探索するWebアプリ。鑑定人 vs AI、クイズ、ランダム発掘。

DONEDEPLOYED
04

Language Conversion

8言語の変換プロジェクト完了。COBOL, RPG, PL/I, VB6, MUMPS, Fortran → Python/React。

DONE8 LANGUAGES
05

Code Sonification

古いコードのリズムや構造を音楽に変換。レガシーの「音」を聴く。

NEXT
06

Legacy Whisperer

きれいなコードしか知らない AI に汚いコードを食わせたら?

NEXT

☙ FOUND IN: payroll_calc.c — last modified 2003-04-12

// ============================================
// FIXME: this workaround has been here since 1998
// Original author: unknown (left company in 2001)
// Last modified: 2003-04-12
// Nobody knows why removing this breaks payroll
// ============================================
if (month == 2 && day > 28) {
    day = 28; // TODO: handle leap years properly
    // HACK: just... don't deploy in February
}
// See you space cowboy...

こんなコード、眠ってませんか? 読み解くのは、わりと得意です。

07

COLLECTION PIPELINE

01

DISCOVER

API / Archive index

↓
02

CLONE

--depth 1

↓
03

EXTRACT

Metadata + cloc

↓
04

SCAN

Smells + Secrets

↓
05

STORE

Parquet + Raw

08

FAQ

よくある質問

Q01Legacy Code Archiveとは何ですか?+

消えゆく90年代以前〜2000年代のソースコードを系統的に収集・保存するソフトウェア考古学プロジェクトです。Google Code Archive、CodePlex、SourceForge等の死蔵プラットフォームに眠るコードを、消える前に収集し、創造的な使い方を探ります。

Q02どのようなコードを収集していますか?+

主にAI登場以前(Pre-AI時代)に書かれたソースコードが対象です。Google Code Archive(140万プロジェクト)、CodePlex Archive(10.8万リポジトリ)、SourceForge(約50万プロジェクト)、GitHub放棄リポジトリ、学術コード、政府公開OSS、レトロ/デモシーン(1980年代〜2000年代)などから収集しています。

Q03なぜ古いコードに価値があるのですか?+

古いコードはAIの学習データに含まれない「ソフトウェアの骨董品」です。TODOコメントには開発者の苦悩が化石のように刻まれ、コードスメルのパターンは現代のソフトウェア品質向上に活かせます。また、パラダイムの変遷を20年分のコードで追うことは、ソフトウェア工学の自然史として学術的価値もあります。

Q04収集したコードはどのように活用されますか?+

TODO Archaeology(コメントの化石記録分析)、Code Archaeology AI(コードの年代・起源推定)、Software Natural History(パラダイム変遷研究)、Before/Afterペアデータセット(リファクタリング前後の比較)、Code Sonification(コード構造の音楽化)、Legacy Whisperer(汚いコードを理解するAI訓練)など、研究・創作の両面で活用を構想しています。

Q05コードの提供や情報提供はできますか?+

はい。古いコードベースの情報提供、共同研究のご提案、収集ソースの紹介など歓迎しています。お問い合わせフォームから「Legacy Code Archive(ソフトウェア骨董品収集)」を選択してご連絡ください。公開リポジトリで明示的なライセンスがあるコードのみを対象としています。

Q06Software Heritageなど既存の取り組みとの違いは?+

Software Heritageは27B以上のソースファイルを保存する大規模アーカイブです。Legacy Code Archiveは保存だけでなく、古いコードの「創造的活用」に焦点を当てています。TODOコメントの考古学的分析やコードの音楽化など、骨董品を鑑賞し新しい価値を見出すアプローチが特徴です。

Q07レガシーコードの分析だけ依頼することはできますか?+

はい。コードベース全体の移行ではなく、既存コードの構造分析・リスク評価・ドキュメント復元といった分析のみのご依頼も受け付けています。まず現状のコードを「読む」ことから始め、移行が必要かどうかの判断材料を提供します。

Q08COBOL・VB6・Fortranなど特定の言語にも対応していますか?+

対応しています。Legacy Code Archiveの収集対象にはCOBOL(現在も世界で2,200億行が稼働)、VB6、Fortran、Perl、Delphi、Classic ASPなどが含まれます。言語の新旧を問わず、動いているコードには価値があるという立場です。

Q09レガシーシステムの移行にはどのくらいの期間がかかりますか?+

規模と複雑さによります。数千行のスクリプトなら数週間、数十万行のエンタープライズシステムなら数ヶ月〜年単位です。重要なのは一括移行(Big Bang)ではなく、段階的移行(Strangler Fig Pattern)を検討すること。既存システムを動かしたまま、少しずつ置き換えるアプローチが現実的です。

Q10レガシーコード分析にはどんなツールを使いますか?+

SonarQube(静的解析・コードスメル検出)、cloc(行数カウント・言語判定)、GitHub API(リポジトリメタデータ取得)、カスタムスクリプト(TODO/FIXME/HACKコメント抽出・感情分析)などを組み合わせて使用しています。ツールだけでなく、コードを実際に読んで文脈を理解する「人間の目」も重要です。

Q11小規模な調査から始められますか?+

はい。「まずこのリポジトリだけ見てほしい」「このモジュールの構造を把握したい」といった小規模なご相談から対応しています。お問い合わせフォームからお気軽にご連絡ください。

Q12ドキュメントが一切ないコードでも対応できますか?+

はい、むしろそれが本領です。Legacy Code Archiveの研究で培った考古学的アプローチにより、コメント・命名規則・コミット履歴・API使用パターンなどの痕跡からコードの意図と仕様を推定します。完全な復元は保証できませんが、「何もわからない」状態から「おおよその構造と意図がわかる」状態にすることが可能です。

Q13AIだけでレガシーコードを読み解くことはできないのですか?+

コードの構文解析や関数の入出力説明はAIでも可能です。しかし「なぜこのif文がここにあるのか」「このマジックナンバーは何を意味するのか」といった業務文脈の推定は、AIだけでは精度が出ません。当社はAIによる大量解析と人間の業務知識・推論力を組み合わせるアプローチを取っています。

Q14レガシーコードの移行費用はどのくらいですか?+

初期の構造分析(数十万円〜)から、大規模移行プロジェクト(数百万円〜)まで規模によります。まずは無料相談で現状をヒアリングし、分析の範囲と概算をご提示します。「まず分析だけ」という小規模なスタートも可能です。

Q15リモートでの対応は可能ですか?+

はい。コードの受け渡し・分析・報告はすべてリモートで完結できます。Git リポジトリの共有、セキュアなファイル転送、オンラインミーティングでの報告が標準的な進め方です。大阪拠点ですが、全国どこからでもご相談いただけます。

GET IN TOUCH

興味を持ったら、話しましょう。

収集や研究の話はもちろん、「このコード、何とかしてほしい」というご相談もお受けしています。

CONTACT US→

LEGACY CODE ARCHIVE

骨董品屋の主人は説明しない。

「これ、いいでしょう」と言うだけ。