Açık kaynağın “nedir”i ve “neden”i

Yani açık kaynak kodlu bir projeye başlamayı mı düşünüyorsun? Tebrikler! Dünya katkınızı takdir ediyor. Açık kaynağın ne olduğu ve insanların neden yaptıkları hakkında konuşalım.

“Açık kaynak” ne demek?

Bir proje açık kaynak olduğunda, herhangi biri herhangi bir amaç için projenizi görüntüleyebilir, kullanabilir, değiştirebilir ve dağıtabilir. Bu izinler açık kaynaklı bir lisans aracılığıyla uygulanmaktadır.

Açık kaynak güçlüdür çünkü fikirlerin hızla yayılmasına izin vererek, benimseme engellerini azaltır. Ayrıca, kullanıcılara kapalı kaynağa göre kendi bilgisayarlarını ve bilgisayarlarında çalışan işlemleri kontrol etme imkanı da verir. Örneğin, açık kaynak yazılım kullanan bir işletme, yalnızca kapalı kaynak satıcısının ürün kararlarına güvenmek yerine, bir kişiyi yazılımda özel iyileştirmeler yapması için işe alma seçeneğine sahiptir.

Özgür yazılım , açık kaynak ile aynı proje grubunu ifade eder. Bazen bu terimleri “ücretsiz ve açık kaynak yazılım” (FOSS) veya “ücretsiz, özgür ve açık kaynak yazılım” (FLOSS) olarak birleştirilir. Free ve Libre özgürlüğe atıfta bulunur fiyata değil.

İnsanlar neden işlerini açık kaynak olarak sunarlar?

Bir kişinin veya örgütün bir projeyi açmak istemesinin birçok nedeni vardır . Bazı örnekler:

  • İşbirliği: Açık kaynak projeler, dünyadaki herhangi birinden değişiklikleri kabul edebilir. Örneğin, Exercism 350’den fazla katkıda bulunana sahip bir programlama egzersiz platformudur.

  • Adapte etme ve yeniden tanımlama: Açık kaynaklı projeler herkes tarafından herhangi bir amaç için kullanılabilir. İnsanlar başka şeyler yapmak için bile kullanabilirler. Örneğin WordPress, b2 adı verilen mevcut bir projenin alt dalı olarak başladı.

  • Şeffaflık: Açık kaynaklı bir projeyi herkes hata veya tutarsızlık açısından inceleyebilir. Şeffaflık, Bulgaristan veya ABD gibi develetler, bankacılık veya sağlık gibi sıkı kurallara bağlı endüstriler ve Let’s Encrypt gibi güvenlik yazılımları için önemlidir.

Açık kaynak sadece yazılım için değil. Veri kümelerinden kitaplara kadar her şeyi açık kaynak koduyla açabilirsiniz. Açık kaynak başka neler yapabileceğiniz hakkında fikir edinmek için GitHub Explore‘a göz atın.

Açık kaynak “ücretsiz” anlamına mı geliyor?

Açık kaynağın en büyük çekimlerinden biri paraya mal olmamasıdır. Bununla birlikte, “ücretsiz” olması, açık kaynağın toplam değerinin bir yan ürünüdür.

Açık kaynaklı bir lisans, herkesin projenizi neredeyse her amaç için kullanmasını, değiştirmesini ve paylaşmasını gerektirdiğinden, projelerin kendileri ücretsiz olma eğilimindedir. Projenin kullanımı ücretli olursa, herkes yasal olarak bir kopya çıkarabilir ve bunun yerine ücretsiz sürümü kullanabilir.

Sonuç olarak, çoğu açık kaynak projesi ücretsizdir, ancak “ücretsiz olmak” açık kaynak tanımının bir parçası değildir. Açık kaynak resmi tanımına uymaya devam ederken, açık kaynak projeler için dolaylı olarak çift lisanslama veya sınırlı özelliklerle ücretlendirme yöntemleri vardır.

Kendi açık kaynak projemi başlatmalı mıyım?

