March 30, 2016 · açık kaynak

Açık Kaynak Felsefesi

Sektöre yabancı olmayan herkesin bildiği fakat ara sıra sınırlarını belirtmek adına tanımını düzgün yapmak ve yapılan tanıma referans verilmesi gereken bir konu "açık kaynak".

Tanımlara girmeden hemen şunu söylemem gerekiyor ki, "açık kaynak", "özgür yazılım" ve "kaynağı açık" kavramlarının anlamları ve kullanışları üzerinde ortak bir uzlaşıya ulaşılabilmiş değil. Birçok kaynak bu ifadeleri eş anlamlı kullanırken, işin detaylarında bu iki kavramından birbirinden ayrıştığını savunanlar da mevcut.

Ben arada farklılıkların olduğunu düşünen gruba giren biri olarak, hem bu fikir ayrılığının nedenlerini de elimden geldiğince açıklamaya hem de diğer yazılarımda da olduğu gibi daha çok kendi bakış açımla bu kavramları yorumlamaya çalışacağım.

Kaynak

Sektörümüzde en çok kullanım alanı yazılımlar olsa dahi, herhangi bir çalışmayı tekrar üretebilmemizi sağlayan her türlü materyale (döküman, veri, v.s.) kaynak ismi verebiliriz. Microsoft Word dökümanından, bir programın kaynak koduna kadar birçok şeyi kaynak olarak nitelendirebiliriz.

Kaynağı Açık

Bir çalışmanın kaynağı kısmen veya tümüyle "herkes tarafından" erişilebilir ve incelenebilir durumda ise o ürün için "kaynağı açılmış" diyebiliriz.

Açık Kaynak

Her açık kaynak çalışmanın kaynağı aynı zamanda açıktır. Fark kelimelerin yerlerini değiştirince değil, "açık kaynak"'ın Açık Kaynak İnisiyatifi tarafından yapılmış tanımında yatıyor.

"Kaynağı Açık" tanımına ek olarak, çalışmanın kaynağı "herkes tarafından" değiştirilebilir ve tekrar dağıtılabilir durumda ise onun "açık kaynak" olduğundan bahsedebiliriz.

Açık kaynak geliştirme ve kontrol gibi süreçlere "kaynak" olabilecek herkesi dahil etmeyi hedefler. Bu sayede ortaya çıkan çalışma başka bir çalışmanın bir parçası olabilir, birileri tarafından incelenerek hataları tespit edilebilir veya yine birileri tarafından geliştirilerek daha da olgun bir hal alabilir.

Özgür Yazılım

Her özgür yazılım aynı zamanda açık kaynaktır. Fakat özgür yazılım bundan çok daha fazlasıdır. Çünkü özgür yazılımlar sahipliği reddeden bir politik anlayışın ürünüdür. Dolayısıyla herhangi birinin veya birilerinin kontrolü altında bulunmayan özgür yazılımların üzerinde yapılan değişiklikler de mutlaka herkesin erişebileceği şekilde yayınlanmalı ve özgür yazılım olmayan başka bir programın (hatta GNU Public License v3'e göre donanımın da) işlevsel bir parçası olarak kullanılmamalıdır.

Özgür yazılımın olmazsa olmazları daha doğrusu "özgürlükleri" şöyle alıntılayabiliriz:

  • 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.

Kaynak: GNU

Konuyla ilgili daha fazla detay için, hayatını özgür yazılıma adamış Richard Stallman'ın açık kaynak ve özgür yazılımın farklılıklarına değindiği yazısını okuyarak detaylara inebilirsiniz.

Son olarak konu özgür yazılım olduğunda, şu motto akıllarda yer etmeli: "free as in speech, not as in beer".

Lisanslar

Peki bir çalışmayı ne "kaynağı açık", "açık kaynak" veya "özgür yazılım" yapar? Cevap "lisans" ismi verdiğimiz, kaynağın sahibi tarafından oraya koyulmuş, çalışmayı eline geçirene bir takım izinler veren veya sınırlar çizen bir belge.

Eğer çalışmanın sahibi hukuksal olarak duruma çok hakim biri olarak kendi özel şartlarını koymadı ise karşılaşacağınız lisanslar çoğunlukla MIT, BSD, Apache, GPL v.b. lisansları gibi herkesçe bilinen hazır bir şablonda olacaktır.

Açık Kaynak neyi hedefler?

İşin son olarak felsefesinden bahsetmek gerekirse, açık kaynak şeffaflığın ve paylaşımcılığın merkeziyetçilik/kapalılıktan çok daha yararlı ve verimli olduğu düşüncesini savunur.

Açık kaynak "bilim" gibi ilerler, alanında uzman kişilerin ortaya attığı çalışmalar çürütülerek/düzeltilerek/desteklenerek mükemmeli arama çabasında bir veri oluştururlar.

Şu anda günlük kullandığımız veya yararlandığımız birçok yazılımın açık kaynak dünyası tarafından geliştirdiğini göz önünde bulundurarak açık kaynağın başarılı olduğunu söyleyebileceğimizi düşünüyorum.

  • LinkedIn
  • Tumblr
  • Reddit
  • Pocket
Comments powered by Disqus