Açık kaynak nedir?

Açık kaynak, tasarımı herkes tarafından erişilebilir olduğundan herkesin teknolojiyi değiştirmesine ve paylaşmasına olanak tanıyan, merkezi olmayan bir üretim modelidir. Terim, yazılımın belirli ücretsiz dağıtım kriterlerine uygun olduğunu belirtmek için yazılım geliştirme bağlamında ortaya çıkmıştır. Bugün, açık kaynak yol terimi; ücretsiz bilgi alışverişi, hızlı prototip oluşturma ve iş birlikçi geliştirme ilkelerine dayanan daha geniş bir değer kümesini ifade etmektedir. Herkes yeni fikirlere katkıda bulunabilir ve teknolojiyi organik olarak gelişmesi için daha da iyileştirebilir.

Açık kaynak neden önemli?

Açık kaynak, teknoloji topluluğu tarafından ortaya çıkarılan bir fikirdir. Teknik inovasyonların gelişebilmesi için küresel iş birliğine ihtiyaç duyulur. Örneğin, ABD'deki bir programlama ekibinin bir finansal uygulama için yeni bir açık kaynak teknoloji geliştirdiğini varsayalım. Avustralya'daki bir diğer programlama ekibi teknolojiyi sağlık sektörüne uygun yeni işlevler ekleyerek değiştiriyor. Asya'daki üçüncü bir ekip orijinal teknolojiyi çekirdek bileşen olarak kullanan yeni açık kaynak ürünler geliştiriyor.

Bu bilgi paylaşımı ve kolektif inovasyon tüm topluluğa fayda sağlar. Teknolojilerin patentler, telif hakları ve pahalı lisanslar arkasında kilitlenmesi ise ilerlemeyi sınırlandırır. Birçok popüler açık kaynak proje, son birkaç on yılda teknolojinin tüm dünya genelinde hızla gelişmesini sağladı.

Açık kaynak ilkeleri nelerdir?

Açık kaynak projelerin altında yatan temel ilkeler aşağıdaki gibidir:

Topluluk

Açık kaynak topluluğu, ortak bir amaç doğrultusunda bir araya gelen bir grup kişiyi temsil eder. Bu topluluğun ortak değerleri ve hedefleri, karar alma süreçlerine rehberlik eder ve açık kaynak projeyi ileriye taşır.

Şeffaflık

Açık kaynak projelerde, topluluktaki herkesin işini en iyi şekilde yapabilmek için ihtiyaç duyacağı bilgi ve materyallere erişebilmesi sağlanır. Ekip üyeleri, büyük resim konusundaki farkındalıklarıyla, daha etkili kararlar alır ve birbirlerinin fikirleri ve keşiflerinden yararlanarak çalışır.

Açık iş birliği

Topluluk projeleri ekip çalışmasını teşvik eder; grup, bireylerin tek başlarına çözemeyeceği sorunları çözer. Ayrıca herhangi bir açık kaynak girişimin üyeleri birbirlerinin yaptığı çalışmalarda değişiklikler yaparak bu çalışmaların iyileştirilmesine katkıda bulunur. Başkalarının, çözümü gelecekte gereken şekilde değiştirebilmesi için belirli kurallar koyabilirsiniz.

Hızlı prototipleme

Bir açık kaynak projede yinelenen bir yaklaşım izlenir. Bu yaklaşıma göre ekip üyeleri sık aralıklarla prototipler oluşturup paylaşır. Hızlı prototipleme, deney kültürünü teşvik eder. İşe yarayan değişiklikleri daha da geliştirip tutabilir, işe yaramayan değişiklikleri ise kaldırabilirsiniz.

Kapsayıcı meritokrasi

Açık kaynak hareketi, çeşitlilik arz eden bakış açılarını ve konuşmaları teşvik eder. Topluluk oy birliğiyle karar alır ancak aynı zamanda başarıya öncelik verir. En iyi fikirler, açık kaynak topluluğundan daha fazla destek ve katkı alır.

 

