Yazılım için hangi lisansı seçeceğinize dair öneriler ve deneyimler?


26

Yazılım geliştiricileri, çalışmanın hedeflerine göre uygun bir lisans seçme seçeneğine sahiptir.

Yazılım için hangi lisansı seçmeniz gerektiğine dair herhangi bir öneri / deneyimler verebilir misiniz?

Tüm kodlanmış çalışmaları açık kaynak kodları olarak "vermenin" artıları / eksileri nelerdir?

Araştırma kodundan yararlanmak isteyen endüstriyel oyuncularla nasıl baş edilir?


Güzel soru, ben de merak ediyordum.
milancurcic

Bu, bu siteyle alakalı değil. Yığın Taşması gibi bir şey için gönderme tavsiye ederim.
aterrel,

Sadece Matt'in GPL / LGPL lisanslı yazılımın ticari olarak kullanılamayacağına dair beyanını düzeltmek istiyorum. O da yapabilir! GPL lisanslı yazılımı, ticari bir işletmenin istediği herhangi bir şey için kullanılabilir , yalnızca bir türev yazılım ürünü oluşturamaz ve kapalı kaynak olarak (ticari işletme bir yazılım şirketi değilse bu yeterli olmalıdır) bir türev yazılımı oluşturamaz ve satamaz (dağıtamaz). LGPL daha müsaittir ve orijinal kütüphaneye bağlanan kapalı yazılım ürünlerinin satılmasına izin verir. Matt'in endüstrinin GPL yazılımına dokunmaktan korktuğuna katılıyorum, ancak GPL'nin yanlış algılanmasına dayanıyor. Aslen kullandık
Anders Logg 14:11

1
Katılmıyorum. Birçok insan, bilgisayar bilimlerindeki zorlu problemler için yeni kod tabanları geliştirmek için çok zaman harcıyor ve çok çaba sarf ediyor. Bu çabanın bir parçası olarak, çalışmayı başkalarıyla paylaşmak için bir stratejiye sahip olmak yararlı olabilir.
Allan P. Engsig-Karup,

2
Evet ve birçok hesaplamalı insan yemek pişirmek için zaman harcıyor, ancak yemek yapmak burada konu dışı. Temel yazılım sorunları için başka yığılmış değişim var.
aterrel

Yanıtlar:


18

Yazılım için hangi lisansı seçmeniz gerektiğine dair herhangi bir öneri / deneyimler verebilir misiniz?

Seçtiğiniz lisans , kodunuzun ne kadar özgür olmasını istediğinize bağlı olacaktır, ancak ücretsiz, farklı insanlar için farklı şeyler anlamına gelir.

  • Savunucuları için izin verici lisanslar, özgür istedikleri ancak insanlar artık yazılımı kullanmak için izin araçlar için şu anda , nasıl endişesi değil özgür geleceği türetme vardır.
  • Copyleft lisansı savunucuları için , özgür yazılım, yazılımın ve bunun türetilmesinin serbest kalmasını sağlamak, bunu sağlamak için bazı acil özgürlükleri feda etmeye hazır olmak anlamına gelir.

Bir lisans ne kadar izin verilirse, o kadar çok insan kullanabilecek, ancak üzerinde daha az kontrol sahibi olacaksınız. Ne kadar kısıtlayıcı olsa da, insanları ilk etapta yazılımınızı kullanmaya zorlama olasılığınız daha yüksek.

GPL <= 2, GPL 3 , LGPL , BSD , Eclipse ve benzeri pek çok ücretsiz ve açık kaynak lisansı var . Profesyonellerin ve eksilerin her biri vardır, bu yüzden kodda hangi kısıtlamaları koyduklarını okuyun ve kimi kullanmak isteyeceğinize karar verin. Uyarı Birinin şikayet hangisi, - bu ise kutsal savaş bölge.

Genel olarak, ince bir dengeleme eylemidir ve yazılımınız için hedef kitleye çok bağlıdır.

Bence, hem hoşgörülü ve copyleft lisans bilimsel kodu için uygundur - Önemli olan kod ilk etapta açık kaynak olmasıdır. Bilimin Açık olması gerektiğine ve bu bilimi desteklemek için kullanılan kodun da olması gerektiğine inanıyorum.

