Kar amacı gütmeyen bir kod açmamak için nedenler? [kapalı]


34

Ben açık kaynak kodunun büyük bir hayranıyım. Açık kaynak kullanmanın avantajlarının çoğunu anladığımı düşünüyorum. Ben bir bilim öğrencisi araştırmacısıyım ve açık kaynaklı olmayan şaşırtıcı bir miktarda yazılım ve kodla çalışmak zorundayım (tescilli veya kamuya açık değil). Bunun için gerçekten iyi bir neden göremiyorum ve kodun ve onu kullanan kişilerin kesinlikle daha genel olmaktan fayda sağlayacağını görebiliyorum (başka bir şey değilse, bilimde sonuçların çoğaltılması hayati önem taşıyor. ve diğerleri kodunuza erişemiyorsa bu daha zordur).

: Dışarı çıkıp dinine davet etme Başlamadan önce şunu bilmek istiyorum için iyileri argümanlar vardır değil OSI uyumlu lisansla alenen değil kar amaçlı kod bırakmadan ve?

( Etrafında benzer birkaç soru olduğunu fark ettim , ancak çoğu kodun öncelikle para kazanmak için kullanıldığı durumlara odaklandı ve cevaplarla pek ilgili olamadım.)

Açıklama: "Kâr amacı gütmeyen" olarak, ana şirketin marka bilinirliği ve yatırımcı kârı beklentileri gibi aşağı yönlü kar hareketleri de dahil ediyorum. Başka bir deyişle, soru, yalnızca yazılıma bağlı hiçbir kar amacı olmayan yazılıma ilişkindir.


+1 olarak kendime ilginç bir soru buldum. Ama bunu sormak için doğru yer olup olmadığını merak ediyorum. Belki PM.SE sitesi gibi diğer SE sitelerinden farklı bakış açıları elde edersiniz. Sadece bir öneri.
haylem

@ haylem, PM.SE'yi görmemiştim, ancak proje yönetiminin teknik yönleri için daha fazla olduğu görülüyor mu?
naught101

Projeyi daha sonra aktif olarak sürdürecek misiniz yoksa bir mezarlık mı olacak? Başka bir deyişle, projenin geleceği nedir.

@ ThorbjørnRavnAndersen: evet, aktif bakım, geliştirme ve kodun kullanımını kabul ediyorum.
naught101

Yanıtlar:


28

Açık kodunuzu kaynak kodlamasının ek çaba gerektirebileceğini dikkate almanız gerekir.

Örnek olarak, bu blog girişinde Sun / Oracle mühendisi, kodlarını açarken açıklamaları gereken çalışmaları açıklar: Açık Kaynak mı, Kirli Çamaşır mı?

Açık kaynak dünyasına dalmaya hazırlanırken, ortaya çıkan birçok faaliyetten biri, açık kaynaklı kodun hazırlanmasıdır. Yapılması gereken bazı açık şeyler var. Örneğin, kaynak kodumuz, yazdığımız bir kod karışımı ve diğerlerinden lisansladığımız bir kod karışımı içeriyor. İkinci ve açık kaynağı yalnızca uygun kod parçalarını ayırmamız gerekir.

Diğer bir hazırlık faaliyeti, özel bilgi kodunu, belirli müşterilerden, geliştiricilerden, teknolojilerden vb. Bahseden "temizlemektir". Bu, biraz daha az açıktır, ancak aşağıdaki örneği göz önünde bulundurun:

/\*
 \* HACK - insert a time delay here because the stupid Intertrode
 \* Technologies framebuffer driver will hang the system if we
 \* don't. Those guys over there must really be idiots.
 \*/

Yukarıdakilerin tümü doğru olsa da, Intertrode Tech ile bir tür ilişkimiz olabilir ve kodda böyle yorumlar yapmak işimize bir şekilde zarar verebilir ve bu yüzden kaldırılması gerekir. Muhtemelen ilk başta orada olmamalıydı, ama şimdi çıkarmanın zamanı geldi.

"Ovma" etkinliğinin bir diğer parçası da küfür ve diğer "istenmeyen" kelimeleri kaldırmaktır ...

