Розквіт Composer і закат PEAR

Розквіт Composer і закат PEAR

[Щоб не виникло непорозуміння, варто пояснити, що автор оригінального тексту - Fabien Potencier, творець популярного PHP фреймворку Symfony - прим. пер.]


Зовсім недавно, Nils Adermann, надіслав мені милу листівку, в нагадування про нашу зустріч три роки тому на «SymfonyLive hackday» в Сан-Франциско. Nils був присутній на конференції, оскільки за рік до цього, він анонсував, що phpBB у версії 4 перейде на Symfony.

У той час, я серйозно цікавився темою менеджерів пакетів, бо шукав зручний спосіб керувати бандлами в Symfony2. Для плагінів в Symfony1 я використовував PEAR, але код був дуже заплутаним, адже PEAR спочатку створювався трохи не для цього. Філософія Бандлера з Ruby спільноти виглядала дуже привабливо, так що я почав пошуки подібного пакетного менеджера. Після довгих безсонних ночей, я натрапив на libzypp, і моментально зрозумів, що це воно! На жаль libzypp - складна бібліотека, написана на C, і в такому вигляді, зовсім не підходила для Symfony.

Я змекнув, що хорошим менеджером пакетів, що дозволяє користувачам легко встановлювати плагіни/бандли/моди напевно цікавиться і Nils, для phpBB, так що я завів про це розмову на hackday в Сан-Франциско. Виявилося, що в той час, Нілс вже почав роботу над Composer.

Нілс виконав приголомшливу роботу з переведення C коду в PHP код. Пізніше, який приєднався до команди Джорді вивів все на новий рівень, взявши на себе турботи з реалізації всієї інфраструктури проекту.

Так, що щодо PEAR? PEAR вірою і правдою служив PHP спільноті багато років, думаю настав час, дати йому померти.

Я використовував PEAR в якості менеджера пакетів ще з мого першого проекту на PHP в далекому 2004-му. Я навіть написав популярний сервер каналів Pirum. Але зараз настав час рухатися далі, і розповісти про свої плани на канали, якими я керую.

13 лютого я писав у твіттері, що збираюся перестати підтримувати свої пакети в PEAR, оскільки Composer вже досить популярний. 14 лютого я вирішив перестати працювати над Pirum.

Оскільки багато хто хотів дізнатися статистику каналу Symfony, я заліз у логи, і виявив, що більшість запитів йде від залежностей PHPUnit. 20 квітня Sebastian Bergmann відкрив обговорення про підтримку PEAR для PHPUnit. Наступного дня, він опублікував повідомлення, в якому прощався з PEAR. Трохи пізніше, Pádraic Brady також відмовився від підтримки PEAR каналу для Mockery.

Крім Symfony, в моєму віданні також знаходяться канали Twig, Swiftmailer і Pirum. І ось мої плани:

  • Оновити документацію, чітко пояснити в ній, що канали PEAR застаріли, і що бажаний менеджер пакетів - Composer. (Вже зроблено для всіх проектів).
  • Опублікувати нотатку про застарівання PEAR каналів на сайтах цих каналів (зроблено для всіх проектів)
  • Опублікувати пост в блогах (Twig, Swiftmailer і Symfony)
  • Припинити випускати нові PEAR пакети
  • Вилучити опис встановлення через PEAR в офіційній документації (Ймовірно у вересні цього року)

Зауважте, що я говорю про припинення випуску НОВИХ пакетів у PEAR, і просування Composer як основного засобу для інсталяції моїх бібліотек і проектів. Вже існуючі пакети, в осяжному майбутньому, все ще можна буде ставити через PEAR.

Всім Composer!