AÇIK KAYNAK FARK: BİLİMSEL METODA YAKINLIK ▸ Birçok anlamda bilimle benzeşmesi ▸ Şeffaftır, herkes tarafından kullanılabilir ve gözlemlenebilir. ▸ Kişisel/kurumsal çıkarlar ana hedef değil, ancak yan faydadır. ▸ Deneyselliği sever, farklı yaklaşımların da sonuçlarını görmek için cesaretlidir. ▸ Tutkulu, özverili, projeye inanan katılımcılarını kendi bulur.
AÇIK KAYNAK ÇIKTILAR ▸ Herkesin katılımcı olarak dahil edilebilirliği (Yazılımsal katkı olmasa dahi) ▸ Ürün, Yazılım ve Yazılımcı niteliğini yükseltmesi ▸ Know-how paylaşımı ve geribildirimler
ÖZGÜR YAZILIM AÇIK KAYNAK VE ÖZGÜR YAZILIM ARASINDAKİ FARKLAR ▸ Özgür Yazılım olmanın şartlarından biri Açık Kaynak geliştirmedir. Bir başka deyişle, Özgür Yazılım Açık Kaynak olgusunu kapsar. ▸ Özgür Yazılımların lisansları bulunur. (Örnek: GPL) ▸ Özgür Yazılım’ın sahibi bulunmaz. ▸ Özgür Yazılım’a tüm kullanıcıları erişebilir.
ÖZGÜR YAZILIM GNU DER Kİ… ▸ Herhangi bir amaç için yazılımı çalıştırma özgürlüğü (0 numaralı özgürlük). ▸ Her ne istiyorsanız onu yaptırmak için programın nasıl çalıştığını ögrenmek ve onu değiştirme özgürlüğü (1 numaralı özgürlük). Yazılımın kaynak koduna ulaşmak, bu iş için önkoşuldur. ▸ Kopyaları dağıtma özgürlüğü. Böylece komşunuza yardım edebilirsiniz (2 numaralı özgürlük). ▸ Tüm toplumun yarar sağlayabileceği şekilde programı geliştirme ve geliştirdiklerinizi (ve genel olarak değiştirilmiş sürümlerini) yayınlama özgürlüğü (3 numaralı özgürlük). Kaynak koduna erişmek, bunun için bir önkoşuldur.
NASIL BAŞLADIM? AÇIK KAYNAK KATILIMCILIĞIMIN EVRELERİ ▸ Kod paylaşımı için üniversitedeki çalışmalarımı GitHub üzerinde paylaştım. ▸ Tekrar kullanılabilen (reusable) kod parçalarını arşivleme amacıyla kütüphaneler haline getirerek paylaştım. ▸ Deneysel (Proof of Concept) projeler bunların yanına eklendi. ▸ Kullandığım başka kütüphaneleri takip edip, issue’larına yazmaya başladım. ▸ Diğer projelere kod katkısı yapmaya başladım. ▸ Kendim projeler geliştirmeye çalıştım.
KATKIDA BULUNMAK NASIL KATKIDA BULUNABİLİRİZ? ▸ Proje README ve dokümantasyonunu okumak. ▸ Diğer katkıda bulunanlarla iletişime geçmek. ▸ Projeyi kendi ortamına/bilgisayarına kurmak. ▸ Geliştirme yapmak, hata bulmak, hata düzeltmek. ▸ Changelog oluşturmak, Pull Request açmak ve gerekiyorsa tartışmak.