Neden ve Nasıl Açık Kaynak Katılımcısı Olunur?

Açık kaynak genellikle kodlama ile ilişkilendirilir ve yalnızca bilgisayar meraklıları için olduğu izlenimini verir. Ancak herkes, hayatı boyunca bir satır kod yazmamış olsa bile, açık kaynaka katkıda bulunabilir. Kulağa ilginç mi geliyor? O zaman okumaya devam edin…

Yeni Yıl’ın başlangıcı, hayatınızda bir değişiklik getirmeyi gerektirir. Bu, yeni bir beceri öğrenmek, daha sağlıklı olmak, işte veya derslerde elinizden gelenin en iyisini yapmak veya bir kişi olarak gelişmenize yardımcı olacak verimli herhangi bir şey olabilir. Ve bu değişikliğin başkalarına da fayda sağlaması harika olurdu. İşte size ilginç bir teklif – açık kaynak katkıda bulunan biri olun.

Ama neden?

Neden olmasın diyorum? Sonuçta, heyecan verici ve hedeflerinize ulaşmanıza yardımcı olacak. Ve en önemlisi, kodlama konusunda uzman olmanıza gerek yok. Önceden herhangi bir kodlama deneyimine sahip olmadan katkıda bulunabilirsiniz.

Hadi başlayalım. Ama önce, biraz temel bilgiler.

Açık kaynaklı yazılımın resmi tanımı şu şekildedir: Açık kaynaklı yazılım, kaynak kodu herhangi bir amaçla herhangi bir kişiye inceleme, değiştirme ve dağıtma hakkı veren bir lisans altında yayınlanan yazılımdır. Bu tanımda dikkat edilmesi gereken iki önemli şey kaynak kodu ve lisanstır.

Bir kaynak kodunu ücretsiz olarak yayınlamak, eserinizin sonucunu satmanıza engel olmaz. Açık kaynaklı yazılımlara dayalı olarak para kazanmak ve bununla geçiminizi sağlamak mümkündür. Birkaç isim vermek gerekirse GitHub ve MongoDB dahil olmak üzere şirketler tam da bunu yapıyor. Bununla birlikte, tüm yazılımlarınızı ücretsiz olarak dağıtmanın çok daha fazlası var.

Özgür yazılım ile açık kaynaklı yazılım arasında da bir fark vardır. Özgür yazılım, daha geniş açık kaynak topluluğunun bir parçası olsa da bunun tersi doğru değildir. Açık kaynaklı yazılım, herkese kodunu inceleme, değiştirme ve dağıtma hakkı verir. Bununla birlikte, özgür yazılım aynı zamanda orijinal lisans kapsamında üzerinde yaptığınız değişiklikleri yeniden dağıtmanıza da zorlar.

Popüler açık kaynak lisansları

Temel olarak iki farklı lisans kategorisi vardır. Bir yandan, orijinal yazılım kodunda bazı değişiklikler yapmanıza veya değiştirilmiş sürümü istediğiniz gibi satmanıza izin veren izin veren lisanslar vardır. Orijinal lisansları ve telif haklarını değiştirmediğiniz sürece diğer açık kaynak kodlarını da birleştirebilir ve nihai sonucu çok az kısıtlamayla veya hiç kısıtlama olmaksızın yayınlayabilirsiniz. Bu lisans kategorisinin bazı yaygın örnekleri, MIT lisansı (MIT), Apache Lisansı 2.0 (Apache 2.0) ve 3-maddeli BSD lisansıdır (BSD-3-Maddesi).

Öte yandan, copyleft lisansları bulacaksınız. En sık kullanılanı GNU Genel Kamu Lisansıdır (GPL). Projenize GPL lisansı altında bir kod ekliyorsanız, son değiştirilmiş sürümü de GPL altında yayınlamalısınız. GPL kodunu başka herhangi bir özel kaynak koduyla karıştıramazsınız. Bu lisans kategorisinin bazı yaygın örnekleri GNU Kısıtlı Genel Kamu Lisansı (LGPL) ve Mozilla Kamu Lisansı 2.0’dır (MPL 2.0).

Circles of communication (Credit: OSI 2021)
Şekil 1: İletişim çevreleri (OSI 2021)

