Закон Линуса | это... Что такое Закон Линуса? (original) (raw)
Зако́н Ли́нуса (англ. Linus's Law) — любое из двух известных эмпирических наблюдений, названных в честь Линуса Торвальдса, создателя ядра Linux.
Содержание
- 1 Закон Линуса согласно Эрику Рэймонду
- 2 Закон Линуса согласно Линусу
- 3 Прочие «законы Линуса»
- 4 Примечания
Закон Линуса согласно Эрику Рэймонду
Согласно Эрику Рэймонду, закон Линуса гласит, что «при достаточном количестве глаз баги выплывают на поверхность» (англ. “given enough eyeballs, all bugs are shallow”); или, более формально, «при достаточном количестве бета-тестеров и сотрудников, почти любая проблема будет быстро обнаружена и окажется для кого-то очевидной». Рэймонд сформулировал это правило в четвёртой части своего эссе «Собор и Базар».
Критика
Некоторые исследователи не согласны с правилом «достаточного количества глаз». Например, Роберт Гласс оспаривает закон Линуса, и считает, что участие более двух-четырёх разработчиков в поисках багов в участке кода не повышает результативность этого поиска[1]. Майкл Хауард и Дэвид ЛеБланк утверждают, что «достаточное количество глаз» всё равно могут не заметить баг, если они недостаточно знакомы с данным участком кода; и что открытость исходного кода не гарантирует безопасность ПО, поскольку среди разработчиков, читающих код, лишь немногие умеют замечать уязвимости[2].
Следует заметить, что сам Эрик Рэймонд не согласен с популярными упрощёнными трактовками своей формулировки закона Линуса[3].
Закон Линуса согласно Линусу
Сам Линус Торвальдс под законом Линуса имеет в виду свои размышления о причинах развития человеческого общества, которые он изначально опубликовал в автобиографии Just for Fun[4]. В предисловии к книге Химанена «_Хакерская этика_» (The Hacker Ethic), Торвальдс предложил более короткую формулировку закона:
Закон Линуса гласит, что все наши мотивации можно разделить на три основные категории. И что более важно, прогресс означает прохождение через те же три категории, как «фазы» в процессе эволюции, то есть перемещение из категории в следующую категорию. Эти категории, по порядку — «выживание», «социальная жизнь» и «развлечение»[5].
Такой вариант закона Линуса похож на пирамиду потребностей по Маслоу и теорию потребностей Альдерфера.
Прочие «законы Линуса»
- Торвальдс, в одном из своих сообщений в список рассылки GNOME, написал, что «закон Линуса (№ 76 из 271)» — «не следует писать, что у вашей программы есть какая-то опция, если её невозможно изменить через пользовательский интерфейс»[6].
- «Теория и практика иногда сталкиваются. Когда это случается, теория проигрывает. Всегда.»[7]
Примечания
- ↑ 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. Архивировано из первоисточника 15 марта 2012.
- ↑ 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.
- ↑ Torvalds, Linus. Message to Linux kernel mailing list (англ.) (25 March 2010). Архивировано из первоисточника 15 марта 2012. Проверено 25 марта 2010.