私の会社(Acme Technologyと呼びます)には、元々Acme Labsの研究グループから来た数千のソースファイルのライブラリがあり、開発グループで数年間インキュベートされ、最近では少数の顧客に提供されています非開示。Acmeは、おそらくコードの75%をオープンソースコミュニティにリリースする準備をしています。他の25%は後でリリースされますが、現在のところ、顧客が使用する準備ができていないか、競合他社の手に渡らないようにする必要がある将来のイノベーションに関連するコードが含まれています。
現在、コードは#ifdefsでフォーマットされており、同じコードベースを、大学の研究者やはるかに広範な商業顧客がオープンソースに移行する前に利用できるプリプロダクションプラットフォームと連携することができます。実験とプロトタイピング、および将来のプラットフォームとの前方互換性テストに利用できます。単一のコードベースを維持することは、2つのコピーを並行して維持するのが困難な私のグループの経済性(および健全性)にとって不可欠であると考えられています。
現在のベースのファイルは次のようになります。
> // Copyright 2012 (C) Acme Technology, All Rights Reserved.
> // Very large, often varied and restrictive copyright license in English and French,
> // sometimes also embedded in make files and shell scripts with varied
> // comment styles.
>
>
> ... Usual header stuff...
>
> void initTechnologyLibrary() {
> nuiInterface(on);
> #ifdef UNDER_RESEARCH
> holographicVisualization(on);
> #endif
> }
そして、次のようなものに変換したいと思います。
> // GPL Copyright (C) Acme Technology Labs 2012, Some rights reserved.
> // Acme appreciates your interest in its technology, please contact xyz@acme.com
> // for technical support, and www.acme.com/emergingTech for updates and RSS feed.
>
> ... Usual header stuff...
>
> void initTechnologyLibrary() {
> nuiInterface(on);
> }
著作権を置き換え、#ifdefだけでなく#if defined(UNDER_RESEARCH)などのバリエーションを取り除くことができるツール、解析ライブラリ、または一般的なスクリプトはありますか?
コードは現在Gitにあり、Gitを使用する場所でホストされる可能性があります。リポジトリを安全にリンクして、オープンソースバージョンでの改善を効率的に再統合する方法はありますか?他の落とし穴についてのアドバイスは大歓迎です。