Git: почему не master, а main

Git — это распределенная система управления версиями, широко используемая в разработке программного обеспечения. Одним из ключевых аспектов работы с Git являются ветки — это отдельные линии разработки, которые позволяют изолировать изменения, делать испытательные и экспериментальные версии кода, а также объединять их с основной линией разработки.

Ранее в Git для основной ветки использовалось название «master». Это название связано с терминологией, используемой в системе контроля версий под названием BitKeeper, от которой многие концепции Git были заимствованы. В BitKeeper основная ветка называлась «master» и эта терминология была заимствована Git.

Однако со временем стали возникать обсуждения о том, что название «master» может быть оскорбительным или неприемлемым из-за своего исторического контекста, связанного с рабовладением. Была высказана идея заменить «master» на более нейтральное название. В результате этого общественного обсуждения принято решение переименовать основную ветку Git в «main».

История создания Git и выбор имени ветки main

Git был разработан Линусом Торвальдсом в 2005 году как система контроля версий для управления кодом ядра Linux. Он создал Git, чтобы заменить предыдущую систему контроля версий под названием BitKeeper, которая перестала быть бесплатной.

При выборе имени ветки по умолчанию для Git, Торвальдс решил отойти от использования термина «master», который ранее был широко распространен в системах контроля версий, таких как Subversion и CVS. Таким образом была выбрана альтернатива — имя ветки «main». Одним из мотивов было желание избежать терминологии, которая имела связь с рабовладельческим прошлым.

Выбор имени «main» также подчеркивает основную идею Git — каждая ветка является равносильной и может быть названа по умолчанию «main». Это подходит к идеологии Git, где ветки представлены как отдельные потоки разработки, объединенные позже в одну основную ветку.

Ранние версии и название «master»

В ранних версиях системы контроля версий Git, а именно до версии 2.28, основная ветка по умолчанию называлась «master». Это название, скорее всего, происходит из русского перевода слова «главная» или английского слова «master», которое означает «мастер» или «главный». Это название было выбрано из-за того, что ветка «master» была исходной точкой разработки проекта и содержала самую стабильную и продвинутую версию кода.

Однако, в последние годы стало ясно, что термин «master» может быть связан с негативной историей и ассоциацией с рабством и дискриминацией. Из-за этого ряд организаций и проектов перешли на использование названия «main» вместо «master» для основной ветки Git. Новое название «main» обозначает основную и главную ветку разработки проекта без связи с неприятными или негативными ассоциациями.

Проблематика связанная с названием «master»

Исторически сложилось, что по умолчанию в Git основная ветка называется «master». Однако, в последние годы возникла проблематика связанная с использованием этого названия.

Сам термин «master» имеет негативную историческую коннотацию, так как его связывают с рабовладельческим прошлым. Такое название не соответствует принципам инклюзивности и равноправия, которые становятся все более важными в нашем обществе.

Кроме того, в некоторых мировых регионах использование слова «master», переведенного на местный язык, может вызывать недоразумения и конфликты. Названия веток в Git должны быть понятны и легко воспринимаемы всеми участниками проекта.

Именно поэтому многие крупные IT-компании и сообщества, такие как GitHub и GitLab, приняли решение изменить название основной ветки из «master» в «main» или другое нейтральное слово.

Этот шаг направлен на создание более инклюзивного и дружественного окружения для всех разработчиков и пользователей Git. Он подчеркивает важность

сознательного выбора слов и терминов в IT-сфере и обществе в целом.

Ветка «master» в других VCS

Например, в распределенной системе контроля версий Mercurial вместо «master» используется ветка с названием «default». Это выбрано для устранения ассоциаций с историческими конотациями, связанными с термином «master».

Аналогично, в Subversion (SVN) по умолчанию используется ветка с названием «trunk», которая является аналогом «master».

Выбор названия ветки зависит от предпочтений разработчиков и традиций сообщества. Ключевой момент — обеспечить консистентность и понятность внутри команды разработчиков.