Saf yapar - her şeyden değişiklikler kapalı kaynak olarak mükemmel Tamam kabul edilmiştir koda yapılması gerekiyordu Not ekstra çaba konuşmak çok.


2
Bu, mevcut kod tabanına sahip büyük şirketler için, sıfırdan Açık Kaynak olması için yazılmış kod için çok daha az geçerlidir.
Konrad Rudolph

1
@KonradRudolph OP sözü I (ya da tescilli, ya da açık olmayan bir) açık kaynak değildir ile ... koduna çalışması gerekiyor sıfırdan olmamıştır anlam
tatarcık


11

Güvenlik.

Örneğin, bir web çerçevesi oluşturduğunuzu ve kendiniz kullandığınızı söyleyin.

Kar amacı gütmeyen bir proje olarak, her bir kod parçasını bir saldırıya veya başka bir güvenlik açığına karşı incelemeye adamak için zamanınız olmadı:

  • CSRF
  • XSS
  • SQL enjeksiyonu
  • Oturum tespit
  • Buggy üçüncü şahıs kütüphanelerinin ve hatta dillerinin kullanımı

Şimdi, projeyi açık kaynaklı olarak kullanarak, samimi gözlerin katkıda bulunmasına izin veriyorsunuz, ancak kötü niyetli gözlerin çalışmanızla ilgili tam bir fikir edinmesini sağlıyorsunuz ve kodunuzu çalıştıran bir sunucu bulursanız, kodunuzu gizleme yeteneğinizi ortadan kaldırmış olursunuz. belirsizlikte kusurlar.

Tabii ki, üzerinde çalıştığınız yazılım türü için bu geçerli olmayabilir; ve her zaman olduğu gibi belirsizlik güvenlikteki tembellik için bir mazeret değildir.

Ancak, Stripe'de elde ettiğim birkaç seviyedeki bayrak oyununu yakalamakta bulduğum gibi , kodu bilmek, kırılganlıkları bulmak için en kolay yollardan biri olduğunu biliyor (ve bazen tek yol olabilir).


7
Bu tartışmalar uzun zamandır devam ediyor ve izlenimim açık kaynağın güvenlik açısından daha iyi olduğuydu, ancak yalnızca proje oldukça popüler ise (en azından geliştiriciler arasında). 'Net'in herhangi bir yerinde (yine de bulabildiğim) argümanların gerçekten iyi olmaması garip.
naught101

1
Naught101s ile kombinasyon halinde çok anlamlı. Daha az insan kaynağınızı önemserse ve üretimde kullanıyorsanız, olasılıkla "kötülük" in birisinin onu incelemesi ve size karşı kullanması ihtimali oldukça iyidir (en sonunda)
schlingel

1
Belirsizlik yoluyla güvenlik?
Danubian Sailor

3
@lechlukasz Mesajın tamamını okudunuz mu?
Nicole

1
@Oleksi Teşekkürler, ama bunu biliyorum. Ben "gizlilik güvenlik tembelliği için bir bahane değildir" dedim. Bu soru açık-kapalı hakkında değil, daha önce kapalı bir sistemi açmakla ilgili . Yayınladığınız bağlantıya tamamen katılıyorum, ancak geliştiriciler mükemmel değil ve bir sistem açtığınızda, bir böcek bulan ilk gözlerin sizin için düzeltmek yerine onu kullanabilecekleri bir şans var.
Nicole

10

Kaynak açmamak için iyi bir neden, kaynağınızın bir kısmının telif hakkı olabilir. Ne sıklıkta bir soruna hızlı bir çözüm bulmak için web'de arama yapmaz ve bulduğunuz kod parçasını alırsınız?

Bunlar telif hakkıyla korunuyor olabilir ve yazarın kodunun farklı bir lisans altında onaylandığını bulmak isteyip istemediğini bilmiyorum.


1
Telif hakkı için +1. Sadece patentleri de eklemek istedim. Açık kaynaklı projenizin, "kolordu" nun yaşadığı binlerce yazılım patentini ihlal ettiğini öğrenebilirsiniz. Video akışı mı? Patentli. Tıklama başına ödeme reklamları? Patentli. Sadece bazı örnekler. Bununla birlikte, şanslar "kolordu" umurumda değil - eğer bir rakip değilseniz.
Amadeus Hein,

