PHP'nin Arkasında Kim Var?

Web'i yönlendiren dil olan PHP, sunucu tarafı programlama dilini bildiren web siteleri arasında %77,4 gibi şaşırtıcı bir paya sahip. Son yıllardaki kayda değer büyümesiyle PHP, büyük endüstri oyuncuları tarafından tercih edilen, olgun ve zengin özelliklere sahip bir dil olarak konumunu sağlamlaştırdı. Peki PHP'nin evriminin ardındaki dehaları hiç merak ettiniz mi? Yeni özellikler ve gelecek sürümlerle ilgili kararları kim veriyor? Adını duymuş olabileceğiniz bu "çekirdek ekip" veya "iç ekip" nedir? Bu yazımızda bu sorulara ve daha fazlasına cevap vereceğiz.

php yazılım dili

Tarih dersi

Mevcut durumu tartışmadan önce PHP'nin nereden geldiğini düşünmeliyiz. 1994 yılında Rasmus Lerdorf tarafından oluşturuldu. Çevrimiçi özgeçmişine gelen ziyaretçileri takip edebilmek için PHP'yi yarattı. O şu ismi vermişti: Personal Home Page Tools. 1995 yılında PHP'nin kaynak kodunu duyurdu. O zamandan beri birkaç kez yeniden yazıldı ve birçok yeni özellik eklendi. PHP'nin Rasmus'un kendi ihtiyaçları doğrultusunda geliştirdiği yapıya göre tamamen değiştiğini söyleyebiliriz. Bu makalenin ilerleyen bölümlerinde bunu aklınızda bulundurun.

Kullanılan Terimler

Devam etmeden önce bu makalede kullanılan bazı terimleri açıklığa kavuşturmak istiyorum. "Resmi" bir terim yok, dolayısıyla benim kullandıklarım bunlar:

  • RFC- Yorum isteği. Bu, PHP için yeni bir özelliği açıklayan bir belgedir
  • PHP Core Maintainers- Sorun izleyiciyi izleyen, önceliklendiren ve sorunları düzenli olarak düzelten kişiler
  • PHP Core Contributors- Ara sıra kodla katkıda bulunan ve dile fikir öneren veya RFC'ler oluşturan kişiler
  • PHP Core Voters- RFC'lerde oy kullanmasına izin verilen kişiler (diğer iki gruptan kişileri içerir)
  • PHP Contributors- Genel olarak PHP'ye şu veya bu şekilde katkıda bulunan kişiler. PHP'nin arkasında bunlardan büyük miktarda var. Yukarıdaki gruplarla aralarındaki temel fark, yukarıdakilerin belirli izinler gerektirmesidir.

Terim internals genellikle yanlış bir şekilde PHP Çekirdek Katkıda Bulunanlar için kullanılır. Bunun nedeni, kamuoyunun inancına rağmen herkesin katılabileceği bir Dahili e-posta listesinin bulunmasıdır.

Ayrıca bu terim core team pek de yeterli değil çünkü her şeyin arkasında geleneksel anlamda bir ekip yok. Bu bir destekçi topluluğudur.

PHP'den Kim Sorumlu?

PHP açık kaynaklı bir projedir. Bu, kaynak kodunun sadece web tasarım uzmanlarının değil, herkesin okuyabileceği ve değiştirebileceği anlamına gelir. Öyle bile olsa, çoğu açık kaynaklı projede, nihai kararın verilmesinden sorumlu olan kişi genellikle tek bir kişiye indirgenir.

PHP'de ise durum biraz farklıdır. Sorumlu tek bir kişi yok. Genel olarak topluluğa aittir. Yine de projeden esas olarak sorumlu olan bir grup geliştirici var. Şunu da belirtmeliyim ki PHP projesi sadece dilin kendisi değildir. Ayrıca ana web sitesi, belgeler, oylama süreci ve daha fazlası da bulunmaktadır.

PHP dilinden ve web sitesinden sorumlu olan grup PHP Core Contributors. Çekirdek ekip, PHP'ye uzun süredir katkıda bulunan ve ne yaptığını bildiklerini kanıtlamış kişilerden oluşur. PHP'yi geliştirmekten, yeni özellikler üzerinde çalışmaktan veya sorunları ele almaktan sorumludurlar.

PHP'ye Kimler Yeni Özellikler Ekleyebilir?

Herkes yeni özellikler için fikir getirebilir. Temel katkıda bulunanlardan biri olmanız veya PHP'de yeni olmanız fark etmez. Sonuçta yeni özelliğin uygulanıp uygulanmayacağına oylama karar verecek.

