Türkiye'nin iki akredite Red Hat eğitim merkezinden biri olarak, dünyanın farklı ülkelerinden katılımcılarla gerçekleştirdiğimiz virtual Red Hat eğitimlerimizle sizleri Red Hat sertifika sınavlarına ve gerçek hayat deneyimlerine hazırlıyoruz. Eğitimlerimizin yanı sıra, Red Hat'in paylaştığı, sizler işin faydalı olabileceğini düşündüğümüz bilgileri ve ipuçlarını söz verdiğimiz gibi bloglarımızda paylaşmaya devam ediyoruz. Brian Proffitt'in kaleme aldığı " Building a clear path for maintainers in open source projects" makalesiyle, Red Hat blog serimize devam ediyoruz.
‘‘Açık kaynaklı projelerde, geliştiriciler için yalın bir yol haritası oluşturmak
Açık kaynak kodlu bir proje üzerinde çalışanların başkalarına yardım etmenin ötesinde açık kaynak üzerinde çalışmalarının başka nedenleri vardır. X amacına ulaşmak isteyen biri için durum şöyledir: "X’e ulaşmama yardım edecek bir şeye ihtiyacım var ve bu hedefe ulaşmama yardım etmek için başkalarıyla birlikte çalışmaya hazırım." Ya da bir şirket bir projenin yazılımını yoğun bir şekilde kullanıyor ve projeye katkıda bulunanların işinin aktif bir parçası olması gerekiyor.
Bir proje sahibinin açık kaynak kullanma fikrine nasıl karar verdiğinden bağımsız olarak, daha fazlasını yapmak istediğini açıktır. Açık kaynak kullanmak, daha fazlasını yapmak isteyen şirketlerin bir projede daha büyük bir etki yaratmasına yardımcı olabilir. Topluluk organizatörleri olarak, projenize potansiyel olarak fantastik bir katkıda bulunabilecekleri kaybetmemek için bu ihtiyaçları tanımak ve onları teşvik etmek çok önemlidir.
Açık kaynak kodlarının daha fazlasını yapmak isteyenlere sağlayabileceği yollardan biri, katkıda bulunanlara değiştirme izinlerini vermek, sonuçta bu durum projeye katkı sağlayacakların projenin yönünü değiştirebileceklerine inanmalarını sağlayacaktır. Sürdürülebilirlik için bir yol oluşturmak, bir topluluk olarak çok önemli olabilir çünkü katkıda bulunanlara ‘Bu yönde gitmek isterseniz topluluğumuzda elde edebileceğiniz sonuç budur.’ demektir.
Net bir hedef, projenin diğer yazılımcıları için de faydalıdır çünkü yazılımcının, görevlerinin dengelenmesine, tükenmişlik olasılığının azaltılmasına ve karar verme sürecine daha fazla çeşitlilik getirilmesine yardımcı olabilir. Net bir hedef, uzun vadeli bir projenin sağlığı için de önemlidir. Yeni katkıda bulunanları, komisyoncuları ve koruyucuları desteklemeyen bir proje, bugün sahip olduklarını sürdüremeyecek duruma gelebilir.
Peki bir proje sahibi nasıl bir etkileşim yolu oluşturabilir? Yollar, açık kaynaktaki çoğu şey gibi, oldukça çeşitlidir. Bazı topluluklar agresif bir yaklaşım benimser ve projeye katkıda bulunan herkese taahhütlü erişim sağlar. Bazıları, potansiyel geliştiricileri birden fazla ölçütle derecelendiren ve kimlik statüsü vermeden önce kimliklerini inceleyen iyi belgelenmiş, yoğun bir süreci takip eder. Geriye kalan proje sahipleri ise bu iki uç noktanın arasında bir yerde konumlanır.
Açıkçası, bir topluluğun sürükleyici bir yol oluşturmak için seçebileceği birçok seçenek vardır. Ancak alınması gereken temel karar şudur: Sizin ve toplumunuzun yeni bir geliştiriciyi kabul etmek için ihtiyaç duyduğunuz güven düzeyi nedir? Eğer henüz yeni başlamış küçük bir projeyseniz, gelişme konusunda ‘gel-gel’ bir yaklaşım çok işe yarayabilir. Projeniz daha olgunsa, daha titiz bir süreç uygulamak isteyebilirsiniz. Böyle bir süreç iki konunun halledilmesine yardımcı olabilir:
• Topluluk üyelerine sürdürülebilirlik için tutarlı bir yol sağlamak
• "Geliştirici nasıl belirlendi, neden ben değil de onlar?"
Proje bakımı için mükemmel bir yol yoktur, ancak hangi yolu kuracağınızı düşünürken takip etmek isteyebileceğiniz bazı temel yönergeler vardır.
Katkı sayısı. Potansiyel bir destekçi gerçekten inanılmaz katkılarda bulunduysa ona bir iş birliği teklif etmek isteyebilirsiniz. İşleri sürekli olarak iyi mi? Projeniz için katkıda bulunabilecek kılavuz hedeflere uyuyor mu? Miktar, kullanılacak tek ölçü değildir, ancak bir katkı taban çizgisi size ve proje ekibinize bu kişinin ne kadar tutarlı olduğuna dair daha iyi bir fikir verecektir.
İnceleme sürecini tanıtmak: Potansiyel geliştiriciler, sürdürücü statüsüne erişmeden önce içerik incelemesine katılma şansına sahip olmalıdır. Genel hatlarda en iyi içeriği oluşturabilirler, ancak ayrıntılı ve yapıcı incelemeler için bir yetenekleri yoksa, iyi bir geliştirici olamayabilirler. Proje liderleri, katkıda bulunanlara başkalarının içeriğini gözden geçirme fırsatı sunmalıdır. Bu sayede, geliştiriciler bunu yapmayı sevip sevmediklerini ve bir yetenekleri olup olmadığını görme fırsatına erişebilirler.
Zaman uzunluğu: Bazı insanlar diğerleri kadar üretken katkıda bulunmayabilir, ancak bu onların potansiyel bir geliştirici olmalarını engellememelidir. Bu durumda, proje ile geçirdikleri süreyi de belirtmek iyi bir göstergedir. Yine, bu gösterge tek bir belirleyici olarak değil, diğerleriyle birlikte kullanılmalıdır.
İletişim yetenekleri: Bu standarttın ölçülmesi diğerlerinden daha zordur, ancak yine de incelenmesi gerekir. Etkili iletişim, herkes için gereklidir, ancak özellikle bir geliştirici için ihtiyaçtır. Gerektiğinde övme ya da yapıcı eleştiri yapma yeteneği, geliştiricilerin sahip olması gereken bir özelliktir.
Bu, herkesin her zaman %100 mükemmel bir bağlantı olması gerektiği anlamına gelmez. Ancak proje sahipleri bazı çelişkilerin neden yaşandığını ve bazılarının neden uygun olmadığını açıklayabilmeliler. Bir kişinin sert bir davranış öyküsü varsa bu öykü bir geliştirici olarak atanması için caydırıcı olacaktır.
Hangi ölçütü seçerseniz seçin, bu işlemi topluluğunuzun ulaşacağı bir yerde yayınlamanız önemlidir. İnanılmaz derecede ayrıntılı olmak zorunda değildir, ancak en azından sürdürme sağlamak için ölçülecek kriterleri ve katılımcıların herhangi bir sorunu olduğunda veya istedikleri şeyi bildirmek istediklerinde kullanmaları için iletişim bilgilerini listelemelisiniz.
Topluluk üyelerine bir proje içinde büyüme şansı vermek, dahil olanlara fayda sağlar. Bu tür fırsatlara giden yolu yalınlaştırmak, projenizi sağlıklı ve başarılı tutmanın harika bir yoludur.’’
Brian Proffitt “Building a clear path for maintainers in open source projects.” 27 Mart 2020
Proje geliştirirken, güncel teknolojiyi takip etmek ve doğru adımları atmak için Red Hat eğitimlerimize göz atın!