1
Hehe. Bu açık kaynağa karşı değil, korsanlığa karşı bir tartışma. Ama haklısın, iddiaya girerim bu çok büyük bir özel kodda bir sorun.
naught101

1
@ naught101 Kabul edildi. Açık kaynak sadece sorunu ortaya koyuyor. Bu durumda kapalı mülkiyet, yakalanmama meselesidir;)
Andres F.

Yani kaynağı kapalı tutmanın bir sebebinin gündelik telif hakkı ihlallerini gizlemenize izin vermek olduğunu mu söylüyorsunuz? Bunun kullanmak için etik olmayan bir sebep olduğunu düşünmüyor musunuz?
Mark Booth,

1
Etik dışı .... belki de, kesinlikle kaynak açmamak için çok çok iyi bir neden.
Pieter B,

6

Potansiyel sorumluluk sorunlarından kaçınmak için lisansınızı nasıl seçtiğinize dikkat etmeniz gerekir.

Bir avukat bunun hakkında konuşmak için daha iyi bir insan olabilir, ancak genel fikir, birinin uygulamayı kullanması (veya kötüye kullanması) ve bir miktar zarar vermesi durumunda ne olacağıdır? Sorumlu musunuz? Açıkçası bu ne tür bir yazılım yazdığınıza bağlı olacaktır , ancak sorumluluğunuz hakkında lisansınızın ne söylediğine her zaman dikkat etmeniz gerekir. Bu doğru olması zor bir şey olabilir, bu nedenle kaynak kodu serbest bırakmamak daha kolay olabilir.


1
Evet, bu iyi bir nokta ve çoğu işletim sistemi lisansının genellikle içinde bir yerlerde bazı kıçları kapsayan bir metni var. Sanırım "sorumluluk kabul edilmez" tipinde bir lisans kabul ediyordum.
naught101

4

Uyarı: Ben Avukat değilim .

Kâr amacı gütmeyen bir şirketse ve fikri mülkiyeti, yazılımın koduna güçlü bir şekilde bağlıysa, bazıları yazılımın ticari olarak yeniden kullanılmasından ve hatta yazılımınızın karbon kopyalarını oluşturmak için kötüye kullanılmasından korumak isteyebilir.

Aslında birincisinde derinlemesine dayanan bazı diğer nedenler, aslında - sizin durumunuzda, üst düzey araştırmaların birçoğunun özel finansmanla gerçekleşmesi ve genellikle yatırımcıların yatırım getirisini görmek istemeleridir. Ve şimdiye kadar, yazılım endüstrisinin (ya da yeni gelenlerin) tüm oyuncuları, açık kaynak modelinin (muhtemelen bilgi eksikliği ve lisans anlayışı eksikliği ya da lisanslamanın kötü niyetli olamayacağına dair basit bir korku ile) yaşayabilirliği konusunda tam olarak ikna edilmemiştir. kullanır ve kopyalar).

Ek olarak, bu şirketler sırtlarında kar etmeye çalışanlar tarafından dava açmak istemiyorlar ve lisanslama bu konuda da iyi bir sebeple veya korumasız bir koruma olarak görülüyor.

Öyle görünmeyebilir, ancak kar amacı gütmeyen kuruluşlar kurucuları veya yatırımcıları için kârlıdır. Yararları doğrudan değil. Bu yüzden NFP'lerin güçlü olmalarına ve rakipler tarafından kaldırılmayacaklarına büyük ilgi duyuyorlar (kar amacı gütmeyen pazarda "rakipler" hakkında sık sık düşünmeseniz bile) ve IP, problemleri bulmak ve daha erken bir zamanda geliştirmek için kodlarını gözden geçirmek için daha fazla serbest göz topu almama pahasına olsa bile.

Ayrıca telif hakkı yasalarının ülkeden ülkeye farklılık gösterdiğini de unutmayın. Pek çok Avrupa ülkesi, örneğin ABD telif hakkı yasalarını ve ABD patent sistemini oldukça sıkıntıya sokmuş gibi görüyor, bu nedenle kaldırılması zor bir kültürel geçmişe ve ağırlığa sahip.

Jut, konuyla ilgili 2 sentimi.

