Прикольная статья[/background][background=rgba(235,248,255,var(--bg-opacity))]
https://christoph-ru...o-is-behind-php[/background]
Цитата
PHP, язык, управляющий Интернетом, занимает ошеломляющую долю в 77,4% среди веб-сайтов, сообщающих о своем серверном языке программирования. Благодаря своему значительному росту в последние годы PHP укрепил свои позиции как зрелого и многофункционального языка, предпочитаемого крупными игроками отрасли. Но задумывались ли вы когда-нибудь о вдохновителях эволюции PHP? Кто отвечает за новые функции и будущие версии? Что это за «основная команда» или «внутренние элементы», о которых вы, возможно, слышали? В этой статье мы собираемся ответить на эти и многие другие вопросы.[/background]
Урок истории
Прежде чем обсуждать текущее состояние, мы должны рассмотреть, откуда взялся PHP. Он был создан Расмусом Лердорфом в 1994 году. Он создал PHP, чтобы отслеживать посетителей своего онлайн-резюме. Он позвонил Personal Home Page Tools. В 1995 году он анонсировал исходный код PHP. С тех пор он несколько раз переписывался и получил множество новых функций. Можно сказать, что PHP полностью изменился по сравнению с тем, что Расмус построил для своих нужд. Имейте это в виду для дальнейшего использования в этой статье.
Используемые термины
Прежде чем мы продолжим, я хотел бы уточнить некоторые термины, используемые в этой статье. «Официальных» терминов не существует, поэтому я использую следующие:
- RFC- Запрос комментариев. Это документ, описывающий новую функцию PHP.
- PHP Core Maintainers- Люди, которые следят за системой отслеживания проблем, сортируют их и регулярно устраняют проблемы.
- PHP Core Contributors- Люди, которые время от времени вносят код и идеи в язык или создают RFC.
- PHP Core Voters- Люди, которым разрешено голосовать по RFC (включая людей из двух других групп)
- PHP Contributors- Люди, которые так или иначе вносят вклад в развитие PHP. За PHP стоит большое количество тех, кто стоит за ним. Основное различие между ними и вышеперечисленными группами заключается в том, что для вышеперечисленных требуются особые разрешения.
Этот термин internalsчасто ошибочно используется для участников PHP Core. Это связано с тем, что существует список рассылки Internals, к которому, несмотря на общественное мнение, присоединиться можно бесплатно.
Кроме того, этот термин core teamне совсем адекватен, поскольку за всем стоит не команда в привычном понимании. Это коллектив сторонников.
Кто отвечает за PHP?
PHP — проект с открытым исходным кодом. Это означает, что исходный код доступен для чтения и изменения каждому. Несмотря на это, во многих проектах с открытым исходным кодом все сводится к одному человеку, ответственному за принятие окончательного решения.
С PHP все немного по-другому. Нет одного ответственного человека. В общем, it belongs to the community. Тем не менее, есть группа разработчиков, основная ответственность за проект. Я также должен упомянуть, что проект PHP — это не просто сам язык. Также есть основной сайт, документация, процесс голосования и многое другое.
Группа, ответственная за язык PHP и его веб-сайт, — это PHP Core Contributors. Основная команда состоит из людей, которые уже давно вносят свой вклад в PHP и доказали, что знают, что делают. Они отвечают за разработку PHP, работу над новыми функциями или решение проблем.
Кто может добавлять новые функции в PHP?
Каждый может предложить идеи для новых функций. Не имеет значения, являетесь ли вы основным участником или новичком в PHP. В конечном итоге голосование решит, будет ли реализована новая функция.
Процесс запуска нового RFC описан здесь . В двух словах процесс для вас как автора идеи новой функции выглядит так:
- Отправьте электронное письмо с кратким описанием функции в список рассылки внутренних устройств, чтобы получить общую «температуру».
- Если идея хороша и поддержана, вам следует подготовить официальный документ RFC.
- Затем в списке рассылки начинается официальное обсуждение RFC (минимум в течение двух недель).
- Вы (автор RFC) можете начать этап голосования, который длится две недели.
Все обсуждения происходят в списке рассылки PHP Internals. Опять же, отсюда и произошло название «Внутренние». Если к вашей идее есть интерес, вы можете двигаться дальше и создать RFC.
RFC — это документ, описывающий эту функцию и объясняющий, почему ее следует добавить в PHP. Он также содержит список плюсов и минусов и список альтернатив. Каждому разрешено создавать RFC. Вам не обязательно быть основным участником. Вам необходимо создать учетную запись PHP wiki .
Процесс переходит к этапу голосования после создания и обсуждения RFC в списке рассылки.
Что такое Карма?
PHP Wiki имеет систему кармы. Это означает, что для отправки RFC или голосования за RFC вам необходим определенный уровень доступа.
Для запуска нового RFC запросить Karma относительно легко. Вам нужно отправить сообщение «Запрос Кармы» в список рассылки с упоминанием мотивации, и тогда вам поможет кто-то из специалистов по поддержке ядра PHP. Вот пример такого сообщения от externals.io :

