Açık Kaynak Kod Yazılımlar Hakkında İnceleme?

Günümüzde, özellikle Açık/Özgür Kaynak Kod ve Linux Sistemler ile çok fazla teması olmayan kişi veya organizasyonların bu cenahı ötekileştirmek için kullandığı en büyük argümanlardan biridir, ” Açık/Özgür Kaynak Kod ne kadar güvenli? ” ve bu söylemi daha da derinleştirmek adına genellikle Üçüncü Parti (3Party) Yazılımlar olarak da zikredilmeye çalışılır.

Peki, Açık/Özgür Kaynak Kod yazılımlar ile ilgili ne biliyoruz? Gerçekte ne kadar güvenilirler? Neden Open ve Free? Ne kadar Open ve Free? Ne kadar işlevseller? Kimler için kullanılabilir ve yönetilebilir durumdalar?

 

Açık/Özgür Kaynak Kod Yazılımlar için genel olarak aşağıdaki hususları bilmekte fayda var;

 

GNU Tasarısı: İşlevsel ve faydalı bir bilginin herkesin, etkili bir kullanım hakkıyla, ticari veya gayri ticari olarak değiştirebilmesi ya da olduğu gibi kullanarak tekrar dağıtma özgürlüğünü içeren, serbest kullanım hakkı anlamına gelmektedir.

Copright, GNU Tasarısının tam tersi iken, Copyleft ise ilgili veri için Haksızlık, Hak İdda etmeme anlamındadır.

GPL Genel Kamu Lisansı (GNU GPL ya da GPL) :   Yazılımın sınırsız kullanılabilmesi, Yazılımın nasıl çalıştığının incelenebilmesi ve istenildiği gibi değiştirilebilmesi, Yazılımın sınırsız dağıtılabilmesi hatta yapılan değişiklikler sonrası ticari olarak para karşılığı bile saıtabilmesi tek şart olarak da GPL lisansı kapsamında ve Kaynak Kodunun Paylaşılmasıdır. Özgür yazılımlar için ilk akla gelen ve ençok kullanılan lisans GNU/GPL ‘dir. Ayrıca GPL lisansları versiyonlarına (son GPLv3 yayınlanmıştır) göre değişiklik gösterbildiği gibi farklı türleride bulunmaktadır;

  • GNU Genel Kamu Lisansı (GPL)
  • GNU Kısıtlı Genel Kamu Lisansı (LGPL)
  • BSD Lisansı
  • Mozilla Kamu Lisansı (MPL)
  • MIT Lisansı
  • Apache Lisansı
  • Eclipse Kamu Lisansı (EPL)
  • Avrupa Birliği Kamu Lisansı (EUPL)

 

Kaynak Kod : Bir yazılımı oluştururken gerekli kodların, kullanılan yazılım diline uygun düzenli ve kurallı işlenmiş halidir. İlgili yazılımın sonhalini alması sonrası derlenmesi sonucu ise Binary yani /OS üzerinde çalıştırılabilir hali elde edilir.

Free : Free kısmı evet Bedava anlamı taşıdığı gibi aynı zamanda Freedom yani Özgürlük manasınada gelmektedir. Yani bedavası, Özgürlüğünden gelmektedir.

Open : GNU/GPL kapsamında bakıldığında Kaynak Kodun Açık olması anlamına gelmektedir.

Open Source : Açık kaynak yazılım hareketi, yeni telif hakları, lisans verme ve oluşan tüketici sorunlarına netlik kazandırmak için ortaya çıktı.

Açık kaynak kodlu yazılım, kullanımı ücretsiz olan ve Kaynak Kodu Açık olan yazılımlardır. Sahip oldukları GPL lisans türüne göre dağıtımları ve diğer özellikleri kısıtlanmış olabilir.

İçinde özgür yazılım lisansı ile lisanslanmış olan yazılımlar, Özgür Yazılım (Free software) sınıfına girerler. Tüm özgür yazılımlar, aynı zamanda açık kaynaklı yazılımlardır ancak her Açık Kaynak yazılım bir özgür yazılım olmayabilir.

Free Software tam anlamı ile GNU tasarısına uyması gereken yazılımlar iken, Open Source yazılımlar ise sadece Open hususuna dikkat ederek, kaynak kodların açık olduğu fakat kısıtlı veya eksik özellikler içerebilmesidir.  Tabi Açık Kaynak yazılımlar diğer yazılım türleri olan Freeware, Sharewares, Trial yazılımlara göre daha fazla imkan sunarlar.

 

