Açık kaynaklı projeler için lisans seçimi


30

Bazı açık kaynaklı projeler yaptım ve gelecekte daha fazlasını yapmayı planlıyorum. Şimdiye kadar, tüm kodumu GPL altında yayınladım, ancak GPL’in şirket ortamında kullanılamayacak herhangi bir kod için çok kısıtlayıcı olduğunu iddia eden birkaç makale okudum. Bu, sözde katkıları azaltıyor.

İşte başarmak istediğim şey:

İçin tam uygulamalar :

  • Uygulama için destek satmak dışında hiçbir ticari kullanım (yani uygulama satılamaz, ancak etrafındaki her şey olabilir)

İçin kütüphaneler (bileşenler, eklentileri, ...):

  • modifikasyon olmadan ticari projelere dahil edilebilir
  • Kütüphane / bileşenin herhangi bir modifikasyonunun açık kaynaklı olması (geri katkıda bulunmak) - projenin geri kalanı, ticari olsun veya olmasın, etkilenmez

Uygulamalar için GPL hala mantıklı bir seçenek gibi görünüyor. Kütüphaneler için ilkel lisans anlayışım, LGPL'nin iyi bir eşleşme olduğunu düşünmeme neden oluyor, ama emin değilim. MIT lisansına baktım ve bu çok izinsiz görünüyor.

Çoğu zaman, herhangi bir iyileştirme sağlandığı sürece insanların kodumu istedikleri her yerde kullanmalarını istiyorum.

Bu bana sorularımı getiriyor: LGPL açık kaynaklı kütüphaneler, bileşenler, eklentiler vb. İçin mantıklı bir seçim mi? Daha iyi bir alternatif var mı? GPL uygulamalarım için iyi bir seçim mi yoksa daha iyi bir şey mi var?

Güncelleştirme:

Son kararımla ilgilenenler için, kütüphanelerimi çoklu lisans programı MPL, LGPL ve GPL altında yayınlamaya karar verdim. Bu, MPL kapsamında değiştirilmediği sürece , hemen hemen herkesin kodumu hiçbir zorunluluk olmadan kullanmalarını sağlar , bu durumda geri katkıda bulunmaları gerekir.

Bu, kodun hem FSF hem de tescilli yazılım tarafından kullanılabileceği anlamına gelir, ancak "kötü" ticari sömürü önlenir (ya da öyle düşünmek isterim).


1
Ticari kullanım veya ticari dağıtım / yeniden satım yok mu demek istiyorsun ?
MIA

Muhtemelen dağıtım / yeniden satma. İnsanlar eşyalarımı ticari olarak kullanırsa sorun olmazdı, ama sanırım bu projeye bağlı. Bugüne kadar ticari amaçlarla yazdığım bir şeyi kullanmanın bir yolunu
göremesem de

4
O (bazı yanıtlar aykırı) unutmamak gerekir Creative Commons SSS açıkça CC lisansları gerektiğini bildiren değil yazılım için kullanılabilir. ( CC0 Public Domain Dedication , yazılımla kullanım için onaylanmıştır, ancak orijinal soruda belirtilen amaçlar için uygun değildir.) CC yerine, Özgür Yazılım Vakfı veya Açık Kaynak Girişimi tarafından onaylanan bir lisans seçmenizi önerir.
Peter Briggs

1
Tahminime göre, gerçekten ve gerçekten eşsiz ve kullanışlı bir şey bulamazsanız, "kötü ticarileştirme" şansı, onu önlemek için harcanan zamana değmeyecek kadar küçüktür.
Bryan Oakley

1
Vaka birileri ilgileniyor yılında açık-kaynak Area51 de lisans konusunda Q & A sitesi için bir öneri var: area51.stackexchange.com/proposals/58715/...
Kurt PATTYN

Yanıtlar:


8

Bana GPL gibi geliyor ve LGPL projeleriniz için istedikleriniz.


Yani LGPL’in gereksinimlerim için iyi bir seçim olduğunu söyler misiniz? Ben avukat değilim bu yüzden sadece kontrol ediyorum :)
dr Hannibal Lecter

1
Ben de bir avukat değilim, ancak LGPL'nin tam olarak bir kütüphane için istediğinizi ve tam uygulamalar için GPL olduğunu düşünüyorum.
alternatif

GPL uygulamaları satmak yasaldır. Siz (aslında) sadece kaynak kodunu eklediniz ve müşterilerinize sahip olduğunuz GPL haklarını verin.
bdsl

