Açık kaynak kodlu yazılımlar Açık kaynak kodlu yazılımlar

Açık kaynak kodlu yazılımlar

Açık kaynak kodlu yazılımlar

17/04/2023 17:47

TÜBİTAK ULAKBİM Müdürü Mehmet Mirat Satoğlu Sanayi ve Teknoloji Bakanlığı’nın aylık yayın organı Anahtar Dergisi için kaleme aldı: “Açık Kaynak Kodlu Yazılımlar”
BU HABERİ
PAYLAŞ

Açık kaynaklı kodlu yazılımlar, telif hakkı sahibinin kullanıcılara yazılımı ve kaynak kodunu herhangi birine ve herhangi bir amaç için kullanma, inceleme, değiştirme ve dağıtma haklarını verdiği bir lisans altında yayınlanan bilgisayar yazılımlarıdır (URL 1, 2023). Açık kaynak kodlu yazılımlar, kaynak kodunun gizli tutulduğu, tek bir şirket veya birey tarafından kontrol edildiği yazılımlardan farklı bir paradigmanın ürünüdür. Kaynak kodların paylaşımıyla kullanıcıları tüketici veya müşteri olarak görmek yerine kendilerinden katkı alınabilecek, projeyi daha ileriye taşıyabilecek paydaşlar olarak görürler.

Kullanımı kısıtlayıcı bir çok madde barındıran ve kaynak kodu kapalı olduğu için nasıl çalıştığı ve amaç dışı faaliyetleri olup olmadığı belirlenemeyen kapalı yazılım lisanslarının aksine açık kaynak yazılım lisanslarının en önemli ortak özellikleri yazılımın özgürce kullanılabilmesi, kaynak kodun incelenebilmesi, değiştirilebilmesi ve oluşan yeni yazılımların başkalarına da dağıtılabilmesidir.

Açık Kaynak Yazılımların Faydaları

Birlikte çalışabilirlik, düşük maliyetler, geliştirme sürecine katkıda bulunan geniş bir geliştirici topluluğu ve kaynak kodlarının şeffafça paylaşımı dolayısıyla kodlar arasına gömülü zararlı yazılımların bulunmaması gibi özellikler açık kaynak yazılımların faydaları arasında vurgulanabilir.

Açık kaynak yazılımların en önemli faydalarından biri birlikte çalışabilirliktir. Yazılımlar için birlikte çalışabilirlik farklı sistemlerin, yazılımların veya cihazların arasında etkileşim kurma kabiliyeti olarak tanımlanabilir. Bu sistemlerin ve cihazların birbirleriyle etkileşim kurabilmesi için veri veya bilgi paylaşabilmesi gerekecektir. Birlikte çalışabilirlik, farklı üreticilerin veya geliştiricilerin ürünlerinin bir arada çalışabilmesini sağlar ve bir kullanıcının farklı teknolojiler arasında geçiş yapmasını kolaylaştırır.

Açık kaynak kodların temel prensiplerinden biri kapalı kaynak kodlu yazılımların aksine kullanıcıların yazılıma bağımlı kalmaması, yazılım tercihlerinde özgür olması, gerektiğinde birden çok bileşeni olan sistemlerdeki bileşenlerin bazılarının değiştirilebilmesidir. Bu doğrultuda, açık kaynak yazılımlar bileşenler arası ve yazılımın kendi içinde bilgi paylaşımlarında standartlara çok önem vermektedir. Standartların eksik olduğu birçok durumda, açık kaynak yazılımlar birlikte çalışabilirliğin sağlanması ve projelerin sürdürülebilir olması açısından standardizasyona öncülük etmiş ve standartların geliştirilmesini sağlamıştır.

Türk Standartları Enstitüsü (TSE) tarafından standart ve standardizasyon tanımı şu şekilde yapılmıştır (TSE, 2016):

Standart: Uzlaşı ile oluşturulmuş, yetkili bir kuruluş tarafından onaylanmış, ortak ve tekrarlı kullanım için, kurallar, prensipler veya faaliyetlerin özelliklerini ya da sonuçlarını belirleyen, belirli bir konu veya kapsamda en elverişli düzenlemenin elde edilmesini amaçlayan dokümanlardır.

Standardizasyon: Mevcut ve potansiyel problemler dikkate alınarak, belirli bir konuda ortak ve tekrar eden kullanımlar için en uygun seviyede düzenin elde edilmesi amacıyla gerekli hükümlerin oluşturulması faaliyetidir.

Standardizasyonun önemli faydaları, ürün, proses ve hizmetlerin amaçlarına uygunluklarının geliştirilmesi, ticari engellerin aşılması ve teknolojik işbirliğinin kolaylaştırılmasıdır.

