İçeriğe atla

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. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Linux</span> Bir işletim sistemi çekirdeği

Linux ; Linux çekirdeğine dayalı, açık kaynak kodlu, Unix benzeri bir işletim sistemi ailesidir. GNU Genel Kamu Lisansı versiyon 2 ile sunulan ve Linux Vakfı çatısı altında geliştirilen bir özgür yazılım projesidir. Linux ismi ilk geliştiricisi olan Linus Torvalds tarafından 1991 yılında verilmiştir. Günümüzde süper bilgisayarlarda, akıllı cihazların ve internet altyapısında kullanılan cihazların işletim sistemlerinde yaygın olarak kullanılmaktadır. Bunlardan en popüler olanı Google tarafından geliştirilen Android işletim sistemidir.

<span class="mw-page-title-main">Özgür yazılım</span> belirli kullanıcı kullanım, kopyalama, değiştirme, yeniden dağıtma özgürlüğünün (değiştirilmiş dahil) mevcut olduğu yazılım

Özgür yazılım, kullanıcısına yazılımı herhangi bir amaç için çalıştırma, inceleme, değiştirme ve dağıtma özgürlükleri tanıyan yazılım türüdür. Tersi, özel mülk yazılımdır.

<span class="mw-page-title-main">GNU</span> bilgisayar işletim sistemi

GNU; çekirdeği, sistem araçlarını, açıcılarını, kütüphanelerini ve son kullanıcı yazılımlarını içeren, GNU Tasarısı kapsamında geliştirilen bir işletim sistemidir. İsminin açılımı "GNU's Not Unix" dir. Bu ismi almasındaki sebep de tasarımının Unix'e benzerken kendisinin özgür yazılım olması ve herhangi bir UNIX kodunu içermemesidir.

<span class="mw-page-title-main">Linus Torvalds</span>

Linus Benedict Torvalds Finlandiya asıllı Amerikalı bir bilgisayar bilimci ve yazılım mühendisidir. Linux işletim sistemi çekirdeğinin geliştiricisi ve proje yöneticisi olup, ABD'de yaşamaktadır. Transmeta'daki görevinden ayrıldığından beri OSDL'de tam zamanlı olarak Linux çekirdeği üzerinde çalışmaktadır. Helsinki Üniversitesi'nde bilgisayar bilimleri bölümünden mezun olmuştur.

<span class="mw-page-title-main">Açık kaynak</span> ücretsiz dağıtım ve ürüne erişim hakkında felsefe

Açık kaynak, kaynak kodun; kopyalanması, değiştirilebilmesi ve yeniden dağıtım için serbestçe kullanıma sunulmasıdır. Açık kaynak yalnızca kaynak koda erişim anlamına gelmez. Kodların başkaları tarafından herhangi bir telif ücreti ödemeden kullanılabilmesi, değiştirilmesi ve yeniden dağıtımı gibi çeşitli haklar vermesi gerekir. Bunun için ürün, açık kaynak tanımına uyan bir lisans kullanmalıdır.

<span class="mw-page-title-main">Açık kaynak yazılım</span> açık kaynak lisansıyla yayınlanmış programlama kodu

Açık kaynak yazılım ya da açık kaynak kodlu yazılım, telif hakkı sahibinin kullanıcılara yazılımı ve kaynak kodunu herhangi bir amaç için kullanma, inceleme, değiştirme ve dağıtma haklarını verdiği bir lisans kapsamında yayınlanan bilgisayar yazılımıdır. Kullandıkları lisans gereğince isteyen kişi ve grupların yazılımı kendi kişisel ihtiyaçlarına uyarlamalarına ve sonunda değişikliği benzer tercihlere sahip kullanıcılar için bir çatal olarak yayınlamalarına olanak tanır.

Canonical Ltd., Güney Afrikalı girişimci Mark R. Shuttleworth tarafından İngiltere merkezli olarak kurulmuş, yazılım projeleri geliştiren özel bir şirkettir. Firmanın başlıca ürünü Linux tabanlı Ubuntu işletim sistemidir. Ubuntu'nun masaüstü, sunucu, bulut, akıllı telefon ve tabletlere yönelik türevleri bulunur.

