Brak minimalnej wersji PHP w tym roku, WordPress obsługuje PHP 5.6 przez jakiś czas

Opublikowany: 2020-08-21

Powinniśmy kierować użytkownikami, a nie podążać za nimi.
Powinniśmy kierować użytkownikami, a nie rozpieszczać ich.
Powinniśmy wytyczyć drogę do przyszłości, a nie dalej naprawiać zepsutą drogę do przeszłości.
Powinniśmy mówić, co robimy i robić to, co mówimy.

Juliette Reinders Folmer podsumowała swoje ostatnie przemyślenia na bilecie, który otworzyła zaledwie trzy dni temu. Otworzyła bilet w oczekiwaniu na ruch w minimalnej obsługiwanej przez WordPress wersji PHP. Otworzyła go po tym, jak zobaczyła plan zaprzestania obsługi PHP 5.6 w planach wydań WordPress 5.6 (zwróć uwagę, że początkowe plany wydań niekoniecznie są ustalone).

Nie można zaprzeczyć symetrii porzucenia wsparcia dla PHP 5.6 wraz z wydaniem WordPress 5.6. Los wydawał się wzywać, mówiąc, że nadszedł czas, aby przejść poza wsparcie platformy dla wersji, która dotarła do końca życia w grudniu 2018 roku. Byłby to miły pożegnanie, pożegnanie, które mogłoby zapoczątkować nową erę utrzymywania pozorów bycia na bieżąco z najnowszymi i najlepszymi, jakie język programowania ma do zaoferowania.

Ale ekscytacja została przerwana. Deweloperzy WordPressa, zwłaszcza ci, którzy tęsknili za tym, aby WordPress był bardziej proaktywny w aktualizowaniu swoich wymagań PHP, będą musieli dalej naciskać na modernizację do 2021 roku. Nie wygląda na to, żeby miało to nastąpić w tym roku.

Matt Mullenweg, współzałożyciel WordPress i lider projektu, zamknął bilet kilka godzin po jego otwarciu. „Choć nie wybieramy statystyk, aby mieć sens, warto zauważyć, że dystrybucja PHP we wszystkich śledzonych przez nas witrynach WP jest taka sama, jak w momencie opublikowania tego posta w 2018 roku: 85% to 5,6 lub więcej” napisał. „Tylko około 66% ma 7,1 i więcej”.

WordPress wymagał co najmniej PHP 5.6 od wydania wersji 5.2. Według Sergeya Biryukova, głównego autora WordPressa, spośród WordPressa instalowanych w wersjach od 5.2 do obecnej 5.5 tylko 10,69% z nich korzysta z PHP 5.6. Odsetek ten jest jeszcze niższy niż wtedy, gdy zespół przestawił się na PHP 5.6+.

„Biorąc pod uwagę, że wciąż publikujemy aktualizacje zabezpieczeń dla WP 3.7 (wydanego prawie 7 lat temu), to nie jest tak, że pozostawiamy użytkowników PHP 5.6 lub 7.0 bez aktualizacji zabezpieczeń, po prostu nie będą mieli najnowszych i najlepszych funkcji WP 5.6+, co wydaje się sprawiedliwe” – powiedział w komentarzach do ogłoszenia WordPress 5.6.

„To oczywiście kluczowa decyzja filozoficzna, którą powinien podjąć kierownik projektu” – napisał na Twitterze główny deweloper Andrew Nacin. „A co jest warte, nasza filozofia i standardy w tym zakresie są spójne od ponad dekady. Liczby zdecydowanie sugerują, że jest za wcześnie na porzucenie PHP 5.6.”

Chociaż z pewnością istnieją argumenty przemawiające za patrzeniem na dane na różne sposoby, jedną z wiodących filozofii WordPressa było udostępnianie platformy dla jak największej liczby użytkowników na przestrzeni lat. Oznaczało to podjęcie powolnego, przemyślanego podejścia, jednocześnie docierając do hostów internetowych i użytkowników. Rezygnacja ze wsparcia dla starych wersji PHP nie była tak szybka, jak niektórzy — w tym ja — by sobie tego życzyli.