Dolayısıyla, genel açık kaynak topluluğunu özgür yazılım topluluğundan ayıran şey lisanstır.

Neden açık kaynağa katkıda bulunmalısınız?

Farkında olmayabilirsiniz ama açık kaynaklı yazılımlar, PC, akıllı telefon ve hatta araba gibi günlük kullandığınız cihazların işleyişinde önemli bir rol oynuyor. Açık kaynaklı yazılımlar sayesinde, küresel teknoloji 2000’den beri hızlı bir şekilde gelişti. Bu dönüşüm olmasaydı, girişim ekosistemi gelişemezdi.

Yeni bir projeye başlarken açık kaynağın yardımını almanın önemli bir yararı, her şeyi sıfırdan yeniden icat etmek için harcanan zamandan ve enerjiden tasarruf etmesidir. Açık kaynak lisansı altında yayınlanan önceki çalışmaların bir kısmını yeniden kullanabilirsiniz. Üzerine inşa ederek, yeni ve yenilikçi bir şey yaratabilirsiniz. Açık kaynak ile, her seferinde temel bilgilerden geçmek yerine işiniz için neyin önemli olduğuna odaklanabilirsiniz.

Diğer bir yararı da, birçok açık bilgi topluluğunun bir parçası olmanıza yardımcı olarak yaşamınızda ve kariyerinizde birçok yeni fırsatın kapısını açabilmesidir. Açık kaynak, teknik becerilerinizi ve bilginizi öğrenmenin ve geliştirmenin en etkili yollarından biridir çünkü yüksek düzeyde teknik projeler üzerinde çalışabilirsiniz.

Makine öğrenimi modeli eğitimi için veri kümelerini paylaşmak ve önceki araştırma çalışmalarına erişmek için açık verileri duymuş olabilirsiniz. Bu ‘açık topluluk’ yaklaşımı, çeşitli sektörlerin hedeflerine ulaşmalarını desteklemeye yardımcı olur. Bu tür amaçlarla kodları gözden geçirip paylaştığınızı ve aynı zamanda dünyanın dört bir yanındaki çok akıllı insanlarla işbirliği yapmayı öğrendiğinizi hayal edin.

Topluluk etkileşiminden bahsetmişken, diğer proje geliştiricilerle işbirliği yaparak farklı insanlarla ve fikirlerle karşılaşırsınız. Bu da ağınızı oluşturmanıza yardımcı olur.

Bountysource ve IssueHunt gibi web siteleri, çeşitli açık kaynak projelerinin belirli sorunlarını çözmek için ‘ödüller’ veya tazminatlar sunar. Bu, kendinizi belirli konulara atayarak ve onlara katkıda bulunarak para kazanabileceğiniz anlamına gelir. Ödüllü sorunları arayabileceğiniz başka web siteleri de var.

Klişeden uzak
Ne zaman birine bir geliştiriciyi tarif etmesi söylense, çoğu kişinin aklına makinelerle tek başına çalışan bir kişi gelir. Ancak gerçek hayattaki iş söz konusu olduğunda gerçek tam tersidir. Yazılım geliştirmenin büyük bir kısmı iletişimdir. Evet, makineler için kod yazmalısınız. Ancak daha da önemlisi, meslektaşlarınız ve diğer geliştiricilerle birlikte çalışmanız gerekir.
İletişim aynı zamanda son kullanıcılardan, UX ekiplerinden, ürün tasarımcılarından ve projenize doğrudan dahil olan herkesten bilgi ve geri bildirim almayı da gerektirir. Temel olarak, bir geliştirici, bir projenin iletişiminin merkezi noktası olarak hareket eder. Bütün bunlar, iletişimin ilk halkası olarak kabul edilebilir.

Geliştiricilerin, yakın çevrelerinin dışında, projelerinin veya şirketlerinin dışındaki farklı kişilerle, özellikle daha büyük geliştirme veya açık kaynak topluluklarıyla etkileşimde bulunmaları beklenir. Bunu yapmak, onları farklı görüşlere ve yapıcı geri bildirimlere maruz bırakır; bu, temel teknik becerileri geliştirmek ve oluşturmak için çok önemlidir.

Daha fazla katkı = Daha fazla görünürlük