Получить Карму для голосования по RFC гораздо сложнее. Это право голоса является мощным и будет предоставлено только разработчикам, доказавшим свою полезность в проектах PHP. Подробнее об этом далее в статье.
Кому разрешено голосовать?
Как уже упоминалось, существуют основные избиратели PHP. Они состоят из двух разных групп разработчиков:
- Основные участники PHP
- Представители сообщества PHP, например авторы популярных фреймворков или инструментов.
Технически, голосовать может каждый, у кого есть учетная запись php.net. Но это немного сложнее, поскольку существует более 1800 учетных записей. В действительности RFC получает около 20-30 голосов. Итак, на php.net есть много старых аккаунтов разработчиков, которые не работают с PHP или больше не вносят свой вклад.
Пример процесса RFC

Вот пример процесса RFC для классов только для чтения . Сначала это обсуждалось в списке рассылки внутренних служб. Лучший способ следить за всеми обсуждениями внутреннего списка рассылки — через сервис externals.io . Это веб-сайт, который собирает все электронные письма из списка рассылки и отображает их в удобной форме. (Спасибо, Матье 🙏)
Обсуждение классов Readonly можно найти здесь . В данном случае речь шла уже о конкретном RFC. Но также возможно начать разговор без составленного RFC. Результат голосования был добавлен в RFC .


Этот RFC был одобрен: 28люди голосовали за него и 7голосовали против него.
Начиная с 2016 года, все языковые изменения требуют two-thirds majorityодобрения. Основные участники PHP не имеют права голосовать автоматически. Но рядом с некоторыми из них допускаются к голосованию представители PHP, фреймворков, cms или инструментов.
Конечно, есть много других случаев, когда RFC отклоняются. Люди не всегда рады такому решению, или почему оно было принято, может быть непонятно. Есть несколько причин, почему это может быть так:
- Некоторые функции лучше реализовать в «пользовательском пространстве».
- Да — это навсегда; нет это временно.
- Представляем больше крайних случаев
Статья «Понимание отношения к RFC» объясняет больше по этой теме. Более подробную информацию о процессе голосования можно найти на официальном сайте .
Как стать избирателем RFC?
Этот вопрос задавался много раз, и он не совсем ясен. Однако, судя по нескольким запросам и темам ( 1 , 2 , 3 ), очевидно, что вам нужно активно участвовать в жизни PHP-сообщества и регулярно участвовать в дискуссиях.
Никита Попов хорошо это резюмировал:
Я считаю, что важно помнить, что голосование — это лишь последний этап процесса RFC: хотя голосование является окончательным арбитром, на этапе обсуждения, который ему предшествует, выслушиваются опасения и формируется предложение. Предоставление права голоса лицам, не участвующим в проектах под эгидой php.net, исторически было довольно щекотливой темой. Последний запрос такого типа от Николаса Грекаса был удовлетворен именно потому, что он уже долгое время был активным участником списка рассылки по внутренним вопросам PHP и предоставил ценную информацию, особенно относительно влияния изменений в PHP на Symfony и ее экосистему. Я думаю, что это важный критерий. Прежде чем удовлетворить запросы на голосование, мне бы очень хотелось увидеть некоторое участие в обсуждениях RFC в списке рассылки. Голосование – это всего лишь один бит информации, в то время как ваше вдумчивое понимание того, как языковые изменения могут взаимодействовать со статическим анализом, поможет сформировать предложения гораздо более существенным образом. (Никита Попов)
Я все еще надеюсь, что в будущем процесс станет более прозрачным и с четкими правилами.
Но теперь сообщество тоже может голосовать! Брент создал RFC Vote , платформу для голосования сообщества по RFC. Это отличная инициатива, которая даст каждому возможность высказать свое мнение о возможных новых функциях PHP.

