Закон Лінуса (англ.Linus's Law) — будь-яке з двох відомих емпіричних спостережень, названих на честь Лінуса Торвальдса, творця ядра Linux. Закон був сформульований Еріком С. Реймондом у його есе та книзі "Собор і базар" (1999) і названий на честь Лінуса Торвальдса.[1][2]
Закон Лінуса, згідно з Еріком Реймондом
Згідно з Еріком Реймондом, закон Лінуса говорить, що «при достатній кількості очей баги випливають на поверхню» (англ."given enough eyeballs, all bugs are shallow "); або, більш формально, «при достатній кількості бета-тестерів і співробітників, майже будь-яка проблема буде швидко виявленою і виявиться для когось очевидною». Реймонд сформулював це правило в четвертій частині свого есе «Собор і базар».
Критика
Деякі дослідники не згодні з правилом «достатньої кількості очей». Наприклад, Роберт Гласс оскаржує закон Лінуса, і вважає, що участь більше двох-чотирьох розробників у пошуках багів в ділянці коду не підвищує результативність цього пошуку. [3] Майкл Хауард і Девід ЛеБланк стверджують, що «достатня кількість очей» все одно може не помітити баг, якщо вони недостатньо знайомі з цією ділянкою коду; і що відкритість вихідного коду не гарантує безпеку ПЗ, оскільки серед розробників, які читають код, лише деякі вміють помічати уразливості. [4]
Слід зауважити, що сам Ерік Реймонд не згоден з популярними спрощеними трактуваннями свого формулювання закону Лінуса. [5]
Закон Лінуса, згідно з Лінусом
Сам Лінус Торвальдс під законом Лінуса має на увазі свої роздуми про причини розвитку людського суспільства, які він спочатку опублікував в автобіографії Just for Fun.[6] У передмові до книги Хіманен «Хакерська етика » (The Hacker Ethic), Торвальдс запропонував коротше формулювання закону:
Закон Лінуса свідчить, що всі наші мотивації можна розділити на три основні категорії. І що більш важливо, прогрес означає проходження через ті ж три категорії, як «фази» в процесі еволюції, тобто переміщення з категорії в наступну категорію. Ці категорії, за порядком — «виживання», «соціальне життя» і «розвага». [7]
Торвальдс, в одному зі своїх повідомлень в списку розсилкиGNOME, написав, що «закон Лінуса (№ 76 з 271)» — "не слід писати, що у вашої програми є якась опція, якщо її неможливо змінити через інтерфейс користувача ".[8]
«Теорія і практика іноді стикаються. Коли це трапляється, теорія програє. Завжди»[9].