Sık sık karşımıza çıkan “açık kaynak kodlu yazılım” terimi, Linux ve Linux tabanlı olan Android türevi yazılımlarda da görülmektedir. Bir yazılımın açık kaynak kodlu olması demek söz konusu yazılımın ücretsiz ve özgür bir yazılım olduğunu gösterir. Açık kaynak kodlu tüm yazılımlarda yazılımın içindeki tüm kodlar başkaları tarafından görüntülenebilir ve bu kodlar başkaları tarafından kullanılabilir, geliştirilebilir. Bir yazılımın programcılar tarafınca okunur, anlaşılır ve geliştirilebilir hâlinin gizlenmeyip açık hâlde paylaşılmasıdır. Daha detaylı anlatımı ve açık kaynak kodlu yazılımların avantajları için konuyu irdeleyelim.
Programlar (.exe, .dmg, .deb vb.) binlerce kaynak kodu satırlarıyla derlenir. Programlama dilini bilmeyen kimseler için oldukça karışık görünen bu kodlar, uygulama dosyası şeklinde derlenir. Bu derleme işleminden sonra ise kaynak koduna ihtiyaç kalmaz. Bu doğrultuda örneğin iTunes gibi bir yazılım çözümünü çalıştırırken kaynak kodu görünmez, yalnız ürünün son şekli görülür. Açık kaynak kodlu olan yazılımlar ise bahsedilen kaynak kodları ile birlikte yayınlanırlar. Bu kodların derlenme meselesi geliştiricinin inisiyatifindedir. Bazen bu kodlar geliştirici tarafından derlenip paylaşılır. Bazen de derleme kısmı kullanıcıya bırakılır.
Açık Kaynak Kodlu Yazılımlar Neden Var?
Üzerinde emek harcanan ve ticari bir sır sayılabilecek kaynak kodların ücretsiz yahut kira bedeli olmadan paylaşılmasının birçok sebebi vardır. Bu sebepleri şu şekilde sıralayabiliriz:
- Ürün sahibi kişinin ürüne dair tasarım ve uygulama detaylarının erişimi ve dağıtımını teşvik eden bir yol izlemesi.
- Ürün sahibi kişinin aynı pazardaki diğer ürünlerin lisans karşılıklarını fahiş bulması.
- Ürünün hibe edilmiş yahut gönüllü geliştiriciler tarafından geliştirilmiş olması.
- Söz konusu yazılım ürününün kullanımındaki yaygınlık oranını artırma isteği.
- Söz konusu ürün üzerinden kaynağı açık edenlerce uğraşmak istenmeyen hizmetlerin bir arada sunulması.
- Söz konusu yazılım ürününün kitle kaynak felsefesiyle karşılıksız denenip hatalarının ayıklanması umudu.
- Ürün geliştiricisinin aklına gelmemiş olan kreatif fikirlerin diğer geliştiriciler vesilesiyle eklenmesi.
- Ürün geliştiricisinin itibarını bu amme hizmeti ile artırabileceği düşüncesi.
- Söz konusu yazılım ürününün daha geliştirilmiş çeşitlerinin kolaylıkla satılabilmesi için ürüne alışkın kullanıcılarla pazar oluşturma umudur.
- Ürünün kâr getirisine engel olabilen rakiplerin müşteri kitlesini kapma ve rekabeti kırma umudu.
Açık kaynak kodlu programların kullanımı genel itibariyle ücretsizdir ve düzenlenmesi herkes için açıktır. Bu tür yazılımlar içinde özgür yazılım lisansıyla lisanslananlar özgür yazılım sınıfındadır. Bütün özgür yazılımlar, açık kaynaklı yazılımdır fakat bütün açık kaynaklı yazılımlar özgür yazılımdır diyebiliriz. Burada kastedilen özgürlük, kullanım haklarıyla ilgilidir.
Açık Kaynak Kodlu Yazılımların Avantajları Nelerdir?
- Bu yazılımlar, programcılar topluluğunun gelişimine katkıda bulunur. Bu doğrultuda yaratıcılığa, ilham olmaya ve eğitime hizmet ederler.
- Söz konusu yazılımda bir açık varsa herkes tarafından görüntülenebildiği için fark edilip kapatılması kısa sürer. Kapalı kodlu yazılımlarda ise bu açık kısıtlı kişi sayısı tarafından görüntülenebildiği için açığın kapatılması oldukça uzun sürer.
- Farklı yazılım şekillerinin üretilmesine katkıda bulunur. Pazar gelişir.
- Geliştiricinin bilgisayarınızda şüphe oluşturacak işler yapmadığından emin olabilmeyi sağlar. Kapalı kaynak kodlu bir yazılım geliştirme sürecinde geliştiricinin bunları gerçekten güvenilir yollardan yaptığını anlamak uzun sürebilir.
Açık Kaynak Kodlu İşletim Sistemleri
Kişiye özel bilgisayar kullanımının popüler olmasıyla işletim sistemi olarak en fazla rağbet gören sistemler Apple tarafından üretilen Mac OS işletim sistemi ve Windows işletim sistemidir. Bu işletim sistemleri belli bir lisans bedeliyle kullanıcılara satılıyor ve kaynak kodları gizli biçimde ulaşıyordu. Özgür yazılım hareketi de bu sistemlerin ticari amaçlara dönüştürülmesiyle baş gösterdi. Bunların sonucunda güzel bir alternatif olan Linux tabanlı olan işletim sistemleri sunuldu. Azımsanamayacak bir ölçüde günümüzde aktif bir kitle tarafınca kullanılan Linux tabanlı sistemler açık kaynak kodludur. Kullanıcılar tarafından geliştirilmeye açık olarak yayınlanır.