Yeni bir RFC başlatma süreci burada açıklanmaktadır. Özetle, yeni bir özellik fikrinin yazarı olarak sizin için süreç şöyle görünür:

  • Genel bir "durum" bilgisi almak için dahili posta listesine bir özellik hakkında kısa bir fikir içeren bir e-posta gönderin
  • Eğer fikir iyiyse ve destekleniyorsa resmi bir RFC belgesi hazırlamalısınız.
  • Ardından posta listesinde RFC hakkında resmi bir tartışma başlar (en az iki hafta boyunca)
  • Siz (RFC'nin yazarı) iki hafta boyunca açık olan oylama aşamasını başlatabilirsiniz.

Tüm tartışmalar PHP Internals e-posta listesinde gerçekleşir. Yine "İçseller" ismi de buradan gelmektedir. Fikrinize ilgi varsa devam edip bir RFC oluşturabilirsiniz.

RFC, özelliği ve neden PHP'ye eklenmesi gerektiğini açıklayan bir belgedir. Ayrıca artıların ve eksilerin bir listesini ve alternatiflerin bir listesini de içerir. Herkesin RFC oluşturmasına izin verilir. Çekirdek katılımcı olmanıza gerek yok. Bir PHP wiki hesabı oluşturmanız gerekir .

Bir RFC oluşturulup posta listesinde tartışıldıktan sonra süreç oylama aşamasına geçer.

Karma Nedir?

PHP Wiki'nin bir karma sistemi vardır. Bu, bir RFC göndermek veya bir RFC'ye oy vermek için belirli bir erişim düzeyine ihtiyacınız olduğu anlamına gelir.

Yeni bir RFC başlatmak için Karma istemek nispeten kolaydır. Motivasyonu belirten posta listesine bir "Karma isteği" mesajı göndermeniz gerekir; ardından PHP Çekirdek Bakım Uzmanlarından biri size yardımcı olacaktır. İşte externals.io'dan gelen böyle bir mesajın bir örneği :

Dahili posta listesindeki karma isteğinin ekran görüntüsü

Karma'nın RFC'lere oy vermesini sağlamak çok daha karmaşıktır. Bu oylama hakkı çok güçlüdür ve yalnızca PHP projelerine yararlı olduğunu kanıtlamış geliştiricilere verilecektir. Bu konuda daha sonra makalede daha fazla bilgi vereceğiz.

Kimlerin Oy Kullanmasına İzin Verilir?

Daha önce de belirtildiği gibi, PHP çekirdek seçmenleri var. İki farklı geliştirici grubundan oluşurlar:

  • PHP Çekirdek Katkıda Bulunanlar
  • Popüler çerçevelerin veya araçların yazarları gibi PHP topluluğunun temsilcileri

Teknik olarak php.net hesabı olan herkes oy verebilir. Ancak bundan biraz daha karmaşık çünkü 1800'ün üzerinde hesap var. Gerçekte, bir RFC yaklaşık 20-30 oy alır. Yani php.net'te PHP ile çalışmayan veya artık katkıda bulunmayan geliştiricilerin birçok eski hesabı var.

RFC İşlem Örneği

PHP RFC oylamasının önizlemesi

Salt Okunur sınıflar için RFC işleminin bir örneğini burada bulabilirsiniz . İlk olarak, dahili e-posta listesinde bununla ilgili bir tartışma yapıldı. Dahili posta listesindeki tüm tartışmaları takip etmenin en iyi yolu, externals.io adlı bir hizmettir . Posta listesindeki tüm e-postaları toplayan ve bunları samimi bir şekilde görüntüleyen bir web sitesidir.

Salt Okunur Sınıflar hakkındaki tartışmayı burada bulabilirsiniz . Bu durumda tartışma zaten belirli bir RFC hakkındaydı. Ancak henüz RFC yapılmadan da bir görüşme başlatmak mümkündür. Oylama sonucu RFC'ye eklendi .

PHP RFC birinci bölümü oyladıPHP RFC birinci bölümü oyladı

Bu RFC onaylandı: 28 insan buna olumlu oy verdi ve 7 aleyhte oy verdi.

2016 yılından itibaren tüm dil değişiklikleri üçte iki çoğunlukta lehte onay gerektirmektedir. PHP'ye temel katkıda bulunanların oy kullanmasına otomatik olarak izin verilmez. Ancak bazılarının yanında PHP, çerçeveler, cms veya araçların temsilcilerinin de oy kullanmasına izin veriliyor.

Elbette RFC'lerin reddedildiği başka birçok durum da var. İnsanlar böyle bir karardan her zaman memnun olmuyorlar ya da bunun neden alındığı belirsiz olabilir. Durumun böyle olmasının birkaç nedeni var:

  • Bazı özellikler "kullanıcı alanında" daha iyi yapılır
  • Evet sonsuza kadar; hayır geçicidir.
  • Daha fazla uç durumla tanışın

RFC tutumlarını anlama makalesi bu konu hakkında daha fazla bilgi vermektedir. Oylama süreci hakkında daha fazla bilgiyi resmi web sitesinde bulabilirsiniz .

RFC Seçmeni Nasıl Olunur?

Bu soru birçok kez soruldu ve tam olarak net değil. Ancak, çeşitli isteklere ve başlıklara ( 1 , 2 , 3 ) dayanarak , PHP topluluğunun yaşamına aktif olarak dahil olmanız ve tartışmalara düzenli olarak katılmanız gerektiği açıktır.

Nikita Popov bunu çok iyi özetledi:

Oylamanın RFC sürecinin yalnızca son adımı olduğunu hatırlamanın önemli olduğuna inanıyorum: Oylama nihai hakem olsa da, ondan önceki tartışma aşaması endişelerin duyulduğu ve teklifin şekillendirildiği yerdir. Php.net şemsiyesi altındaki projelere katkıda bulunmayan kişilere oy hakkı vermek, tarihsel olarak biraz hassas bir konu olmuştur. Nicolas Grekas'ın bu türden son isteği özellikle PHP dahili e-posta listesinin uzun süredir aktif bir katılımcısı olması ve özellikle PHP'deki değişikliklerin Symfony ve ekosistemi üzerindeki etkisine ilişkin değerli bilgiler sağlaması nedeniyle kabul edildi. Bunun önemli bir kriter olduğunu düşünüyorum. Oylama isteklerini kabul etmeden önce, posta listesindeki RFC tartışmalarına bir miktar katılım görmeyi gerçekten isterim. Bir oy yalnızca tek bir bilgi parçasıdır. dil değişikliklerinin statik analizle nasıl etkileşime girebileceğine dair düşünceli görüşünüz, teklifleri çok daha anlamlı bir şekilde şekillendirmeye yardımcı olacaktır. (Nikita Popov)

Hala gelecekte daha net kuralları olan daha şeffaf bir süreç olacağını umuyorum.

Ancak artık topluluk da oy verebilir! Brent , topluluğun RFC'lere oy verebileceği bir platform olan RFC Vote'u oluşturdu. Bu harika bir girişim ve herkese PHP'nin olası yeni özellikleri hakkında fikirlerini ifade etme hakkı verecek.

Topluluk tarafından RFC'ye verilen oyu gösteren platformu

PHP Çekirdek Katılımcısı Nasıl Olunur?

Diğer açık kaynaklı projelerde olduğu gibi katkıda bulunarak iç ekibin bir parçası olursunuz. Bu, geri bildirim paylaşarak, test ederek veya RFC'ler oluşturarak küçük başlayabilir. Bu da bir gecede olmayacak ve zaman alacak bir şeydir. Önde gelen PHP geliştiricilerinin çoğu uzun süredir bu işin içindedir ve herhangi bir yazma hakkı almadan önce kendilerini kanıtlamışlardır.

Amacınız herhangi bir rol almak veya herhangi bir izin almak olmamalıdır. Eğer PHP sizin için önemliyse, mevcut katkıda bulunanları ve genel olarak PHP'yi de dikkate almalısınız. Diğer her şey daha sonra takip edebilir.

Çekirdek Katkıda Bulunanlar PHP Üzerinde Çalıştıkları İçin Ücret Alır mı?

Kısa cevap: Hayır. Uzun cevap: Duruma göre değişir.

PHP'nin arkasında hiçbir şirket yoktur ve dile katkıda bulunarak otomatik olarak ödeme almazsınız. Ancak PHP'nin tarihi boyunca geliştiricilere PHP üzerinde çalışmaları için para ödeyen şirketler her zaman olmuştur. İlk günlerde çoğunlukla Rasmus Lerdorf'un kendisiydi. Daha sonra Zend, Microsoft ve Facebook gibi şirketler geliştiricilere PHP üzerinde çalışmaları için ödeme yapmaya başladı.

2019 yılında, en büyük PHP IDE PhpStorm'un arkasındaki şirket olan JetBrains, sonraki yıllarda PHP üzerinde çalışması için Nikita Popov'u işe aldı. PHP'de en aktif katkıda bulunanlardan biridir ve on yıldan fazla bir süredir PHP üzerinde çalışmaktadır. Ne yazık ki 2021'de JetBrains ve PHP'yi tamamen bıraktı ve şimdi başka şeylere odaklanıyor.

JetBrains aynı zamanda PHP Foundation'ı kuran şirkettir . PHP Vakfı, PHP projesine adanmış kar amacı gütmeyen bir kuruluştur. JetBrains, diğer şirketler ve bireyler bunu finanse ediyor.

Bu girişim aynı zamanda PHP'yi sürdürmek ve geliştirmek için geliştiricilere kamuya açık sponsorluk yapmaya da başladı. Şu anda PHP üzerinde çalışmaları için altı kişiye para ödüyor:

  • Derick Rethans
  • George Peter Banyard
  • Ilija Tovilo
  • Yakub Zelenka
  • Máté Kocsis
  • Arnaud Le Blanc

Bağışlar sayesinde bu geliştiricilere PHP üzerinde çalışmaları için ödeme yapmak mümkündür. PHP Vakfı şirketlerden ve bireylerden bağış kabul ediyor. PHP'nin gelişimini desteklemek istiyorsanız siz de bağışta bulunabilirsiniz ve yapmalısınız .

PHP'nin Tuhaflıkları

Birçok PHP geliştiricisi, PHP'deki bazı şeylerin dahili olarak ele alınmasına genellikle şaşırır. Neden hala çok eski ve etkisiz görünen e-posta listelerini kullanıyorlar? Resmi belgelerde neden 10 yıllık yoruma ihtiyacım var? Neden bu kadar çok kişinin yeni özelliklere oy vermesine izin veriliyor da izin verilmiyor? Peki ya biraz eskimiş görünen ve yeni bir görünüme ihtiyaç duyan ana web sitesi ve dokümanlar?

Bunlar muhtemelen yeni programlama dillerinde göremeyeceğiniz bazı şeylerdir. Tekrar geçmişi hatırlatayım, PHP seneye 30 yaşından gün alıyor. 30! Ayrıca zamanla, şirket içinde ve arkasındaki insanlar açısından büyük ölçüde değişti.

Bu, PHP'yi yalnızca birkaç yıldır var olan ve tek bir nedenden dolayı özel olarak oluşturulmuş dillerle karşılaştıramayacağınız anlamına gelir. Bunun paylaşmak istediğim üç yönü var:

  • Tüm kararları yalnızca bir kişi verirse, bir şeyleri değiştirmek oldukça kolay hale gelir. PHP'de bu mümkün değildir. PHP'nin gidişatı hakkında sıklıkla farklı görüşlere sahip olan birçok kişi bu olaya dahil oluyor ki bu normaldir.
  • PHP'nin bazı eski yapılarının ve imajının aşılmasına yardımcı olmak için şirketler ve bireyler tarafından önemli girişimlerde bulunuldu. Gelecekte bunları daha çok göreceğimize inanıyorum.
  • Modası geçmiş, düzensiz veya kaotik gibi görünen tüm şeylere rağmen PHP son birkaç yılda büyük bir gelişme gösterdi ve onu her zamankinden daha sağlam ve performanslı hale getirdi. PHP geliştiricisi olmanın tam zamanı. Bunu unutmayın ve erken kararlara dikkat edin. (ben dahil)

Çözüm

Gördüğünüz gibi PHP uzun bir yol kat etti ve geçmişten gelen bazı olumsuzluklara rağmen hala gelişmesi etkileyici. PHP kadar büyük bir projeyi şekillendirmek, özellikle de tek bir kişinin son kararı veremediği durumlarda kolay değildir. Bu nedenle bazı seçimlerin neden yapıldığı ve bunları kimin yaptığı dış dünya için genellikle belirsizdir. Umarım PHP Vakfı bunu daha şeffaf hale getirmeye yardımcı olabilir. PHP dilinin yanı sıra, onun gelişmesini sağlamak için etrafında çalışan bir altyapıya da ihtiyacımız var.

Kaynaklar

  • Resmi PHP Web Sitesi
  • Harici.io
  • Yorum İsteği: PHP özelliklerine oy vermek
  • RFC Nasıl Oluşturulur
  • Gizemli PHP RFC Süreci ve Web'i Nasıl Değiştirebilirsiniz?
Paylaş Facebook Twitter E-Mail Whatsapp