Açık kaynak yazılımların özellikleri nelerdir?

Açık kaynak yazılımların özellikleri, açık kaynak hareketinin değerleriyle yakından örtüşür.

Açık kaynak

Açık kaynak yazılımlar, aşağıdaki gibi belirli dağıtım kriterlerini karşılayan bir açık kaynak lisansı altında yayınlanmalıdır:

  • Yazılımın toplu yazılım dağıtımının bir bileşeni olarak satılması veya verilmesine ilişkin hiçbir kısıtlama bulunmamalıdır
  • Yazılım, kaynak kodu içermeli ve kaynak kodun dağıtımına izin verilmelidir
  • Kaynak kodda değişiklik yapılmasına ve türetilmiş eserlerin oluşturulmasına izin verilmelidir
  • Bir programla ilişkili haklar hiçbir ayrım olmaksızın programın dağıtıldığı herkes için geçerli olmalıdır

Açık tasarım

Açık tasarım, şeffaf ve açık bir yazılım tasarlama ve planlama sürecini garanti altına alır. Yazılımın tasarımı ve özellikleri açısından izlenecek yol haritası topluluk tarafından şekillendirilir. Topluluk oy birliğine ulaşmak zaman alan bir süreç olabileceğinden bunun hayata geçirilmesi zor olabilir. Ancak, topluluk tarafından kabul edilen tasarım, kullanıcıların ihtiyaçlarını daha etkili bir şekilde karşılayan daha iyi bir ürün ortaya çıkmasını sağlar.

Açık geliştirme

Açık geliştirme, herkesin eşit bir zeminde katılmasına olanak tanıyan kapsayıcı ve şeffaf geliştirme süreçlerinin benimsenmesini ifade eder. Genel erişime açık hizmetler geliştirme faaliyetlerine görünürlük sağlar. Örneğin, açık kaynak projelerde genellikle katkıların değerlendirilmesinde kullanılacak referans ölçümleri net bir şekilde ifade eden bir dizi standart benimsenir. Böylece tüm yazılım güncellemeleri, ilk defa katkıda bulunan bir kişi tarafından mı yoksa kıdemli bir geliştirici tarafından mı yapıldığına bakılmaksızın eşit ölçütlere göre değerlendirilir.

Açık topluluk

Açık topluluk, yazılım geliştirme topluluğunun herkesin düşüncesini ifade edebildiği ve liderlik pozisyonlarına yükselebileceği kapsayıcı bir ortam olmasını sağlar. Ortak hedefleri belirleyerek ve güçlü bağlantılar inşa ederek geliştiricilerin ve kullanıcıların ihtiyaçlarını dengeler.

Açık kaynak yazılım nedir?

Açık kaynak yazılım, kaynak kodu herkes tarafından incelenebilen, değiştirilebilen ve geliştirilebilen yazılımları ifade eder. Kaynak kod, yazılımın bilgisayar programcıları tarafından bir uygulamanın çalışma şeklini değiştirmek veya yeni özellikler eklemek için üzerinde değişiklikler yaparak kullandığı kısmıdır. Bir yazılımın kaynak koduna erişebilen herkes uygulamaya özellikler ekleyerek veya mevcut hataları gidererek uygulamayı iyileştirebilir ya da özelleştirebilir. Açık kaynak yazılımlar bugün kullandığınız çoğu web uygulamasında ve cihazda kendisine yer bulmaktadır. Örneğin, Linux işletim sistemi ve Mozilla Firefox internet tarayıcısı açık kaynak yazılımlardır.

Açık kaynak yazılımlar ile diğer yazılım türleri arasındaki farklar nelerdir?

