概要
- EDG のC++フロントエンドが 2026年9月30日 にオープンソース化
- The C++ Alliance が新たな非営利の受け皿として運営開始
- コミュニティによる 貢献・保守・資金調達 の3本柱で運営
- コードベースは 完全公開、誰でも貢献可能
- ユーザー参加 ・意見反映がプロジェクト継続の鍵
EDGオープンソース化の概要
- EDG のC++フロントエンドが 2026年9月30日 にオープンソースとして公開
- The C++ Alliance が新たな非営利の運営母体として選定
- エンジン・標準・主要担当者 は従来通りの継続体制
- 運営形態と資金調達 が変更され、コミュニティ主導へ移行
- 継続性 と 透明性 を重視したプロジェクト運営
EDGの歴史
- 30年以上 にわたり業界標準のC++フロントエンドとして活躍
- 唯一の本格的なソース・トゥ・ソースエンジン として評価
- 数多くの コンパイラやツール の基盤技術
- EDGの創設者・開発者 による技術的なリーダーシップ
- 歴史的なマイルストーンや利用事例の蓄積
オープンソース化後のEDG
- 2026年9月30日以降、ソースコードが GitHub で完全公開
- 専門的な保守 と 開発の継続 が課題
- 新たな運営体制に必要な3要素
- 財政的支援 :寄付の受け入れ・管理
- 技術的継続性 :高品質なエンジニアリングの維持
- C++コンパイラの専門知識 :内部からの知見
The C++ Allianceの役割
- 非営利団体 としてEDGの財政的・技術的な受け皿
- Boost C++ Libraries の財政支援実績
- LLVMコミッター やC++標準化コミュニティとの強い繋がり
- 透明性レポート の公開による信頼性確保
運営の仕組み
- オープンソースプロジェクト としての標準的な開発運営
- 3つのトラックにより開発が進行
- トラック1:コミュニティ貢献
- バグ修正や新機能をユーザーがプルリクエストで提案
- 初期は経験豊富なEDG開発者がレビュー・マージ
- トラック2:継続的保守
- The C++ AllianceのEDG開発者による即時公開の保守作業
- トラック3:共同資金による機能開発
- 大規模機能はコミュニティから資金を募り開発
- 資金提供者以外も同時に成果物を利用可能
- トラック1:コミュニティ貢献
- 単一のリポジトリ で全ての変更を即時公開
- 早期アクセスなし、すべてのユーザーが平等に利用
運営監督体制
- Fiscal Sponsorship Committee (FSC) が全トラックを監督
- John Spicer が議長として指名
- EDGユーザーコミュニティ からのボランティアも参加
- 貢献のレビュー・マージや保守・新機能の優先順位策定を担当
変更点と不変点
| 項目 | 従来のライセンスモデル | オープンソースモデル | |-------------------|---------------------------|------------------------------| | ソースコード | ライセンス下で非公開 | GitHubで完全公開 | | 資金調達 | 年間ライセンス料 | コミュニティからの寄付 | | 開発体制 | EDGチーム | The C++ Alliance+ユーザー貢献| | 主要窓口 | John Spicer | John Spicer(FSC議長) | | ロックイン | 該当なし | なし(いつでも退出可能) |
コミュニティ参加方法
- John Spicer が移行プロセスをリード、ユーザーの質問に対応
- FSC構成や開発優先度 に関するユーザーからの意見を歓迎
- GitHub(github.com/edgcpp/compiler) にてバグ修正や新機能のプルリクエストを受付
- CppLang Slack でリアルタイムの議論が可能(#edgcppチャンネル)
- GitHubのウォッチ で最新の開発状況を随時確認可能
参考リンク
- EDG公式GitHubリポジトリ :https://github.com/edgcpp/compiler
お知らせ: https://edgcpp.org/#transition ソースコード自体: https://github.com/edgcpp/compiler ドキュメント: https://edgcpp.org/doc/ そして、気になるライセンス SPDX は: Apache-2.0 WITH LLVM-exception つまり - https://spdx.org/licenses/Apache-2.0.html - https://spdx.org/licenses/LLVM-exception.html