Tüm kodlanmış çalışmaları açık kaynak kodları olarak "vermenin" artıları / eksileri nelerdir?

Yazılımınızı vermeme fikri, eğer başkaları onu yararlı bulursa, onu kullanacaklarıdır.

Kullanırlarsa, hataları bulma, raporlama ve sık sık düzeltme yapıp aynı şeyi yapma çabanızı korurlar.

Onun ve yazılım gibi onlar yoksa neredeyse ne istediklerini, onlar yazılım geliştirmek olabilir ve geri bu geliştirmeler katkıda bulunur.

Bu olsa bir sürü ifs .

Araştırma kodundan yararlanmak isteyen endüstriyel oyuncularla nasıl baş edilir?

Öncelikle, kodunuzun ticari kullanımını yasaklamak istiyorsanız, ticari yeniden kullanım şartı olmayan bir lisans seçebilirsiniz.

İkincisi, birisinin yazılımı bir servisi güçlendirmek için kullanabileceğini düşünüyorsanız, kodu gerçekten başka birine dağıtmadan, o zaman o belirli copyleft boşluklarını takarak Affero GPL'yi düşünebilirsiniz .

Üçüncüsü, yukarıdakileri yapabilir ve ikili lisans seçeneği sunabilirsiniz. Genel indirme için GPL veya AGPL lisansları ve bir ücret karşılığında ticari lisanslar sunmak, size her iki dünyanın da en iyisini sunar ve yazılımınızın ticari satışlarından bilimsel faaliyetlerinizi desteklemeye yardımcı olabilecek bir miktar gelir elde edebileceğiniz anlamına gelir.

Bunu yapacaksanız, başlangıçtan itibaren sunun; bu, açık kaynak katkıda bulunanlardan daha sonra ticari lisanslar sunmaya başlamaktan daha az sürtünmeye neden olabilir. Topluluğunuz popüler hale gelirse, daha sonra ticari sömürü olasılığı konusunda doğrudan değilseniz, insanların sizi satmakla suçlamasını istemezsiniz. İdeal olarak, kod tabanınıza üçüncü taraf katkılarını kabul etmeye başlamadan önce uygun bir Katılımcı Lisans Sözleşmesi (CLA) kurmalısınız.

Bu cevap için bu soruya çok bu seçenek üzerinde bazı iyi bilgi sağlar.


12

PETSc Bu kullanan lisansı daha az sıkı bir şekilde olan, BSD . GPL'den çok önemli fark, yazılımın ticari olarak kullanılabilmesidir. Birçok kişi kapalı yazılıma karşı ilkeli bir itirazda bulunur; ancak benim deneyimime göre, bir GPL lisansı varsa hiçbir kod sizin kodunuza yaklaşmaz. Dahası, PETSc'in endüstriyel kullanıcıları inanılmaz derecede değerliydi. Çoğu akademisyenin bir yayın için garantilenden daha zor bulacağı oldukça karmaşık problemler yaşama eğilimindedirler. Ayrıca, normal destek zincirine girmesi için PETSc'e çok fazla kod kattılar. Ticari kullanım potansiyeli olmayan herhangi bir lisansa karşı öneride bulunacağım ve aslında mümkün olan en az kısıtlayıcı lisansı savunacağım (PETSc'i kesinlikle bir CD'ye yazıp, dolandırıcınıza satmayı deneyebilirsiniz).


PETSc'in gelişimi nasıl finanse edildi? ve bugün (fon sağlayarak) nasıl desteklenir? PETSc için kod tabanının bakımıyla nasıl çalışır?
Allan P. Engsig-Karup,

2
İşte fon . Biz var açık depo ve katılımcılarını.
Matt Knepley

GPL kodu ile ilgili ifadeniz hakkında: OpenFOAM GPL'dir ve endüstride yaygın olarak kullanılmaktadır. Bunun nedeni, GPL kodunun yalnızca yazılım dağıtılacaksa herkese açık hale getirilmesi gerektiğidir. Yalnızca kodlarını geniş bir kitleye satmak isteyen işletmeler GPL lisansından etkilenir.
12'de

