Gerrit/Ayrıcalık politikası

This page is a translated version of the page Gerrit/Privilege policy and the translation is 99% complete.

Haklar ve sorumluluklar

Çoğu Wikimedia Gerrit deposu, bir kullanıcı "+2" kod incelemesi verdiğinde, Jenkins, testleri çalıştırdıktan sonra değişikliği otomatik olarak birleştirecek şekilde yapılandırılmıştır. Bu yüzden +2 kod incelemesi verme hakkı, özellikle Gerrit grupları olmak üzere insanlarla sınırlıdır. Tipik olarak, her deponun adını taşıyan ve bu depoya ayrıcalıklar veren bir Gerrit grubu vardır. Ayrıca, bazı Gerrit grupları birden çok depoda ayrıcalıklar verir. En önemlisi, mediawiki grubu, MediaWiki çekirdeği ve tüm uzantılar ve görünümlerin yanı sıra MediaWiki ile ilgili diğer depolarda ayrıcalıklar verir.

Gerrit grupları üyelerini LDAP gruplarından türetebilirler. Çoğu WMF çalışanı, LDAP'de otomatik olarak mediawiki grubuna üye olan wmf grubunda yer alır.

Gerrit hizmetlileri, Gerrit gruplarına üye ekleyebilir ve gruplardan üye çıkarabilir.

