Share to: share facebook share twitter share wa share telegram print page

 

Linus yasası

Linus yasası, Linus Torvalds'ın onuruna isimlendirilmiştir.

Linus yasası, yazılım geliştirmede "Yeterince göz olduğu sürece, tüm hatalar yüzeyseldir" yönündeki görüştür. Bu yasa Eric S. Raymond tarafından "Katedral ve Pazar" adlı makale ve kitap çalışmasında formüle edilmiş ve Linus Torvalds'ın onuruna isimlendirilmiştir.[1][2]

Daha resmi bir açıklama şöyledir: "Yeterince büyük bir beta testçi ve ortak geliştirici tabanı göz önüne alındığında, neredeyse her sorun hızlı bir şekilde tanımlanacaktır ve düzeltme birileri için belirgin olacaktır." Kabul edilmesi konusunda fikir birliğine varmak amacıyla kodun birden fazla geliştiriciye sunulması, yazılım incelemesinin basit bir biçimidir. Araştırmacılar ve uygulayıcılar, gözden geçirme süreçlerinin hataları ve güvenlik sorunlarını bulmadaki etkinliğini defalarca göstermiştir.[3]

Geçerlilik

Robert Glass, 'Facts and Fallacies about Software Engineering' adlı eserinde bu yasadan açık kaynak hareketinin bir 'mantrası' olarak söz etmektedir. Ancak, destekleyici kanıtların eksikliği ve araştırmaların, ek hataların ortaya çıkarılma oranının gözden geçirenlerin sayısıyla doğrusal olarak ölçeklenmediğini göstermesi nedeniyle bunu bir yanılgı olarak nitelendirmektedir. Araştırmalara göre, iki ile dört arasında küçük bir maksimum yararlı gözden geçiren sayısı vardır ve bu sayının üzerindeki ek gözden geçirenler çok daha düşük bir oranda hataları ortaya çıkarmaktadır. [4] Kapalı kaynak uygulayıcıları da bir yazılım projesinin geliştirilmesi sırasında sıkı, bağımsız kod analizini teşvik ederken, öncelikle " gözlerin " sayısına değil, birkaç kişi tarafından derinlemesine incelemeye odaklanmaktadırlar.[5]

Heartbleed güvenlik hatasının kritik bir kod parçasında iki yıl boyunca varlığını devam ettirmesi, Raymond'un şu sözünün bir yalanlaması olarak değerlendirilmiştir.[6][7][8][9] Larry Seltzer, kaynak kodun erişilebilir olmasının, bazı geliştiricilerin ve araştırmacıların kapalı kaynak kodlu yazılımlara kıyasla daha az kapsamlı testler yapmalarına neden olabileceğinden şüphelenmektedir.[9] 2015 yılında Linux Vakfı'nın yönetici direktörü Jim Zemlin, modern yazılımın karmaşıklığının, güvenliğini artırmak için özel kaynak tahsisi gerektirecek seviyelere yükseldiğini savunmuştur. 2014'ün en büyük küresel açık kaynak yazılım güvenlik açıklarından bazılarıyla ilgili olarak, "Bu durumlarda, başka gözler gerçekten bakmıyordu" demektedir.[8] Bu mantranın pratikte ne kadar işe yaradığını test etmek için büyük ölçekli deneyler veya hakemli anketler henüz yapılmamıştır.[10]

Linus yasasının [11] geçerliliğine dair ampirik destek, aynı organizasyonun popüler ve popüler olmayan projeleri karşılaştırılarak elde edilmiştir. Popüler projeler, GitHub yıldızlarının en üst %5'ine sahip projeler olarak tanımlanmıştır. Hata tespiti, hataları düzeltmeyle ilgili commit'lerin oranı olan düzeltici commit(değişiklik) olasılığı ile ölçülmüştür. Analiz, popüler projelerin daha yüksek bir hata düzeltme oranına sahip olduğunu göstermiştir. Google'ın popüler projelerde kod kalite standartlarını düşürme olasılığı düşük olduğundan, bu durum popüler projelerde artan hata tespit verimliliğinin bir göstergesidir.

Ayrıca bakınız

Kaynakça

  1. ^ Raymond, Eric S. "The Cathedral and the Bazaar". catb.org. 24 Nisan 2003 tarihinde kaynağından arşivlendi. 
  2. ^ Raymond, Eric S. (1999). The Cathedral and the Bazaar. O'Reilly Media. s. 30. ISBN 1-56592-724-9. 
  3. ^ Pfleeger, Charles P.; Pfleeger, Shari Lawrence (2003). Security in Computing, 4th Ed. Prentice Hall PTR. ss. 154-157. ISBN 0-13-239077-9. 
  4. ^ Glass, Robert L. (2003). Facts and Fallacies of Software Engineering. Addison-Wesley. s. 174. ISBN 0-321-11742-5.  978-0321117427.
  5. ^ Howard, Michael; LeBlanc, David (2003). Writing Secure Code, 2nd. Ed. Microsoft Press. ss. 44-45, 615, 726. ISBN 0-7356-1722-8. 23 Mayıs 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Mayıs 2024. 
  6. ^ Byfield, Bruce (14 Nisan 2014). "Does Heartbleed Disprove 'Open Source is Safer'?". Datamation. 19 Mayıs 2014 tarihinde kaynağından arşivlendi. 
  7. ^ Felten, Edward W.; Kroll, Joshua A. (2014). "Help Wanted on Internet Security". Scientific American. 311 (1): 14. doi:10.1038/scientificamerican0714-14. PMID 24974688. 
  8. ^ a b Kerner, Sean Michael (20 Şubat 2015). "Why All Linux (Security) Bugs Aren't Shallow". eSecurity Planet. 21 Şubat 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Şubat 2015. 
  9. ^ a b Seltzer, Larry (14 Nisan 2014). "Did open source matter for Heartbleed?". ZDNet. 5 Ocak 2015 tarihinde kaynağından arşivlendi. 
  10. ^ Arceneaux, Kevin; Gerber, Alan S.; Green, Donald P. (January 2006). "Comparing Experimental and Matching Methods Using a Large-Scale Voter Mobilization Experiment". Political Analysis (İngilizce). 14 (1): 37-62. doi:10.1093/pan/mpj001. ISSN 1047-1987. 26 Aralık 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Mayıs 2024. 
  11. ^ A bot will complete this citation soon. Click here to jump the queue arXiv:[1].

Konuyla ilgili yayınlar

  • Jing Wang; J.M. Carroll (27 Mayıs 2011). Behind Linus's law: A preliminary analysis of open source software peer review practices in Mozi. Int. Conf. on Collaboration Technologies and Systems (CTS), Philadelphia, PA. IEEE Xplore Digital Library. ss. 117-124. doi:10.1109/CTS.2011.5928673. 
Kembali kehalaman sebelumnya


Index: pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve 
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9