내 회사 (Acme Technology라고 함)에는 Acme Labs 연구 그룹에서 유래 한 약 1,000 개의 소스 파일 라이브러리가 있으며 개발 그룹에서 몇 년 동안 인큐베이션되었으며 최근에는 소수의 고객에게 제공되었습니다. 비공개. Acme는 코드의 75 %를 오픈 소스 커뮤니티에 공개 할 준비를하고 있습니다. 나머지 25 %는 나중에 출시되지만 현재는 고객이 사용할 준비가되지 않았거나 미래의 혁신과 관련된 코드를 포함하여 경쟁 업체의 손에 닿지 않아야합니다.
이 코드는 현재 #ifdef로 포맷되어 있으며, 동일한 코드 기반이 사전 제작 플랫폼에서 작동 할 수있게되며, 동시에 오픈 소스에 들어가면 대학 연구원 및 훨씬 광범위한 상업 고객이 이용할 수 있습니다. 미래 플랫폼과의 실험 및 프로토 타입 제작 및 호환성 테스트에 사용할 수 있습니다. 단일 코드 기반을 유지하는 것은 두 사본을 병렬로 유지 관리하는 데 어려움을 겪는 우리 그룹의 경제 및 정신에 필수적입니다.
현재 기본 파일은 다음과 같습니다.
> // 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을 사용하는 곳에서 호스팅 될 수 있습니다. 개선 사항을 오픈 소스 버전과 효율적으로 다시 통합 할 수 있도록 리포지토리를 안전하게 연결하는 방법이 있습니까? 다른 함정에 대한 조언을 환영합니다.