Bu sizin için çok geç olabilir, çünkü bunu yapmak için sözleşmeye bağlı olarak anlaşmış olabilirsiniz ve farklı müşterilerle karşılıklı olarak uyumsuz şartlar kabul etmiş olabilirsiniz.
Müşterilerinize kaynak kodunuzu vermenin iki yolu vardır. Telif hakkı ve lisanslı mülkiyeti.
Bazı müşteriler kaynak kodunun sahipliğini isteyeceklerdir. Bu, işlemin sonunda size para ödeyecekleri ve karşılığında kendileri için oluşturduğunuz kodun telif haklarını vereceğiniz anlamına gelir. Bunun bir nedeni, fikri mülkiyet hakları için kaynak kodunda önemli bir potansiyel görmeleri ve bunu şirket bilançosunda değerlendirebilir olmalarıdır. Bu senaryoda, müşteriden size bu hakkı veren bir lisans almadığınız sürece, bu kaynak kodun diğer projeler için kullanılmaya devam etme hakkına sahip olmayacaksınız.
Müşteriniz kendinizden 'raf dışı' bir ürün satın alıyorsa, kaynak kodun mülkiyeti yerine yazılımı kullanmak için bir lisans almayı beklerler. Aynı (ya da benzer) yazılımı diğer birçok kuruluşa satmanızı ve daha geniş müşteri tabanı nedeniyle daha düşük bir satın alma maliyetinden faydalanmayı umduğunu umuyor olmalılar.
Bununla birlikte, bu sorudaki durum ikisinin karmasıdır.
İşte yapabilmek istediğim şey. Müşterinize, paylaşılan kodunuzu kullanması (ve değiştirmesi) için bir lisans veririm. Müşteri tarafından test edildiyse, bunun birden fazla projede kullanmış olduğunuz ve bu işi kullanmaya devam ettiğinize dayanan gelecekteki işler için geçerli teklifleri bulunduğunu paylaşılan kodun olduğunu belirtirim. Bunun, müşteriniz için bu projeye daha az zaman harcadığını ve bunun sonucunda daha düşük bir fiyat ödediklerini belirtiniz. Proje tarafından kullanılan diğer paylaşılan kod kütüphaneleri gibi, bu kodu kullanma ve diğer geliştirme ekiplerinin bunu ve bu kütüphaneye dayanan diğer projeleri geliştirmelerine izin verecek bir lisansları vardır. Bununla birlikte, tüm kodun sahipliğini tercih ederlerse, yeni bir değişiklik oluşturmaya istekli olursunuz, ancak bu ek bir masraf olur.
Önceden kendinize taahhüt etmiş olduğunuza bağlı olarak, ücretsiz bir değiştirme işlevi yazmak veya kaynak kodunuzu vermek zorunda kalabilirsiniz.
Unutma, farklı kütüphane türleri var. C ++ 'ta bulunan Standart Şablon Kütüphanesi, kaynak kod seviyesine dahil olan ve genel kodunuzu nasıl kullandığınıza çok benzeyen bir proje çalıştırılabilir dosyasında derlenen iyi bir kütüphane örneğidir.