Открытый код облегчают поиск и устранение программных ошибок
В реальной жизни каждая ошибка в программном продукте чрезвычайно опасна и одна единственная уязвимость может привести к чрезвычайно серьезным последствиям. В одночасье может рухнуть бизнес, а учитывая тенденцию всеобщей компьютеризации, программная ошибка может привести даже к гибели людей. Вы бы хотели, чтобы оборудование, отвечающее за жизнеобеспечение, дало сбой в результате атаки хакеров? Последний фактор пока маловероятен, но могли бы вы тридцать лет назад подумать, что вирус уничтожит ваш фотоальбом или диссертацию? Для коммерческих приложений и систем неотъемлемой частью предрелизной подготовки является многоуровневое тестирование, которое позволяет значительно снизить вероятность ошибки в стабильной версии продукта. Тестирование требует денег. OpenSource разработчики ввиду своей идеологии не могут его обеспечить в полной мере, поэтому объективно количество уязвимостей в открытых программных продуктах значительно выше. Я не думаю, что пользователю будет греть душу факт того, что уже спустя 48 часов после того, как данные на его жестком диске были уничтожены, было выпущено обновление, исправляющую найденную уязвимость. У самого Linux с безопасностью ещё хуже, чем можно представить представьте себе дистрибутив Linux, собранный из этих самых открытых продуктов и что получается из этого. 20 дыр в браузере, 3 в почтовом клиенте, 4 в плеере, 17 в самом ядре Linux, 5 в … — вместо системы получается настоящее решето, в котором глаза разбегаются от того, каким способом его можно завалить. К слову, архитектура самого ядра Linux никак не позволяет избежать целого ряда атак. Так регулярно на сайтах, посвященных сетевой безопасности, проскакивают новости вроде «Найдена уязвимость в драйвере e1000 для Linux, позволяющая вызвать крах ядра через отправку специально подготовленного ethernet фрейма». Неплохо, правда? Сбой драйвера в системах с современным дизайном не может повлечь крах всей ОС. Под современным дизайном я понимаю всё то, чему удалось избежать клейма unix-like. К слову, многие разработчики ядра прекрасно понимают всю ущербность архитектуры Linux, но исправить положение просто невозможно. Вот, что пишет по этому поводу ведущий разработки ядра Linux Эндрю Мортон: «разработчики Linux добавляют в ядро ОС новые ошибки быстрее, чем их удается устранять. В результате ядро становится менее безопасным и стабильным»30/ Разумеется, от ошибок не застрахован никто, но оптимальным вариантом будет программный продукт, лишенный уязвимостей вовсе. И достигается это не чтением исходных кодов, как это предлагают линуксоиды, а участием в разработке целого ряда специалистов, таких как системные архитекторы системы, секьюрити эксперты, программисты, тестировщики, дизайнеры.