Evet bu kadar ansiklobedik bilgi sonrası gelelim yukarıda bahsettiğimiz sorulara.

Neden, Nekadar, Niçin, Kime?

Pozitif Yönleri;

Gerek Free Software gerekse Open Source yazılımlar genel olarak paylaşım temelinde kollektif olarak insanlığın gelişimini hedefleyen felsefelerden ortaya çıkmıştır. Bir diğer felsefe olarak da Kendin Yap/Yapabilirsin fikrinin kişilere empoze edilmesi de sayılabilir. Kişinin özgünlüğünü ona sağlanan özgürlüklerle ifade edebilmesine imkan verir. Fikir babası ise Richard Stallman’ dır (Özgür Yazılım Hareketi’nin kurucusu).

Free Software ve Open Source yazılımlar genel olarak özellikle yeni yazılımcılara ve in-house yazılımcılara yazılımlarını geniş kitlelere yayabilme, kendilerini tanıtabilme, yazılımların mevcut hatalarının GNU felsefesini benimsemiş kullanıcılarca (“ki buna Comminity (topluluk) denir”) farkedilip düzeltilerek yazılımın daha kusursuz hale getirilmesi hususlarını kapsar.

Free Software ve Open Source yazılımlar, organik olarak güvenliği ve kararlılığı beraberlerinde getirir. Yukarıda bahsedilen Comminity desteği de bunun enbüyük besleyici unsurlarındandır. Ek olarak kullanıcı bilgi ve beceri seviyesine göre de ilgili yazılımı istediği gibi değiştirebildiğinden hem kullandığı yazılıma kaynak kod seviyesinde hakim olabileceği gibi hemde bu imkanları kullanarakda ek geliştirmelerde bulunabilir buda aynı zamanda ilgili yazılıma büyük oranda esneklik getirir.

Birçok ticari ürünün Open Source adı altında Core ve Comminity versiyonları da bulunmaktadır. Bu kişilere ilgili proğramı herhangibir bedel ödemeden sahip olabilmeyi,kullanabilmeyi, denemeyi ve öğrenebilmeyi sağlar. Kişisel kullanımlar ve Kobiler için ilgili versiyonlar genellikle fazlasıyla yeterli gelmektedir. Firma içinde tanınma ve yaygınlaşma, destek ve lisanslı ürünün satılması, kurulum maliyeti, eğitim ve sertifaksyon süreçleri gibi sonuçlara da zemin oluşturur.

İlgili yazılımlar genellikle geniş döküman desteği, uzantı desteği ve büyük oranda komut satırı kullanılarak otonom ve diğer yazılımlar ile konuşabilecek şekilde esnek yazılmaktadır.

Bir diğer hususda bugün birçok bilinen ve ticari olan bir çok yazılım ya Özgür/Açık Kaynak Kod platformaları ya Özgür/Açık Kaynak Kod kütüphaneleri yada yazılımları kullanmaktadır. Kullandığı kodların GPL kapsamında gerekli şartlarını yerine getirmek kaydıyla.

Günümüzde güncel  olarak kullanılan bir çok yazılım/projenin mutlaka açık kaynak kod alternatifleri bulunmakta. Buda hem ilgili hizmeti kullanıcı veya şirketlerin kendi sunucularında servis edebilmesini, hem bu konuda geliştirme yapmak isteyen yazılımcı veya yazılımcı adaylarının hemde Organizayon veya Devlet bazında bu işi gerçekleştirmek, yerel alternatif sunmak isteyenler içinde imkan sunmaktadır.

Yazılımcılar için büyük avantajlar sunar en büyük avantajı da daha önce yazılmış bir kodun ilgili yazılıma entegre edilmesi ile olur. Satırlarca kod tekrar yazılmak zorunda kalınmaz.

Son olarak Açık Kaynak Kod yazılım geliştirilen veya destekte bulunan kişiler bu kodları gönüllü ve istekli olarak herhangibir ücret beklentisi olmadan yani çoğu kez zevk için yaparlar. Ne zaman müsaitse ve Dünyanın neresinde olduğu farketmeksizin olabildiğince katkıda bulunmaya çalışırlar. Aksi durumdaki yazılımcılar ise belirli bir “dead line” da çoğu kez yapmak zorunda olduğu bir iş olduğu için belirli bir kalıp dahilinde kodlama yaparlar.

Negatif Yönleri;

