Служба новостей IDG, Сан-Франциско
Инициатива git, о начале реализации которой было объявлено в конце апреля, обязана своим рождением лицензионному конфликту
Оживленная дискуссия с авторами программного инструментария, который использовался для управления разработкой ядра Linux, побудила Линуса Торвальдса, помимо ядра операционной системы, заняться еще одним программным проектом. Инициатива под названием git («мерзавец»), о начале реализации которой было объявлено в конце апреля, обязана своим рождением лицензионному конфликту. В процессе его разрешения Торвальдс отказался от коммерческого программного обеспечения BitKeeper, которое применялось для управления разработкой ядра Linux начиная с 2002 года.
Конфликт возник из-за разногласий между приверженцами движения Open Source, которые определяли Linux как добровольный совместный путь к техническому совершенству при создании программного обеспечения, и сторонниками идей Free Software, которые считали фундаментальной свободой возможность получения доступа к исходному коду и его изменения.
По окончании диспута Торвальдс вместе с другими разработчиками Linux приступил к созданию программного инструментария, который позволил бы быстро изменять 17 тыс. файлов, образующих ядро Linux.
«В основу реализации git положен принцип, согласно которому все операции, которые проделываются ежедневно, должны выполняться менее чем за секунду», — подчеркнул Торвальдс.
Участники проекта Linux будут использовать git вместо программного обеспечения BitKeeper, разработанного компанией BitMover.
Политика BitMover позволяла разработчикам ОС Linux свободно использовать версию этого программного инструментария для проектирования ядра, но руководство компании выразило недовольство инициативой Эндрю Триджелла, направленной на создание клиентской версии BitKeeper с открытым кодом. Через несколько месяцев, прошедших в переговорах, руководство BitMover приняло решение отобрать у разработчиков Linux право свободного использования текущей версии программного обеспечения BitKeeper.
Защитники идей свободного программного обеспечения заявляют, что код Триджелла позволяет им развивать ядро Linux, не затрагивая коммерческие программные лицензии BitKeeper. Поскольку клиентский программный инструментарий Триджелла можно использовать только для получения доступа к данным BitKeeper, но не для замены всей системы, Торвальдс решил заняться поиском новых средств управления исходными кодами.
Знаменитый проповедник Free Software Ричард Столлман долгое время призывал разработчиков ядра отказаться от BitKeeper, аргументируя это тем, что нужно осознать неприемлемость использования «несвободного» программного обеспечения.
Сегодня эта цель фактически уже достигнута из-за непримиримых разногласий между Триджеллом и BitMover.
Торвальдс явно огорчен тем, что от BitMover его отлучили. Он назвал клиентское программное обеспечение Триджелла «плохим проектом» и заявил, что оно не принесет никаких выгод ни разработчикам Linux, ни BitMover, ни даже самому Триджеллу.
В конце апреля создатель Linux сам попал под обстрел недоброжелателей за публичную критику усилий Триджелла. Его противники утверждали, что анализ BitKeeper методом обратного проектирования аналогичен той работе, которую в свое время проделал сам Торвальдс, создав Linux на основе Unix.
Торвальдс пояснил свою позицию со свойственным ему прагматизмом.
Согласно его утверждению, программное обеспечение Триджелла оказалось «плохим» просто потому, что в конечном итоге оно не несло полезной нагрузки: «Для меня полезность программы определяется тем, что она делает. В данном случае она порождала лишь дополнительные трудности».
Сам Триджелл отказался от комментариев, подтвердив лишь, что написанное им инструментальное средство обладало интероперабельностью с BitKeeper, а «весь процесс его разработки протекал в строгом соответствии со всеми этическими нормами и требованиями законодательства».
Торвальдс и Триджелл (основатель проекта Samba с открытым кодом) вместе работали в Open Source Development Labs — некоммерческом консорциуме, который занимался продвижением Linux. Первоначально в скандальном деле OSDL отводилась немаловажная роль, однако, по словам пресс-секретаря консорциума, в данном случае не нашлось ни одного человека, который смог бы выступить в качестве посредника для поиска компромисса и урегулирования ситуации.
«Сегодня в мире существует немало продуктов для управления исходными кодами, в том числе и популярная система Concurrent Version System, — писал Торвальдс. — Но все они работают слишком медленно, сталкиваясь с таким проектом, как ядро Linux. Десятки секунд, потраченные на установку обновления лишь потому, что объем исходного кода слишком велик, представляются мне явно неприемлемым вариантом».
Ядро Linux управляется набором «средств поддержки отдельных подсистем», каждое из которых отвечает за устранение ошибок и включение нового кода в различные части ядра Linux. После этого изменения пересылаются либо непосредственно Торвальдсу, который занимается созданием ядра следующего поколения, либо Эндрю Мортону, отвечающему за согласованность текущей версии ядра, основы для создания большинства коммерческих Linux-продуктов. Критики утверждали, что ставка Торвальдса именно на это программное обеспечение породила давление и на других людей, вовлеченных в проект, хотя BitKeeper пользовались далеко не все разработчики ядра.
Торвальдс пока не может сказать, какие трудности у разработчиков ядра вызовет новая система управления исходными кодами. Сам он уже приостановил на неделю свои манипуляции над ядром, для того чтобы освоить git, но на практике все будет зависеть от того, насколько новый инструментарий замедлит работу специалистов, принимающих участие в развитии ядра операционной системы.
«Конечно, git еще не готов к эффективному применению, — признал Торвальдс. — Использовать его труднее и там нет многих функций, имевшихся в BitKeeper. Посмотрим, насколько все это замедлит наше продвижение вперед. Хорошо, что есть умные люди, с которыми можно обсудить возникшую ситуацию».
Программному обеспечению, предназначенному для управления исходным кодом, Торвальдс уделяет не самое серьезное внимание. Помимо этого он занимается разработкой инструментария sparse, предназначенного для проверки наличия ошибок в коде.
«Время от времени я сам наслаждаюсь написанием программ, не имеющих отношения к ядру; это снимает напряжение, возникающее в процессе проектирования ядра», — пояснил он.
Похоже, Торвальдс прекрасно понимает, что его решение отказаться от BitKeeper вызовет множество споров. На вопрос, почему он назвал новое программное обеспечение git, Торвальдс ответил: «Я ужасный эгоист, вот и присваиваю всем моим проектам свое имя. Сначала Linux, теперь git».