<span class="mw-page-title-main">Eric Raymond</span>

Eric Steven Raymond, Open Source Initiative adlı kuruluşun sözcüsü ve avukatı.

<span class="mw-page-title-main">Katedral ve Pazar</span>

Katedral ve Pazar, Eric S. Raymond'ın yazılım mühendisliği yöntemleri üzerine yazdığı, Linux çekirdek geliştirme süreci ve gözlemlerine dayanan bir makale ve daha sonra bir kitaptır. İlk kez 27 Mayıs 1997'de Almanya'da gerçekleştirilen Linux Kongresi'nde sunulmuştur. 1999'da aynı başlıkla yazılan kitabı Açık Yayın Lisansı v2.0 kapsamında yayımlanmıştır.

<span class="mw-page-title-main">Bruce Perens</span>

Bruce Perens açık kaynak topluluğunun lideridir. Açık Kaynak Tanımı'nın yaratıcısı olan Perens aynı zamanda, açık kaynak ve manifestosunun ilk resmi duyurusunu yapmıştır. Eric S. Raymond ile birlikte Open Source Initiative'in yarı kurucusudur. 2005 yılında Birleşmiş Milletler Kalkınma Programının daveti ile Birleşmiş Milletler Bilgi Toplumu Dünya Zirvesinde açık kaynağı temsil etmiştir.

<span class="mw-page-title-main">Git (yazılım)</span> dağıtılmış iş kontrol sistemi

Git, yazılım geliştirme süreçlerinde kullanılan, hız odaklı, dağıtık çalışan bir sürüm kontrol ve kaynak kod yönetim sistemidir. İlk sürümü Linux çekirdeği'nin geliştirilmesinde kullanılmak üzere 2005 yılında bizzat Linus Torvalds tarafından tasarlanıp geliştirilmiş, 2021 yılı itibarıyla %73 pazar payına ulaşmıştır.

<span class="mw-page-title-main">Unix benzeri</span>

Unix benzeri işletim sistemi, resmi bir UNIX markası olmamasına karşın Unix sistemine benzer şekilde çalışan işletim sistemleridir. Unix benzeri bir yazılım, Unix komut ve kabuğuna benzer işlevlere sahiptir. Bu terimin kullanımı için bir standart yoktur ve bir yazılımın veya işletim sisteminin Unix benzeri olarak adlandırılıp adlandırılamayacağı üzerine farklı görüşler vardır.

<span class="mw-page-title-main">Özgür ve açık kaynak kodlu yazılım</span> hem kullanımı özgür olan hem de açık kaynak kodlu olan yazılım

Özgür ve açık kaynak kodlu yazılım, kullanıcılara yazılımı ve kaynak kodunu herhangi bir amaç için kullanma, inceleme, değiştirme ve dağıtma özgürlükleri veren bir lisans kapsamında yayınlanan bilgisayar yazılımıdır.

<span class="mw-page-title-main">GNOME Software</span>

GNOME Software, Linux ve Unix benzeri sistemlerde yazılım kurmak, kaldırmak ve güncellemek için kullanılan bir paket yöneticisi önyüzü. GTK+ arayüz aracı ile yazılmıştır. GNOME çekirdek uygulamalarının bir parçası olup ilk sürümü GNOME 3.10 ile birlikte Eylül 2013'te yayınlanmıştır. PackageKit için bir GNOME ön ucudur ve RPM, DEB gibi farklı tabanlı sistemleri destekler.

Özel mülk yazılım ya da sahipli yazılım, yazılımın yaratıcısının, yayıncısının veya diğer hak sahibi ortaklarının fikrî mülkiyet hakkını ve telif hakkını kendi elinde tuttuğu bilgisayar yazılımıdır. Yazılımın alıcılarına, yazılımı özgürce paylaşma veya değiştirme hakkı vermez. Özel mülk yazılımlar, mülk sahipleri tarafından ücretli ya da ücretsiz olarak yayınlanabilir.

