Açık Kaynaklı Yazılım ve Açık Standartlar, Yazılım Geliştirmenin Geleceği İçin Neden Çok Önemlidir?
Açık kaynaklı yazılım, modern uygulamalar geliştirmek için önemli bir standart haline geldi. Açık kaynaklı yazılım, değişken ve esnektir ve kuruluşlara her dijital deneyimi destekleyen ortak işlevlerin uygulanması konusunda bir avantaj sağlar.
Bulut bilişim geliştikçe, açık kaynaklı yazılım, yalnızca tescilli kod tabanlarını hızla değiştiren işbirlikçi ve verimli bir geliştirme yaklaşımı sunar. Açık kaynak, kuruluşların ortak işlevlere erişmesini sağlar, böylece ekipler kendi fikri mülkiyetlerini oluşturmaya konsantre olabilir.
Açık kaynaklı yazılım, modern uygulamalar geliştirmek için önemli bir standart haline geldi. Değişken ve esnektir ve kuruluşlara her dijital deneyimi destekleyen ortak işlevlerin uygulanması konusunda bir avantaj sağlar. Ortak kodlama kitaplıklarından konteyner tabanlı bilgi işlem düzenlemeye kadar, kuruluşlar artık yazılım yığınları boyunca temel işlevler için açık kaynaklı yazılımlara ve bunları tanımlayan açık standartlara güveniyor.
Bulut bilişimin sürekli gelişen durumuyla, açık kaynaklı yazılım (Open Source Software-OSS), yalnızca tescilli kod tabanlarını hızla değiştiren işbirlikçi ve verimli bir yaklaşım sunar. Aslında, Açık Kaynak Girişimi (OSI) son Açık Kaynak Durumu anketinde, kuruluşların %77'sinin son 12 ayda açık kaynak yazılım kullanımını artırdığını bildirdi. Ayrıca, bu katılımcıların %79'u açık kaynak kuruluşlarına sponsor oldu. Bu benimsemenin önde gelen itici güçleri, yeniliği hızlandırmak ve maliyetleri azaltmak olmuştur.
Dynatrace’ın açık kaynak müjdecisi ve baş teknoloji stratejisti Alois Reitbauer,” açık kaynağın amacı, belirli bir teknoloji etrafında fikir birliğini gösteren bir şey oluşturmaktır “ diyor. “Bir endüstrinin çözülmesi gereken ortak bir sorunu olduğunda, bireysel şirketler bunu farklı şekilde çözerse hiçbir değeri yoktur. Standartlar etrafında endüstri fikir birliği olması gerekiyor. O zaman şirketlerin teknolojiyi işbirliği içinde birlikte inşa etmenin bir yolunu bulması gerekiyor.”
Açık kaynaklı yazılım nedir?
Açık kaynaklı yazılım, insanların değiştirmesi ve paylaşması için herkese açık olan herhangi bir yazılım bileşenidir. Bir katılımcı yazılım geliştirir ve başkalarının katkıda bulunması, geliştirmesi ve genişletmesi için açık kaynak lisansı altında kullanılabilir hale getirir. OSS’nin kapsamı, Java sınıf kitaplığı gibi küçük bileşenlerden Apache HTTP Sunucu Projesi ve Kubernetes kapsayıcı yönetim sistemi gibi eksiksiz sistemlere kadar uzanır.
Açık kaynaklı yazılım saygın kaynaklardan güvenilir katkılar aldığında, daha fazla teknoloji uzmanının onu benimsemesi ve genişletmesi muhtemeldir. Yazılım, ortak bir sorunu çözmek için konsensüs tabanlı bir açık standarda odaklanırsa, teknoloji bir endüstriyi dönüştürebilir.
Reitbauer,” kaynağı internette bulunan kapalı kaynaklı ticari ürünler var, ancak bunu değiştirmenize izin verilmiyor “ diye açıklıyor. “Açık kaynak projeleriyle, diğerleri (onlara) katkıda bulunabilir ve kullanmakta özgürlerdir. Apache lisansı gibi iyi tanımlanmış açık kaynak lisanslarından biriyle, geliştirdiğim her şeyi alabilir ve istediğiniz gibi değiştirebilirsiniz.”
Neden açık kaynaklı yazılım kullanmalı?
Cloud-native uygulamalarındaki çoğu işlev, diğer birçok uygulamanın da yapması gereken şeylerdir. OSS, ekiplerin tescilli çabalarını kendi fikri mülkiyetlerine yoğunlaştırabilmeleri için kuruluşların bu ortak işlevleri paylaşmalarını sağlar.
Reitbauer, “Veri toplama bir örnektir” diyor. “Şirketlerin hepsi aynı verileri kullanıyor. Pazara gittiğinizde, bir teknoloji standardına uyum sağlamanız ve orada 50 uygulamaya sahip olmamanız gerekir.”
Genel olarak, açık kaynaklı yazılım aşağıdakiler de dahil olmak üzere birçok avantaj sunar:
Zaman ve para tasarrufu sağlar. Her şeyden önce, geliştiriciler başkalarının geliştirdiği ve incelediği kodu kullandığında, zaman ve para tasarrufu sağlar. Bir AB araştırması, açık kaynağın AB’nin GSYİH’sının 65 ila 95 milyar Euro’undan doğrudan sorumlu olduğunu buldu. Bu muhtemelen ihtiyatlı bir tahmindir.
- Kalkınmayı demokratikleştirir:
Açık kaynak projeleri, dünyanın dört bir yanındaki uzmanların teknolojiye derin yatırımlarla bilgilerini bir araya getirmelerini sağlar. Açık kaynak, çok uluslu şirketlerin, bireysel katkıda bulunanların ve öğrencilerin katkılarından yararlanarak kalkınmayı demokratikleştirir.
- Temel teknolojilerin evrimini etkiler:
Açık kaynak projelerine katılarak, şirketler ve bireyler teknolojilerin nasıl geliştiğini ve gelecekteki inovasyonun yönünü etkileyebilir. Katkıda bulunan şirketler yeni keşiflere ve endüstri gelişmelerine bağlanır.
- Bir yenilik kültürünü yönlendirir:
Şirketler tarihsel olarak bir kuruluşun inovasyon çıktısını ölçmek için patentleri kullanırken, açık kaynak projelerine yapılan katkılar başka bir inovasyon ölçütü sağlar. Sağlıklı bir açık kaynak katkı kültürü, bir kuruluşu, kendi alanındaki teknolojinin durumunu etkilemek isteyen en iyi yetenekler için daha çekici hale getirir.
Açık standartlar nelerdir?
Açık standartlar, işbirlikçi ve fikir birliği odaklı bir süreç kullanarak bir yönetim organı ve nitelikli katkıda bulunanlar tarafından halk için geliştirilen, onaylanan ve sürdürülen önlemler ve normlardır. Açık standartlar, farklı ürünler veya hizmetler arasında birlikte çalışabilirliği ve veri alışverişini sağlar, böylece teknolojiler yaygın olarak benimsenebilir. Bu standartlar, OSS’ye katkıda bulunanların işbirliği yapması için açık ve tarafsız bir temel sağlar.
İnternet için W3C, mühendislik, bilgi işlem ve teknoloji için IEEE ve cloud-native bilgi işlem için CNCF gibi standart panoları, bu standartlar için takas evleri ve yönergeler sağlar.
Reitbauer’in açık kaynakla kendi yolculuğu, telemetri verileri için açık standartlara katkıda bulunarak başladı.
Reitbauer,” World Wide Web Konsorsiyumu, internet etrafındaki hemen hemen tüm standartları oluşturan bir organizasyondur “ diye açıklıyor. “İlk olarak, çoğu bugün web sitesi performansı hakkında veri toplamak için tarayıcılarda bulduğunuz yeni teknolojiler ve yeni standartlar geliştirmek için başkalarıyla işbirliği yapmaya dahil olduk. Teknoloji alanının istediğimiz yönde ilerlediğini sağlamak için endüstri ile gerçekten işbirliği istedik.”
Rakipler işbirlikçi olduğunda herkes kazanır:
Açık kaynaklı yazılım projelerinin bir başka özelliği de, rakiplerin kendilerini genellikle yaygın sorunların çözümleri üzerinde işbirliği yaparak bulmasıdır. Örneğin, Apache HTTP Sunucu Projesi’ne katkıda bulunanlar IBM, RedHat ve Fujitsu-Siemens’ten geliyor. Ancak katkıda bulunanlar arasında yüzlerce bağımsız şirket, bireysel profesyonel ve öğrenci de yer alıyor.
Reitbauer,” zamanın yüzde altmış ila sekseni, alanımızdaki rakiplerle çalışıyoruz “ diyor. “Kendi başına çalışan her partiden daha hızlı ve daha güvenilir.” Ama ticari rakipler birbirlerinin ayak parmaklarına basmadan veya fikri mülkiyeti ifşa etmeden aynı projelere nasıl katkıda bulunuyor?
Reitbauer, cevabın yönetişim olduğunu söylüyor. “Sağlıklı bir açık kaynak projesi, tüm süreç boyunca herkesin eşit olarak duyulduğu bir yönetişim kuruluna sahiptir. İnsanların oylandığı ve temsil edildiği bir mini demokrasi gibi.” Ticari katkıda bulunanlar, neye katkıda bulunmak istediklerinin kapsamını ve neyi gizli tutmak istediklerini açıkça tanımlayarak tescilli sırlarını ifşa etmekten kaçınırlar. Konsorsiyum ortak sorunlara odaklanır ve ortak çözümler geliştirir, böylece tescilli teklifler daha etkili ve yaygın olarak benimsenebilir.
OpenTelemetry: Açık kaynaklı bir başarı hikayesi
Başarılı bir açık kaynaklı yazılım projesine bir örnek OpenTelemetry’dir. OpenTelemetry, telemetri verilerini enstrümanlamak, üretmek ve toplamak için araçlar, uygulama programlama arayüzleri (API’ler) ve yazılım geliştirme kitleri sağlayan açık kaynaklı bir çerçevedir. Kuruluşlar bunu yazılım performansını ve davranışını analiz etmek için kullanır. Temelinde W3C açık standart Trace Context bulunmaktadır.
Reitbauer, OpenTelemetry’nin iki projeden büyüdüğünü açıklıyor: OpenCensus ve OpenTracing. “Bütün endüstri bunun arkasındaydı.” Geçmişte, gözlemlenebilirlik satıcıları izleme kitaplıklarını tersine mühendislik yapmak zorundaydı. “Gözlemlenebilirlik satıcılarının verileri hemen tüketebilmesi için doğrudan onlara izleme ve telemetri eklemek için yazılım kitaplıkları oluşturabilmek istedik.”
Sorun, izlemeyi dağıtılmış sistemler arasında genişletmekti. Ara katman yazılımı ve bulut hizmetleri de dahil olmak üzere Reitbauer,” dağıtılmış izleme yapmak, aralarında her zaman bir ağ olduğu anlamına gelir “ diye devam ediyor. Varlıklar arasındaki izleri takip etmek için, geliştiricilerin izlemenin her bir aralığının başlangıç ve bitiş noktasını belirlemek için iki parça bilgiye ihtiyacı vardır. “Herkes bu iki bilgiye sahipti, ancak kimse neye benzediği konusunda hemfikir değildi. Sonuç olarak, farklı veri sağlayıcıları arasında iz veres yapamadınız.” W3C Trace Context açık standardı, çeşitli veri türleri için alanların ne olması gerektiği konusunda anlaşarak sorunu ele alır.
Bu anlaşma, OpenTelemetry’nin temelini oluşturan standardı içerir. Reitbauer,” şimdi sınırlar ve sistemler arasında evrensel olarak çalışma türlerini takip etmek “ diyor. “Tüm bunları, bulut ortamları için satıcılar arasında küresel olarak bir araya getirebilirsiniz.”
Açık kaynak güvenlik açıkları: Açık kaynaklı yazılımın güvenlik riskleri
Açık kaynak dahil tüm yazılımlar güvenlik açıklarına tabidir. Aralık 2021'de ortaya çıkan popüler Log4J 2 Java kütüphanesindeki Log4Shell güvenlik açığı gibi bu güvenlik açıklarından bazıları, kod çok yaygın kullanıldığı için haber yapıyor. Ancak Reitbauer, bunun açık kaynak olduğu gerçeğinden çok, insanların yazılımı nasıl kullandıklarıyla ilgili olduğunu savunuyor. Gerçekten de, açık kaynak kodundaki güvenlik açıklarını tespit etmek ve düzeltmek daha kolay olabilir çünkü daha fazla insan bunlara dikkat ediyor.
Reitbauer,” kullanmak istediğiniz açık kaynaklı yazılım, aslında katkıda bulunanların kendisine ne koyduğunu doğrulayan ve ekosistemi destekleyen güçlü bir topluluk tarafından desteklenen yazılımdır “ diyor. “Log4J aslında oldukça hızlı bir şekilde düzeltildi. O zaman açıkçası bu savunmasız kütüphanelerin tüm ortamın bir parçası olup olmadığını anlamanız gerekiyor.”
Ayrıca, güvenlik açıkları veya kötü amaçlı kod getiren gevşek uygulamalara karşı da uyarıyor. “Bazen geliştiriciler bir şekerci dükkanındaki 3 yaşındaki bir çocuk gibi internetten yazılım yüklerler. Sadece akşam yemeği için alabilecekleri her şeyi seçmek, genellikle araçları anlamadan veya bir yazılım malzeme listesi yapmadan çoğaltmalara bağımlılık atıyorlar. Orada kaç tane yapay madde olduğuna dikkat etmiyorlar.”
Yazılım ister açık kaynak ister tescilli olsun, güvenlik açıklarını önlemek, uyanıklık ve kapsamlı uygulama güvenliği ve güvenlik açığı yönetimi uygulamaları gerektirir. Ancak Reitbauer, “hassasiyetler sonunda tanıtılıyor. Kuruluşların sahip oldukları tüm bileşenlerin kimliğini garanti etmeleri gereken yer burasıdır. Uygulama güvenliği bir kerelik bir şey değildir. Bugün güvende olmak, yarın güvende olacağın anlamına gelmez.”
Dynatrace neden açık kaynaklı yazılımı destekliyor
Çok sayıda buluta özgü platform için mevcut olan bu kadar çok teknolojiyle, bir şirketin açık kaynaklı yazılım desteği önemli bir satın alma kararı haline gelir. “İnsanlar bize soruyor, ‘Açık standartları destekliyor musunuz?’” Reitbauer diyor ki. “‘Ne kadar açıksın? Dynatrace bizim aletlerimizle çalışıyor mu?’”
Reitbauer, yalnızca özel mülkiyetli yazılım yığınları geliştirme çağının yerini daha açık kaynaklı bir geleceğe verdiğini öngörüyor. Reitbauer,” sonunda yalnızca özel mülk yazılımın modası geçmiş hale geldiği daha fazla endüstri görüyorum “ diyor. “Özellikle bir teknoloji bir meta haline geldiğinde, çoğu zaman açık kaynaktır çünkü hiçbir şirket onu korumak istemez. Neden kendin inşa etmek istiyorsun?”