Yazılım geliştiren kuruluşlar ve kişiler bazen ticari nedenlerle yazılımlarını kontrol altında tutmayı tercih eder. Kaynak koda ilişkin tüm mülkiyet haklarını münhasıran kendilerinde tutarlar. Dolayısıyla, hataları düzeltmek ya da yeni özellikler eklemek için yalnızca kendileri kodda değişiklik yapabilir. Bu tür yazılımlara özel mülk yazılım veya kapalı kaynak yazılım adı verilir. Örneğin, Adobe Photoshop ve Norton AntiVirus ürünleri özel mülk yazılımlardır.

Açık kaynak yazılım ve kapalı kaynak yazılım karşılaştırması

Açık kaynak yazılım ve kapalı kaynak ya da özel mülk yazılım arasındaki üç ana fark aşağıdaki gibidir:

Güvenilirlik

Tescilli yazılım; kodun güncellenmesini, hatasız olmasını ve çalışmasını sağlamak için kodu kontrol eden tek bir kuruluşa veya geliştiriciye dayanıyor. Öte yandan, daha geniş bir topluluk açık kaynaklı yazılımları sürdürüyor. Popüler açık kaynaklı projelerin bazılarında, eski ve yeni değişiklikleri kapsamlı bir şekilde test eden, dünyanın dört bir yanından binlerce katılımcı bulunuyor. Bu durum genellikle açık kaynaklı kodu daha güvenilir hale getiriyor.

Güvenlik

Her kaynak kod, kendisini siber saldırılara karşı açık hale getirebilecek güvenlik kusurları içerebilir. Bununla birlikte, açık kaynak yazılımlar daha hızlı düzeltme yapılabilmesi avantajına sahiptir. Siz veya diğer topluluk üyeleri tarafından bir güvenlik açığı bildirildiğinde, ilgili açık kaynak proje bir veya iki gün içinde bir kod güncellemesi yayınlar. Ticari şirketlerin açık kaynak yazılım geliştirdiği durumlarda yazılımın yüksek görünürlüğü, sorunların düzeltilmesi konusunda acilen harekete geçilmesini ve hatta daha iyi orijinal yazılımlar ortaya çıkmasını sağlayabilir.

Bunun aksine, özel mülk yazılımlarda güncelleme döngüleri aşağıdaki nedenlerle daha uzun sürmektedir:

  • Satıcının ilgili proje üzerinde çalışan personel sayısı az olabilir.
  • Satıcı için güvenlik kusurları yerine finansal sonuçlar daha öncelikli olabilir.
  • Satıcı birçok farklı değişikliği bir arada paketleyip hep birlikte yayınlamayı tercih ettiği için güvenlik güncellemesinin yayınlanması gecikebilir.

Lisanslama

Şirketler, kapalı kaynak yazılımları genellikle yazılımın yasal olarak izin verilen kullanım amacını ve şeklini ana hatlarıyla açıklayan bir özel mülk yazılım lisansı kapsamında satar. Hiç kimse izin almaksızın özel mülk kodu görüntüleyemez, düzenleyemez veya değiştiremez. Örneğin, özel mülk yazılım lisansı kişisel veya ticari kullanıma izin verirken yazılımın yeniden satılmasına izin vermeyebilir. Ayrıca sabit süreli satıcıya özel sözleşmelerin bağlayıcılığı altında kalmanıza neden olabilir.
 
Öte yandan, açık kaynak yazılımlar, söz konusu yazılımların kullanılmasına, yeniden dağıtılmasına ve bunlarda değişiklik yapılmasına izin veren açık kaynak lisansı altında sunulur. Satıcıya bağlı kılan sözleşmeler bulunmaz veya çok esnek bir yapıdadır. Geliştiriciler, yazılımı genel erişime açık bir web sitesinden indirebilir ve tüm açık kaynak kodunu bilgisayarlarında görüntüleyebilir. Açık kaynak lisanslar, kullanıcıların şunları yapmasına da izin verir:
 
  • Kişisel projeler için kaynak kodda değişiklik yapma.
  • Kullanıcıların yaptıkları değişikliklerin başkaları tarafından görüntülenmesine izin vermeye devam etmesi kaydıyla değiştirilmiş kodları yeniden dağıtma.