WireGuard, yönlendirilmeli veya köprülü ağ yapılandırmalarında noktadan noktaya (P2P) güvenli bağlantılar oluşturmak için sanal özel ağ (VPN) tekniklerini uygulayan ücretsiz ve açık kaynak kodlu bir yazılım uygulaması ve iletişim protokolüdür. Linux çekirdeği içinde bir modül olarak çalıştırılır ve IPsec ve OpenVPN tünel protokollerinden daha iyi performans hedeflemektedir. Jason A. Donenfeld tarafından yazılmıştır ve GNU Genel Kamu Lisansı (GPL) sürüm 2 altında yayınlanmıştır. Yazılım Mart 2020'nin sonlarında kararlı bir sürüme ulaştı ve Linux çekirdeği 5.6 sürümüne eklendi.

Güvenli kodlama, bilgisayarın yazılımsal olarak güvenlik zafiyetlerinden korumayı amaçlayan bir yöntemdir. Yazılım hata ve kusurları ile mantıksal hatalar yazılımı sömürme amaçlı kullanılan güvenlik zafiyetlerin başında gelir. Raporlanan zafiyetlerden elde edilen bilgiler ışığında güvenlik uzmanları çoğu zafiyetin ufak programlama hatalarından kaynaklandığını keşfetmiştir. Güvenli olmayan bu kodlar incelenerek eğitimci yazılım geliştiren kişiler ve kurumlar bu açıklıkları azaltmayı hedeflemektedir.

Hindistan Özgür Yazılım Vakfı (FSFI), ABD merkezli Özgür Yazılım Vakfı'nın Hindistan'daki kardeş kuruluşudur. Kerala'nın başkenti Thiruvananthapuram'da (Trivandrum) 2001 yılında kar amacı gütmeyen bir vakıf olarak kurulmuştur. FSFI, Hindistan'da özgür yazılım'ın kullanımı ve geliştirilmesini teşvik etmek için mücadele veriyor. Vakıf aynı zamanda insanlara özgür yazılım konseptini öğretmeyi ve Hindistan gibi gelişen bir ülkeye katkılarını anlatmayı ilke ediniyor. FSF Hindistan, özgür olmayan yazılımları çözüm olarak değil, çözülmesi gereken bir sorun olarak görüyor. Hindistan'da özgür yazılıma bazen yerel olarak swatantra yazılımı da deniyor.

Açık kaynak yazılım hareketi, daha geniş açık işbirliği kavramının bir parçası olarak, yazılımların bir kısmı veya tamamı için açık kaynak lisanslarının kullanımını destekleyen bir harekettir. Açık kaynak hareketi, açık kaynak yazılım kavramını/fikrini yaymaya başlamıştır. Açık kaynak hareketi felsefesini destekleyen programcılar, yazılım geliştirme için gönüllü olarak programlama kodu yazarak ve değiş tokuş ederek açık kaynak topluluğuna katkıda bulunurlar. "Açık kaynak" terimi, hiç kimsenin düzenlenmiş kodu paylaşmayan bir gruba karşı ayrımcılık yapmamasını veya başkalarının önceden düzenlenmiş çalışmalarını düzenlemesini engellememesini gerektirir. Yazılım geliştirmeye yönelik bu yaklaşım, herkesin açık kaynak kodunu almasına ve değiştirmesine olanak tanır. Bu değişiklikler, yazılımla çalışan kişilerden oluşan açık kaynak topluluğu içindeki geliştiricilere geri dağıtılır. Bu sayede kod değişikliğine katılan tüm bireylerin kimlikleri ortaya çıkarılmakta ve kodun zaman içinde dönüşümü belgelenmektedir. Bu yöntem, belirli bir kod parçasının sahipliğini oluşturmayı zorlaştırır, ancak açık kaynak hareketi felsefesiyle uyumludur. Bu hedefler, yüksek kaliteli programların üretimini ve açık kaynak teknolojisini geliştirmek için benzer düşünceye sahip diğer insanlarla işbirliği içinde çalışmayı teşvik eder.

<span class="mw-page-title-main">Açık kaynak video oyunu</span>

Açık kaynaklı bir video oyunu veya basitçe açık kaynak bir oyun, kaynak kodu açık olan bir video oyunudur. Genellikle kaynak kodu serbestçe dağıtılabilir ve bazen platformlar arası uyumludur.