НовостиОбзорыСобытияIT@WorkРеклама
Open Source:

Блог

Качество открытого кода не уступает проприетарному

Не ставя себе целью подбросить хворосту в огонь довольно регулярных на просторах Рунета дискуссий о сравнении качества ППО и СПО, все же считаю нужным привести в блоге информацию, показавшуюся мне довольно интересной.  Исследовательская компания Coverity и Департамент нацбезопасности США инициировали еще в 2006 г. проект, призванный сравнить качество написанного проприетарного и свободного программных кодов, как сообщает ресурс The inquirer. [spoiler]

Результат исследования опубликован по этому адресу (но при этом придется зарегистрироваться, чтобы сгенерировалась ссылка на файл в формате .pdf).

В ходе исследования в 2011 г. было проанализировано 37 миллионов строк кода 45 самых крупных OpenSource-проектов, пользующихся сервисом CoverityScan (облачный сервис, широко используемый как сообществом OpenSource, так и производителями коммерческого ПО для проверки кода на наличие погрешностей). Каждый из них содержал в себе, в среднем, около 820 000 строк кода. Оценка качества кода производилась на основе так называемой плотности дефектов — числа ошибок на 1000 строк. Коэффициент плотности дефектов для открытого кода по результатам анализа составил 0,45 программного кода. Проприетарный код, в свою очередь, показал более высокую плотность дефектов — 0,64. Результат был получен на основе обработки 300 млн. строк кода, полученных от 41 коммерческого софтверного проекта. Среднее количество строк в одном проприетарном проекте составляло 7.55 млн.

Стандартная плотность дефектов по программной индустрии составляет 1 ошибку на 1000 строк. Таким образом, и проприетарные, и открытые проекты демонстрируют приблизительно одинаковое качество программного кода, в частности в тех случаях, когда они одинаковы по объёму.

В отчете не указаны имена проприетарных разработчиков, пожелавших остаться анонимными, но среди OpenSource-проектов эксперты особенно отметили PHP 5.3, базу данных PostgreSQL и ядро Linux версии 2.6 как наиболее высококачественные: плотность дефектов в них составила, соответственно, 0.20, 0,21 и 0,62. Для Linux показатель в 0,62 является признаком высокого качества: в ядре содержится более 7 млн. строк, при этом плотность дефектов практически равна той, которую демонстрируют проприетарные соперники.

В 2012 году Coverity планирует провести ещё одно исследование подобного рода, значительно увеличив базу обрабатываемых исходников, но в этом году исследователи утверждают, что открытые исходные программные коды не менее качественные, чем их проприетарные собратья.

Евгений
Интересно а какие версии ПО они использовали. Потому как всегда есть несколько веток у СПО. К примеру Ядро Linux сейчас используемое мной имеет в основном 3 версии.
2.6.18 - CentOS, бекпорты в него делаются постоянно, в том числе и найденные ошибки
2.6.32 - Рабочие станции и некоторые сервера
3.2.0 - мой комп

и в разных версиях разное кол-во ошибок. В корп секторе Linux используется со стабилизированными ветками. В ППО такое кол-во веток они не могут иметь, а многие проекты вообще имеют только 1 ветку. И дополнительно стабилизировать ППО обычно невозможно. Так что если сравнить CentOS 5 обновленный с ПО для дектопа и Windows XP и ПО для дектопа. То ошибок в ППО будет гораздо больше....