Standartlara bağlı kalınarak birlikte çalışabilirliğin sağlandığı projelerde hem esneklik kazanılır, hem de zaman içinde yazılımın veya sistemin bazı bileşenleri değiştirilmesi gerektiğinde bağımlılık oluşturan standart dışı veri yapıları, haberleşme yöntemleri olmamasından dolayı sistemin bileşenlerinin güncellenmesi çok daha kısa zamanda, az maliyetle yapılabilir. Buna karşılık kapalı kaynak yazılımların pazar payı büyüklüğüne bağlı olarak standartlara hiç uymamak, standartlaşma faaliyetlerini zorlaştırmak, standart uyumluluğunu sağlamayı bir pazarlama yöntemi olarak kullanırken mümkün olduğunca standart üstü opsiyonlar sunmak gibi yöntemlerle müşterilerin ürün bağımlılığını oluşturmaya çalıştıkları bilinmektedir.

Açık kaynak yazılımın bir diğer faydası da daha düşük maliyetidir. Yazılım herkese açık olduğu için kullanımı için lisans ücreti yoktur. Açık kaynaklı yazılımların bir seçenek olarak kullanılabilir olması küçük ve inovatif firmalar ve yeni girişimler açısından çok önem arz etmektedir. Kaynakları kısıtlı olan girişimlerin, açık kaynaklı yazılımları kullanarak daha küçük bütçelerle fikirlerini hayata geçirebilmesi, girişimcilerin üzerindeki finansal baskıları azaltmakta ve girişimlerin başarı oranını artırmaktadır.

Ancak burada insan kaynağına yatırım yapmanın önemini hatırlamakta fayda var. Açık kaynak yazılımlar kapalı kaynak yazılımlara göre daha çok bilgi ve emek gerektiren yazılımlar olduğundan açık kaynak yazılım kullanmayı tercih eden kurumların ve işletmelerin, lisans bedellerinden yaptıkları tasarrufun bir kısmını insan kaynağının yetkinliğini geliştirmek üzerine kullanması önem arz etmektedir.

Açık kaynak yazılımlar geliştirme sürecine katkıda bulunan geniş bir geliştirici topluluğunun bulunmasından çok istifade ederler. Yaygın bir geliştirici topluluğu bulunan açık kaynaklı yazılımlar, topluluktan aldığı destekle daha hızlı yenilik, daha sık güncellemeler ve kullanıcı ihtiyaçlarına daha fazla odaklanma gibi imkanlar sunmaktadır. İnsan kaynağına yapılan yatırım hem söz konusu projelerin gelişmesine hem de kurumların projeleri başarıyla kullanabilmesine kapı açar.

Açık kaynak yazılımları benimseyen işletmeler bu avantajlardan birkaç farklı şekilde yararlanabilirler. İlk olarak, yüksek lisans ücretleri ödenen çözümler yerine açık kaynak yazılımları kullanabilirler. Örneğin, bir şirket, ticari bir veritabanı çözümü yerine açık kaynaklı bir veritabanı çözümü kullanmayı tercih edebilir. Bu, maliyet tasarrufu ve belirli bir üreticiye bağımlı olmama anlamında firmaya tercih özgürlüğü sağlayacaktır.

Başka bir yaklaşım, açık kaynak yazılım projelerine katkıda bulunmaktır. Bir işletme, açık kaynak yazılımın ihtiyaçlarına uyması için yeni özellikler veya geliştirmeler ekleyebilir. Bu, işletmenin ihtiyaçlarına daha uygun bir yazılım çözümü oluşturmasına yardımcı olabilir. Firmaların açık kaynaklı yazılımlara bizzat kendi yazılımcılarını görevlendirmeleri bu amaca yönelik bir stratejidir. Yazılımın bakım ve geliştirme maliyetlerinin açık kaynak stratejisi ile düşürülmesi yanında projede çalışmakla görevlendirilen yazılımcılarla açık kaynak projelerin yol haritasını etkilemek ve yaygınlık kazanmasını sağlamak yaygın olarak kullanılan iş stratejilerinden biridir. Bu doğrultuda bizzat kurum içerisinde geliştirilen projelerin açık kaynaklı olarak paylaşıldığı başarılı örnekler vardır. Google’ın 2014 yılında Kubernetes teknolojisini açık kaynaklı olarak paylaşması bu anlamda örnek uygulamalardan biri olmuştur. Kubernetes teknolojisinin açık kaynaklı olması Google dışındaki geliştiricilerin de Kubernetes’e ilgi duymasına ve katkı vermesine yol açmış, Google da geliştirme maliyetlerini azaltırken Kubernetes’in açık kaynak yoluyla yaygınlık kazanmasını sağlamıştır (Wong, 2021).

Önde Gelen Açık Kaynak Yazılımlar

Bazı önde gelen açık kaynak yazılım projeleri arasında Linux işletim sistemi, Apache Tomcat sunucusu, MySQL veritabanı, Python programlama dili, Firefox tarayıcısı, WordPress içerik yönetim sistemi sayılabilir.

Linux işletim sistemi, açık kaynak yazılımın en ünlü örneklerinden biridir ve dünya genelinde birçok kuruluş tarafından kullanılmaktadır. Linux dağıtımları, geniş bir geliştirici topluluğu tarafından desteklenmektedir ve dünya genelinde birçok farklı platformda kullanılabilir.

Apache Tomcat, dünya genelinde en yaygın web sunucusu yazılımlarından biridir ve açık kaynak lisans altında dağıtılmaktadır.

