Dostlar, kafayı yemek üzereyim. Uzun zamandır üzerinde çalıştığım, tamamen açık kaynak bir masaüstü uygulaması geliştiriyorum. Framework olarak da Qt'yi seçtim tabii, "cross-platform, güçlü, community'si var" diye. Meğerse en büyük belayı bu "güçlü" kısmında yiyecekmişim.
Proje büyüdükçe, "Acaba bir yerden para gelirse, Qt'nin ticari lisansına mı ihtiyacım olacak?" sorusu beynimi kemirmeye başladı. Qt'nin sitesine girip lisans sayfalarını okumaya çalışmak, GPL, LGPL, Commercial terimleri arasında kaybolmak... Kafayı yiyecektim. Sanki bir yanlış adımda, Qt Corporation'dan bir e-posta gelecek ve "Hoppala, sen ticari lisans almalısın!" diyecekler.
Özellikle LGPL v3 ile dinamik linkleme şartları kafamı allak bullak etti. "Dinamik linkleme yapıyorsun, sorun yok" diyorlar ama sonra "Ee, benim uygulamamı indirip kullanan biri, Qt kütüphanelerini de değiştirip yeniden linkleyebilecek mi?" diye düşünmeye başladım. Şaka gibi ama, açık kaynak bir projeyi ticari bir kabusa dönüştürebilecek bir belirsizlik bu.
C++:
// Kod yazarken aklımdan geçenler:
if (proje.popularity() > 1000) {
panic("Qt Commercial License gerekir mi?");
}
Araştırdım, forumlarda okudum. Çoğu kişi "Açık kaynak dağıtıyorsan, dinamik linkleme yap, Qt'nin lisans dosyalarını ekle, sorun olmaz" diyor. Hatta Qt'nin kendi sayfasında bile böyle yazıyor. Ama içimde bir ses, "Peki ya uygulamana bir özellik eklemek için Qt'nin bir modülünü statik linklemek zorunda kalırsan?" diye fısıldıyor. İşte o an her şey değişiyor. Belirsizlik, açık kaynağın özgür ruhunu bile zehirliyor.
Sonuç olarak, Qt teknik olarak harika bir framework. Ama bu lisans modeli, özellikle küçük geliştirici veya açık kaynak projeler için sürekli bir "gölge" gibi. Projenin başarılı olma ihtimali bile bir endişe kaynağına dönüşüyor.
Siz de Qt ile uğraşırken böyle bir lisans paranoyası yaşadınız mı? Yoksa ben mi gereksiz kafaya takıyorum? LGPL'nin bu dinamik linkleme şartını pratikte nasıl yönetiyorsunuz? Bu lisans labirentinden geçmenin daha stressiz bir yolu var mı?