Kısa cevap evet, çünkü sonuç ne olursa olsun, kendi projenizi başlatmak açık kaynakların nasıl çalıştığını öğrenmek için harika bir yoldur.

Daha önce hiç bir projeyi açmadıysanız, insanların ne söyleyeceği veya herhangi birinin fark edip etmeyeceği konusunda gergin olabilirsiniz. Bu senin gibi geliyorsa, yalnız değilsin!

Açık kaynak çalışması, ister yazıyor ister resim yapıyor olsun, diğer tüm yaratıcı etkinliklere benzer. Çalışmanızı dünyayla paylaşmak korkutucu gelebilir, ancak daha iyi olmanın tek yolu, izleyiciniz olmasa bile pratik yapmaktır.

Henüz ikna olmadıysanız, hedeflerinizin ne olabileceğini düşünmek için bir dakikanızı ayırın.

Hedeflerinizi belirlemek

Hedefler, neyin üzerinde çalışacağınızı, neye hayır diyeceğinizi ve başkalarından nereden yardıma ihtiyacınız olduğunu anlamanıza yardımcı olabilir. Kendinize şunu sorarak başlayın, neden bu projeye kaynak açıyorum?

Bu sorunun tek bir doğru cevabı yok. Tek bir proje veya farklı hedeflere sahip farklı projeler için birden fazla hedefiniz olabilir.

Tek amacınız işinizi göstermekse, katkı bile istemeyebilir ve hatta bunu README’nizde bile söyleyebilirsiniz. Öte yandan, katkıda bulunanlar istiyorsanız, açık belgelere ve yeni gelenlerin hoş karşılanmasına zaman ayıracaksınız.

Projeniz büyüdükçe, topluluğunuzun sizden sadece kod yazmaktan daha fazlasına ihtiyacı olabilir. Sorunlara cevap vermek, kodu gözden geçirmek ve projenizi geliştirmek, açık kaynaklı bir projedeki önemli görevlerdir.

Kodlama yapmayan görevler için harcadığınız zaman, projenizin boyutuna ve kapsamına bağlı olsa da, bunları kendiniz ele almak veya size yardımcı olacak birini bulmak için bir koruyucu olarak hazırlanmalısınız.

Bir projeye açık kaynak sağlayan bir şirketin parçasıysanız, projenizi geliştirmek için ihtiyaç duyduğu dahili kaynaklara sahip olduğundan emin olun. Lansmandan sonra projeyi korumaktan kimin sorumlu olduğunu ve bu görevleri topluluğunuzla nasıl paylaşacağınızı belirlemek istersiniz.

Tanıtım, operasyonlar ve projenin bakımı için özel bir bütçeye veya personele ihtiyacınız varsa, bu görüşmeleri erkenden başlatın.

Diğer projelere katkıda bulunmak

Amacınız başkalarıyla nasıl işbirliği yapabileceğinizi veya açık kaynağın nasıl çalıştığını anlamaksa, mevcut bir projeye katkıda bulunmayı düşünün. Zaten kullandığınız ve sevdiğiniz bir projeyle başlayın. Bir projeye katkıda bulunmak, yazım hatalarını düzeltmek veya belgeleri güncellemek kadar kolay olabilir.

Katkıda bulunmaya nasıl başlayacağınızdan emin değilseniz, Açık Kaynaklara Nasıl Katkıda Bulunur kılavuzumuza göz atın

Kendi açık kaynak projenizi başlatmak

İşinizi açık kaynak yapmak için mükemmel bir zaman yok. Açık kaynak bir fikir, devam eden bir çalışma veya yıllarca kapalı kaynak olduktan sonra.

Genel olarak konuşursak, başkalarının işinizi görmesini ve işiniz hakkında görüş bildirmesini istediğinizde projenizi açık kaynak yapmalısınız.

Projenizi hangi aşamada açmaya karar verirseniz verin, her proje aşağıdaki belgeleri içermelidir:

Bir geliştirici olarak, bu bileşenler beklentileri iletmenize, katkıları yönetmenize ve herkesin yasal haklarını (kendi haklarınız dahil) korumanıza yardımcı olur. Olumlu bir deneyim yaşama şansınızı önemli ölçüde artırırlar.

Projeniz GitHub’taysa, bu dosyaları önerilen dosya adlarıyla kök dizininize koymak GitHub’ın onları okuyucularınıza tanıtmasına ve otomatik olarak göstermesine yardımcı olacaktır.

Bir lisans seçimi

Açık kaynaklı lisans, başkalarının projenize yanıt vermeden kullanabileceğini, kopyalayabileceğini, değiştirebileceğini ve katkıda bulunabileceğini garanti eder. Aynı zamanda sizi kötü yasal durumlardan korur. Açık kaynak kodlu bir proje başlatırken projenize bir lisans eklemelisiniz.

Hukiki işler eğlenceli değildir. İyi haber şu ki, mevcut bir lisansı kopyalayıp havuzunuza yapıştırabilirsiniz. Zor işinizi korumak sadece bir dakikanızı alacaktır.

MIT, Apache 2.0 ve GPLv3 en popüler açık kaynaklı lisanslardır, ancak seçilebilecek başka seçenekler de vardır.

GitHub’da yeni bir proje oluşturduğunuzda, size bir lisans seçme seçeneği sunulur. Açık kaynak lisansı eklemek GitHub projenizi açık kaynak yapar.

Pick a license

Açık kaynak kodlu bir projeyi yönetmenin yasal yönleri hakkında başka sorularınız veya endişeleriniz varsa, size yardımcı olacağız .

README Yazma

README’ler projenizi nasıl kullanacağınızı açıklamaktan daha fazlasını yapar. Ayrıca, projenizin neden önemli olduğunu ve kullanıcılarınızın bununla neler yapabileceğini de açıklar.

README’nizde aşağıdaki soruları cevaplamaya çalışın:

  • Bu proje ne yapıyor?
  • Bu proje neden faydalıdır?
  • Kullanmaya nasıl başlarım?
  • İhtiyacım olursa nereden daha fazla yardım alabilirim?

README’nizi, katkıları nasıl ele aldığınız, projenin amaçlarının ne olduğu ve lisanslar ve atıflar hakkında bilgiler gibi diğer soruları yanıtlamak için kullanabilirsiniz. Katkı kabul etmek istemiyorsanız veya projeniz henüz olgun değilse, bunu mutlaka belirtin.

Bazen, insanlar bir README yazmaktan kaçınırlar çünkü proje bitmemiş gibi hissederler veya katkı kabul etmek istemezler. Bunların hepsi yazmak için çok iyi nedenler.

Daha fazla ilham almak için, eksiksiz bir README yazmak için @dguo’nun “Make a README” kılavuzunu veya @PurpleBooth’ın README şablonunu kullanmayı deneyin.

Kök dizinine bir README dosyası eklediğinizde, GitHub otomatik olarak depo ana sayfasında görüntüler.

Katkıda bulunma rehberinizi yazmak

Bir CONTRIBUTING dosyası, izleyicilerinize projenize nasıl katkıda bulunabileceklerini söyler. Örneğin, şunlarla ilgili bilgiler de ekleyebilirsiniz:

  • Hata raporu nasıl gönderilir (sorun ve istek şablonlarını kullanmayı deneyin)
  • Yeni bir özellik nasıl önerilir
  • Proje ortamı nasıl kurulur ve testler nasıl yapılır

Teknik ayrıntılara ek olarak, bir CONTRIBUTING dosyası, aşağıdakiler gibi katkılar için beklentilerinizi iletme fırsatıdır:

  • Aradığınız katkı türleri
  • Proje için yol haritanız veya vizyonunuz
  • Katkıda bulunanlar sizinle nasıl temasa geçmeli (veya geçmemeli)

