บริษัท ของฉัน (เรียกพวกเขาว่า Acme Technology) มีห้องสมุดประมาณหนึ่งพันไฟล์ต้นฉบับซึ่งเดิมมาจากกลุ่มการวิจัยของ Acme Labs ซึ่งได้รับการบ่มเพาะในกลุ่มพัฒนาสองสามปีที่ผ่านมาและได้มอบให้กับลูกค้าภายใต้ ไม่เปิดเผย. แอคพร้อมที่จะเปิดตัวโค้ด 75% ให้กับชุมชนโอเพนซอร์ส อีก 25% จะเปิดตัวในภายหลัง แต่สำหรับตอนนี้ยังไม่พร้อมสำหรับการใช้งานของลูกค้าหรือมีรหัสที่เกี่ยวข้องกับนวัตกรรมในอนาคตที่พวกเขาต้องการให้พ้นจากคู่แข่ง
ปัจจุบันรหัสนี้ได้รับการจัดรูปแบบด้วย #ifdefs ที่อนุญาตให้ใช้รหัสฐานเดียวกันเพื่อทำงานกับแพลตฟอร์มการผลิตล่วงหน้าที่จะมีให้สำหรับนักวิจัยมหาวิทยาลัยและลูกค้าเชิงพาณิชย์ในวงกว้างมากขึ้นเมื่อมันเปิดแหล่งที่มาขณะที่ในเวลาเดียวกัน พร้อมสำหรับการทดลองและการสร้างต้นแบบและการทดสอบความเข้ากันได้กับแพลตฟอร์มในอนาคต การรักษาฐานรหัสเดียวถือเป็นสิ่งจำเป็นสำหรับเศรษฐศาสตร์ (และความมีสติ) ของกลุ่มของฉันซึ่งจะมีช่วงเวลาที่ยากลำบากในการรักษาสำเนาสองชุดในแบบคู่ขนาน
ไฟล์ในฐานปัจจุบันของเรามีลักษณะดังนี้:
> // 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);
> }
มีเครื่องมือแยกวิเคราะห์ไลบรารีหรือสคริปต์ยอดนิยมที่สามารถแทนที่ลิขสิทธิ์และตัดทอนไม่ได้เป็นเพียง #ifdefs เท่านั้น แต่ยังมีรูปแบบต่างๆเช่น #if ที่กำหนดไว้ (UNDER_RESEARCH) หรือไม่?
รหัสนี้อยู่ใน Git และน่าจะโฮสต์อยู่ที่ไหนสักแห่งที่ใช้ Git จะมีวิธีเชื่อมโยงที่เก็บข้อมูลอย่างปลอดภัยเข้าด้วยกันหรือไม่ คำแนะนำเกี่ยวกับข้อผิดพลาดอื่น ๆ ยินดีต้อนรับ