Açık kaynak yazılım lisanslarının türleri nelerdir?

Açık kaynak yazılım lisansları genel olarak özel mülk yazılım lisanslarından daha az kısıtlayıcı nitelikte olsa da izinlerin düzeyi ve aralığı lisans türüne bağlı olarak farklılık gösterir. Yaygın açık kaynak yazılım lisansı türleri aşağıda açıklanmaktadır.

Kamu malı lisans

Kamu malı lisans, ilgili yazılımın kısıtlama olmaksızın herkes tarafından değiştirilebileceğini, kullanılabileceğini veya ticarileştirilebileceğini gösterir. Çoğu durumda, kamu malı açık kaynak yazılımların geliştiricileri yazılımlarını telif hakkıyla korumama yönünde bilinçli veya gönüllü bir karar almaktadır.

Hoşgörülü lisans

Hoşgörülü açık kaynak lisanslar, yazılımın nasıl değiştirilebileceğine veya dağıtılabileceğine ilişkin asgari gereksinimlere sahiptir. Apache Lisansı ve Berkeley Source Distribution (BSD) lisansı bu lisans türünün bazı örneklerindendir. Orijinal yazılım telif hakkıyla korunuyor ve açık kaynak olsa da kullanıcılar değiştirilmiş versiyonlarını ticarileştirebilir ve yeniden dağıtabilir.

Kısıtlı Genel Kamu Lisansı

Kısıtlı Genel Kamu Lisansı (LGPL), açık kaynak bileşenleri kısıtlama olmadan kullanmanıza izin verir. Bu bileşenlere genellikle herhangi bir kodunuza ekleyip kullanabileceğiniz kitaplıklar adı verilen kod modülleri olarak erişilebilir. Uygulamanızda LGPL kaynak kodu kullanıyorsanız uygulamanızı ticarileştirebilirsiniz. Ancak, mevcut LGPL kodunda değişiklik yaparsanız değiştirilmiş versiyonunu yine aynı lisans altında yeniden dağıtmanız gerekir.

Copyleft lisanslar

Copyleft lisanslar en yaygın açık kaynak lisanslardır. Genel Kamu Lisansı (GPL) bunun popüler örneklerinden biridir. Copyleft lisanslarının koşulları, ticarileştirmeyi kısıtlamayı amaçlar:
 
  • Copyleft açık kaynak bileşenlerde değişiklik yaparsanız tüm yeni kaynak kodu uygulamanızla birlikte yayınlamanız gerekir. Bununla birlikte, uygulamayı yalnızca dahili olarak kullanıyorsanız ve hiçbir zaman kamuya yayınlamıyorsanız bunu yapmak zorunda değilsiniz.
  • GPL yazılımlarını değiştirerek oluşturduğunuz yazılımları satabilirsiniz ancak alıcı dilerse bunları yeniden dağıtabilir.
  • Yeni kodunuzun telif hakkı beyanında kodun tüm geçmiş yazarlarını belirtmeniz gerekir.

Açık kaynak yazılımları kim düzenliyor?

Açık Kaynak Girişimi (Open Source Initiative, OSI) her türlü açık kaynak yazılım hakkında eğitim veren ve bu tür yazılımlara ilişkin hakların savunuculuğunu yapan, kâr amacı gütmeyen küresel bir kuruluştur. Bir standart kuruluşu olarak, herhangi bir yazılımı açık kaynak hale getiren koşulları yasal olarak tanımlayan bir belge olan Open Source Definition (Açık Kaynak Tanımı) belgesini yayınlamaktadır.

