Bilim Teknoloji İnceleme

Açık Kaynak Nedir Özgür Yazılım Hakkında Herşey

Açık Kaynak Kod Nedir? Özgür Yazılım Nedir? Ne İşe Yarar? Nasıl Yazılır?

Özgür ve açık kaynak kodlu (AKK) yazılım; yazılım özgürlüğünü amaçlayan ve kullanıcılarının kullandıkları yazılım üzerinde kullanım, dağıtım, değiştirme özgürlükleri olduğunu vurgulayan özgür yazılım hareketi ile beraber ortaya çıkmıştır. Ağırlıklı olarak Avrupa Birliği tarafından kullanılan bir ifadedir.

Yazılımların la dağıtıldığı dönemlerde, aldığınızda yazılımı da beraber gelirdi ve o yazılım sadece o la beraber çalışabilirdi; o yazılımı dilediğiniz gibi değiştirme, biçimlendirme şansınız vardı. Yavaş yavaş kişisel ın yaygınlaşması, farklı kşık yazılımların ortaya çıkması, beraberinde yazılım üreticilerinin yazılımlarını korumaya yönelik olarak telif haklarına başvurmasına ve önceden ı kullanan uzman kişilerin değiştirebilmesi için açık kaynak olan kodların kapatılmasına, yazılımla beraber dağıtılmamasına neden olmaya başladı. Artık aldığınız bir yazılımı arkadaşlarınızla paylaşmanız, kaynak kodlara erişiminiz olmadığı için dilediğiniz şekilde değiştirme olanağınız elinizden alınmış oldu.

Özgür Yazılımın Gelișimi

endüstrisindeki ve kullanıcılardaki kültür değişiminden rahatsız olan Richard Stallman, 1983 yılında GNU (“GNU’s Not Unix- GNU Unix değildir”) projesini başlattı. GNU işleyişi ve geliştirme çalışmaları Ocak 1984 yılında başlarken, Ekim 1985 yılında kuruldu. Richard Stallman bu vakfın kuruluşuyla birlikte, özgür yazılım tanımını ve “Copyleft” kavramını, herkes için yazılım özgürlüğü görüşünü ortaya attı.

Copyleft Nedir?

Kısaca Copyleft ifadesini açıklarsak; İngilizcedeki teriminin zıt anlamlısıdır. Telif haklarının belirli bölümlerinden yazarı tarafından belirtilen şartlar altında feragat edilmiş olan bir esere işaret eder. Hukuki anlamda, Copyleft aslında kavramıyla tanınan hakların taraflar arası düzenlenen bir sözleşme yerine, bir tarafı anonim olan bir sözleşme ile paylaşılması anlamına gelir

Özgür yazılım, özgürlükleri korumaya yönelik bir akımın adıdır. Özgür yazılım denildiği zaman, İngilizcedeki “” ifadesinin ilk kelimesinin (“free”) çift anlamlı olması dolayısıyla oluşan yanlış anlamayı önlemek için özellikle vurgulanması gereken, “” denildiği zaman “free beer” (bedava bira) değil “free speech” (ifade özgürlüğü) kavramının akla gelmesi gerektiğidir.

Özgür yazılımın temelinde kullanıcının bir yazılımı çalıştırma, kopyalama, dağıtma, inceleme, değiştirme ve geliştirme özgürlükleri yatar. Daha kesin ve açık bir ifadeyle, özgür yazılım kullanıcılar için aşağıdaki özgürlükleri tanımlar:

  • Her türlü amaç için programı çalıştırma özgürlüğü (özgürlük 0).
  • Programın nasıl çalıştığını inceleme ve kendi gereksinimleri doğrultusunda değiştirme ve uyarlama özgürlüğü (özgürlük 1). Program kaynak koduna erişim bunun için bir ön şarttır.
  • Yeniden dağıtma ve toplumla paylaşma özgürlüğü, böylece komşularınıza yardım edebilirsiniz (özgürlük 2).
  • Programı geliştirme ve gelişmiş haliyle topluma dağıtma özgürlüğü, bu özgürlüğün amacı tüm topluluğun geliştirmelerden yararlanmasını sağlamaktır (özgürlük 3).

Program kaynak koduna erişim bunun için de bir ön şarttır. Bir program bütün kullanıcılara yukarıdaki hakları tanıdığı zaman, özgür bir yazılım olur. Özgür bir yazılıma sahip olduğunuz zaman kopyalarını aynen ya da değiştirerek, ücret karşılığı veya ücretsiz, herkese ve her yerde dağıtma özgürlüklerine sahip olursunuz. Bu özgürlüklere sahip olmak, kimseden izin almamayı ve izin için hiçbir bedel ödememeyi de içerir.

Özgür Yazılımın Yararları