8
  • Uygulama için destek satmak dışında hiçbir ticari kullanım (yani uygulama satılamaz, ancak etrafındaki her şey olabilir)

GPL’nin uygulamayı satmayı yasaklamadığını ve bunun yasaklanmasının, Huperniketes'in belirttiği gibi lisansınızı serbest bırakacağını unutmayın. GPL'nin sağladığı tek şey, yazılımı satan şirketin de ücretsiz olarak kod tabanını sağlaması gerektiğidir. Ancak yazılım paketini ücretsiz olduğu gibi sağlamak zorunda değildirler . Bir yazılımın kaynak kodu kolayca kullanılabilir bir ürün olmadığından, bu oldukça büyük bir farktır.


Aslında ben kaynak kodunun bir yerde dolaşacağı ve bundan birisinin faydalanacağı için bununla ilgili bir sorunum yok. ;)
dr Hannibal Lecter

Gerçekten anlamıyorum. Yani, kaynakları alabilirsem derleyebilirim ve hiçbir şey onu kullanmamı yasaklamaz, değil mi?
Camilo Martin

@Camilo: ne alamadın ?
Konrad Rudolph

GPL sürüm 3'ün 4. ve 6. bölümleri, söylediklerinizi kapsar
Rudolf Olah

Uygulamayı satarken pakete dahil ettikleri takdirde kaynak kodunu ücretsiz sağlamak zorunda değildirler.
bdsl

5

Yazılımınızın ticari kullanımını önlemek istiyorsanız, GPL yazılımı kesmeyecektir. GPL , değiştirilmiş kaynağı yeniden dağıtma zorunluluğu nedeniyle ticari işletmeler tarafından sattıkları ürünlerden kaçınma eğilimindedir , ancak GPL yazılımını dahili olarak kullanmakta serbesttirler. Bu, işletmelerin GPL yazılımı satmaya ayarlanmadığını veya GPL yazılımı etrafında donanım oluşturmayı (örneğin LinkSys) söylemediğini söylemez, ancak çoğu işletme ürünlerini rakipleriyle paylaşmamayı tercih eder.

Creative Commons Atıf Ticari Olmayan Türev Dışı lisansın ne istediğinizi bilmiyorum (bahsettiğiniz tek kısıtlama ticari kullanımdır ), ancak değilse, sizin için bir avukat tarafından hazırlanmış bir lisans almanız gerekebilir. Lisans sahiplerinin sahip olmasını istediğiniz dilleri verme hakları.

Ayrıca, ticari olmayan kullanım ve değiştirilemezlik gibi kısıtlamaları da dahil etmeye başladığınızda , Açık Kaynak Girişimi tarafından tanımlanan bir açık kaynak lisansı kriterlerini artık karşılayamazsınız . Siteleri ayrıca diğer onaylı OSS lisanslarını da listeler . Belki de zaten hedeflerinize uyan bir tane var.

Ve yeterince sizin hedefleri tanımlama size yazılımın kullanıcıları yerleştirmek hak ve sınırlamaları seçmeden önce anahtarı olacaktır. Popülerlik değiştirilebilirlik veya dağıtım veya kullanımdan daha mı önemli yoksa…? Başlangıç ​​kodunu yayınlamadaki hedeflerinizi ve bunu hangi ruhla yaptığınız veya erişim izni verdiğiniz terimlerin zıt etkiye sahip olabileceğini düşünün.


GPL yazılımını dahili olarak kullanan işletme, yazılımı ticari olarak kullanmaz ...
alternatif

3
@ mathepic, "iş" ve "kullanma" ifadeleri sizi "ticari kullanıma" benzer bir şekilde etkilemiyor mu? definitions.uslegal.com/c/commercial
Huperniketes

@Huperniketes Hayır, yapmazlar. Yazılım kullanan bir işletme (örneğin, bir veritabanı tarayıcısı), yazılımı kullanan bir kişi ile tamamen aynıdır. Proje işin nihai ürününe dahil edilmediği sürece fark yoktur.
alternatif

3
@ mathepic, yanılıyorsunuz. Bir işletme ticari bir meseledir - kar için var. Yaptığı her türlü faaliyet ticaridir. Ve Apache çalıştıran bir web sunucusunu, kullanıcı kılavuzlarını barındırmak üzere ayarlamak , Apache'nin ticari kullanımıdır . İşlemsel kelime, yasal anlamda, kullanım , dağıtım değil, satış veya satış değildir .
Huperniketes

