Торвальдс создал его «на коленке», а теперь без него не компилируется мир.
В этом месяце Git отмечает своё 20-летие, хотя его создатель Линус Торвальдс признаётся , что никогда не считал этот проект особенно важным для себя лично. По его словам, Git был создан исключительно для поддержки разработки ядра Linux, и не задумывался как самостоятельный продукт.
Первый коммит самого Git появился 7 апреля 2005 года. Интересно, что в нём Торвальдс описал Git как «информационного менеджера из ада». В своём интервью сотруднику GitHub Тейлору Блау Торвальдс рассказал, что начал разработку примерно 3 апреля 2005 года, после того как перестал использовать BitKeeper из-за лицензионных ограничений. Для него главными приоритетами нового инструмента были скорость и стабильность.
Несмотря на свою нынешнюю популярность, Git изначально создавался без каких-либо амбиций стать глобальным стандартом для управления исходным кодом. «Мне просто нужно было что-то, чтобы продолжать работать над ядром Linux», — объяснил Торвальдс. После четырёх месяцев активной разработки он передал проект Джунио Хамано, который до сих пор является его главным мейнтейнером.
Интересно, что по сей день Git по умолчанию использует алгоритм хеширования SHA-1, признанный небезопасным. Хотя теперь доступна более защищённая альтернатива SHA-256, Торвальдс не считает выбор SHA-1 критической ошибкой: «Люди часто думают, что SHA-1 был огромным просчётом, но для меня это никогда не было вопросом безопасности. Это был лишь способ обнаружить повреждение данных». Тем не менее, он признаёт, что выбор SHA-1 вызвал много лишней работы и проблем, которых можно было бы избежать.
Сегодня Git является абсолютным лидером среди систем контроля версий. По данным опроса Stack Overflow, им пользуются более 96% профессиональных разработчиков, значительно опережая SVN, доля которого составляет менее 6%. При этом сам Торвальдс называет себя обычным пользователем Git и признаётся, что регулярно использует всего несколько команд, таких как git merge, git blame, git log, git commit, git pull и иногда git status.
Почему Git стал настолько успешным? Сооснователь GitHub Скотт Чакон считает, что причина заключается в удачном сочетании времени и функций. В середине 2000-х годов существовала потребность в распределённой системе, позволяющей легко работать с открытым исходным кодом. SVN был проще в понимании, но централизован и неудобен для совместной работы в условиях сообщества. Git предложил простой механизм: любой разработчик мог создать свою копию кода (форк), сделать изменения и затем отправить запрос авторам на интеграцию этих изменений. Так появился известный сегодня всем разработчикам термин «pull request».
Кроме того, разработчики полюбили Git за его производительность. Чакон вспоминает, как во время первых презентаций Git на сцене он создавал и объединял ветки с невероятной скоростью, удивляя зрителей и буквально вызывая у них восхищение.
Интересно, что в своё время существовала похожая система Mercurial, которую разработала Оливия Макколл по тем же причинам, что и Git — из-за проблем с BitKeeper. Mercurial был не хуже, а в чём-то даже превосходил Git, но именно выбор разработчиков ядра Linux в пользу Git предопределил его доминирование. Немалую роль в популярности Git сыграл и запуск сервиса GitHub в октябре 2005 года, предоставивший удобную платформу для размещения кода.
Несмотря на огромную популярность, Git не идеален. Например, автор SQLite Д. Ричард Хипп предпочитает собственную систему Fossil, а Facebook использует модифицированную версию Mercurial. Git часто критикуют за сложность интерфейса, который может сбивать с толку новичков.
Говоря о будущем Git, Торвальдс признаёт, что давно перестал активно следить за проектом и не представляет, как будет развиваться система дальше. Тем не менее, он уверен, что Git ещё долго будет оставаться лидером, благодаря огромной базе пользователей и эффекту сетевого взаимодействия.