3
@akid Web sitesinde OpenFOAM kullanıcıları hakkında bilgi bulamıyorum, ancak "yaygın olarak kullanılan" karakterizasyondan şüpheliyim. Büyük şirketlerden (Shell, Boeing, MS) gelen kişilerin araştırma kodları için şirket politikasının GPL ile hiçbir zaman temas etmeyeceğini belirttiklerini söyleyebilirim. Belki küçük şirketler daha fazla açıklığa sahiptir, ancak daha büyük olanlar sadece uygunsuzluktan bile kaçınmak ister (GPL koduna bakmak ve başka bir şeyi kodlamak).
Matt Knepley

2
@Tshepang GNOME ve Linux, bilimsel kodunuzda asla olmayacak olan ofis malzemeleri gibi kullanılır. Demek istediğim, kodunuzu doğrudan işle ilgili amaçlar için kullandığınızda.
Matt Knepley

5

GPL'yi, esas olarak orijinal açık kaynak hareketine duyduğum duyarlılıktan dolayı kullanıyorum (ve bunun yayılmasına yardımcı olacağını umuyorum). Dahası, paradoksal olarak bu, olası kazançlarınızı ahlaki olmayan kapitalistlerden korumanın en iyi yoludur - bir yazar olarak, kodu her zaman paralel olarak farklı bir lisansta dağıtabilir ve böylece beyaz etiketli bir iş kullanımı için tescilli sürümünü koruyabilirsiniz.
Bununla birlikte, bu aynı zamanda bir kaynak olabilir - finansman kaynağınız tüm çalışmalarınızın kamu malı olması gerektiği, bu lisansın ötesine geçen bir feragatname yapabilir.

Neyse, bu konudaki en önemli şey olduğunu herhangi bir lisans bilimsel geliştirme dünyasında maalesef oldukça sık olan iyi hiç yoktan - ve ben sadece tüm bu nefret o kamuoyunda olmamıştı John Smith'in programından / * kaypak * / veya Bunu 1995’teki bazı gruplardaki Jane Smith'in gönderisinde görmüştüm mü ... belki de 1993?


1
Kodun lisansı yoksa, çoğu ülkede ( Bern sözleşmesini imzalayan ) hâlâ telif hakkı kapsamındadır, bu nedenle telif hakkı sahibinden başka biri tarafından yasal olarak kullanılamaz, yeniden dağıtılabilir.
Mark Booth

@MarkBooth Bu benim amacım.
mbq

5

İlk olarak, kaynak açmanın artıları / eksileri:

Pro: daha fazla kişi kodunuzu kullanacak, geri bildirim, düzeltmeler, iyileştirmeler vb. Sağlayacaktır.

Con: Eğer bir işletmeyi kodunuza dayandırmak istiyorsanız, daha az seçeneğiniz var (ancak danışmanlık hizmetleri satmak gibi hala birkaç tane var)

Bir lisans seçerken, aşağıdaki sırayla devam ediyorum:

  1. İşveren / hibe ajansınız herhangi bir şey uygular mı? O zaman başka seçeneğin yok. Bu koda katkıda bulunanların tümü için kontrol edin.
  2. Seçiminizi sınırlayan belirli bir lisansı olan kodu tekrar kullanıyor musunuz? O zaman seçimleriniz de sınırlı. Uygulamada, GPL lisanslı kod parçalarının entegrasyonu, bu tür sınırlamaların en sık kaynağıdır.
  3. Neye değer verdiğinize karar verin: GPL ve benzeri lisansların arkasındaki tüm kod açık olması gerektiği felsefesi ya da BSD lisansının arkasındaki mümkün olan en geniş kullanım felsefesi.
  4. İki büyük Açık Kaynak lisanslı ailenin her birinde, topluluğunuzda en yaygın / kabul görmüş olana göre seçim yapın.

5

Araştırmamın çoğu kamu fonlarıyla finanse ediliyor ve bu yüzden mümkün olan en az kısıtlayıcı lisansı kullanma zorunluluğu hissediyorum. Ülkemdeki diğer insanlar bu araştırmanın ücretini ödemeye yardımcı oluyorsa, kodumu kapalı kaynak ve / veya ticari yazılım dağıtımına entegre edemediklerini söyleme hakkım var mı? Kodumu kullanan kişilerin çoğunun akademik bilim adamları olacağını umuyorum, ancak bir ürünü vermek için üzerine bir GUI koyarak, başka bir (muhtemelen ticari) yazılımla bütünleştirerek yazılımımı geliştiren işletmelerle felsefî bir sorunum yok Bu onlara kar yapmalarına yardımcı olur.

