Закон Линуса
Есть два утверждения, которые были названы законом Линуса , ссылаясь на заявления, сделанные Линусом Торвальдсом , финским инженером-программистом , создателем ядра Linux . Первый относится к возможности находить баги при открытии программы сообществу, а второй — к мотивации разработки с открытым исходным кодом .
Закон о поиске ошибок
Заявление Линуса Торвальдса , в котором говорится:
«При достаточно большом количестве глаз все ошибки становятся очевидными».
Эрик С. Реймонд назвал его законом Линуса .
Каждая проблема должна быть для кого-то прозрачной. Люди, которые понимают, и те, кто решает проблему, не обязательно должны быть одними и теми же, даже в большинстве случаев. По словам Линуса Торвальдса : «Кто-то находит проблему, а кто-то другой ее решает». Но дело в том, что и то, и другое происходит очень быстро.
согласно Эрику
Эрик С. Реймонд утверждает, что если бы закон Линуса был ложным, то любая достаточно сложная система, такая как ядро Linux, которым так много манипулируют, должна была рухнуть под тяжестью непредвиденных взаимодействий и непреднамеренных «очень глубоких» ошибок. Однако, если это правда, то этого было бы достаточно, чтобы объяснить относительное отсутствие ошибок в коде Linux и продемонстрировать превосходство с точки зрения качества конечного продукта модели разработки свободного программного обеспечения над используемой традиционной моделью. для разработки собственного программного обеспечения . [ 1 ]
Вот существенное различие между двумя стилями. В подходе, используемом для разработки проприетарного программного обеспечения , ошибки и проблемы разработки являются глубокими и сложными явлениями. Обычно требуются месяцы тщательного анализа, чтобы некоторые могли быть уверены, что ошибки устранены. Вот почему такие большие промежутки между выходом каждой версии и неизбежное разочарование, когда эти долгожданные версии не идеальны. [ 1 ]
В подходе, используемом для разработки свободного программного обеспечения, предполагается, что ошибки являются относительно очевидным явлением или, по крайней мере, они могут стать относительно очевидными, если их показать тысячам энтузиастов-разработчиков, работающих над каждым выпуском. Поэтому он выпускается часто, чтобы получить больше исправлений за меньшее время. [ 1 ]
Больше пользователей улавливает больше ошибок, потому что они по-разному оценивают программу. Этот эффект усиливается, когда пользователи являются помощниками разработчиков. Каждая из них подходит к задаче описания ошибок с помощью разных аналитических инструментов и с разных точек зрения. [ 1 ]
Поэтому добавление большего количества бета-тестеров могло бы способствовать не столько снижению сложности самых «глубоких» текущих багов с точки зрения разработчика, сколько увеличению вероятности того, что некоторые из них четко увидят проблему, ошибку и может это исправить. [ 1 ]
Критика
Некоторые исследования анализировали и критиковали закон Линуса. Эксперты по разработке программного обеспечения Роберт Гласс , Майкл Ховард и Дэвид ЛеБлан определили, что применение закона Линуса может привести к проблемам в обслуживании и безопасности программного обеспечения, [ 2 ] [ 3 ] , для чего они ссылаются на относительно небольшое количество вкладов, сделанных для открытия исходные проекты по «внешним»: где «внешние» означают участников, которые не принадлежат к небольшому ядру разработчиков, работающих над проектом.
Это прямой результат необходимой тщательности, которую разработчики должны проявлять при создании среды и понимании фрагмента кода, прежде чем они смогут эффективно вносить в него свой вклад. Некоторые проекты, как правило, настороженно относятся к сторонним вкладам, опасаясь, что они могут попытаться создать трудно обнаруживаемые ошибки или дыры в безопасности, и поэтому эти проекты создают неудобный процесс проверки, который может препятствовать внешней разработке.
Закон мотивации Линуса
Линус Торвальдс также говорит о законе Линуса в предисловии к книге «Хакерская этика » . Закон Линуса гласит:
Все наши мотивы делятся на три основные категории. И что еще более важно, прогресс состоит из перехода от одной категории к другой, как «фазы» эволюционного процесса. Категории по порядку: «выживание», «общественная жизнь» и «развлечение». [ 4 ]
Эта идея аналогична пирамиде потребностей , которую разработал американский психолог-гуманист Абрахам Маслоу .
Смотрите также
Ссылки
- ↑ a b c d e Рэймонд, Эрик С. «Собор и базар» (pdf) . Смолдон (Аргентина) . п. 4. Архивировано из оригинала 19 июня 2004 г. Проверено 22 апреля 2020 г. .
- ↑ Гласс, Роберт Л. Факты и заблуждения программной инженерии . ISBN 0-321-11742-5
- ↑ Ховард, Майкл и Леблан, Дэвид. Написание безопасного кода, второе издание . ISBN 0-7356-1722-8
- ^ Пекка Химанен ; Линус Торвальдс , Мануэль Кастельс (30 января 2001 г.). Хакерская этика . случайный дом. ISBN 0-375-50566-0
Внешние ссылки
Wikisource содержит оригинальные работы Закона Линуса или о нем .