Bu kuruluş tarafından yayınlanan Open Source Definition belgesindeki gereksinimleri yerine getirerek OSI onaylı lisans ticari markanızı elde edebilirsiniz. Güven veren bu ticari marka, başkalarını çalışmalarınıza katkıda bulunmaya ve sizinle iş birliği yapmaya teşvik eder. OSI, onaylı lisansların listesini tutmakta ve açık kaynak topluluğundaki yeni lisansları onaylamaktadır. Aynı zamanda yazılımlara ilişkin açık standartlar gereksinimini düzenlemektedir.

Açık standartlar nelerdir?

Açık standartlar, teknolojide tek biçimliliği ve birlikte çalışabilirliği destekleyen yazılım geliştirme kurallarıdır. Bu standartlar serbestçe uygulanabilir, benimsenebilir ve güncellenebilir. Dolayısıyla günlük yaşamımızı birçok yönden kolaylaştırırlar.

Örneğin, standartlar her türden makinenin her türden kablosuz yönlendiriciye bağlanabilmesini sağlamaktadır. Dizüstü bilgisayarınızla evinizden veya hangi yönlendiriciyi kullandıkları fark etmeksizin favori kafenizden internete bağlanabilirsiniz. Ancak, standartlar olmasaydı dizüstü bilgisayarınızla uyumlu bir yönlendirici kullanan bir kafe bulmak zorunda kalırdınız!

Açık kaynak ve açık standartlar karşılaştırması

Standartlar doğrudan kod değildir ve belirli türlerde kaynak kod yazılmasına ilişkin kurallar, kılavuzlar ve teknik özelliklerden oluşurlar. Yazılım standartlarının açık kaynak olarak sınıflandırılabilmesi için belirli kurallara uygun olmaları gerekir. Örneğin, belirli standartları uygulayabilmek için özel mülk teknolojiye gerek duyuyorsanız bu standartlar açık kaynak değildir.

Açık kaynak yazılımların neden ticari sürümleri var?

Yazılım geliştiriciler ve diğer şirketler büyük işletmelere hitap eden analiz veya güvenlik çözümleri gibi eklentiler satarak birçok açık kaynak projeyi paraya çevirmiştir. Özel şirketler açık kaynak programları kendi uygulama kodlarına ekleyerek tüm kamu malı yazılımları ticarileştirebilir. Ayrıca aynı yazılımın farklı sürümlerini farklı lisanslar altında yayınlayabilirler.

Örneğin, bir şirketin bir veritabanı yönetim sistemini hem Genel Kamu Lisansı (GPL) hem de özel mülk lisansı altında yayınladığını düşünelim. Herkes, geliştirecekleri yeni kodu açık kaynak yapmaları kaydıyla, GPL sürümünü yazılım geliştirme amaçlarıyla kullanabilir. Bunun aksine, özel mülk sürüm aşağıdakiler gibi ek yazılım hizmetleri sunmaktadır:

  • Tam olarak yönetilen bir veritabanı hizmeti
  • Kurumsal sınıf veri yedekleme hizmeti
  • Ek güvenlik şifrelemesi
 
Ticari yazılımı dahili kullanım için satın alabilir ya da ürün ve hizmetlerinizde kullanmak için ek ücretler ödeyebilirsiniz.

Açık kaynak yazılım, özgür yazılımla aynı şey midir?

Özgür yazılım terimi, özgür yazılım hareketi olarak da anılan ve yazılım kullanıcıları için belirli özgürlükleri edinmeyi ve garanti altına almayı amaçlayan bir toplumsal hareketi ifade eder. Bu hareket, kullanıcıların aşağıdaki özgürlüklere sahip olmasını amaçlamaktadır:

  • Yazılımı çalıştırma.
  • Yazılımı inceleme.
  • Yazılımı değiştirme.
  • Yazılımın kopyalarını paylaşma.
 
