Закон Лінуса

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Закон Лінуса (англ. Linus's Law) — будь-яке з двох відомих емпіричних спостережень, названих на честь Лінуса Торвальдса, творця ядра Linux.

Закон Лінуса, згідно з Еріком Реймондом[ред.ред. код]

Згідно з Еріком Реймондом, закон Лінуса говорить, що «при достатній кількості очей баги випливають на поверхню» (англ. "given enough eyeballs, all bugs are shallow "); або, більш формально, «при достатній кількості бета-тестерів і співробітників, майже будь-яка проблема буде швидко виявленою і виявиться для когось очевидною». Реймонд сформулював це правило в четвертій частині свого есе «Собор і базар».

Критика[ред.ред. код]

Деякі дослідники не згодні з правилом «достатньої кількості очей». Наприклад, Роберт Гласс оскаржує закон Лінуса, і вважає, що участь більше двох-чотирьох розробників у пошуках багів в ділянці коду не підвищує результативність цього пошуку. [1] Майкл Хауард і Девід ЛеБланк стверджують, що «достатня кількість очей» все одно може не помітити баг, якщо вони недостатньо знайомі з цією ділянкою коду; і що відкритість вихідного коду не гарантує безпеку ПЗ, оскільки серед розробників, які читають код, лише деякі вміють помічати уразливості. [2]

Слід зауважити, що сам Ерік Реймонд не згоден з популярними спрощеними трактуваннями свого формулювання закону Лінуса. [3]

Закон Лінуса, згідно з Лінусом[ред.ред. код]

Сам Лінус Торвальдс під законом Лінуса має на увазі свої роздуми про причини розвитку людського суспільства, які він спочатку опублікував в автобіографії Just for Fun.[4] У передмові до книги Хіманен «Хакерська етика » (The Hacker Ethic), Торвальдс запропонував коротше формулювання закону:

Закон Лінуса свідчить, що всі наші мотивації можна розділити на три основні категорії. І що більш важливо, прогрес означає проходження через ті ж три категорії, як «фази» в процесі еволюції, тобто переміщення з категорії в наступну категорію. Ці категорії, за порядком — «виживання», «соціальне життя» і «розвага». [5]

Такий варіант закону Лінуса схожий на піраміду потреб за Маслоу.

Інші «закони Лінуса»[ред.ред. код]

  • Торвальдс, в одному зі своїх повідомлень в списку розсилки GNOME, написав, що «закон Лінуса (№ 76 з 271)» — "не слід писати, що у вашої програми є якась опція, якщо її неможливо змінити через інтерфейс користувача ".[6]
  • «Теорія і практика іноді стикаються. Коли це трапляється, теорія програє. Завжди»[7].

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

  1. Robert L. Glass About the Life Cycle // Facts and Fallacies of Software Engineering. — Addison-Wesley, 2002. — С. 174-5. — 195 с. — ISBN 0321117425
  2. Michael Howard, David LeBlanc Writing Secure Code, Second Edition. — Microsoft Press, 2002. — С. 616, 726. — 768 с. — ISBN 0735617228
  3. Eric S. Raymond. «Many eyes, shallow bugs -- the untold story». Архів оригіналу за 2012-03-15. 
  4. Linus Torvalds, David Diamond Just for Fun. — HarperBusiness, 2001. — С. 243—246. — 262 с. — ISBN 9780066620725
  5. Pekka Himanen The Hacker Ethic. — Random House, 2002. — С. xiv. — 256 с. — ISBN 037575878X
  6. «Printing dialog and GNOME». 
  7. (англ.)Torvalds, Linus (2010-03-25). «Message to Linux kernel mailing list». Архів оригіналу за 2012-03-15. Процитовано 2010-03-25.