close

Закон Линуса

Перейти к навигации Перейти к поиску

Есть два утверждения, которые были названы законом Линуса , ссылаясь на заявления, сделанные Линусом Торвальдсом , финским инженером-программистом , создателем ядра Linux . Первый относится к возможности находить баги при открытии программы сообществу, а второй — к мотивации разработки с открытым исходным кодом .

Закон о поиске ошибок

Заявление Линуса Торвальдса , в котором говорится:

«При достаточно большом количестве глаз все ошибки становятся очевидными».

Эрик С. Реймонд назвал его законом Линуса .

Каждая проблема должна быть для кого-то прозрачной. Люди, которые понимают, и те, кто решает проблему, не обязательно должны быть одними и теми же, даже в большинстве случаев. По словам Линуса Торвальдса : «Кто-то находит проблему, а кто-то другой ее решает». Но дело в том, что и то, и другое происходит очень быстро.

согласно Эрику

Эрик С. Реймонд утверждает, что если бы закон Линуса был ложным, то любая достаточно сложная система, такая как ядро ​​​​Linux, которым так много манипулируют, должна была рухнуть под тяжестью непредвиденных взаимодействий и непреднамеренных «очень глубоких» ошибок. Однако, если это правда, то этого было бы достаточно, чтобы объяснить относительное отсутствие ошибок в коде Linux и продемонстрировать превосходство с точки зрения качества конечного продукта модели разработки свободного программного обеспечения над используемой традиционной моделью. для разработки собственного программного обеспечения . [ 1 ]

Вот существенное различие между двумя стилями. В подходе, используемом для разработки проприетарного программного обеспечения , ошибки и проблемы разработки являются глубокими и сложными явлениями. Обычно требуются месяцы тщательного анализа, чтобы некоторые могли быть уверены, что ошибки устранены. Вот почему такие большие промежутки между выходом каждой версии и неизбежное разочарование, когда эти долгожданные версии не идеальны. [ 1 ]

В подходе, используемом для разработки свободного программного обеспечения, предполагается, что ошибки являются относительно очевидным явлением или, по крайней мере, они могут стать относительно очевидными, если их показать тысячам энтузиастов-разработчиков, работающих над каждым выпуском. Поэтому он выпускается часто, чтобы получить больше исправлений за меньшее время. [ 1 ]

Больше пользователей улавливает больше ошибок, потому что они по-разному оценивают программу. Этот эффект усиливается, когда пользователи являются помощниками разработчиков. Каждая из них подходит к задаче описания ошибок с помощью разных аналитических инструментов и с разных точек зрения. [ 1 ]

Поэтому добавление большего количества бета-тестеров могло бы способствовать не столько снижению сложности самых «глубоких» текущих багов с точки зрения разработчика, сколько увеличению вероятности того, что некоторые из них четко увидят проблему, ошибку и может это исправить. [ 1 ]

Критика

Некоторые исследования анализировали и критиковали закон Линуса. Эксперты по разработке программного обеспечения Роберт Гласс , Майкл Ховард и Дэвид ЛеБлан определили, что применение закона Линуса может привести к проблемам в обслуживании и безопасности программного обеспечения, [ 2 ] [ 3 ] , для чего они ссылаются на относительно небольшое количество вкладов, сделанных для открытия исходные проекты по «внешним»: где «внешние» означают участников, которые не принадлежат к небольшому ядру разработчиков, работающих над проектом.

Это прямой результат необходимой тщательности, которую разработчики должны проявлять при создании среды и понимании фрагмента кода, прежде чем они смогут эффективно вносить в него свой вклад. Некоторые проекты, как правило, настороженно относятся к сторонним вкладам, опасаясь, что они могут попытаться создать трудно обнаруживаемые ошибки или дыры в безопасности, и поэтому эти проекты создают неудобный процесс проверки, который может препятствовать внешней разработке.

Закон мотивации Линуса

Линус Торвальдс также говорит о законе Линуса в предисловии к книге «Хакерская этика » . Закон Линуса гласит:

Все наши мотивы делятся на три основные категории. И что еще более важно, прогресс состоит из перехода от одной категории к другой, как «фазы» эволюционного процесса. Категории по порядку: «выживание», «общественная жизнь» и «развлечение». [ 4 ]

Эта идея аналогична пирамиде потребностей , которую разработал американский психолог-гуманист Абрахам Маслоу .

Смотрите также

Ссылки

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

Внешние ссылки

  • Image Wikisource содержит оригинальные работы Закона Линуса или о нем .