Закон Лінуса (англ. 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].
Примітки
- ↑ Raymond, Eric S. (1 лютого 2001). The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary (англ.). "O'Reilly Media, Inc.". ISBN 978-0-596-55396-8.
- ↑ Release Early, Release Often. www.catb.org. Процитовано 6 квітня 2023.
- ↑ Robert L. Glass About the Life Cycle // Facts and Fallacies of Software Engineering. — Addison-Wesley, 2002. — С. 174-5. — 195 с. — ISBN 0321117425
- ↑ Michael Howard, David LeBlanc Writing Secure Code, Second Edition. — Microsoft Press, 2002. — С. 616, 726. — 768 с. — ISBN 0735617228
- ↑ Eric S. Raymond. Many eyes, shallow bugs -- the untold story. Архів оригіналу за 28 липня 2013. Процитовано 12 серпня 2010.
- ↑ Linus Torvalds, David Diamond Just for Fun. — HarperBusiness, 2001. — С. 243—246. — 262 с. — ISBN 9780066620725
- ↑ Pekka Himanen The Hacker Ethic. — Random House, 2002. — С. xiv. — 256 с. — ISBN 037575878X
- ↑ Printing dialog and GNOME. Архів оригіналу за 10 жовтня 2013. Процитовано 12 серпня 2010.
- ↑ (англ.)Torvalds, Linus (25 березня 2010). Message to Linux kernel mailing list. Архів оригіналу за 29 березня 2009. Процитовано 25 березня 2010.