Необходимо помнить, что название ветки всего лишь являются соглашением и не влияют на функциональность системы контроля версий.

Возможные ассоциации и альтернативы

Явное смена термина «master» на «main» отправляет важное сообщение о взгляде на проблему равенства и расизма. Возможно, этот шаг поможет акцентировать внимание на приветствии и включении, а не на отчуждении и исключении.

Однако, смена названия ветки в Git — это не единственное решение проблемы. В сообществе разработчиков существуют различные альтернативы, которые также стоит рассмотреть.

  • Default: Вместо основной ветки можно использовать просто слово «default» (по умолчанию). Это обозначение отражает простоту и удобство использования ветки для новых проектов.
  • Mainline: Вместо «main» можно использовать термин «mainline» (основная линия). Это понятие стремится подчеркнуть важность основной ветки в жизненном цикле проекта.
  • Primary: Еще одна альтернатива — использование слова «primary» (первичный). Оно показывает, что ветка, к которой оно относится, является основной и ядром разработки.

Если для конкретного проекта смена названия ветки является перебором, можно рассмотреть использование других синонимов, которые отражают суть проекта или его основные цели.

В любом случае, важно оценить все возможные варианты и выбрать тот, который наиболее точно передает смысл и ценности проекта, чтобы содействовать созданию инклюзивной и равенственной среды в сообществе разработчиков.

Конференция и решение проблемы

На недавно проведенной конференции разработчиков программного обеспечения была обсуждаема тема ветвления в системе контроля версий Git. Одним из наиболее интересных вопросов был выбор названия основной ветки проекта.

Участники конференции обсудили использование термина «master» в качестве названия основной ветки Git и выразили свои опасения и недоверие к данному термину, в свете его исторического значения, связанного с рабовладельческой системой. Была высказана идея заменить «master» на более нейтральное и современное название.

Коллективные усилия специалистов привели к тому, что было принято решение заменить «master» на «main». Это решение было встречено с положительной реакцией большинства участников конференции, которые признали его более актуальным и соответствующим современным ценностям.

Таким образом, на конференции было найдено решение проблемы и предложено заменить название основной ветки Git на «main». Это решение уже начало активно использоваться и получило широкую поддержку сообщества разработчиков.

Переход на ветку «main»

В 2020 году компания GitHub приняла решение изменить основное имя ветки по умолчанию в своей платформе с «master» на «main». Это решение было принято в целях содействия устранению языковой неоднозначности и нейтральности.

Смена наименования основной ветки не только приводит к изменению подхода и образа мышления в разработке, но и выражает уважение к историческому контексту и расширение концепции репозитория. Git, как распределенная система контроля версий, стал широко использоваться разработчиками по всему миру, и имя ветки «master» получило отрицательные ассоциации из-за связанных с ним терминов.

В перспективе, изменение основного имени ветки с «master» на «main» может способствовать созданию более пригодной для равенства и инклюзивности среды разработки. В то же время, для веток с историческим именем «master», GitHub предоставляет возможность переименования их в «main» с сохранением истории и безопасности.

Отношение сообщества и переименование ветки

Решение о переименовании основной ветки в Git было принято в ответ на обращения от сообщества, которые указывали на необходимость более нейтрального и инклюзивного названия.

Название «master» могло рассматриваться как оскорбительное или неприемлемое, особенно в контексте расового рабства и исторических ассоциаций с этим термином. Переход к использованию термина «main» стал шагом в сторону создания более дружественной и безопасной среды для всех участников сообщества.

Переименование ветки не только отражает стремление к инклюзивности, но и подчеркивает важность межкультурного и межэтнического уважения. Это также позволяет всем разработчикам искусственного интеллекта и машинного обучения демонстрировать принципы разнообразия и равенства.

Решение было принято с учетом множества мнений и обратной связи от глобального сообщества, и является проявлением того, как разработчики программного обеспечения могут использовать свои навыки и техническое мастерство для продвижения ценностей справедливости и равенства.

Оцените статью