Açık kaynak hareketinin kökenleri, 1980'li yılların başlarında ortaya çıkan özgür yazılım hareketine dayanmaktadır. Bazı gruplar teknolojinin pratik uygulama alanlarına odaklanmak istemiş ve özgür yazılım teriminin muğlaklık içerdiğini ve bu hareketin işletmeler tarafından benimsenmesine engel olduğunu düşünüyordu. Bu gruplar, "açık kaynak" terimini önermiş ve nihayetinde Açık Kaynak Girişimi'ni (OSI) kurarak bu terimin yaygınlaşmasını ve standart hale gelmesini sağlamıştır.

Açık kaynak yazılım ve özgür yazılım karşılaştırması

Özgür yazılım bugün kamu malı olan açık kaynak lisanslarını ifade etmektedir. Açık kaynak yazılımlar artık daha fazla lisans türü içeriyor ve özgür yazılım hareketinin aksine kullanıcılara bazı kısıtlamalar getirebiliyor. Ücretsiz yazılım ve özgür yazılım terimleri değişimli olarak kullanıldığından, özgür yazılımların kamu malı yazılım olarak anılması daha uygundur.

Açık kaynak yazılım ve ücretsiz yazılım karşılaştırması

Özgür yazılım terimi, belirli bir süreliğine ücretsiz olarak kullanılabilen ticari bir ürünü ifade eder. Abonelik ücreti gerektiren bir ürünün ücretsiz deneme sürümleri veya sınırlı özellikli sürümleri de ücretsiz yazılım olarak sınıflandırılabilir. Ücretsiz yazılıma erişim elde etseniz bile, hiçbir şekilde bu yazılımı yeniden satma, paylaşma veya değiştirme hakkına sahip olmazsınız.

AWS, açık kaynak yazılımlara nasıl katkıda bulunuyor?

AWS olarak, açık kaynağın herkes için faydalı olduğunu düşünüyoruz. Açık kaynağın değerini müşterilerimize sunmak ve açık kaynak topluluklarını AWS'nin operasyonel mükemmeliğiyle tanıştırmak istiyoruz. AWS mühendisleri, düzenli olarak açık kaynak yazılımlar geliştirmekte ve GitHub, Apache, Linux Foundation vb. platformlarda binlerce açık kaynak topluluğuna katkıda bulunmaktadır. Açık kaynağı desteklediğimiz diğer birkaç yolu burada bulabilirsiniz:

  • Müşterilerin tercih ettikleri açık kaynak yazılımları bulutta dağıtabilmesine ve çalıştırabilmesine olanak tanımak için büyük bir çaba gösterdik. AWS diğer bulut sağlayıcılara kıyasla çok daha fazla açık kaynak teknolojiyi desteklemektedir.
  • Açık kaynak topluluğunda yürüttüğümüz birkaç uzun vadeli projemiz vardır. Bu projeler kapsamında sürekli olarak hata düzeltmelerine ve güvenlik, ölçeklenebilirlik, performans ve özellik geliştirme çalışmalarına katkıda bulunuyoruz.
  • HashiCorp, MongoDB, Confluent ve Red Hat gibi önde gelen açık kaynak şirketleriyle yakın iş birliği yapıyor ve müşteri beklentilerini aşmalarına yardımcı oluyoruz.

AWS'de açık kaynak adresini ziyaret ederek açık kaynak projelerimiz hakkında daha fazla bilgi edinebilir veya GitHub'da Amazon tarafından yürütülen 1200'den fazla açık kaynak projeyi inceleyebilirsiniz.

Hemen ücretsiz bir hesap oluşturarak AWS'de açık kaynağı kullanmaya başlayın.

AWS üzerinde sonraki adımlar

Ürünlerle ilgili diğer kaynaklara göz atın
Açık kaynak hakkında daha fazla bilgi edinin 
Ücretsiz Katman AWS Hizmetleri

Ücretsiz katman AWS hizmetlerine göz atın

Ücretsiz hizmetlere göz atın 
Konsolda oluşturmaya başlayın

AWS Management Console'da AWS ile oluşturmaya başlayın.

Oturum açın