MediaWiki çekirdeğindeki bir değişikliği veya Wikimedia tarafından dağıtılan bir uzantıyı birleştirmek büyük bir iştir. Değişiklik, Gerrit olarak birleştirilir birleştirilmez sanallaştırılmış bir hazırlık ortamı olan Beta Kümesi otomatik olarak dağıtılacaktır. Ayrıca, sürüm dalı kesilmeden önce geri döndürülmediği sürece bir sonraki MediaWiki çekirdek dağıtım penceresinde (Dağıtımlar'a bakınız) otomatik olarak alınacaktır.

Birleştirmeniz Vikipedi veya diğer sitelerin başarısız olmasına neden olabilir. Saldırganların verileri silmesine veya bozmasına ya da özel bilgilere erişim sağlamasına olanak tanıyan bir güvenlik açığı oluşturabilir. Ve daha yaygın durumda, kodun testleri yoksa, kötü uygulanmışsa veya yetersiz sosyalleştirilmişse, technical debt artmasına neden olabilir. +2'yi kullanmadan önce bu belgeyi ve ilgili tüm politikaları dikkatlice okumalısınız.

+2 güçlü bir güven ifadesidir ve güven, sağduyu ve dikkatli hareketle sürdürülür.

Kod incelemesinde, tasarım tartışmalarında ve hata yorumlarında, +2 gücüne sahip olanlar, başkalarının bakış açısından görmek konusunda özel bir sorumluluğa sahiptir.

İnceleme olmadan birleştirme

Kodu gözden geçirmeden birleştirmek kod kalitesi için kötü ve moral açısından kötüdür. +2 hakların amacı geliştirme ve kod incelemesini ayırmaktır. Gerrit'teki bir değişikliği birleştirmenin amacı dünyaya "Evet, bu değişikliğin MediaWiki kurallarını, iyi mühendislik uygulamalarını takip etmesini ve mantıklı olmasını sağladım" demektir. (Cf. "Kod İncelemeleri: Just Do It", Jeff Atwood.) Satır içi yorumlar, kodla birleştirilmeden önce ele alınması gereken sorunları belirtmek için kullanılabilir.

Bir gözden geçirenin onayı olmadan kendi kodunuzu birleştirmek, ayrıcalıkların iptali için gerekçe olabilir.

Bu, size ait bir Gerrit değişikliğine +2 vermekle aynı şey değildir. Örneğin:

  • Bir değişiklik bir gözden geçirenden +2 alırsa, ancak Jenkins derlemesi başarısız olursa, sahibin derleme işini yeniden başlatmak için +2 vermesi gerekebilir.
  • Geri döndürmeler, geri aldığı kaydetme yeni olduğu sürece genellikle kendi kendine birleştirilebilir. Muhtemelen o sırada gözden geçirilmiş bir sürüme geri dönüyorsunuz.
  • Dağıtım dallarda ve Puppet deposunda değişiklikler, aynı zamanda yazar olan dağıtımı yapan kişi tarafından birleştirilir. Bu durumlarda, kod incelemesi genellikle değişikliğe +1 verilerek belirtilir.
  • Gerrit'te bir taahhüdün iki yazarı olabilir: bir sahibi ve bir değişikliği yükleyen bir gözden geçiren. Tipik olarak, sahip ve gözden geçiren her biri diğerinin çalışmasını inceler. Tüm değişiklikler gözden geçirilip onaylandığı sürece taahhüt birleştirilebilir.

Çok az değişiklik, kendi kendine birleşecek kadar önemsizdir. Önemsiz belgelendirme değişiklikleri veya yalnızca bir bakıcılı projeler gibi bazı durumlarda kendi kendine birleştirme uygun edilir.

Wikimedia kümesine konuşlandırılmayan uzantılar (ve diğer projeler) için, kod inceleme politikası uzantının sahibi ya da yazarına bağlıdır. Bazı Wikimedia dışı uzantılar, Wikimedia'nın kendi kendine birleşmeleri yasaklayan politikasına uyar, ancak buna gerek yoktur. Uzantıyı yazan tek kişi sizseniz ve değişikliğinizi inceleyecek kimse yoksa veya uzantı terkedilmişse, değişikliklerinizi kendi kendine birleştirmeniz kabul edilebilir.

Takım içi inceleme ve paylaşılan sahiplik

Bir ekibin parçası olarak çalışıyorsanız, ekibinizin üyelerinin incelemesine yalnızca izin verilmez, aynı zamanda şiddetle tavsiye edilir. Meslektaşlarınızın kodunuzu sürekli olarak incelemesini sağlamak, geliştirme ivmesini sürdürmek ve incelemecilerinizin yaptığınız işe aşina olmasını sağlamak için harika bir yoldur.

Ekip içi inceleme yaparken, özellikle kör noktalar, bilişsel önyargılar ve bulunduğunuz grup dışındaki büyük değişiklikler için satın alma ihtiyacı konusunda hassas olun. MediaWiki de dahil olmak üzere çoğu açık kaynaklı proje, süslü yeni soyutlama katmanları, görünüm sistemleri, test çerçeveleri vb. oluşturmak için terk edilmiş çabalarla doludur. Değişikliklerinizin ekosistem üzerindeki etkisini bir bütün olarak düşünün ve yorum talepleri, wikitech-l, IRC ve diğer mekânlar aracılığıyla sohbetlere katılın. Paylaşılan kod sahipliği (daha fazla veya daha az derecede), yaptığınız şeyin uzun vadeli bir değere sahip olmasını sağlamaya yardımcı olur.


Kod gözden geçirenler için okunmalıdır

Gerrit ayrıcalıklarını isteme

mediawiki grubuna üyelik talebinde bulunmak için Phabricator'daki MediaWiki-Gerrit-Group-Requests projesi altında yeni bir görev oluşturun. Ardından wikitech-l posta listesine bir e-posta gönderin.

Başka bir gruba üyelik talebinde bulunmak için Phabricator'daki Gerrit-Privilege-Requests projesi altında yeni bir görev oluşturun.

Her iki durumda da, Phabricator görevi şunları belirtmelidir:

  • Gerrit kullanıcı adı
  • erişimin gerekli olduğu depo veya depolar
  • yazılan ve gözden geçirilen yamalara bağlantılar dahil olmak üzere akıl yürütme

Bir ayrıcalık talebi hakkında yorum yapan geliştiriciler, başvuru sahibinin yüksek kaliteli yamalara katkıda bulunup bulunmadığını, +1 haklarını iyi kullanıp kullanmadığını ve yeterlilik gösterip göstermediğini değerlendirmelidir. Olumsuz yorumlar incelikle yazılmalı, aşırı sert olmamalıdır.

Phabricator görevinde güvenilir geliştiriciler arasında bir fikir birliği varsa, Gerrit yöneticilerinden herhangi biri isteği çözebilir. İlgili geliştiricilerin yorum yapmasına izin vermek için görev en az bir hafta açık kalmalıdır. Seyahat veya tatil dönemlerinde talep açık ise ek süreye izin verilmelidir.

Phabricator'da bir talep üzerinde fikir birliği yoksa, karar için TechCom ile yönlendirilebilir.

Önceden, bazı uzantı sahiplerine Gerrit'teki ilgili proje üzerinde sahiplik hakları verilmişti, böylece Phabricator'da bir talepte bulunmadan yeni grup üyeleri ekleyebiliyorlardı. Bu model yeni uzantılar için kullanılmamalıdır. Gerrit yöneticileri, sıradan geliştiricilere depo sahipliğini vermemelidir. Bir uzantı Wikimedia kümesine ilk kez dağıtılmadan önce haklar denetlenmeli ve eski sahiplik ayrıcalıkları +2 erişime indirilmelidir.

Güvenilir kuruluşlar için hızlandırılmış süreç

Gerrit hizmetlileri, özellikle yönetilen gruplarında üyelik verilmesi ve üyeliğin iptali için aşağıdaki güvenilir kuruluşlardan gelen talepler üzerine derhal harekete geçebilir:

Organizasyon Yönetilen gruplar
Wikimedia Deutschland wmde, wmde-mediawiki
ShoutWiki ShoutWiki, Brickimedia
Hallo Welt! bluespice
WikiTeq WikiTeq

Bir Phabricator görevi dosyalamak veya fikir birliği göstermek gerekli değildir.

Bu olanak, bu kuruluşların işe alma süreci sayesinde güvenilir olduğu varsayılan personel üyelerini hızla işe almalarını sağlamayı amaçlamaktadır. Ayrıca, güvenilir kuruluşların, bu kuruluşlar tarafından iyi bilinen ve güvenilen gönüllülere erişim izni vermesine olanak tanır.

WMF çalışanları işe alındıklarında LDAP'deki wmf grubuna eklenebilir. Wikimedia Deutschland çalışanları, işe alındıklarında LDAP'deki wmde grubuna eklenebilir.

TechCom veya CTO, bir Gerrit yöneticisini herhangi bir kişiyi bir Gerrit grubuna eklemesi için yönlendirebilir.

İptal etme

Gerrit haklarının iptaline aşağıdaki durumlarda izin verilir:

  • Güvenliği ihlal edilmiş bir hesap gibi acil bir durumda, Gerrit yöneticileri, kendi takdirlerine bağlı olarak erişimi derhal iptal edebilir. Acil durumun geçtiğine karar verilirse, acil durum iptalinin geri alınması, yöneticinin takdirine bağlı olarak yapılabilir. TechCom veya CTO, TechCom'a danışarak bir acil durum iptalini inceleyebilir ve iptalini yönlendirebilir.
  • Bir WMF çalışanının ayrıcalıklarının iptali, Personel El Kitabında tartışıldığı gibi, WMF Talent and Culture ile istişare hâlinde o çalışanın yöneticisi tarafından yönlendirilebilir.
  • Herhangi bir kişiden ayrıcalıkların iptali, TechCom tarafından veya TechCom'a danışılarak CTO tarafından yönlendirilebilir.

İptal nedenleri şunları içerebilir:

  • Kötü kodu birleştirme
  • Kendi kodunuzu gözden geçirmeden birleştirme
  • Geliştirme topluluğu içinde yüksek etkili değişiklikleri sosyalleştirmede başarısız olmak
  • Yukarıdaki yönergeleri takip etmemek
  • Uygunsuz davranış, özellikle Davranış Kuralları'nı ihlal etmek
  • İş veya sözleşmenin feshi

Bu ayrıcalıklar, gönüllü çalışma yoluyla istihdamın başlangıcından önce verilmiş olsa bile, personel ayrıldığında tüm ayrıcalıkları geri almak WMF politikasıdır. Bu politikanın tutarlı bir şekilde uygulanması, ayrılan personelin mahremiyetinin korunmasına yardımcı olur: hiçbir hata ima edilmez. Ayrılan personel, gönüllü olarak katkıda bulunmaya devam etmek isterlerse, olağan süreçle erişim için yeniden başvurabilirler.

İptal isteğinde bulunma

Acil durum iptali, doğrudan bir Gerrit yöneticisi ile iletişime geçilerek, örneğin IRC kullanılarak talep edilmelidir. Yeterlilik veya davranış nedenleriyle iptal, genel olarak, tanımlanmış bir yükseltme yolu izlenerek özel olarak ele alınmalıdır. Daha fazla ayrıntı için aşağıdaki tabloya bakın:

Plan Eylem
  • Bir geliştirici, açıkça kötü niyetli kodu yükler ve kendi kendine birleştirir.
  • Acil durum iptali için bir Gerrit yöneticisiyle iletişime geçin.
  • Bir geliştirici, uygun inceleme olmaksızın hatalı değişiklikleri birleştirme modelini gösterir.
  • Bir geliştirici, topluluk normlarını ihlal ederek kendi kodunu tekrar tekrar birleştirir.
  • Geliştirici bir WMF çalışanı veya güvenilir bir kuruluşsa, sorunu yöneticilerine bildirin.
  • Yöneticinin yanıtı tatmin edici değilse veya geliştirici bir çalışan değilse, sorunu TechCom'a bildirin.
  • TechCom'un yanıtı tatmin edici değilse, sorunu CTO'ya bildirebilirsiniz.
  • Bir geliştirici, +2 erişimini, inceleme isteyen geliştiricilere zorbalık yapmak veya onları korkutmak için kullanır.
  • Diğer davranış sorunları veya Davranış Kuralları ihlalleri.
  • Geliştirici bir WMF çalışanı veya güvenilir bir kuruluşsa ve bunu yaparken kendinizi rahat hissediyorsanız, sorunu yöneticilerine bildirin.
  • Aksi takdirde, sorunu TechCom'a veya Davranış Kuralları komitesine bildirin.
  • Komitenin yanıtı tatmin edici değilse, sorunu CTO'ya bildirebilirsiniz.

Bu politikada yapılan değişiklikler

Bu politikadaki değişiklikler, TechCom'a danışarak CTO tarafından onaylanmalıdır.

Tanımlar

CTO
Wikimedia Vakfı'nın Baş Teknoloji Sorumlusu.
TechCom
Wikimedia Teknik Komitesi. TechCom'un bir şeye karar vermesi veya yönlendirmesi, TechCom üyelerinin en az yarısının katılımıyla uzaktan sesli/görüntülü konferans yoluyla veya şahsen bir komite toplantısının basit çoğunluk veya oybirliği ile bir karar alması anlamına gelir.