2
@dr, bu bir ihlal değil çünkü Apache lisansı ticari kullanımı yasaklamıyor. apache.org/foundation/licence-FAQ.html#WhatDoesItMEAN "Size şunları yapma imkanı sağlar: Apache yazılımını tamamen veya kısmen kişisel, şirket içi veya ticari amaçlar için özgürce indirip kullanma;"
Huperniketes

4

Önemsediğiniz şey, kodunuzun ücretsiz kaldığından emin olmak, iyileştirmeler yapmak ve herhangi birinin kullanabileceğinden emin olmaksa , MPL sizin için doğru lisanstır. LGPL'nin dayattığı gibi kısıtlayıcı, gizli bağlantı kısıtlamaları olmadan, ticari yazılım dahil herhangi bir üründe kullanmak ücretsizdir. Kodunuzu kullanan ve değiştiren herhangi birinin MPL altındaki değişiklikleri serbest bırakmasını gerektirir, ancak projedeki diğer kodların hiçbirine dokunmaz veya kısıtlamaz.


Ben hiç MPL ile aşina değilim, ama çok ilginç geliyor. Şimdiye kadar yalnızca PHP kodunu yayınladım, bu nedenle bağlantı kısıtlamaları bir sorun olmamalı, ancak bazı Mono kodlarını yayınlamayı da planlıyorum, MPL çok yararlı olabilir.
dr Hannibal Lecter,

4

Tüm kodunuzu yazdıysanız (yani, kodunuz size aitse ) ayrıca lisansını iki kez de lisanslayabilirsiniz : kodunuzu örneğin GPLv3'te yayınlayın ve daha az kısıtlayıcı bir şekilde kullanmak isteyenler için (başka bir lisansla) satmayı teklif edin.

(bu özellikle bir kütüphane için geçerlidir; çünkü GPL kitaplığı yalnızca GPL yazılımında kullanılabilir).

Kodunuza dahil ettiğiniz harici katkılara veya yamalara dikkat edin (bunlara sahip olmadığınız için).


1

Gerçekten MPL'ye mi yoksa sadece GPL'e mi başvurabileceğiniz çok önemli bir farklılığa bağlıdır:

"Buradaki haklar", alıcılara "Büyük Çalışma" (MPL 3.7 Büyük İşler) oluşturmak için MPL "Kapalı Kod" u özel MPL olmayan kodla bağlantı kurma haklarını içerir. GPL alıcılara böyle bir hak vermez. Bu nedenle, alıcı MPL yerine GPL'yi uygulamak için lisans koşullarını değiştiremez.

Bkz bu .

Bunun sizin için anlamı şudur ki, kendisi GPL'ye sahip herhangi bir bileşeni kullanıyorsanız, (muhtemelen) MPL altında kod (bunu kullanan) serbest bırakamazsınız; MPL, yanlış bir şekilde MPL altında GPL kodunu yeniden dağıtmaya izin vermeye çalışacaktır. Bağımlılıklarınız MIT veya Apache lisansı sırasına göre uygun.

Genel olarak, eğer değil zaten MPL şeyler kullanmıyorsanız, MPL üzerinde GPL yalnız seçerek daha iyi yapıyor. GPL, katkıların da geri yayınlanmasını sağlayacaktır.

MPL'nin bilmediği bir şekilde tetiklenen patent ihlallerine karşı koruma sağladığı yalnızca kritik bir değişiklik var. Lisansın belirttiği gibi:

Birinin kendisi için patenti olan bir Değişiklik oluşturması, Değişikliği Lisans altında gerektiği şekilde ücretsiz olarak sunması ve daha sonra geri gelmesi ve herkesi patent hakları için ücretlendirmeye çalışması uygun değildir.

MPL ve GPL pek uyumlu değil.

Burada görebilirsiniz: MIT - BSD - İkili Lisansların çift ​​lisansların uygulanması üzerine tartışılması.


GPL uyumsuzluğu MPL v2.0 ile çözülmüş olmalıdır. (Bu yazı v2.0 yayınlanmadan önce yapılmış sanırım). GNU’nun MPLv2.0
mucaho

0

Kimse onlar hakkında konuşmuyor gibi gözükse de Creative Commons lisansı düşünebilirsiniz. Farklı lisanslara sahipler (ya da ihtiyaçlarınıza göre uyarladığınızlardan biri farklı şekilde bakıyorlardı).

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.