MySQL, açık kaynaklı bir veritabanı yönetim sistemi olup, özellikle web uygulamalarında kullanılmaktadır.

Python, genel amaçlı bir programlama dilidir ve birçok farklı amaç için kullanılabilir. Python, özellikle veri bilimi ve yapay zeka alanlarında kullanılmaktadır.

Firefox tarayıcısı Mozilla Vakfı tarafından desteklenmekte olup dünyadaki en yaygın tarayıcılardan biridir.

Bu projeler, geliştirilmesine katkıda bulunan geniş topluluklara sahip olmaları nedeniyle dünya genelinde milyonlarca insan tarafından kullanılan güçlü ve güvenilir yazılım çözümlerine yol açmıştır.

Açık Kaynak Dönüşümü

Açık kaynak yazılım kullanımına geçiş yapmak, bir işletme için zorlu bir süreç olabilir. Ancak, birkaç strateji uygulayarak bu geçişi kolaylaştırmak mümkündür. İlk olarak, bir işletme, açık kaynak yazılımı kullanarak mevcut yazılımlarının bir kısmını veya tamamını değiştirmeyi planlamadan önce, bu yazılımların açık kaynak alternatiflerini araştırmalıdır. Böylece, ihtiyaçlarına en uygun açık kaynak yazılım çözümlerini seçebilirler.

Dönüşüme başlamadan önce kurumsal ortamlarda bağımlılık sebebi olan yazılımların tespit edilip bu bağımlılıkların nasıl kırılacağının iyi planlanması önem arz etmektedir.

Başka bir yaklaşım, özel çözümler oluşturmak için açık kaynak yazılım kullanmaktır. Örneğin, bir şirket özel bir web sitesi veya iç ağ oluşturmak için açık kaynak bir içerik yönetim sistemi kullanabilir. Açık kaynak yazılımı ihtiyaçlara göre uyarlayıp, ileri derecede özelleştirilmiş bir içerik yönetim sistemi çözümü elde edilebilir.

Açık kaynak yazılıma geçerken, şirketlerin sorunsuz bir geçiş sağlamak için net bir plana sahip olması gerekmektedir. Bu plan değiştirilmesi gereken yazılım çözümlerini, geçiş için düşünülen zaman çizelgesini ve çalışanların yeni yazılımı nasıl kullanacaklarıyla ilgili eğitim ve iletişim stratejilerini içermelidir.

Ülkemizde Açık Kaynak Yazılımlar

2019 yılı başında haberlere önemli bir satın alma düştü: Microsoft Türk girişimciler tarafından kurulan Citus Data adlı firmayı satın aldı (URL 2, 2019). Citus Data, açık kaynaklı bir veritabanı olan PostgreSQL’in yine açık kaynaklı bir uzantısı olarak PostgreSQL kullanmakta olan firmaların yatayda ölçeklenebilmesini ve dağıtık mimariden yararlanmasını sağlamakta. Citus Data firması bu başarısıyla açık kaynak yazılımların inovasyonu tetiklediği (Piva ve diğ., 2012) çok somut örneklerden biri olarak hafızalarımızda yer alıyor.

Ülkemizde öne çıkan açık kaynak projelerinden biri Pardus işletim sistemi dağıtımıdır (URL 3, 2023). 2003 yılında TÜBİTAK UEKAE çatısı altında çalışmaları başlayan Pardus projesi ilk sürümünü 2005 yılı sonunda çıkarmıştır. 2012 yılında TÜBİTAK ULAKBİM’e taşınan proje Debian temelli bir Linux dağıtımı olarak çıkarılmaya başlanmış ve özellikle eğitim ortamlarında kullanılmak üzere tasarlanmıştır. Pardus gönüllüsü bilişim öğretmenlerimizin çabaları ve fedakarlıkları, Milli Eğitim Bakanlığı Yenilik ve Eğitim Teknolojileri Genel Müdürlüğü’nün desteği ile Pardus Etkileşimli Tahta Sürümü 150 bin üzerinde etkileşimli tahtada kullanıma ulaşmıştır.

Pardus milli işletim sistemi dağıtımı ile okullar ve diğer eğitim kurumları için maliyet-etkin ve esnek bir çözüm sunulmuştur. Pardus dünyadaki Linux dağıtımlarını inceleyen distroWatch sitesinde 10 üzerinden 9.1 ortalama ile dikkat çeken dağıtımlardan biri olmuştur (URL 4, 2023).

Sonuç

Açık kaynaklı yazılımlar birlikte çalışabilirlik, düşük maliyetler, geliştirilmiş güvenlik ve daha geniş bir geliştirici topluluğuyla işbirliği yapabilme gibi birçok fayda sunar. Açık kaynaklı yazılıma geçiş zorlu bir süreç olabilir ancak işletmeler açık kaynaklı alternatifleri araştırarak, açık kaynaklı projelere katkıda bulunarak ve yavaş yavaş açık kaynaklı çözümlere geçerek süreci daha kolay hale getirebilirler. İşletmeler açık kaynaklı yazılımları benimseyerek günümüzün hızla değişen dijital ortamında daha verimli, daha yenilikçi ve daha rekabetçi hale gelebilirler.