Açık kaynak topluluğunun bir üyesi ve açık kaynak projelerine katkıda bulunan biri olarak daha fazla görünürlük elde edeceksiniz. Bu, profesyonel profilinizin teknisyen/geliştirici kiralamak isteyen kişilerden daha arzu edilen görüşler ve talepler alacağı anlamına gelir.
Bu, iş sonuçlarınızı kolayca sergilemenizi sağladığı için size avantaj sağlar. Ve eğer şanslıysanız, açık kaynaklı çalışmanız, bir teknik iş için seçim yaptığınızda mülakatların bazı zorlu kısımlarını atlamanıza yardımcı olabilir.

İlk katkınızı yapmadan önce birkaç temel kural

1. İlk katkınızı yapmaktan korkmayın. Başlamak için uzman olmanıza gerek yok.

2. Hayatınız boyunca bir satır kod yazmamış olsanız bile, açık kaynağa katkıda bulunmanın farklı yolları vardır. Kodlamayı öğrenmek zorunda değilsiniz.

3. Bir açık kaynak projesine katkıda bulunmadan önce kimseden izin almanıza gerek yoktur. Ancak, katkınızın kabul edilme şansını artırmak için proje bakım ekibiyle sohbet etmek güzel.

4. Büyük bir katkı yapmaktansa her zaman küçük başlayın. Projeyi sürdüren insanları, projedeki amaçlarını ve katkınızdan beklentilerini bilmiyorsanız, katkınız reddedilecektir. Daha sonra reddedilmek için birkaç hafta büyük çalışmak yerine küçük çalışmaya karar verirseniz daha az hayal kırıklığına uğrayacaksınız.

5. İlk denemeniz işe yaramazsa asla pes etmeyin. Katkınız hakkındaki geri bildirimlerden öğrenin ve çalışma tarzınızda ilgili iyileştirmeler yapın. Katkınız bir dahaki sefere kesinlikle kabul edilecektir.

Screenshot of the GitHub page showing different good first issues (Credit: OSI 2021)
Şekil 2: Farklı iyi ilk sorunları gösteren GitHub sayfasının ekran görüntüsü ( OSI 2021)

İlk açık kaynak katkınızı yapmak için adımlar

Bir proje seçin: Nereden başlayacağınızı bilmiyorsanız, kullanabileceğiniz birkaç farklı açık kaynak araç vardır.

Bunlardan biri, First Contributions adlı bir web sitesidir; burada, ilk kez yapılan katkılar için uygun olan, belirli konulara sahip birçok açık kaynak projesi bulabilirsiniz. Basitçe bunları gözden geçirin ve seçin.

 Screenshot showing a user who is already assigned to an issue (Credit: OSI 2021)
Şekil 3: Halihazırda bir soruna atanmış bir kullanıcıyı gösteren ekran görüntüsü (OSI 2021)

Bir proje seçtiğinizde, projenin GitHub sayfasına ve ilk kez katkıda bulunanlar için filtrelenen Sorunlar bölümüne yönlendirileceksiniz (Şekil 2).

Farklı konuları gözden geçirin ve ilginizi çekeni seçin.

Sorunu seçtikten sonra, ne yapmanızın beklendiğini öğrenmek için genel açıklamayı okuyun. Birisi kendisini projeye zaten atadıysa, üzerinde çalışılacak başka bir konu arayın.

GitHub’dan geçmek istemiyorsanız, makinenize Node.js’nin yüklenmesi gereken başka bir yöntem daha vardır. Terminalde npx good-first-issue yazın, size mevcut projelerin bir listesini verecektir (Şekil 4).

Command type and project selection options
Şekil 4: Komut türü ve proje seçim seçenekleri

Örneğin, Babel’e katkıda bulunmayı seçerseniz, otomatik olarak rastgele bir sayı seçilecektir. Sorun üzerinde çalışmaya başlamak için verilen GitHub bağlantısına gidin.

İpucu: Herhangi bir katkı yapmadan önce, katkı talebinizin kısa sürede kabul edilmesi için projenin zaman içinde aktif olarak sürdürülüp sürdürülmediğini kontrol edin.

