Açık kaynak katkısı, günümüzde teknolojide en çok aranan becerilerden biridir. İnsanlar açık kaynak teknolojilerini kullanmanın faydalarını ve bu projelerin bir parçası olmanın ödüllerini fark ettiler.
Açık kaynak geliştirme, kaynak kodu paylaşımına ve işbirlikçi iyileştirmeye dayalı bir yaklaşımdır.
İnternette binlerce açık kaynaklı proje var. Açık kaynaklı projeler, sosyal medya uygulamaları, proje yönetim yazılımı ve teknik dokümantasyon olabilir. Peki doğru olanı nasıl seçersiniz?
Açık Kaynaklı Bir Projede Neler Aranmalı?
Açık kaynaklı projeler hakkında bir yanılgı, koda katkıda bulunmanız gerektiğidir. Kod önemli olmakla birlikte, dokümantasyon, proje yönetimi ve toplum savunuculuğu gibi diğer alanlar önemli açık kaynak katkıları.
Açık kaynak projelerde çalışmış olan herkes size bu tür projelerin gücünden bahsedecektir. Avantajlar, kariyerinizi etkileyen yenilik, beceri geliştirme ve üretken ilişkileri içerir.
Bir açık kaynağın zaman ayırmaya değip değmeyeceğini belirlemek için aşağıdaki özellikleri göz önünde bulundurun.
1. Lisansı Var mı?
Her açık kaynak projesinin bir lisansı vardır, genellikle ya müsamahakâr bir lisans ya da bir copyleft lisansı vardır. İzin verilen bir lisans, açık kaynaklı projelerde yaygındır. Kimsenin yazılımın değiştirilmiş bir sürümünü kullanmasını, dağıtmasını veya satmasını kısıtlamaz.
Çoğu açık kaynak projesi, MIT, BSD veya Apache 2.0 gibi izin veren bir lisansa sahiptir. MIT lisansı, yazılımı ücretsiz olarak paylaşır ve dağıtır ve garanti içermez:
Genel Kamu Lisansı, Mozilla Kamu Lisansı ve Affero Genel Kamu Lisansı gibi Copyleft lisansları daha fazla kısıtlamayla gelir.
İzin verici bir lisans, katkıda bulunanların açık kaynaklı yazılımları değiştirmesine ve dağıtmasına olanak tanır. Bu, geliştiricilerin yeni yazılım üretmek ve kısıtlama olmadan kullanmak veya dağıtmak için kaynak kodu değiştirebileceği anlamına gelir. Değiştirilen sürüm, orijinal yazılımla aynı lisans altında olacaktır.
Bununla birlikte, değiştirilmiş sürümler, ikisi arasında kolay tanımlama için orijinal sürümle aynı ada sahip olmayacaktır. Ruhsat aynı zamanda tüm kişileri kapsamalı ve hiç kimseye ayrımcılık yapmamalıdır.
Yeniden dağıtılan yazılımı alan herkes, lisansta orijinal kod sahipleri ile aynı haklara sahip olmalıdır.
Ücretsiz bir lisans, yazılımı belirli bir dağıtım kanalı veya teknoloji ile sınırlamaz. Açık kaynaklı yazılımla birlikte dağıtılan yazılım ve bağımlılıkların mutlaka açık kaynaklı olması gerekmez. Kapalı kaynak ve diğer ücretli teknolojiler, açık kaynaklı yazılımları kısıtlama olmaksızın kullanır.
2. Kaynak Kodu Paylaşılıyor mu?
Tüm açık kaynaklı projelerin, kaynak kodunun ücretsiz olarak paylaşılmasına izin veren bir lisansı vardır. Haklar ayrıca katkılardan derlenen kodu da kapsar. Proje, kaynak kodunu kısıtlama olmadan tüm taraflara sunmalıdır.
Kaynak kodu, halka açık platformlarda mevcut olmadığında, istek üzerine mevcut olmalıdır. Kaynak kodunu paylaşmayan herhangi bir proje, açık kaynaklı bir proje değildir.
Ancak lisans, kaynak kodun yeniden dağıtımını kısıtlayabilir ve yalnızca değiştirilmiş biçiminin yeniden dağıtımına izin verebilir. Değiştirilen kod, onu orijinal projeden ayırt etmek için farklı bir ada veya sürüme sahip olabilir.
3. Projenin Katkıda Bulunanlar İçin Yönergeleri Var mı?
Her açık kaynak projesinin bir katkıda bulunanlar kılavuzu olmalıdır. Muhtemelen projenin kök klasöründe bulacaksınız, genellikle CONTRIBUTORS veya CONTRIBUTORS.md olarak adlandırılır. Katkıda bulunanlar kılavuzu, projeye nasıl katkıda bulunacağınıza ilişkin basit yönergeler içerir.
Kılavuz, yeni katkıda bulunanlara nasıl çatallanacağını, bir sorunu gündeme getireceğini ve katkılarını yukarı akış deposuna nasıl göndereceğini gösterir. Katkıda bulunan kılavuzları, katkıda bulunanlara, birleştirme sırasında şubeler arasındaki çatışmaları azaltmak için projenin nasıl çalıştığını göstermeye yardımcı olur.
İşte AsyncAPI açık kaynak projesinden katılımcı yönergelerine bir örnek: GitHub:
4. Aktif Bir Topluluğu Var mı?
Yenilik, açık kaynak projelerinin bu kadar popüler olmasının nedenlerinden biridir. Açık kaynak, yenilikçiliği teşvik eden fikirler üretmek için yetenekli ve hevesli toplulukları bir araya getirir.
Güçlü bir topluluk, ürün için net iletişim, işbirliği ve pazarlama sağlar. Aktif açık kaynak toplulukları daha iyi sonuçlar üretir ve yenilikleri bireysel projelerden daha hızlı ölçeklendirir.
Bir topluluğun aktif olup olmadığını belirlemek için sosyal kanallarına bakın. Sosyal medya, Discord veya Slack hesaplarındaki aktivitelerini izleyerek başlayın. Serbest bilgi ve kaynak akışı olan aktif bir toplulukta çalışmak daha iyidir.
Açık kaynaktaki aktif topluluklar, yeniliği üç şekilde hızlandırır. Topluluklar, teknolojideki mevcut eğilimlere yanıt verir, sık sürüm döngülerine sahiptir ve yazılımın büyük ölçüde yeniden dağıtımına sahiptir.
Harika bir topluluğa sahip açık kaynaklı bir projeye örnek olarak Facebook'un Javascript çerçevesi React verilebilir.
React, dokuz yıl içinde sürüm 18'e yükselirken, benzer bir çerçeve olan Vue.js hala sürüm 3'te. Her iki çerçeve de on yaşından küçüktür. React'in canlı topluluğu, Angular gibi diğer popüler JavaScript çerçevelerini gölgede bırakır.
Aktif topluluklarla açık kaynaklı projeler üzerinde çalışmak eğlencelidir. Ayrıca, teknoloji trendlerinden ve güncellemelerden asla geri kalmazsınız. bulma en iyi Discord teknoloji toplulukları açık kaynak portföyünüze mükemmel bir ektir.
5. Bakıcılar Aktif ve Özenli mi?
Açık kaynaklı bir projede, bakıcılar, bir projenin deposundaki dosyaları değiştirme iznine sahip katkıda bulunanlardır. Bakımcılar projeden sorumludur ve projeye yapılan katkıların hedefleriyle uyumlu olmasını sağlar.
İyi bir açık kaynak projesinde, bakımcılar en aktif olanlardır. Topluluk kanallarından sorumlu olacaklar, tartışmalara liderlik edecekler ve katkıda bulunanların sorularını yanıtlayacaklar. Bakım görevlileri güncellemeler verir ve toplulukta işbirliğini teşvik eder.
Bir projenin aktif sürdürücüleri olup olmadığını belirlemek için GitHub gibi uzak havuzlarına bakın. Aktif bakıcılar iyi iletişim kurar. Çekme isteklerine yanıt verirler, sorunları ayarlarlar ve katkıda bulunanların sorularını yanıtlarlar.
Sosyal kanallarda yayınlanan sorgulara ne sıklıkta yanıt verdiklerini kontrol ederek aktif bakıcıları belirleyin. Üç aylık iletişim boşluğu olan herhangi bir depo uygun bir proje değildir.
İyi Bir Açık Kaynak Projesinin Özellikleri
Diğer pek çok özellik uygun bir açık kaynak projesini tanımlarken, önemli olanlar lisans türü, toplulukların doğası, kaynak kodu ve etkin bakımcılardır.
Yukarıdaki özelliklere sahip açık kaynaklı projeler, yenilikçiliğe, ölçeklendirmeye ve birinci sınıf projelerin pazarlanmasına ilham verir. Ayrıca, harika açık kaynak toplulukları teknoloji trendlerine ayak uydurur ve iş birliğini ve çeşitliliği teşvik eder.
Muhtemelen hayatınızda en az bir açık yazılım ürünü kullanmışsınızdır. Neden oradan başlamıyorsun? Becerilerinizi ve ihtiyaçlarınızı tamamlayan en iyi projeyi elde ettiğinizden emin olmak için bu makalede belirtilen özellikleri kullanın.