Olduğu söyleniyor, uygun nitelik gerektiren lisansları kullanmaya çalışıyorum. Bir şirket Örneğin, gelmez büyük bir ticari ürün haline kodumu kat, onları benim kod benden serbestçe elde edilebileceğini temizlemek yapmak istiyorum. Ancak bunun dışında kodumun kullanıcılarına mümkün olduğunca az gereksinim eklemek istiyorum.

Vergi mükellefi dolar tarafından finanse edilmeyen yazılım geliştirme için, diğer lisansların daha uygun olabileceğini biliyorum.


5

Kimse bunu çok net bir şekilde dile getirmedi, bu yüzden söylemeye değer olduğunu düşünüyorum:

Açık kaynaklı lisansların bazıları (özellikle: GPL) , kod yeni bir projede kullanıldığında, yeni projenin aynı şekilde lisanslanması gerektiği anlamında "viral" dir . Ayrıca, kod (belirli şekillerde) farklı lisanslı koda bağlanamaz.

Pratik bir sonuç:

  • C'ye yeni bir sayısal yöntem uyguluyorsam, lisans onu MATLAB veya Mathematica gibi yaygın bir yazılımdan çağırmaya izin vermeyecektir.

  • Yeni bir görüntü işleme algoritması uygularsanız, lisans Photoshop eklentisinin oluşturulmasına izin vermez

  • ve bunun gibi ...

Bu sadece ticari yeniden kullanımı engellemekle kalmayacak, aynı zamanda diğer akademisyenler tarafından da uygun kullanımı (kapalı yazılım kullanıyorlarsa), ve eğer biri kodunuzun üstüne çıkarsa, onların çalışmalarını bir "içinde yapmalarını" önler. -Ne-olacak-onunla 'yolu.

Bu, lisansınızı formüle etmeden önce göz önünde bulundurmanız gereken bir şeydir.

Bunu böyle anladım çünkü bunun farkında olmayan ya da bu açıdan düşünmemiş olan insanlarla tanıştım (açık kaynak lisanslarına pek aşina olmadı).


(Bu sadece kişisel bir görüş, ancak (kamu tarafından finanse edilen) akademi kaynaklı çalışmalara bu tür kısıtlamalar uygulamanın uygun olmadığına inanıyorum. Bu yüzden ya kodu saklıyorum ya da veriyorum.)


4

Hangi lisansı seçeceğinize bakılmaksızın, yazılım lisanslarını nasıl alacağınızı belirleyen ya da kısıtlayan hükümler bulunmadığından emin olmak için tüm finansman anlaşmalarınızı dikkatlice kontrol etmeyi unutmayın.

Ben benim durumumda benim projelerin pek çoğunun finansman birkaç katmanlardan oluşan biliyorum, burada biraz ve biraz orada biraz, ben ediyorum nasıl takip izin ışıkları tutmak insanlar tarafından eşyalarımı lisans ve çalışan makineler oldukça karmaşık.


4

Büyük kod grupları için diğer cevaplarda açıklanan lisanslardan birine ve genellikle LGPL'ye gidiyorum. Bununla birlikte, genellikle yazılım için önerilmemekle birlikte, sektördeki bir meslektaşıma gönderebileceğim küçük bağımsız betikler için genellikle bir Creative Commons lisansı seçerim. Bunun nedeni, kodu gönderdiğim kişi için daha net olma eğiliminde olmalarıdır, bu da olası yanlış anlama sorunlarının önüne geçer. Bu geçmişte benim için iyi çalıştı.


4

Buraya cevap veren kişilerin çoğunun aksine (akademik ve / veya kamu kuruluşlarında çalışan), ticari alanda çalışıyorum.