Bir proje üzerinde çalışın: İlk katkınızı başlatmak için bir çekme isteğinde bulunmak üzere, sizi ‘First Contributions’ adlı GitHub deposuna götürecek olan aka.ms/first-pr bağlantısına gidin. Burada, depoyu forking, yerel makinenizde depoyu klonlama ve bir dosyada değişiklik yapmayı (örneğin, yeni bir dal oluşturarak kullanıcı adınızı ekleme) içeren ilk çekme isteğinizi nasıl oluşturacağınıza ilişkin bir eğitime erişebilirsiniz. değişikliği projenin yerel bir kopyasına taahhüt etmek, bu değişiklikleri GitHub’a göndermek ve ardından proje bakımının gözden geçirebileceği, geri bildirimde bulunabileceği ve değişikliklerinizi kabul edip/reddedebileceği gerçek çekme talebini oluşturmak.

Daha önce belirtildiği gibi, bir açık kaynak projesine katkıda bulunmanın tek yolu kodlama değildir. Başka birçok yol var. Birincisi, projeyi tanıtmak ve farklı sosyal medya platformlarında paylaşmaktır. Belirli bir projeyle ilgili deneyiminiz varsa Stack Overflow veya GitHub’da bu projeyle ilgili bazı soruları yanıtlayabilirsiniz. Proje bakımı için çok yardımcı olacaktır.

İlk katkıyı yapmanın bir başka iyi yolu da proje belgelerini gözden geçirmek ve hataları düzeltmektir. Ayrıca öğreticiler yazabilir ve belgeleri farklı dillere çevirerek projeyi birçok farklı insan için erişilebilir hale getirebilirsiniz.

Herhangi bir hatayla karşılaşırsanız, rapor edin. Bunu yapmazsanız, kimse bakıp zamanında düzeltemez. Özellikle başka birinin gözünden kaçan bir hataya tanık olduktan sonra projeler için birim testleri yazmak da herhangi bir açık kaynak projesine katkıda bulunmanın iyi bir yoludur. Ve eğer iyi bir tasarımcıysanız, belirli bir açık kaynak projesi için güzel bir logo tasarlayabilirsiniz.

Yukarıdakilerin yanı sıra, katkıda bulunmanın birden fazla yolu vardır. Başka yararlı şeyler bulmaya çalışabilirsiniz.

İpucu: Belirli bir proje için bir konu üzerinde çalışmayı planlıyorsanız, diğer insanların başka birinin çalıştığını bilmesi için kendinizi o konuya atayın.

Çekme talebinizi gönderin: Bazı şeyler, çekme talebinizin kabul edilme şansını artırabilir. İlk şey, göndermeden önce katkı yönergelerini okumaktır. Proje için yapılan değişiklikleri ve nedenlerini açıklamak iyidir.

Açık kaynak projesini sürdüren bazı kişilerin depoyu düzenli olarak kontrol edemeyeceğini unutmayın. Bu yüzden sabırlı olun ve çekme isteğinizi yerine getirmelerine izin verin. Şimdi değilse, birkaç gün içinde yapacaklar.

Example of a good first issue in Babel (Credit: OSI 2021)
Şekil 5: Babil’deki iyi bir ilk sayı örneği (OSI 2021)

Geri bildirim vermek ve almak, açık kaynak döngüsünün önemli bir parçasıdır. Neyin değiştirilmesi gerektiğini anlamaya yardımcı olur. Eleştiri alırsanız, bunu kişisel bir saldırı olarak değil, becerilerinizi daha da geliştirmenin bir yolu olarak görün. Her gün yüzlerce büyük açık kaynak projesi incelendiği için, katkınızla ilgili geri bildirim günler, hatta aylar alabilir. Yine de endişelenme. Sonunda onu alacaksınız.

Yeni bir maceraya hazır olun
Onca sıkı çalışmanın ardından maalesef her şey ilk seferde yolunda gitmeyebilir. Belki sizin katkınız projenin amacına uymadı ya da bir başkası daha iyi bir şekilde katkıda bulundu. Endişelenme, olur. Asla pes etmeyi unutma. Katkınız kabul edildikten sonra, daha fazla katkıda bulunmak için motive olacaksınız.

Bu nedenle, içerik paylaşma, geri bildirim alma ve daha büyük bir teknoloji ekosisteminin parçası olma felsefesini seviyorsanız, açık kaynaklı bir katılımcının hayatı tam size göre.


Yazının orijinalini buradan okuyabilirsiniz.