Закон Линуса

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Зако́н Ли́нуса (англ. 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. Архивировано из первоисточника 15 марта 2012.
  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. Message to Linux kernel mailing list (англ.) (25 March 2010). Проверено 25 марта 2010. Архивировано из первоисточника 15 марта 2012.