Разделы

ПО Свободное ПО Бизнес Открытое ПО

Linux оценили в $10,8 млрд

$10,8 млрд. стоила бы сегодня разработка «с нуля» дистрибутива Linux, говорится в отчете по результатам исследования, проведенного Linux Foundation (LF). При этом разработка одного только ядра системы обошлась бы в $1,4 млрд. Отметим, что предпринятое шесть лет назад исследование Дэвида Уилера, методика которого использовалась LF, давало оценку в $1,2 млн.
Если бы разработка ОС Linux сейчас началась заново, стоимость проекта составила $10,8 млрд, причем одно только ядро системы стоило бы $1,4 млрд, — сделали вывод аналитики Linux Foundation. Исследователи Linux Foundation ставили целью оценить в денежном эквиваленте общие затраты всех компаний и индивидуальных разработчиков на создание типичного дистрибутива Linux.

Любой дистрибутив Linux включает результаты деятельности многих свободных проектов, над каждым из которых трудится множество разработчиков. Это и ядро Linux, в каждую версию которого вносится достигающий ежедневно 3 тыс строк кода вклад примерно тысячи разработчиков более чем из ста различных компаний; и проект GNU, графические среды GNOME и KDE, а также другие крупные и мелкие проекты. Эти особенности существенно затрудняют применение обычных методик оценки стоимости разработки ПО, генерируемых в ходе анализа затрат компании-производителя ПО, во многих случаях единственной.

Поэтому Linux Foundation использовала методику Дэвида Уилера (David A. Wheeler) — подсчет строк исходного кода (SLOC) с последующей оценкой затрат по модели COCOMO, разработанной Бэрри Боэмом (Barry Boehm), и впоследствии уточненной для более точного отражения новых факторов разработки.


Linux Foundation считает, что, если бы Linux разрабатывался заново, затраты составили бы $10,8 млрд

Чтобы обеспечить некоторую преемственность с исследованием Уилера, использующего в качестве «типичного дистрибутива» Red Hat Linux 7.3, Linux Foundation основывала расчеты на его прямом наследнике — вышедшем в мае релизе Fedora 9.

При расчетах использовался средний годовой оклад программиста по данным Бюро трудовой статистики США на июль текущего года ($75,66 тыс.; по данным на 2000 г. — $56,29 тыс.) с поправками на прочие затраты работодателя, вместе с окладом составляющие $97,6 тыс. При этом в процессе исследования ядро Linux рассматривалось как отдельный проект из-за особенностей его разработки, предполагающих более высокую сложность в сравнении с большей частью прочих составляющих дистрибутива. Расчетное число строк кода ядра составило более 6 млн, расчетный период разработки — более 15 лет, суммарная стоимость разработки — $1,372 млрд.

Для дистрибутива в целом число строк кода составило более 204 млн., расчетный период разработки — более 24 лет, суммарная стоимость разработки — $10,784 млрд.

Сергей Голицын, T1: 70% компаний, применяющих ИИ, подтверждают положительный эффект
Цифровизация

Чтобы оценить развитие Linux за прошедшие с исследования Уилера шесть лет текущие показатели модели пересчитаны с использованием среднего оклада на 2000 г. ($56 тыс.). В результате суммарную стоимость разработки Fedora 9 в ценах 2000 г. оценена примерно в $8 млрд., что почти в восемь раз больше стоимости Red Hat Linux 7.3. При этом расчетное число строк кода Fedora 9 (204 млн) выросло почти в 7 раз по сравнению с RHL 7.3 (30 млн), оценочные трудозатраты выросли в 7,5 раз, составив 60 тыс. человеко-часов для Fedora 9 и 8 тыс. для RHL 7.3.

Авторы работы отмечают, что используемая в нем методика, как и любая другая, обуславливает ряд ограничений. Так, базовая модель COCOMO ориентирована на исследование проприетарного процесса разработки ПО и может недооценивать роль тестирования в процессе разработки open source. Не учитывает она и того, что существенный вклад в разработку вносит не только увеличение числа строк кода, но и их модификация. Это подтверждается и исследованием процесса разработки ядра Linux, в котором доля измененных строк кода составляет почти половину от добавленных. Не учитывается и то, что в процессе разработки над свободными проектами нередко несколько групп работают над решением одной задачи, при этом в код проекта входит только «победивший» вариант. Кроме того, сложность возникает в определении того, что есть «типичный дистрибутив» и какие компоненты в нем должны учитываться.

Требует более детального рассмотрения и подход к оценке труда программиста — с учетом интернациональности разработки оценка среднегодового оклада в $75 тыс. кажется довольно высокой. Нужно обратить внимание и на и то, что модель оценки предполагает разработку в настоящее время «с нуля».

8 задач, чтобы перезапустить инженерную школу в России
импортонезависимость

Вместе с тем, несмотря на все ограничения, работа Linux Foundation позволяет оценить результат труда сообщества и его развитие за последние шесть лет в денежном выражении. Авторы исследования отмечают, что его результаты позволяют и по-другому посмотреть на роль свободного ПО в развитии ИТ-рынка в целом.

Так, можно задаться, вопросом, был ли бы создан Google без возможности бесплатного использования Linux и его свободной модификации под свои нужды, и какова была бы цена множества использующих сейчас ядро Linux устройств при дополнительных затратах в $1,4 млрд.

Илья Мусабиров