Free Software ve Open Source yazılımlar, Freeware, Sharewares, Trial yazılımlar gibi genel olarak bünyelerinde zararlı yazılımlar barındırmazlar fakat yukarıda bahsettiğim gibi daha çok in-house olan türleri olabildiğince defakto standartlarda yazılır ve bu türleri yazılımın içinde zararlı olmasada kullanımları durumunda, zararlı yazılımlarca istismar, enfekte ve manipülasyonlara maruz kalabilmesinin önünü açmaktadır.

Bir diğer güvenlik, işlevsellik ve süreklilik unusurları da yine yukarda bahsettiğimiz gibi bazı yazılımlar genel olarak yeni yazılımcılar, gruplar ve in-house yazılımcılar tarafından yazıldığından ilgili kişi ve grupların ilgili yazılımı fes etmeleri durumunda yazılımın yeni versiyonları oluşturulmadığından diğer yazılımlarla olan kullanımları da sekteye uğrar ve bir süre sonra ilgili yazılımlar yanlızca belli versiyon sistemlerde ve bağımlılığı olan belli versiyon yazılımlarla çalışır, buda hem işlevselliğini hemde güvenliğini zedelemektedir.

Yukarıda bahsedildiği üzere ticari versiyonu ile beraber open source adı altında versiyonları da bulunan yazılımlarında genellikle bazılarında sadece destek ve kurulum işlemleri ücretli iken bazılarında yeni versiyon güncellemeri içinde ek ücret istenmektedir.

Yukarıda pozitif yönleri arasında belirtilen kaynak kodun kişinin müdahelesine açık olma durumu aynı zamanda eğer bilinen ve düzenli güncelleme alan bir yapıda olmayan yazılımlarda tamamen kişinin müdahelesine bakmaktadır.

Son kullanıcı tarafında özellikle masaüstü proğramları grafik olarak gayet sade veya yetersizdir. Sunucu tabanlı olan Web arayüzlü türlerinde de genel olarak raporlama kısımları olabildiğince temel unsurları barındırır.

 

Özgür/Açık Kaynak Kod Projeler/Yazılımlar kullanılırken nelere dikkat etmeli;

  • Öncelikle yaygın, bilinen projeler/yazılımların kullanılmasında fayda olacaktır.
  • Comminity ‘si güçlü olan, dökümantasyonu güçlü olan projeler/yazılımlar tercih edilmeli.
  • Projeler/yazılımlar tercih edilirken düzenli olarak güncelleme alanlar gözetilmeli mümkünse Version  Route Map ‘leri kontrol edilmelidir.
  • Alfa, Beta, Release gibi versiyonları yerine LTS ve Stable versiyonları tercih edilmelidir.
  • Bazen ilgili yazılım güncel olsada yazılımın çalışması için gerekli diğer yazılım unsurları güncel olmayabilir bunlarda mutlaka güncel tutulmalıdır.
  • Eğer ilgili yazılımdan şüphe duyuluyorsa, öncesinde Clamav veya VrusTotal üzerinden taratmakta fayda var hatta mümkünse kullanılan sistemden önce sanal da test edilmesi sistemde oluşacak gereksiz dosyaların da önüne geçecektir.

 

 

Not : Bu yazı Kaynak göstererek ve Yazar belirtilerek kullanılabilir.

 

Bu yazıda kullanılan kaynaklar; İng/Tr – Wikipedia üzerinden temin edilmiştir. Ağustos- 2018wikipedia

 

 

 

 

K.Gökhan Coşkun

My name is Gökhan. I work as IT Expert for a long time. I have experience Linux Systems (Commercial and Comminity base), MsWindows Server Systems, Open Source Projects, Virtualization, Cisco Networking, Storage, Firewall and Digital Forensic. I gave trainings and seminars; "LYK17 - Bolu İzzet Baysal Ünv." - Proxy "Empatiq" - Linux101 "AB14 - Mersin Ünv." - Open Souce Mail Systems (Zimbra, Thunderbird, ScrooloutF1) So, additional profesyonel courses detail (sorted from new to old); "İTÜ" - SuSe Linux Administration "vSmart" - VMware vCenter 6.5 "Adeo" - HPE "Bilişim İnovasyon Derneği" - IT Secuity like CEH Content "LKD & Akdeniz Uni." - Linux Central Server Management for Redhat "E-Çözüm" - EMC Storage (VNX/NS) "Tubider" - Linux System Expert Training for Redhat "Bilge Adam" - Microsoft Lync "Ulakbim/Tubitak" - IPv6 Training "Arba" - Labris UTM Management "SmartPro" - Cisco Network Expert Training "Empatiq" - Grandstream Voip "Edutime" - Microsoft Certificate System Engineer Training.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir