Закон Лінуса — Вікіпедія

Закон Лінуса (англ. 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].

Примітки[ред. | ред. код]

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