Perusahaan saya (sebut saja Acme Technology) memiliki perpustakaan sekitar seribu file sumber yang awalnya berasal dari grup riset Acme Labs, diinkubasi dalam grup pengembangan selama beberapa tahun, dan baru-baru ini diberikan kepada beberapa pelanggan di bawah tanpa pengungkapan. Acme bersiap-siap untuk melepaskan mungkin 75% dari kode ke komunitas open source. 25% lainnya akan dirilis nanti, tetapi untuk saat ini, tidak siap untuk digunakan pelanggan atau berisi kode yang terkait dengan inovasi masa depan yang mereka butuhkan untuk tetap berada di luar tangan para pesaing.
Kode saat ini diformat dengan #ifdefs yang memungkinkan basis kode yang sama untuk bekerja dengan platform pra-produksi yang akan tersedia untuk para peneliti universitas dan berbagai pelanggan komersial yang jauh lebih luas begitu masuk ke open source, sementara pada saat yang sama menjadi tersedia untuk eksperimen dan pembuatan prototipe serta pengujian kompatibilitas maju dengan platform masa depan. Mempertahankan basis kode tunggal dianggap penting untuk ekonomi (dan kewarasan) grup saya yang akan mengalami kesulitan mempertahankan dua salinan secara paralel.
File di basis kami saat ini terlihat seperti ini:
> // 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
> }
Dan kami ingin mengubahnya menjadi seperti:
> // 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);
> }
Apakah ada alat, parse library, atau skrip populer yang dapat menggantikan hak cipta dan menghapus tidak hanya #ifdefs, tetapi variasi seperti #jika ditentukan (UNDER_RESEARCH), dll.?
Kode saat ini di Git dan kemungkinan akan di-host di suatu tempat yang menggunakan Git. Akankah ada cara untuk menautkan repositori dengan aman bersama sehingga kita dapat mengintegrasikan kembali perbaikan kami dengan versi open source secara efisien? Saran tentang perangkap lain dipersilahkan.