Potrzeba aktualizacji minimalnej wersji PHP to nie tylko programiści, którzy chcą korzystać z najnowszych i najbardziej błyskotliwych narzędzi. Istnieją praktyczne obawy. PHP 8.0 ma zostać wydany 26 listopada 2020 r. Niezależnie od minimalnej wymaganej wersji WordPressa, musi również działać z najnowszą wersją PHP. Im szersza gama wersji obsługiwanych przez platformę, tym trudniej ją przetestować.

Tak jest w przypadku PHPUnit, frameworka testowego dla aplikacji PHP, takich jak WordPress. PHPUnit 8 obsługuje co najmniej PHP 7.2. Technicznie ma składnię, która wymaga PHP 7.1 — stąd potrzeba podbicia wersji WordPressa. PHPUnit 9 wymaga minimum 7.3 i jest niezbędny do testowania kompatybilności z PHP 8.0. Istnieje otwarte zgłoszenie do rozwiązywania problemów z testowaniem PHPUnit, w którym zespół bada opcje obsługi różnych wersji PHP.

„Musimy również popracować nad naszymi komunikatami dotyczącymi tych aktualizacji PHP i rdzenia, więc nie płaczemy wilkiem i nie powodujemy ignorowania tych powiadomień”, kontynuował Mullenweg w swoim wyjaśnieniu dotyczącym zamknięcia zgłoszenia, wskazując na bieżące komunikaty dotyczące kondycji witryny w WordPressa. „Nie mówią, w jakiej wersji jest obecnie. Nie zapewniają dobrego kontaktu z gospodarzem. Nie dostarczają dokładnych informacji o bezpieczeństwie, ponieważ większość hostów uruchamia backporty, które łatają zabezpieczenia w starszych wersjach niezależnie od tego, co jest oficjalnie obsługiwane przez główny projekt PHP. Nie są to bezpłatne aktualizacje i myślę, że koszty w porównaniu z tym, co jesteśmy w stanie dostarczyć użytkownikom, w porównaniu z trudnościami spowodowanymi pozostawieniem tak wielu ludzi w tyle, muszą zostać poważnie rozważone. W tej chwili wydaje się, że jesteśmy trochę zadowoleni z tych wymagań, a nawet byłbym otwarty na wycofanie niektórych”.

Z WordPressa można żartować w „prawdziwych” kręgach programistycznych. Opieranie się na przestarzałych narzędziach może być puentą deweloperów, którzy budują witryny za pomocą Next Big Thing . Jednak, być może pomimo, a może z powodu niechęci platformy do szybkiego porzucenia wsparcia dla starszych wersji PHP, pochłonęła ona 38% sieci. Każdy kierownik projektu kwestionowałby zbytnie wtrącanie się w formułę „bez pozostawiania użytkowników”, która była częścią podróży do tego miejsca.

To trudne wezwanie do wykonania projektu. Jest to również trudne, ponieważ programiści, tacy jak Folmer, włożyli mnóstwo pracy w narzędzia standardów kodowania PHP i wykonują często niewdzięczną pracę, opowiadając się za wprowadzeniem WordPressa do współczesnych praktyk kodowania.

WordPress jest w sytuacji, w której ma pewną przewagę. Jeśli oprogramowanie wymaga ulepszonego doświadczenia PHP, może wykorzystać ogromną bazę użytkowników do pracy, zmuszając firmy hostingowe do zaspokojenia ich potrzeb. Pieniądze mówią, a jeśli wystarczająca liczba użytkowników zacznie szukać bardziej zielonych pastwisk, być może ci gospodarze wprowadzą pewne poprawki. Taka jest przynajmniej teoria, którą podzielają niektórzy w społeczności. „Jeśli nie ma żadnych konsekwencji dla (w) działania użytkownika/hosta, dlaczego mieliby kiedykolwiek zawracać sobie głowę podejmowaniem działań?” — zapytał Folmer.

Jest to również ryzyko, że projekt WordPress nie wydaje się podejmować, przynajmniej w wersji 5.6.