Sıcak, arkadaşça bir ton kullanmak ve katkılar için özel önerilerde bulunmak (örneğin, dokümantasyon yazmak veya bir web sitesi yapmak gibi) yeni gelenlerin kendilerini memnun ve istekli hissetmelerini sağlama konusunda yardımcı olabilir.

Örneğin, Active Admin katkıda bulunan rehberine şu şekilde başlar:

Öncelikle, Active Admin’e katkıda bulunduğunuz için teşekkür ederiz. Active Admin’i harika bir araç yapan sizin gibi insanlar.

Projenizin ilk aşamalarında, CONTRIBUTING dosyanız basit olabilir. Hataların veya dosya sorunlarının nasıl bildirileceğini ve katkı sağlamak için teknik gereksinimleri (testler gibi) her zaman açıklamalısınız.

Zamanla, CONTRIBUTING dosyanıza sıkça sorulan diğer soruları ekleyebilirsiniz. Bu bilgileri yazmak, daha az kişinin size aynı soruları tekrar soracağı anlamına gelir.

CONTRIBUTING dosyanızı yazarken daha fazla yardım için @nayafia’nın katkıda bulunma rehber şablonuna veya @mozilla’nın “Bir CONTRIBUTING.md Nasıl Oluşturulur” makalesine bakabilirsiniz.

README’nizden CONTRIBUTING dosyanıza bağlantı verin, böylece daha çok insan görsün. CONTRIBUTING dosyasını projenizin deposuna yerleştirirseniz, bir katılımcı bir sorun oluşturduğunda veya bir PR açtığında GitHub otomatik olarak dosyanıza bağlanır.

Contributing guidelines

Davranış kural listesi oluşturmak

Son olarak, bir davranış kural listesi projenizin katılımcı davranışları için temel kurallar koymanıza yardımcı olur. Bir topluluk veya şirket için açık kaynak kodlu bir proje başlatıyorsanız, bu özellikle değerlidir. Davranış kuralları, sağlıklı ve yapıcı topluluk davranışını kolaylaştırmanıza yardımcı olur ve bu da geliştirici olarak stresinizi azaltacaktır.

Daha fazla bilgi için Davranış Kuralları kılavuzumuza göz atın.

Katılımcıların nasıl davranmasını beklediğinizi iletmenin yanı sıra, bir davranış kural listesi de bu beklentilerin kimlere, ne zaman başvuruda bulunduklarına ve bir ihlal meydana geldiğinde ne yapılması gerektiğini açıklamaya meyillidir.

Açık kaynaklı lisanslara benzer şekilde, davranış kuralları için de yeni ortaya çıkan standartlar vardır, bu yüzden kendiniz yazmak zorunda değilsiniz. Contributor Covenant, Kubernet, Rails ve Swift dahil olmak üzere 40.000’den fazla açık kaynaklı proje tarafından kullanılan bir davranış kural listesi şablonudur. Hangi metni kullanırsanız kullanın, gerektiğinde davranış kurallarınızı uygulamak için hazırlıklı olmalısınız.

Metni doğrudan projenizdeki bir CODE_OF_CONDUCT dosyasına yapıştırın. Dosyayı projenizin kök dizininde tutun, böylece README’nizden kolayca bulabilir ve linkleyebilirsiniz.

Projenizi isimlendirme ve markalama

Marka, gösterişli bir logo veya çekici bir proje adından daha fazlasıdır. Projeniz hakkında nasıl konuştuğunuzla ve mesajınızla kime ulaştığınızla ilgilidir.

Doğru ismi seçmek

Hatırlanması kolay olan ve ideal olarak projenin ne yaptığı hakkında bir fikir veren bir isim seçin. Örneğin:

  • Sentry çöküş raporlaması için uygulamaları izler
  • Thin hızlı ve basit bir Ruby web sunucusudur

Mevcut bir projenin üzerine inşa ediyorsanız, adlarını ön ek olarak kullanmak projenizin ne yaptığını netleştirmeye yardımcı olabilir (örneğin, node-fetch window.fetch komutunu getirir).