(Üniversitelerle çok çalıştım, ve son zamanlarda biyoinformatik ve sağlık alanında ... Bu benim ve meslektaşlarım için tekrarlayan bir soru :))


Hrm .. Ben sorumla birlikte kodu ve IP'yi düşünecektim. Belki de bunu daha netleştirmeliydim. YG'yi ve markalama düşüncelerini kar güdüsü olarak düşünürdüm ... ("bilimin" biraz belirsiz olduğunu ve birçok bilimin karlı olduğunu fark ettim - alanım (yer sistem bilimleri kesinlikle olmasa da).
naught101

Soruyu açıkladı. Sorun için özür dilerim.
naught101

Alanının karlı olduğunu düşünüyorum. Geniş bir pazara sahip olmayabilir, ancak karlı olmadığı anlamına gelmez. Fqct'de, oldukça büyük paraya sahip olduğunu düşünürdüm. Neden başka türlü hissediyorsun?
haylem

İklim modellemesi yapıyorum. İklim modelleri için kimse para ödemiyor. Hiç kimse iklim modellerini kullanmak için para ödemez. Yazılımı kullanmanın karı yoktur. İnsanlara bu modelleri kullanarak araştırma yapmak için ödeme yapılır (ve bu genellikle modelleri yazmayı da içerir) ve hesaplama zamanı bazen ödenir, ancak bunların her ikisi de paylaşım kodunun işleri daha ucuz hale getireceği anlamına gelir (kod yazmak yerine araştırma için daha fazla zaman harcayacak) , HPC tesislerinde daha az zaman harcanması). Yazılımın herhangi bir karlılıkla ilgili olduğunu gerçekten anlamıyorum.
naught101

1
@ psr: Bunun naught101'in amacı: modelin kullanımlarının sonuçlarının karlı çıktıları var, ancak modeli uygulayan yazılımın satışında çok fazla para yapılması gerekmiyor. Beni de şaşırtıyor ama çok iyi olabilir.
haylem

1

En az iki farklı türde açık kaynak vardır.

Eğer tavrınız "işte işe yarar bir şey, onunla işim bitti" ise (ve doğru olduğu ortaya çıkıyor), o zaman küçük dezavantajı var.

Öte yandan, tavrınız "Gerçekten heyecanlıyım ve bazı kullanıcıların gelecekteki gelişmeleri yönlendirmesine yardımcı olmak istiyorum" ise, çok dikkatli düşünün. Birçoğu ipucu olmayan kullanıcıları desteklemek için zaman harcamanız gerekecek. Özellikler ve geliştirmeler için çelişen istekleri göz önünde bulundurmanız gerekir. Geriye dönük uyumluluğu korumak için değişiklik yapmanın giderek zorlaştığını göreceksiniz.


3
Kod yayınlamanın bir kimsenin destek sağlamaya nasıl zorlandığını gerçekten anlamıyorum? Ve en azından bilimde, kullanıcıların çoğu, kodun kendisi olmasa da, en azından süreç hakkında oldukça ipucu veriyor.
naught101

1
@ naught101: yükümlü hayır, ama herkes kodunuzu kullanıyorsa, olur olsun, e-postalar, sorular, öneriler ... olacak sadece onları görmezden gelmeyi tercih sürece, sap için biraz çaba alır. Bilim dışında, birçok kullanıcı çok fazla bilgili değil, bu nedenle kendinizi basit kurulum sorunları olan insanlara yardım ederken bulabilirsiniz. En azından bunu yaşadım. Ve - vb "olduğu gibi sağlanan" Hatta BSD tarzı feragatnameler yok olmamalı yardım sormaktan durdurma insanları -.
Joonas Pulakka

1
Çünkü bu cevap diğerlerinden daha az uygulanabilir değil. @JoonasPulakka: elbette insanların yardım istemelerini engellememelidir. Ancak bir cevap beklemelerini engellemelidir. Ayrıca, asıl yazılımı kamuya açık bir şekilde yayınladıysanız, kodunuzun herkese açık olup olmadığına bakılmaksızın ( belki de EULA'ya bağlı olarak), kullanıcılara karşı aynı sorumluluğa sahipsiniz . Belki kodu
kaldırırsanız
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.