Как стать основным участником PHP?
Как и в других проектах с открытым исходным кодом, вы становитесь частью внутренней команды, внося свой вклад. Это может начаться с малого — обмена отзывами, тестирования или создания RFC. Это также то, что не произойдет в одночасье и потребует времени. Большинство ведущих разработчиков PHP работают в течение длительного времени и зарекомендовали себя еще до получения каких-либо прав на написание.
Вашей целью не должно быть получение какой-либо роли или каких-либо разрешений. Если PHP важен для вас, вам следует обратить внимание focus on helpingна текущих участников и PHP в целом. Все остальное может появиться позже.
Получают ли основные участники оплату за работу над PHP?
Краткий ответ: No. Длинный ответ: It depends.
За PHP не стоит никакая компания, и вы не получаете автоматически оплату за вклад в развитие языка. Но на протяжении всей истории PHP всегда были компании, которые платили разработчикам за работу над PHP. Вначале это был в основном сам Расмус Лердорф. Позже такие компании, как Zend, Microsoft и Facebook, начали платить разработчикам за работу над PHP.
В 2019 году компания JetBrains, создавшая крупнейшую PHP IDE PhpStorm, наняла Никиту Попова для работы над PHP в течение следующих лет. Он является специалистом the most active contributorsпо PHP и работает над PHP более десяти лет. К сожалению, в 2021 году он навсегда покинул JetBrains и PHP и теперь сосредоточился на других вещах.
JetBrains также является компанией, которая основала PHP Foundation . PHP Foundation — это некоммерческая организация, занимающаяся проектом PHP. Его финансируют JetBrains, другие компании и частные лица.
Эта инициатива также начала публично спонсировать разработчиков для поддержки и улучшения PHP. В настоящее время они платят шести людям за работу над PHP:
- Дерик Ретанс
- Джордж Питер Бэньярд
- Илья Товило
- Якуб Зеленка
- Мате Кочиш
- Арно Ле Блан
Платить этим разработчикам за работу над PHP можно за счет пожертвований. PHP Foundation принимает пожертвования от компаний и частных лиц. Если вы хотите поддержать развитие PHP, вы тоже можете и должны сделать пожертвование .
Особенности PHP
Многие PHP-разработчики, такие как я, часто удивляются некоторой внутренней обработке вещей в PHP. Почему они до сих пор используют списки рассылки, которые кажутся устаревшими и неэффективными? Зачем мне нужны комментарии 10-летней давности к официальным документам? Почему так много людей могут голосовать за новые функции, но не делают этого? А как насчет основного веб-сайта и документации, которые кажутся немного устаревшими и требуют свежего взгляда?
Итак, это некоторые вещи, которые вы, вероятно, не увидите в новых языках программирования. Опять же, позвольте мне напомнить вам историю: в следующем году PHP получит 30-е место. 30! Кроме того, с течением времени он сильно изменился как внутри, так и с точки зрения людей, стоящих за ним.
Это означает, что вы не можете сравнивать PHP с языками, которым всего несколько лет и которые были созданы специально по одной причине. Есть три аспекта этого, которыми я хотел бы поделиться:
- Если все решения принимает только один человек, изменить что-то становится довольно легко. Это невозможно с PHP. В этом участвует много людей, которые также часто имеют разные мнения о направлении PHP, и это нормально.
- Компании и частные лица предприняли значительные инициативы, направленные на преодоление некоторых устаревших структур и имиджа PHP. Я верю, что в будущем мы увидим их больше.
- Несмотря на все вещи, которые могут показаться устаревшими, неорганизованными или хаотичными, PHP за последние несколько лет значительно процветал, что сделало его более надежным и производительным, чем когда-либо. Это прекрасное время для работы PHP-разработчиком. Не забывайте об этом и будьте осторожны с ранними суждениями. (я в том числе)
Как видите, PHP прошел долгий путь, и впечатляет то, как он все еще развивается, несмотря на некоторые долги прошлого. Нелегко сформировать такой большой проект, как PHP, особенно там, где окончательные решения не принимает один человек. Вот почему внешнему миру часто неясно, почему делается тот или иной выбор и кто его сделал. Я надеюсь, что PHP Foundation поможет сделать это более прозрачным. Помимо самого языка PHP, нам нужна работающая инфраструктура вокруг него, чтобы поддерживать его процветание. I love PHP, and I want to see it grow and evolve.
Я надеюсь, что эта «закулисная» статья помогла вам лучше понять PHP, и с этим справятся. Если у вас есть какие-либо вопросы, не стесняйтесь обращаться ко мне в Twitter .
Ресурсы