Как внести свой вклад в один из лучших и самых популярных браузеров в Интернете

Как мы все знаем, Mozilla Firefox - это браузер с открытым исходным кодом, который широко используется миллионами пользователей, разработчиков и экспертов по кибербезопасности. Программное обеспечение можно использовать бесплатно, а его исходный код доступен для всех. Любой человек в любой точке мира может вносить изменения в программное обеспечение и исправлять ошибки. Задумывались ли вы о том, чтобы самостоятельно внести свой вклад в браузер Mozilla Firefox с помощью кода или написания документации? Если да, то вот каждый шаг, который вам нужно сделать, чтобы внести свой первый вклад.

Всего есть четыре шага:

  • Получение исходного кода Mozilla Firefox.
  • Создание учетной записи Bugzilla.
  • Внесение изменений в исходный код и создание патча.
  • Отправка патча на проверку с помощью Phabricator.

Как получить исходный код Mozilla Firefox

Эта статья посвящена сборке Firefox в системах Linux (подойдет любой дистрибутив). Чтобы узнать больше о создании Firefox на другой платформе, вы можете нажать здесь.

Чтобы загрузить исходный код, вы должны использовать Mercurial (также известный как hg), который представляет собой распределенную систему контроля версий, используемую для разработки Firefox.

Сначала откройте новое окно терминала, чтобы загрузить исходный код, выполнив следующие команды:

//Create a folder named src and go inside it 
mkdir src && cd src 
//Get the source code 
hg clone https://hg.mozilla.org/mozilla-central

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

Чтобы скомпилировать исходный код:

//Change directory to mozilla-central 
cd mozilla-central 
//Compile the source 
./mach build

Возможные ошибки при компиляции кода

Одна из возможных ошибок - это ошибка версии rust compiler. Эта ошибка возникает, если у вас установлена ​​более старая версия rust compiler. Чтобы решить эту проблему, запустите команду:

//To update the rust compiler 
rustup update

Другая ошибка касается cbindgen: Решите ее с помощью следующей команды:

// Install the latest version of cbindgen 
cargo install cbindgen --force

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

Теперь, когда вы успешно скомпилировали его, вы готовы запустить исходный код:

//Running the code 
./mach run

Создание патча

Во-первых, вам понадобится учетная запись Bugzilla. Создайте его, используя свой адрес электронной почты или свою учетную запись GitHub.

Выбор вашей проблемы

После создания учетной записи Bugzilla ищите первые хорошие ошибки. Это ошибки, которые легко исправить и которые направлены на ознакомление новичков с исходным кодом Firefox. После того, как вы познакомитесь с процессом и исходным кодом, вы сможете устранять наиболее важные ошибки. Список возможных ошибок, которые необходимо исправить, можно найти здесь. Вы можете фильтровать ошибки в соответствии с вашим опытом и языками программирования, которыми вы владеете.

Пример

В этом руководстве мы будем использовать Ошибка 1475503: Прекратите использование препроцессора в reftest.jsm, с которого проще всего начать.

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

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

//To update the Mozilla Firefox code base 
hg pull -u

Давайте узнаем, что сообщает об этом автор сообщения об ошибке 1475503:

В одном файле по адресу mozilla-central/layout/tools/reftest/reftest.jsm находятся два препроцессора. Первый препроцессор, #ifdef MOZ_ENABLE_SKIA_PDF, можно удалить из этого файла и добавить в файл, расположенный по адресу mozilla-central/toolkit/modules/AppConstants.jsm. Второй препроцессор можно полностью удалить. Наконец, необходимо удалить * перед reftest.jsm в файле mozilla-central/layout/tools/reftest/jar.mn.

Как решить ошибку 1475503

Сначала удалим #ifdef MOZ_ENABLE_SKIA_PDF из reftest.jsm.

А теперь добавьте этот первый препроцессор в конец файла AppConstants.jsm.

Во-вторых, полностью удалите второй препроцессор, показанный ниже, из файла reftest.jsm.

#ifdef XP_MACOSX 
try { 
var dock = Cc["@mozilla.org/widget/macdocksupport;1"].getService(Ci.nsIMacDockSupport); dock.activateApplication(true); 
} 
catch(ex) { } 
#endif

Наконец, удалите * перед reftest.jsm в mozilla-central/layout/tools/reftest/jar.mn файле.

Мы внесли необходимые изменения; Затем мы можем собрать исходный код, чтобы проверить, все ли работает правильно.

//Compiling the source code 
./mach build

Фиксация изменений

До сих пор внесенные нами изменения были представлены в виде патча. Теперь мы должны зафиксировать эти изменения с помощью сообщения фиксации. Сообщение о фиксации должно содержать номер ошибки с кратким описанием этой ошибки.

//Adding a commit message 
hg commit -m "Bug 1475503 Stop using preprocessor in reftest.jsm"

Отправка патча на рассмотрение

Сначала создайте учетную запись Phabricator, следуя шагам здесь.

Установите moz-phab и Arcanist для отправки патчей по этой ссылке.

Перед отправкой исправления на рассмотрение с помощью moz-phab убедитесь, что вы выполнили следующую команду после выполнения двух вышеуказанных шагов. В противном случае будет выдана ошибка (moz-phab: command not found).

source ~/.profile

Теперь вам нужно установить сертификат с помощью следующей команды (это однократный процесс). Вам нужно будет ввести токен API из своей учетной записи Phabricator.

moz-phab install-certificate

Теперь вы готовы отправить патч на рассмотрение.

moz-phab submit

Ресурсы для получения дополнительных сведений об открытом исходном коде

  1. Открытый исходный код для бизнеса: Практическое руководство по лицензированию программного обеспечения с открытым исходным кодом - второе издание
  2. Управление лицензиями на стороннее программное обеспечение: управление вашим портфелем лицензий
  3. Производство программного обеспечения с открытым исходным кодом: как запустить успешный проект бесплатного программного обеспечения
  4. Искусство сообщества: строительство новой эры участия

Больше таких блогов можно найти на LionGuest Studios.

Спасибо за прочтение!