Qt LGPL lisansını kullanabilir ve uygulamamı herhangi bir kısıtlama olmadan satabilir miyim? [kapalı]


85

Çapraz platform projesi başlatmak istiyorum. Araştırmalarımı yaptım ve şimdi Qt'nin doğru anlaşma olduğundan neredeyse eminim. Yine de burada büyük bir engel var: ruhsatlandırma .

Projemi satmak istiyorum ve ayrıca işimle ilgili herhangi bir kaynak vermek veya bir lisans için ödeme yapmak istemiyorum. Qt'nin hem ticari hem de açık kaynaklı çözümler sunduğunu kontrol ettim ve fark ettim. Qt lisansı hakkında kafamı çok karıştıran çok fazla çelişkili söz duydum. Bazıları, Qt'nin LGPL sürümünü kullansam bile yine de kodumu göndermem gerektiğini söylüyor. Bu doğru mu?

Birisi bana Qt lisansları hakkında basit bir açıklama yapabilir ve uygulamamı herhangi bir kısıtlama olmadan satıp satamayacağımı söyleyebilir mi? Herhangi biri bana herhangi bir kısıtlama olmaksızın platformlar arası geliştirme için Qt'nin başka eşdeğerlerini söyleyebilir mi?


5
Bu soru hukuki meselelere indirgeniyor. Bunlar maalesef SO'da konu dışı.
Bart

1
Konuyla ilgili bir ikilemim var, Ruhsatlandırmanın kendisinde kavga yok! tam olarak nasıl tedavi edildikleri ve gelişim sürecinde beni nasıl etkiledikleri. Bu yüzden böyle bir soru sormanın gayet iyi olduğunu düşünüyorum.
Rika

1
Ticari ya da LGPL'ye geçmek için herhangi bir tavsiye istemiyorum, sadece lisanslama sisteminin kendisi hakkında biraz açıklamaya ihtiyacım var.
Rika

1
Sonra Meta'ya gelin. Formülasyonunuzla sorunun konuyla ilgili olup olmadığını ve yeniden açılıp açılamayacağını sorun. Yeniden açmak için bir moderatöre veya yeterli ayrıcalıklara sahip 5 kişiye ihtiyacı var. Bunu dostça bir soru haline getirin ve topluluk bir göz atacak. meta.stackoverflow.com
Bart

1
Meta temsilcinizi gerçekten umursamadığınız sürece Meta harikadır. Orada oy kullanmak çok daha liberal.
rlemon

Yanıtlar:


100

Sadece Qt'ye dinamik olarak bağlanın. LGPL kitaplıklarına dinamik olarak bağlanırsanız endişelenecek bir şey yoktur.

Onlara statik olarak bağlanırsanız, nesne dosyalarınızı (kaynak kodunuzu değil) dağıtabilirsiniz ve sorun olmayacaktır.

LGPL'nin fikri, son kullanıcının LGPL kitaplığını istediği bir sürümle değiştirebilmesi gerektiğidir. LGPL kitaplığına dinamik olarak bağlanmak, tıpkı nesne dosyalarınızı statik olarak bağlamak ve dağıtmak gibi, bunu yapmanızı sağlar. Bunu yaptığınız sürece kapalı kaynak programınızı istediğiniz kadar satabilirsiniz.

Elbette, LGPL'de bundan daha fazlası var, ama ilgili kısım bu.


6
LGPL ayrıca, bazı ticari EULA'ların tersine mühendislik yasaklarıyla çelişebilecek "Birleşik Çalışmada yer alan Kitaplık bölümlerinin değiştirilmesini ve bu tür değişikliklerin hatalarını ayıklamak için tersine mühendisliği sınırlamamanızı" gerektirir.
Josh Kelley

15
@Hossein Cevabı bile okudunuz mu? Bu sahiptir hiçbir şey ile ilgisi sizin kod. Qt'nin LGPL lisansı yalnızca Qt ve Qt ile ilgilidir, bu nedenle kodunuzu istediğiniz gibi paketleyebilir ve lisanslayabilirsiniz, ancak bir Qt ticari lisansı satın almayı planlamıyorsanız, Qt'ye dinamik olarak bağlanmanız gerekir. QT'ın ticari lisans değiştirmek istediğinizde içindir QT'ın kaynak kodunu ve değil halka karşı yaptığınız değişiklikleri bırakın.
cmannett85

1
@Hossein: Ve dinamik olarak Qt'ye bağladığınız sürece. Açıkçası, sadece bir avukat tutmalısın. Ticari bir girişimde bulunmadan önce her zaman biriyle konuşmalısınız. Ve FWIW, IANAL.
cornstalks

2
@Hossein, Kullanıcılar tersine mühendislik yapabilmeli ve Qt'nin kendisini tamamen değiştirebilmelidir. Ancak bu, tersine mühendisliği yasaklamamanız gerektiği anlamına gelir. Qt'yi DLL olarak dağıtmanız gerekir .... ve bir bonus için, uygulamanızın Nesne dosyaları (zorunlu değildir). Nesne dosyalarınızla ilgilenirseniz, EXE dosyanıza da dikkat etmelisiniz! Çünkü Object dosyalarını nasıl kullanacağını bilen bir adam için, TAM OLARAK EXE'nin ne olduğunu da biliyor! Bu insanlar düşük seviyeli şeyleri önemseme eğilimindedir ve bizden çok daha fazlasını bilirler. Onlar için,
EXE'niz

1
@ ПетърПетров Evet, LGPL kitaplıklarını kullanırken tersine mühendislik gerçek bir sorundur. Bununla birlikte, yürütülebilir dosyalara tersine mühendislik uygulamak, bir grup nesne dosyasından çok daha zordur (yani yürütülebilir dosyalar genellikle soyulduğundan, bağlantı zamanı optimizasyonlarına ve inlining uygulanmasına, vb.). Ancak kesinlikle haklısınız: Çalıştırılabilir dosyanızı nasıl oluşturacağınız konusunda dikkatli değilseniz, tersine mühendislik yapmak tüm nesne dosyalarınız kadar kolay olabilir.
Cornstalks
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.