Açık Kaynak Yazılım Nedir ve Neden Önemlidir?
Geeks, programları genellikle "açık kaynak" veya "özgür yazılım" olarak tanımlar. Bu terimlerin tam olarak ne anlama geldiğini ve neden önemli olduklarını merak ediyorsanız, okumaya devam edin. (Hayır, "özgür yazılım" yalnızca onu ücretsiz olarak indirebileceğiniz anlamına gelmez.)
Bir programın açık kaynaklı olup olmaması sadece geliştiriciler için önemli değildir, sonuçta kullanıcılar için de önemlidir. Açık kaynaklı yazılım lisansları, kullanıcılara başka türlü sahip olamayacakları özgürlükler verir.
Resim Kredisi: Flickr'da Quinn Dombrowski
Açık Kaynağın Tanımı
Bir program açık kaynaklı ise, kaynak kodu kullanıcıları tarafından ücretsiz olarak kullanılabilir. Kullanıcıları - ve diğer herkes - bu kaynak kodunu alma, değiştirme ve programın kendi sürümlerini dağıtma yeteneğine sahiptir. Kullanıcılar ayrıca orijinal programın istedikleri kadar kopyasını dağıtma olanağına da sahiptir. Programı herkes herhangi bir amaçla kullanabilir; yazılım üzerinde herhangi bir lisans ücreti veya başka kısıtlama yoktur. OSI, web sitesinde "açık kaynak" için daha ayrıntılı bir tanıma sahiptir.
Örneğin Ubuntu Linux, açık kaynaklı bir işletim sistemidir. Ubuntu'yu indirebilir, istediğiniz kadar kopya oluşturabilir ve arkadaşlarınıza verebilirsiniz. Ubuntu'yu sınırsız sayıda bilgisayarınıza kurabilirsiniz. Ubuntu kurulum diskinin remikslerini oluşturabilir ve dağıtabilirsiniz. Özellikle motive olduysanız, Ubuntu'daki bir programın kaynak kodunu indirebilir ve değiştirebilir, bu programın veya Ubuntu'nun kendi özelleştirilmiş sürümünü oluşturabilirsiniz. Açık kaynaklı lisansların tümü bunu yapmanıza izin verirken, kapalı kaynaklı lisanslar size kısıtlamalar getirir.
Açık kaynaklı yazılımın tam tersi, kullanıcıları kısıtlayan ve kaynak kodunu onlardan saklayan bir lisansa sahip kapalı kaynaklı yazılımdır.
Firefox, Chrome, OpenOffice, Linux ve Android, açık kaynaklı yazılımların bazı popüler örnekleridir; Microsoft Windows muhtemelen piyasadaki en popüler kapalı kaynaklı yazılımdır.
Açık Kaynak ve Özgür Yazılım
Açık kaynaklı uygulamalar genellikle ücretsiz olarak temin edilebilir - ancak daha sonra uygulamanın ve kaynak kodunun yeniden dağıtımına izin verirlerse geliştiricinin yazılımın kopyaları için ücret almasını engelleyen hiçbir şey yoktur.
Ancak, "özgür yazılım" ın kastettiği bu değildir. Özgür yazılımdaki "özgür", "birada olduğu kadar özgür" değil, "özgürlükte olduğu gibi özgür" anlamına gelir. Richard Stallman ve Özgür Yazılım Vakfı tarafından yönetilen özgür yazılım kampı, kullanıcı tarafından kontrol edilebilen ve değiştirilebilen yazılımların kullanımının etik ve ahlaki değerlerine odaklanmaktadır. Diğer bir deyişle, özgür yazılım kampı, kullanıcı özgürlüklerine odaklanır.
Richard Stallman. Flickr'da Fripog tarafından görüntü.
Açık kaynaklı yazılım hareketi, bu tür yazılımları seçmenin daha pragmatik nedenlerine odaklanmak için oluşturuldu. Açık kaynak savunucuları, etik ve ahlaki değerlerden ziyade işletmelere daha çok hitap edecek açık kaynak yazılımları kullanmanın pratik faydalarına odaklanmak istediler.
Nihayetinde, hem açık kaynaklı hem de özgür yazılım savunucuları aynı türde yazılım geliştiriyorlar, ancak mesajlaşma konusunda aynı fikirde değiller.
Lisans Türleri
Geliştiricilerin programları için hangisini tercih ettiğine bağlı olarak, açık kaynaklı projeler tarafından kullanılan birçok farklı lisans vardır.
GPL veya GNU Genel Kamu Lisansı, Linux gibi birçok açık kaynaklı proje tarafından yaygın olarak kullanılmaktadır. Yukarıdaki tüm açık kaynak tanımlarına ek olarak, GPL'nin şartları, herhangi biri bir açık kaynak programını değiştirir ve bir türev çalışmayı dağıtırsa, türev çalışmaları için kaynak kodunu da dağıtması gerektiğini belirtir. Başka bir deyişle, hiç kimse açık kaynak kodunu alıp ondan kapalı kaynaklı bir program oluşturamaz - değişikliklerini topluluğa geri vermeleri gerekir. Microsoft, GPL kodunu içeren programları kendi kaynak kodlarını yayınlamaya zorladığı için bu nedenle GPL'yi "viral" olarak nitelendirdi. Elbette, bir programın geliştiricileri, bu bir sorunsa GPL kodunu kullanmamayı tercih edebilir.
BSD lisansı gibi diğer bazı lisanslar, geliştiricilere daha az kısıtlama getirir. Bir program BSD lisansı kapsamında lisanslandıysa, herkes programın kaynak kodunu başka bir programa dahil edebilir. Değişikliklerini topluluğa geri vermek zorunda değiller. Bazı insanlar, geliştiricilere kodu kendi kapalı kaynak programlarına dahil etme özgürlüğü verdiği için bunun GPL lisansından daha "ücretsiz" olduğunu düşünürken, bazıları ise hakları elinden aldığı için daha az "ücretsiz" olarak görüyor. türetilmiş programın son kullanıcılarından.
Kullanıcılar için Faydalar
Bu, yalnızca geliştiriciler için önemli olan kuru ve önemsiz şeyler değildir. Açık kaynaklı yazılımın en bariz yararı, ücretsiz olarak sahip olunabilmesidir. Yukarıdaki Ubuntu Linux örneği bunu açıkça ortaya koymaktadır - Windows'un aksine, Ubuntu'nun istediğiniz kadar kopyasını hiçbir kısıtlama olmaksızın yükleyebilir veya dağıtabilirsiniz. Bu özellikle yararlı sunucular olabilir - bir sunucu kuruyorsanız, üzerine Linux kurabilirsiniz. Sanallaştırılmış bir sunucu kümesi kuruyorsanız, tek bir Ubuntu sunucusunu kolayca kopyalayabilirsiniz. Lisanslama ve kaç Linux örneğini çalıştırma izniniz olduğu konusunda endişelenmenize gerek yok.
Açık kaynaklı bir program da daha esnektir. Örneğin, Windows 8'in yeni arayüzü birçok uzun süredir masaüstü Windows kullanıcısını hayal kırıklığına uğrattı. Windows kapalı kaynak olduğundan, hiçbir Windows kullanıcısı Windows 7 arayüzünü alamaz, onu değiştiremez ve Windows 8'de düzgün çalışmasını sağlayamaz (Bazı Windows kullanıcıları deniyor, ancak bu zahmetli bir tersine mühendislik ve ikili dosyaları değiştirme işlemidir. )
Ubuntu gibi bir Linux masaüstü, bazı kullanıcıların hayranı olmadığı yeni bir masaüstü arayüzü sunduğunda, kullanıcılar daha fazla seçeneğe sahip olur. Örneğin, GNOME 3 piyasaya sürüldüğünde birçok Linux masaüstü kullanıcısı eşit şekilde kapatıldı. Bazıları kodu eski GNOME 2 sürümüne aldı ve onu en son Linux dağıtımlarında çalıştıracak şekilde değiştirdi - bu MATE. Bazıları kodu GNOME 3'e aldı ve tercih ettikleri şekilde çalışmasını sağlamak için değiştirdi - bu Tarçın. Bazı kullanıcılar mevcut alternatif masaüstlerine geçti. Windows açık kaynaklı olsaydı, Windows 8 kullanıcılarının daha fazla seçeneği ve esnekliği olurdu. Yeni cihazlar için özellikler ve destek ekleyen popüler, topluluk odaklı bir Android dağıtımı olan CyanogenMod'a bir göz atın.
Açık kaynaklı yazılım, geliştiricilerin "devlerin omuzlarında durmasına" ve kendi yazılımlarını oluşturmasına da olanak tanır. Linux ve diğer açık kaynaklı yazılımlar üzerine kurulu işletim sistemleri olan Android ve Chrome OS'ye tanık olun. Apple OS X'in ve dolayısıyla iOS'un çekirdeği de açık kaynak kod üzerine inşa edildi. Valve, Steam oyun platformlarını Linux'a taşımak için öfkeyle çalışıyor, çünkü bu, Microsoft'un Windows'unda mümkün olmayan bir şekilde kendi donanımlarını oluşturmalarına ve kendi kaderlerini kontrol etmelerine olanak tanıyacak.
Bu kapsamlı bir açıklama değildir - tüm kitaplar bu konu üzerine yazılmıştır - ancak şimdi açık kaynaklı yazılımın gerçekte ne olduğu ve sizin için neden yararlı olduğu konusunda daha iyi bir fikriniz olmalıdır.