Yazılım / Programlama

Açık Kaynak Kodlu Projelerde Etik Kurallar ve Lisanslar — Eksiksiz Rehber

25-10-2025 by Emirhan 3

Açık Kaynak Kodlu Projelerde Etik Kurallar ve Lisanslar — Eksiksiz Rehber

Bu rehber, açık kaynak (open source) projelerde katkıda bulunan geliştiriciler, proje yöneticileri ve ekip liderleri için hazırlanmıştır. Okuduktan sonra:

  • Açık kaynak ekosisteminde hangi etik kuralların önemli olduğunu,
  • En yaygın lisans türleri (permissive vs copyleft) ve aralarındaki farkları,
  • Projeye uygun lisans seçimini nasıl yapacağınızı ve
  • Pratik olarak lisans metnini nasıl uygulayacağınızı net olarak bileceksiniz.

1) Açık Kaynakta Etik Neden Önemlidir?

Açık kaynak projeler topluluk temellidir: kod, dokümantasyon, issue’lar, testler ve tartışmalar gönüllü katkılarla büyür. Bu yüzden etik davranışlar projenin sürdürülebilirliği ve sağlığı için kritik önemdedir. İyi bir açık kaynak etik çerçevesi şunları sağlar:

  • Güvenli, kapsayıcı bir topluluk ortamı (code of conduct uygulamaları).
  • Adil katkı ve takdir mekanizmaları (katkı sahiplerinin tanınması).
  • Yasal açıklık: lisans ve telif hakları doğru yönetildiğinde hem kullanıcılar hem katkıda bulunanlar korunur.

Temel etik ilkeler (özet)

  • Saygı ve nezaket: Tartışmalarda saldırgan dil kullanmamak, topluluğa ve yeni katkıcılara destek olmak.
  • Şeffaflık: Değişikliklerin amacı, kapsamı ve etkileri açıkça anlatılmalı (PR açıklamaları, issue yorumları).
  • Sorumluluk: Güvenlik açıklarını halka açıklamadan önce koordineli şekilde raporlamak (responsible disclosure).
  • Emek ve lisans uyumu: Başkalarının telif hakkına saygı göstermek, kopyalanmış/izinsiz kod kullanmamak.

İyi uygulama: Projenize CODE_OF_CONDUCT.md ve CONTRIBUTING.md ekleyin. Bu dosyalar topluluk davranış standartlarını ve katkı sürecini netleştirir.

Cloud computing types diagram

Kaynak: Tiffin University — Computer Science – Software Development.

2) Lisanslar Nedir? Neden Şarttır?

Bir yazılım parçası açık kaynaklanırken (kod yayımlanırken) otomatik olarak herkesin her şeyi yapmasına izin verilmiş sayılmaz — lisans, telif sahibinin hangi hakları verdiğini belirler. Lisans olmadan kodun hangi şartlarda kullanılabileceği, değiştirilebileceği veya dağıtılabileceği belirsiz kalır. Bu nedenle açık kaynak projelerinde lisans zorunludur.

3) Lisans Türleri: Temel Sınıflama

Genel olarak iki ana sınıf vardır:

  • Permissive (izin veren) lisanslar: MIT, BSD, Apache 2.0 gibi; az kısıtlama getirir, kodu yeniden kullanmayı ve kapalı kaynak ürünlerde bile kullanmayı kolaylaştırır.
  • Copyleft (reciprocal) lisanslar: GNU GPL ailesi gibi; türetilmiş çalışmaların da aynı lisansla dağıtılmasını şart koşar — böylece özgürlükler korunur.

Kısa karşılaştırma tablosu

Lisansa göreÖzellikKim için uygun?
MITÇok permisif; telif belirtmesi yeterli.Başlangıç projeleri, kütüphaneler, geniş kullanım isteniyorsa.
Apache 2.0Permissive + patent katkı koruması.Kurumsal kullanım, patent riski olan projeler.
GPLv3Güçlü copyleft — türev çalışmalar da GPL olmalı.Özgür yazılım ilkelerini korumak isteyen projeler.
BSDMIT’ye benzer, birkaç çeşidi var (2-clause, 3-clause).Permissive kullanım amaçlı.
MPL (Mozilla)Dosya düzeyinde copyleft — karma projelere uyumlu.Karma (proprietary + OSS) modellerde orta yol arayanlar.