Sayısal bilgi si, bilginin lenmesini ve kopyalanmasını kolaylaştırarak insanlığa katkıda bulunmaktadır. bu işlemleri hepimiz için daha kolay hale getirmeyi vaat etmektedirler. Bu kolaylaştırma, herkes tarafından istenmemektedir. Telif hakları sistemi yazılımlarının birer “sahibi” olmasını getirmekte ve bu ‘sahipler’in çoğu, ilgili yazılımların potansiyel faydalarını kamu ile paylaşmak istememektedirler.

Kullandığımız yazılımların yalnızca kendileri tarafından kopyalanabilir ve değiştirilebilir olmasını istemektedirler. Bu sahiplilik, yazılımların üzerinden aşırı derecede kar elde etmeyi amaçlayan yazılım tekellerinin savunduğu ve sektörel bağımlılığı arttıran bir araçtır. Bağımsızlık için özgür yazılım, özgür/açık standartlar ve özgür kültürün önemi yüksektir.

Bir başka önemli yarar, özgür yazılımların kar amacı güdülmeden ve genellikle bedelsiz olarak dağıtılmasıyla ortaya çıkar. Günümüzde ağırlıklı olarak bir ın maliyetini dan ziyade oldukça yüksek olan yazılım lisans ücretleri oluşturmaktadır. Bu ın maliyetini düşürmek ve kullanabilecek kişilerin sayısını arttırmak, bu la birlikte özgür yazılımın dağıtılmasının teşvik edilmesinde yatmaktadır. Özgür yazılımın yararlarını temel başlıklar halinde özetlersek:

  • Yazılım tekellerinin dayatmalarına karşı durmak, bağımsızlık.
  • Bir yazılım veya hakkında gelişmiș uzmanlaşma, yenilikçilik.
  • Kaçak () yazılım kullanımının önlenmesi.
  • Yazılımların açık kaynak kod olması, onlara yönelik güvenilirlik ve güvenlik açısından önemlidir.
  • Uyumlu çalışma, uyumlu standartlar.
  • Șeffaflık, bilgilenme hakkının yerine getirilmesi.
  • Veri paylaşılabilirliği.
  • Kod uyarlama ve tekrar kullanım, kullanıcı gereksinimine duyarlılık ve esneklik.
  • Maliyet.

Özgür Yazılım İçin Neler Yapılabilir?

Özgür yazılımın bu yararları için yaygınlaştırılması önemlidir. Zorunlu olarak sahipli yazılımlarla birlikte satılan ürünlerini kullanıcıların tercihleri doğrultusunda diledikleri gibi satın alabilecekleri bir hale getirmek atılacak ilk adım olmalıdır. Kullanıcıların bilinçlendirilmesi, özgür yazılımı neden kullanmaları gerektiğinin anlatılması ve rahatça kullanabilecekleri özgür yazılımların tanıtılması konusunda uzman olmayan kullanıcılar için önemlidir. Belli bir destekten yoksun olan kullanıcılar, özgür yazılımın kulaktan duyma bir şekilde zor olduğunu düşündükleri için kullanmaktan kaçınabiliyor.

Özgür ve açık kaynak kodlu yazılım ile açık standartlar, bilginin aktarılması ve özgürce kullanılması açısından bağımlılığı önleyen kavramlardır. Açık standartlar, birlikte işlerliği ve veri paylaşımını kolaylaştırır. Açık standartları desteklemeyen, kendi standartlarını zorlayan yazılımların diğer yazılımlarla haberleşmesi ve veriyi herkesin (ilgili yazılımı kullanmadan) erişebileceği bir eksenden çıksı söz konusudur.

Hükümetlerce alınacak kararlar, yalnız kurumları değil, şirketleri ve çalışanları da doğrudan etkiliyor. E-devlet sürecinde hükümetlere düşen çok fazla görev olmasına rağmen bunları dört ana maddede toplamak mümkün:

  • Kamusal bilgiye özgür erişimi sağlamak.
  • Kamusal verinin devamlılığını sağlamak.
  • Kamunun geneline ve vatandaşlara ait verilerin güvenliğini sağlamak.
  • Gereksiz kamu harcamalarından kaçınmak.

Özellikle son iki maddenin gerçekleştirilmesinde, ülkeler e-devlet projelerini gerçekleştirmek için özgür yazılımı tercih etmektedirler. Verilerin güvenliğini, içerisinde ne barındırdığını bilmediğiniz, kapalı kodlu sahipli bir yazılımla sağlayamazsınız. Gereğinde açık kaynak bir projeyi ulusal bir şekilde tekrar yaratmanız gerekir. Gereksiz kamu maliyetlerini en az indirmek ve yazılımda dışa bağımlılığı azaltmak için de açık kaynak kod yazılımı önemli bir araçtır.

--- /* ]]> */