Linusův zákon - Linus's law

Při vývoji softwaru je Linusův zákon tvrzením, že „při dostatečném množství očních bulv jsou všechny chyby povrchní“.

Zákon formuloval Eric S. Raymond ve své eseji a knize The Cathedral and the Bazaar (1999) a byl pojmenován na počest Linuse Torvaldse .

Více formální prohlášení zní: „Vzhledem k tomu, dostatečně velký beta tester a ko- developer základny, téměř každý problém bude charakterizován rychle a opravu zjevný s někým.“ Představení kódu více vývojářům za účelem dosažení konsensu o jeho přijetí je jednoduchá forma kontroly softwaru . Výzkumníci a odborníci opakovaně prokázali účinnost kontrolních procesů při hledání chyb a bezpečnostních problémů.

Platnost

Ve Faktech a klamech o softwarovém inženýrství Robert Glass označuje zákon jako „mantru“ hnutí otevřeného zdroje , ale označuje jej za klam kvůli nedostatku podpůrných důkazů a proto, že výzkum ukázal, že míra výskytu dalších chyb uncovered nemá měřítko lineárně s počtem recenzentů; spíše existuje malý maximální počet užitečných recenzentů, mezi dvěma a čtyřmi, a další recenzenti nad tímto počtem odhalují chyby mnohem nižší rychlostí. Zatímco odborníci v uzavřených zdrojích také podporují přísnou a nezávislou analýzu kódu během vývoje softwarového projektu, zaměřují se na hloubkovou kontrolu několika málo, a ne primárně na počet „očních bulv“.

Přetrvávání bezpečnostní chyby Heartbleed v kritickém kusu kódu po dobu dvou let bylo považováno za vyvrácení Raymondova výroku. Larry Seltzer má podezření, že dostupnost zdrojového kódu může způsobit, že někteří vývojáři a výzkumní pracovníci provedou méně rozsáhlé testy, než by to bylo v případě softwaru se zavřeným zdrojovým kódem, což usnadní zachování chyb. V roce 2015 výkonný ředitel Nadace Linux Jim Zemlin tvrdil, že složitost moderního softwaru se zvýšila na takové úrovně, že je pro zvýšení jeho bezpečnosti žádoucí konkrétní přidělení zdrojů. Pokud jde o některé z největších globálních zranitelností softwaru s otevřeným zdrojovým kódem v roce 2014 , říká: „V těchto případech oči skutečně nevypadaly“. Nebyly provedeny rozsáhlé experimenty ani peer-reviewed průzkumy, které by testovaly, jak dobře mantra v praxi drží.

Empirická podpora platnosti Linusova zákona byla získána porovnáním populárních a nepopulárních projektů stejné organizace. Populární projekty jsou projekty s 5% nejlepších hvězd GitHub (7 481 hvězd nebo více). Identifikace chyby byla měřena pomocí pravděpodobnosti opravného potvrzení, což je poměr závazků, který byl určen k opravě chyb. Analýza ukázala, že populární projekty měly vyšší poměr oprav chyb (např. Populární projekty Google měly o 27% vyšší míru oprav chyb než méně populární projekty Google). Protože je nepravděpodobné, že Google snížil standardy kvality kódu v populárnějších projektech, je to známka zvýšené efektivity detekce chyb v populárních projektech.

Viz také

Reference

Další čtení