Ürünlerim için kod kapalı ve bunu yapmanın önemli ticari avantajları olmaya devam ediyor. Ancak elbette bunu yapmanın başka yolları da var (örneğin, diğerleri arasında MySQL tarafından gösterildiği gibi). Genellikle kütüphaneler için LGPL + ticari lisans yaklaşımını görüyorum. Böyle bir kütüphaneyi ticari bir sistemde henüz kullanmamıştım, ancak ekarte etmem (şu ana kadar sadece ARGLIB gibi kütüphaneleri kullandım). Bu, dahili olarak kullanabileceğim, ancak genellikle viral yapı nedeniyle bir üründe asla kullanamayacağım bir GPL ürünüyle çelişiyor.

Kaynak kodu serbest bıraktığımda (nasıl yapılır örnekleri, ücretsiz programlar vb.), Genellikle Berkeley lisansını kullanıyorum. Bu, “serbest” kod ruhuyla, atıfta bulunarak, ancak GPL dizeleri ve politikaları olmadan çok daha fazla görünüyor. Belki de bu nedenle (veya MIT lisansı gibi benzer lisanslar) üniversiteler ve kamu kuruluşları tarafından bu kadar popülerdir. Kaynak kodu 'ücretsiz' gerçek anlamında verilir (işte bazı kodlar, onunla ne istersen yap) ama yazar hala kredi / nitelik kazanıyor.


Bu oyu kullanan ben değilim ve BSD lisansını tercih ettiğiniz ve neden ilginç olabileceğine dair daha fazla ayrıntıyı tercih ettiğiniz gibi oy kullanmak istiyorum. Ancak bir sorunu var. Kullanılan dil kışkırtıcıdır. Tam olarak aynı bilgiler safra olmadan da iletilebilir ve muhtemelen mesajınızla daha fazla insana ulaşırsınız.
Aralık'ta

@ MarkS.Everitt: Politika hakkındaki yorumların dışında tam olarak ne kışkırtıcı?
aeismail,

Evet, hiçbir safra düşünülmedi. GPL politikaları hakkındaki yorumum kişisel bir görüş değil, aynı zamanda bir gözlem - Aşağı oylamanın sadece beni
susturacak bir

Mesela açılış cezanızı alın. Bu, “ Benim neye aykırı…” cümlesinde devam eden, ben ve seninle ilgili acil bir durumdur. Önemli olmamalı ama maalesef öyle. Aynı zamanda argüman üretmek için kaygan bir eğimdir ve genç bir SE buna ihtiyaç duymaz.
saat

İlk cümle cevabımın içeriğini belirler - HERKES, kabul edip etmese de kendi deneyimlerinden yazıyor. Bağlam önemli - Ve benim için özellikle böyle olduğunu düşündüm. Bir sonraki paragrafı düzenlemeye çalışacağım, ancak her şeyden vazgeçip silebilirim. Söyleyecek yararlı bir şeyim olduğunu düşünmüştüm ...
winwaed

0

Bu eski bir soru, ancak Mozilla Kamu Lisansının izin verilen lisanslar (BSD, MIT) ve güçlü copyleft lisansları (GPL) arasında bir orta yol olarak görülmeye değer olduğunu düşünüyorum . MPL kodu kullanılabilir ve yeniden dağıtılabilir, ancak MPL kodu ve üzerinde yapılacak herhangi bir değişiklik yapılmalıdır. Örneğin, bir şirket bazı MPL kodlarını alabilir, kendi geliştirmelerini yapabilir ve orijinal MPL kodunun değiştirilmiş hallerini kullanılabilir hale getirdikleri sürece özel bir kapalı kaynaklı yazılım paketinde dağıtabilir. GPL'de olduğu gibi, kendi kaynak kodlarının tümünü yayınlama zorunluluğu yoktur.

BSD lisansı ile, bir kurumun size veya topluluğa bu katkıları geri vermeden şifrenizi alması ve iyileştirmesi korkusu vardır, bu sebeple yaptıkları iyileştirmelerin rekabet avantajı sağlaması gerekçesidir. (Matt Knepley'in cevabı, her birinin bu şekilde davranmadığını gösteriyor). Öte yandan, birçok kişi GPL kodundan tamamen kaçınabilir. MPL, bu potansiyel tuzakların her ikisinden de en azından prensipte kaçınır.

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.