Not: OSI (Open Source Initiative) tarafından onaylanmış lisansların listesi ve detayları için resmi kaynakları inceleyin.


4) Hangi Lisansı Seçmeliyim? (Pratik Rehber)

Doğru lisans seçimi proje hedeflerinize bağlıdır. Aşağıdaki soruları kendinize sorun:

  1. Projemin ticari olarak kapatılmasını ister miyim? (Eğer hayır → permissive lisanslar uygundur.)
  2. Türev çalışmaların da özgür olmasını istiyor muyum? (Eğer evet → copyleft, ör. GPL.)
  3. Patent korumasına ihtiyacım var mı? (Eğer evet → Apache 2.0 gibi patent maddesi olan lisansları düşünün.)
  4. Projede hem açık hem kapalı kod bulunacak mı? (MPL gibi dosya düzeyinde copyleft uygun olabilir.)

Hızlı yardım: GitHub’ın “Choose a License” veya OSI lisans sayfası size seçenekleri açıklar ve resmi metinlere erişim sağlar.


5) Etik ile Lisansın Kesiştiği Noktalar

  • Copyleft seçen projeler, özgürlüğü koruma etik değerini önceler.
  • Permissive lisanslar daha hızlı yayılma sağlar, ancak kod ticari kapatılabilir; bu bazı katkıcılar için etik sorun yaratabilir.
  • Bazı projeler “etik lisanslama” veya “etik kullanım sınırları” koymayı tartışıyor — özellikle yapay zekâ modellerinin eğitim verileriyle ilgili şeffaflık ve kötüye kullanım kısıtlamaları konusunda yeni talepler ortaya çıkıyor.

6) Lisansı Projeye Uygulama: Pratik Adımlar

  1. LICENSE dosyası ekleyin: Proje kök dizinine uygun lisans metnini tam olarak koyun.
  2. README’da lisans belirtin: README başında açıkça lisansı yazın ve telif sahibini belirtin.
  3. Dosya başlıklarına telif notu ekleyin: Özellikle kütüphane dosyalarında kısa bir telif ve lisans hatırlatıcısı koyabilirsiniz.
  4. Bağımlılık uyumluluğunu kontrol edin: Kullandığınız üçüncü parti paketlerin lisanslarıyla projenizin lisansı uyumlu olmalı.
  5. Contributing ve CLA: Gerekirse Contributor License Agreement (CLA) veya DCO kullanın.

Pratik öneri: SPDX etiketlemeyi kullanın (ör. SPDX-License-Identifier: MIT), böylece otomasyon ve uyumluluk araçları lisans taraması yapabilir.


7) Sık Karşılaşılan Sorunlar ve Çözümleri

  • Yanlış lisans eklemek: Hata fark edilirse proje sahibi açıklama yayınlayıp düzeltme yapmalıdır.
  • Üçüncü taraf kodunun uygunsuz kullanımı: Her zaman bağımlılık lisanslarını tarayın; OSS uyumluluk araçları kullanın.
  • Patent iddiaları: Apache gibi patent lisans maddesi sağlayan lisanslar bu riski azaltır.

8) Etik Davranış Kodları (Örnekler) — Nasıl Yazılır?

CODE_OF_CONDUCT.md hazırlarken şu bölümler olmalı:

  • Açık davranış kuralları (kabul edilebilir/edilmeyen davranış örnekleri)
  • Görüş bildirme veya şikâyet süreci
  • Yaptırım mekanizmaları (uyarı, PR kapatma, erişim kısıtlaması vb.)

Hazır örnekler: Contributor Covenant gibi şablonlar iyi bir başlangıçtır.


9) Kaynaklar ve Okuma Önerileri

10) Video ile Özet

Video kaynağı: YouTube — "Which License Should I Use?".


Yazar

Emirhan DOĞRU




Yorumlar (0)

Misafir oturumuyla yorum yapıyorsun, dilersen
Paylaştığınız yorum minimum 20 karakter uzunluğunda olmalıdır.(0)

Yorum bulunamadı...

Scroll to Top