В этой статье мы поговорим о цикле разработки WordPress, о том кто и как его разрабатывает, и чем любой из нас может помочь. WordPress является проектом с открытым исходным кодом, и принадлежит некоммерческому фонду, поэтому всё делается максимально публично и прозрачно.
Этапы разработки WordPress
Разработка каждой новой версии WordPress делится на пять основных этапов:
- Планирование
- Дизайн и разработка
- Бета тестирование
- Релиз кандидаты
- Релиз
Сперва определяется объём работ, сроки и роли для данной версии. Затем начинается разработка нового функционала до выхода первой бета версии, после чего происходит отладка, доработка и подготовка к стадии релиз кандидата. Релиз кандидат — это уже готовый, по мнению разработчиков, продукт, но всё ещё есть вероятность того, что обнаружится какая-нибудь крупная неполадка. В зависимости от найденных ошибок, бета версий и релиз кандидатов может быть несколько, например в версии 3.5 было три бета-версии и четыре релиз-кандидата.
Всего на один релиз уходит примерно 4 месяца: 2 на дизайн и разработку, 1 месяц на бета тестирование и 1 месяц на релиз кандидаты. После *выхода* новой версии начинается цикл её поддержки с помощью технических релизов, как например версии 3.5.1 и 3.5.2, которые не содержат в себе нового функционала, но устраняют ошибки и уязвимости предыдущих версий.
Параллельно с работой над техническим релизом начинается планирование уже следующей основной версии.
Кто разрабатывает WordPress
На сегодняшний день это пять ведущих разработчиков и ведущий проекта. Это люди, которые принимают окончательные решения, разрабатывают архитектуру ядра и определяют план развития проекта. Данный список время от времени меняется.
Кроме этих людей, в развитии проекта участвуют более двухсот дизайнеров и разработчиков со всего мира: кто-то в рамках своей основной работы, а кто-то в качестве хобби. Этот список растёт с каждым релизом.
Существует немалое количество компаний, чей бизнес каким-либо образом связан с WordPress, эти компании выделяют одного или нескольких сотрудников для работы над WordPress. Самые яркие примеры — это хостинг провайдеры Bluehost и DreamHost, разработчики тем WooThemes и The Theme Foundry, ну и конечно же компания Automattic.
Subversion
Сам исходный код WordPress хранится в системе управления версиями под названием Subversion. Это открытый репозиторий, куда может заглянуть каждый. Он имеет следующую структуру:
- /tags — в это директорию помещаются все релизы: как основные, так и технические
- /branches — это ветки, которые всегда содержат последние изменения в определённой основной версии. Например, если это ветка 3.5, то она будет содержать все изменения в 3.5.1, 3.5.2 и т.д.
- /trunk — содержит новую версию, которая находится в разработке, и ещё пока не выпущена. На сегодняшний день это версия 3.6
Для доступа к репозиторию, вам потребуется Subversion клиент, например Versions для OS X, или TortoiseSVN для Windows.
Trac
Для управления проектом WordPress используется система Trac, которая чем-то напоминает обычный форум.
Любой желающий может создать новую тему (или «тикет») и сообщить об ошибке в ядре, или предложить какую-либо новую функцию. В этой же теме, любой разработчик может выложить так называемый «патч» или заплатку. Это файл, который изменяет исходный код программы для того, чтобы, например, устранить ошибку.
Этот патч проверяется несколькими разработчиками, и если он действительно устраняет ошибку, то его принимают и включают в следующий релиз, а тему об ошибке закрывают. В случае возобновления проблемы, эту же тему можно вновь открыть.
Тестирование
WordPress использует программу PHPUnit для автоматического юнит тестирования. На сегодняшний день для WordPress написано более 1500 тестов. Такой подход позволяет с большей уверенностью вносить изменения в сложные участки исходного кода.
Помимо автоматического тестирования, разработчики так же выпускают бета-версии и релиз-кандидаты, и тем самым привлекают помощь со стороны пользователей, которые могут установить бета-версию и сообщить разработчикам об ошибках. А для авторов тем или плагинов WordPress — это возможность протестировать совместимость своих продуктов с новой версией до её выхода.
Ещё одним методом тестирование является хостинг площадка WordPress.com, где на сегодняшний день порядка 30 миллионов сайтов и блогов. Перед выпуском новой версии, все изменения тестируются на WordPress.com, а лояльные пользователи этой сети быстро сообщают об ошибках в службу поддержки. Если вы не помните разницу между WordPress.com и WordPress.org, советуем обратиться к нашей статье.
И наконец юзабилити-тестирование. Так называется процесс тестирования, когда человеку дают ряд задач, а при выполнении всё снимается на видео, которое затем анализируется. Это делается для того, чтобы понимать как люди работают с интерфейсом WordPress, где и какие проблемы возникают.
Общение
Всё общение между участниками проекта происходит в основном в трёх местах. Это IRC чаты, сеть блогов «make» и система управление проектом Trac, о которой мы уже говорили.
Каждую среду, разработчики WordPress проводят встречу в чате. Это канал #wordpress-dev на IRC сервере Freenode. Любой желающий может присоединиться и поучаствовать в дискуссии, предложить свои варианты решения проблемы, или просто узнать о том, как и куда движется разработка.
Кроме чатов, есть так же сеть блогов под названием make/*, например make/core для разработчиков, make/ui для дизайнеров и т.д. На этих блогах ведётся всё планирование. Разработчики делятся идеями, делают наброски (скриншоты), публикуют анонсы и другую информацию.
Как мы можем помочь
В развитии WordPress участие может принять каждый, и вовсе не обязательно для этого быть программистом. Вы можете выбрать интересующую вас область, и оказать посильную помощь.
К примеру, если вы занимаетесь дизайном, вы можете подписаться на блог make/ui, который посвящён созданию пользовательских интерфейсов, участвовать в обсуждении и делиться своими идеями. Еженедельные чаты этой группы проходят в IRC канале #wordpress-ui.
Кроме дизайна есть группа переводчиков. Если вы владеете английским языком, вы можете участвовать в переводе документации, тем, плагинов и самого WordPress. В таком случае вам стоит посетить блог make/polyglots и познакомиться с системой translate.wordpress.org.
Если вам нравится помогать людям, вы можете отвечать на вопросы в форумах поддержки на WordPress.org и в IRC канале #wordpress. Загляните в группы make/support — посвящена поддержке, и make/docs посвящена документации.
Для разработчиков тем и плагинов для WordPress есть группы make/themes и make/plugins. Здесь обсуждают репозитории тем и плагинов на WordPress.org, правила попадания в директории и прочее.
Для разработчиков приложений для мобильных устройств существует группа make/mobile. На сегодняшний день, для WordPress уже разработаны мобильные приложения на платформы iOS, Android, Windows Mobile и другие. Так же как и само ядро WordPress, разработка мобильных приложений ведётся публично.
Для организаторов мероприятий, связанных с WordPress есть группа make/events. Здесь участвуют организаторы неформальных встреч, митапов, конференций WordCamp, обсуждают идеи и делятся опытом.
Ну и наконец разработчики. Для разработчиков существует группа make/core. Это основная группа, где можно узнать куда движется WordPress, и когда выйдет новая версия.
Если у вас есть время и желание помочь в развитии проекта WordPress, но не знаете с чего начать, мы с радостью вам подскажем. С удовольствием ответим на любые вопросы о цикле разработки WordPress. Напишите нам в Твиттер или оставьте комментарий.