Her şeyden önce netlik düşünün. Püf noktaları eğlencelidir, ancak bazı şakaların diğer kültürlere veya sizden farklı deneyimlere sahip insanlara tercüme edilemeyebileceğini unutmayın. Potansiyel kullanıcılarınızdan bazıları şirket çalışanları olabilir: projenizi işte açıklamak zorunda kaldıklarında onları rahatsız etmek istemezsiniz!

Benzersiz isim bulmak

Özellikle aynı dili veya ekosistemi paylaşıyorsanız, benzer bir adla açık kaynaklı projeleri kontrol edin. İsminiz popüler bir projeyle örtüşüyorsa, takipçilerinizin kafaları karışabilir.

Bir web sitesi, Twitter hesabı veya projenizi temsil eden diğer özellikleri istiyorsanız, istediğiniz adları aldığınızdan emin olun. İdeal olarak, bu isimleri henüz kullanmak istemediğiniz zamanlarda bile, rahat etmek için şimdiden alın.

Projenizin adının herhangi bir ticari markayı ihlal etmediğinden emin olun. Bir şirket sizden projenizi kapatmanızı isteyebilir veya hatta aleyhinize yasal işlem başlatabilir. Bu riske değmez.

WIPO Global Marka Veritabanını ticari marka çakışmaları için kontrol edebilirsiniz. Eğer bir şirketteyseniz, bu hukuk ekibinizin size yardımcı olabileceği şeylerden biridir.

Sonunda, proje adınız için hızlı bir Google araması yapın. İnsanlar projenizi kolayca bulabilecek mi? Arama sonuçlarında görmelerini istemediğiniz başka bir şey var mı?

Nasıl yazdığın (ve kodladığın) markanı da etkiler!

Projenizin ömrü boyunca birçok yazı yazacaksınız: README’ler, öğretici belgeler, topluluk belgeleri, sorulara cevaplar, belki de haber bültenleri ve posta listeleri.

Resmi bir belge veya geçici bir e-posta olsun, yazma stiliniz projenizin markasının bir parçasıdır. Hedef kitlenize nasıl sesleneceğinizi ve bunun iletmek istediğiniz ton olup olmadığını düşünün.

Sıcak, kapsayıcı bir dil kullanmak (“onlar” gibi, tek bir kişiye atıfta bulunsanız bile), projenizin yeni katılımcılar için memnuniyetle karşılanmasında yardımcı olabilir. Okuyucularınızın çoğu anadili İngilizce olmayabilir.

Kelimeleri nasıl yazdığınızın ötesinde, kodlama stiliniz de projenizin markasının bir parçası olabilir. Angular ve jQuery titiz kodlama stilleri ve yönergeleri olan projelere iki örnektir.

Yeni başladığınızda, projeniz için bir stil rehberi yazmak gerekli değildir ve yine de projenize farklı kodlama stilleri eklemekten zevk aldığınızı fark edebilirsiniz. Ancak, yazma ve kodlama stilinizin farklı insanları nasıl çekebileceğini veya caydıracağını tahmin etmelisiniz. Projenizin ilk aşamaları, görmek istediğiniz emsali belirleme fırsatınızdır.

Lansman öncesi kontrol listeniz

Projenizi açmaya hazır mısınız? İşte size yardımcı olacak bir kontrol listesi. Tüm kutuları işaretleyin? Projeye açmaya hazırsın! “publish” düğmesine basın ve arkanıza yaslanın.

Belgeler

Kod

İnsanlar

Bireyseniz:

Bir şirket veya kuruluşsanız:

Başardınız!

İlk açık kaynak projenizi yayınladığınız için tebrikler. Sonuç ne olursa olsun, açık kaynak çalışmak topluma bir armağandır. Her katkı, yorum ve PR ile kendiniz ve başkalarının öğrenmesi ve büyümesi için fırsatlar yaratıyorsunuz.