01なぜこれを調べたか
私たちは、日本語マネージドで売れるOSSを探していました。狙いは「非エンジニアが買い手の、業種特化のOSS」です。エンジニアが買い手だと、自前で建てられてしまうので、マネージドが売れないからです(この理屈は評価手順の記事に書きました)。
ところが、探しても探しても見つからない。「業種OSSはGitHubにほとんど存在しないのだ」と結論しかけました。その結論が、間違いでした。
02フィルタが結論を作っていた
私たちは、GitHubのトピックを業種名で回すとき、いつも stars:>300 を付けていました。ノイズを減らすためです。これが致命的でした。
同じトピックを、フィルタありとなしで比べると、はっきり分かります(2026-07-20 に GitHub API で実測)。
| トピック | stars:>300 あり | フィルタなし |
|---|---|---|
field-service | 0件 | 99件 |
compliance-management | 0件 | 14件 |
winery(ワイナリー) | 0件 | 19件 |
driving-school(自動車教習) | 0件 | 21件 |
visitor-management | 1件(411★) | 60件 |
だから
stars:>300 で残るのは、定義上「エンジニアが星を付けた=エンジニア向け」に偏ります。「非エンジニア向けが見つからない」のは当たり前でした。フィルタがそう仕向けていたのですから。03トピック検索は「意味」を理解しない
もう一つの誤解は、「トピックで絞れば、そのカテゴリのものが正確に取れる」という思い込みでした。2つの意味で間違っていました。
Repository admins can add any topics they'd like to a repository. GitHub Docs「Classifying your repository with topics」
そして、ヒットしたトピックも、中身は思ったより多様でした。access-control を例に、実際に上位を見てみます。
topic:access-control の中身(star降順・2026-07-20 実測)esprfid/esp-rfid)まで混在していました。「access-control」という語が、ソフトの認可と物理の入退室を同居させているのです。access-control は33件で全てCasbin系の認可ライブラリトピック検索は、語の曖昧さを解決しません。「access-control」で認可ライブラリを探しているつもりが、物理の入退室装置も一緒に釣れる。これは、フィルタで件数を絞る以前の問題です。
in:name,description,readme の全文検索は、さらにノイズが多くなります。GitHub公式ドキュメントで言えるのは「READMEに言及があればマッチする」までで、「その語が主題かどうか」は判定してくれません(公式に「意味を理解する」という記述はありません)。依存関係の記載・バッジ・比較表・awesomeリストでもマッチするので、目的のカテゴリとは無関係のものが大量に混ざります。
04本物の業種OSSは、AGPLに寄る
フィルタを外して業種OSSがようやく見えてきたとき、もう一つ気づいたことがあります。本物の業種特化OSSは、ライセンスがAGPLに寄っているのです。
| 領域 | 該当(★300以上) | ライセンス |
|---|---|---|
| CMMS(設備保全) | Grashjs/cmms(唯一の1件) | AGPL-3.0 |
| フリート管理 | fleetbase/fleetbase | AGPL-3.0 |
openremote/openremote | 実体はAGPL(API表示はNOASSERTION) |
つまりAGPLが多い領域は、「商用ホスティング需要があるから、上流が先回りして守っている」領域だと読めます。私たちのようにパーミッシブなライセンスを前提にする事業とは、構造的に相性が悪い。業種OSSが見つかっても、その多くは最初から閉じられていました。
openremote/openremote は、GitHub APIのライセンス欄が NOASSERTION ですが、LICENSE本文はAGPLv3です。API表示を鵜呑みにすると、業種OSSのAGPLを見落とします。ここでも本文を読むしかありません(別記事で詳しく)。
05探し方をどう変えるべきか
この失敗から、探索の方法を変えました。
- ★の閾値を下げる(50〜100)業種OSSはその帯にいる。★300は「エンジニア向け」を選ぶフィルタだった
- GitHub以外も見るSourceForge・欧州の公共調達OSS・自治体のOSSカタログ。スター文化の外に業種OSSがある
- 0件を「存在しない」と読まないトピック未付与・語の曖昧さ・フィルタを疑う。まず自分の道具を点検する
- ライセンスは本文を読むAPI表示・SPDX・READMEを信用しない。業種OSSはAGPLが多い前提で見る
データ・出典(GitHub API 実測・2026-07-20)
- 件数の実測:
https://api.github.com/search/repositories?q=topic:<トピック>+stars:>300+archived:falseと、フィルタなしの比較。access-controlはsort=starsで上位を確認(総数約1,964件・1位hasura/graphql-engine・Casbinファミリー7件・esprfid/esp-rfid混在)。star数は日々変動するため、本記事の数値は2026-07-20取得の実測です。 - GitHub Docs「Classifying your repository with topics」(「Repository admins can add any topics they'd like to a repository.」)
- GitHub Docs「Searching for repositories」(
in:readmeは「mentioning」までしか保証しない=主題判定はしない) - 業種OSSのライセンス:
topic:cmms stars:>300(該当1件Grashjs/cmms・AGPL-3.0)/topic:fleet-management stars:>300(fleetbase/fleetbaseAGPL-3.0 ほか)。openremote/openremoteは API が NOASSERTION、LICENSE.txt 本文はAGPLv3