Perşembe, Nisan 18, 2024

İlgili İçerikler

Bu hafta gündemdekiler

Geleceği Şekillendirecek Kavram: Açık Kaynak

Red-Hat-globaltechmagazineTeknoloji dünyasında bir şekilde aşina olduğumuz, basit gibi görünen ama temelinde önemli bir felsefeyi barındıran bazı kavramlar vardır. İşte açık kaynak dediğimiz kavram da bunlardan biri…

Açık kaynak kavramı, bir yazılımın makine diline dönüştürülmeden önce programcılar tarafından okunabilir, anlaşılabilir ve yeni amaçlara uygun bir şekilde değiştirilebilir halinin gizli tutulmayarak paylaşılmasını ifade eder. Açık kaynak yazılım konusunda geliştirici şirket, yalnızca kendi yazılımcılarından destek almak yerine farklı görüşlere de kendisini açık hale getirir.

Bu noktadan bakıldığında açık kaynak, bir topluluğun ortak düşünme ve işbirliği biçimini de içinde barındıran bir yapı haline gelir. Açık kaynak kodlu yazılım, işbirliğine dayanır ve kaynak kodunu kullanmak, değiştirmek ve birbiriyle paylaşmak için topluluk üretimini ve meslektaş incelemesini esas alır.

Açık kaynak sayesinde yazılım dünyasında değişim ve dönüşüm fazlasıyla hızlı gerçekleşiyor. Açık kaynak yazılımlar sayesinde kullanıcılar üretilen programlara dışarıdan müdahale edebiliyor ve varsa eksi yönlerini giderip, daha yeni hale getirebiliyor. Böylece firmanın yeni sürüm çıkartmasını beklemeden kendi geliştirmelerini yapabiliyor. Dolayısıyla açık kaynak yazılımlara merkezi olmayan üretim modeli de diyebiliriz.

Açık kaynağın önemini her fırsatta dile getiren ve teknolojideki dijital dönüşüme katkı sağlayan Red Hat, ürettiği çözümlerin topluluklar tarafından da geliştirilmesini destekliyor. Böylece programda herhangi bir sürüm yenilenmesi için kendi yazılımcılarına bağlı kalmıyor. Teknolojideki inovasyon, açık kaynak sayesinde son derece hızlı bir şekilde son kullanıcı ile buluşuyor. Böylece geliştirilen yazılımlar bir kurumun ve yazılımcılarının tekelinden çıkıp, daha uzun ömürlü hale geliyor.

Red Hat, kapalı kaynak üretim yapmak ve tüm geliştirmeleri kendi üzerine almak yerine bu işi açık kaynak sayesinde hızlı bir şekilde üreterek, teknolojinin hızına ayak uydurmayı hedefliyor. Yaptığı iş birlikleri sayesinde hem yazılım maliyetlerini düşürüyor hem de hızlı bir iş süreci sunuyor. Açık kaynak sayesinde Red Hat, yazılım geliştirmelerinde yalnızca tek bir kuruluşun etkin olmasının öneminin ortadan kalkacağını belirtiyor.

IBM tarafından satın alınmadan önce de açık kaynak yazılım konusunda çalışmalara yapan Red Hat, üst kuruluşu ile bu noktada tam bir iş birliği içerisinde görünüyor. IBM’in yıllar önce geliştirdiği program olan “SHARE” ile tüm kodlar yazılımcılar tarafından görünür hale getirilmiş ve programların farklı kişiler tarafından geliştirilmesine izin verilmişti. Bugün Red Hat ile birlikte bu konuda daha da güçlü konuma gelen şirket, yine de tüm gücünü tek bir noktada toplamak yerine dağıtarak, daha fazla kaynağa ulaşmaya çalışıyor.

Red Hat’in sponsoru olduğu https://opensource.com/ sayfasında açık kaynakla ilgili birçok doküman, makale ve kaynak yer alıyor.

Açık Kaynağın Tarihçesi Nedir?

Açık kaynak yazılımların tarihi en az internet kadar eskiye dayanıyor. İkinci dünya savaşı sonrasında geliştirilen ve haberleşmeyi son derece hızlı bir şekilde sağlamayı hedefleyen ARPANET, başlı başına açık kaynak yazılımdı. Dolayısıyla bu sistemin tarihçesini de oradan başlatıyor.

1950’lerde ve 1960’larda, erken internet teknolojileri ve telekomünikasyon ağ protokolleri geliştiren araştırmacılar, açık ve iş birliğine dayalı bir araştırma ortamına güvendiler. Daha sonra modern internetin temelini oluşturacak olan İleri Araştırma Projeleri Ajansı Ağı (ARPANET), akran incelemesini ve açık bir geri bildirim sürecini teşvik etti. Kullanıcı grupları, birbirlerinin kaynak kodunu paylaşır ve temel alır. Forumlar, sohbetin kolaylaştırılmasına ve açık iletişim ve iş birliği için standartların geliştirilmesine yardımcı oldu. 1990’ların başında internetin doğuşu sırasında, iş birliği, meslektaş değerlendirmesi, iletişim ve açıklık değerleri temellerine yazılmıştır.

1983 yılında Richard Stallman tarafından GNU Projesi resmi olarak kuruldu. Bu, Özgür Yazılım Hareketinin bir parçasıydı. Bu harekete göre yazılımcılar programların arkasındaki kodları görebilecek, kendilerine göre düzenleyebilecek ve çalışabilecekti. Bir süre sonra özgür yazılım kavramı kişilerin kafasının karışmasına sebep oldu. Özgür Yazılım demek, programa tamamen bedava sahip olmak anlamına gelmiyordu. “Açık kaynak” terimini icat eden Christine Peterson, “özgür yazılım”ı “açık kaynak” ile değiştirerek bu sorunu çözmeye çalıştı.

İlerleyen yıllarda program geliştiren şirketler de bu modele dayalı çalışmaya başladı. Red Hat, bu şirketlerin başında geliyor. Sistem sayesinde farklı kaynaklardan beslenen yazılımlar, early access (erken erişim) sürecini süratle atlatarak, güncellemeleri tek bir noktadan almadan yoluna devam ediyor. Özellikle GitHub gibi yazılım gruplarının oluşturulduğu gruplarla ciddi başarılara imza atıyor.

Açık Kaynak ile Geliştirme Nasıl Yapılır? Model Nasıl Çalışır?

Açık kaynak yazılım dediğimiz olgu, başlı başına topluluk projesi olarak görülür. Tek bir kurum ya da kişi tarafından geliştirilmek ve güncellenmek yerine oluşturulan topluluk üzerinden ilerler. Program içerisindeki kodları okuyan yazılımcılar geliştirilmesi gereken yerlere hızlı bir şekilde müdahale ederler. GitHub gibi yazılımcılarının bulunduğu ortamlarda açık kaynak yazılımlara ulaşmak ve oluşan topluluklara katılarak, geliştirilen programa katkı sağlanabilir. Bu sayede kapalı yazılımlara göre daha hızlı bir süreç yönetimi yapılır.

Yazılımı geliştiren şirket ayrıca bu alanda çalışan farklı şirketlerin yazılımcıları ile de ortak çalışma imkanı bulur. Birçok açık kaynak projesi, depolara erişebileceğiniz veya topluluk projelerine dahil olabileceğiniz GitHub’da barındırılır. Linux, Ansible ve Kubernetes, popüler açık kaynak projelerine örnektir.

Red Hat, kurumsal olarak ürünlerini geliştirmek ve sürekliliği sağlamak adına açık kaynaklı yazılım geliştirme modelini kullanıyor. Bu sayede Red Hat yazılımcıları, Bilgi Teknolojileri havuzunda bulunan yüzlerce açık kaynak yazılım projesine katılarak, ortaya daha kullanışlı programlar ortaya çıkartma şansını elde ediyor. Şirketin geliştirdiği ürünler açık kaynak yazılım olarak müşterilerine servis ediliyor. İlerleyen süreçte bu yazılım açık kaynak olması dolayısıyla başka geliştiricilerin de katılması ile ortak projeye dönüştürülüyor. Yazılımı kullananlardan gelen geri dönüşler sayesinde de program sürekli olarak gelişime açık tutuluyor. Buna göre oluşan hatalar düzeltiliyor, getirilmesi gereken yenilikler özellik olarak ekleniyor.

https://www.redhat.com/en/about/development-model sayfasında Red Hat’in topluluklardan ve şirketlere ulaşan açık kaynak yazılım geliştirme modeli hakkında daha fazla bilgi bulunuyor.

Açık Kaynakta Toplulukların Önemi Nedir?

Açık kaynak demek, yazılımcıların boş zamanlarını değerlendireceği alan anlamına gelmemektedir. Birbirinden farklı şirketlerde çalışan ve proje geliştirme amacıyla bir araya gelen kişilerin oluşturduğu topluluklardır. Dolayısıyla bu noktada komünite denilen alan oldukça değerlidir.

Komünite yani topluluk denilen kavram geliştiricilerin oluşturduğu bir alandır. Bu geliştiricilerin temel amacı belli bir şirkete bağlı olsalar dahi ortak projeler geliştirmektir. Böylece birden fazla kaynaktan beslenen yazılımlar hem daha hızlı hem de en az hatalı şekilde son kullanıcının önüne çıkmak şansını elde ediyor. Komüniteler sayesinde geliştirilen program, yapımcısına o haliyle gönderilerek değişiklik sağlanabilir. Yazılımı yayınlayan kurum belirli standartlar çerçevesindeyse ve programın çehresini farklı bir yöne kaydırmayacaksa bunu rahatlıkla kullanabilir. Bu sayede geliştirilmesi gereken yer için yıllarca beklemek yerine kullanıcının müdahalesi ile kısa sürede sonuca ulaşılabilir.

Şirketler kendi aralarında kurdukları organizasyonlar sayesinde hızlı ve güvenli bir şekilde açık kaynak üzerinden yazılım geliştirebilirler. Böylece hızlı olmanın yanı sıra maliyetleri de en aşağıya çekme şansı elde edilebiliyor.

Açık kaynak yazılımların sunduğu faydalar hakkında daha fazla bilgiye https://www.redhat.com/en/open-source/red-hat-way sayfasından ulaşılabiliyor.

Açık Kaynakta Yaşam Döngüsü

Geliştirici kurumlar, yaptıkları yazılımları kapalı kaynak ile sunduklarında kendi tekellerine almış olurlar. Bu da yazılımda yapılması gereken tüm değişikliklerin tek elden çıkması anlamına gelmektedir. Açık kaynak olmayan yazılımlar bir süre sonra şirketin farklı bir noktayı geliştirmesi için bazı yazılımları geliştirmeyi bırakması anlamına gelir. Yani bugün kullanıcıların beğenisine sunulan programlar bir süre sonra firma tarafından geliştirilmez ve yaşam döngüsünü tamamlar.

Açık kaynak yazılımlarda ise bu söz konusu değildir. Sürekli devam eden yaşam döngüsü sayesinde programın aksayan ya da eskiyen yanları sürekli olarak kurumun inisiyatifine kalmadan yapılır. Dolayısıyla yaşam döngüsü sürekli hale gelir. Firma başka projelere ağırlık verse de bu süreç devam edebilir.

Kapalı Ve Açık Kaynaklı Yazılımlar Arasındaki Fark Nedir?

  • Kapalı kaynak yazılımlar tamamen bir kuruma bağlı olarak gelişir. Dolayısıyla kurumsal olarak programa destek vermeyi kestiğinde kullanıcılar hem güvenlik açısından zorlanır hem de aksayan yönleri bildirseler dahi hiçbir zaman geri dönüş alamazlar.
  • Açık kaynak yazılımlarda ise yaşam döngüsü sürekli devam eder. Yazılımı ilk geliştiren ekibe bağlı kalmadan desteğin çoğunu oluşturulan topluluklar sayesinde alabilir. Böylece hem güvenlik açıkları ortadan kalkar hem de sağlıklı bir şekilde program çalışmaya devam eder.
  • Kapalı kaynak yazılımları tek bir kuruma bağlı olduğu için oldukça maliyetli bir şekilde üretilir. Bu da son kullanıcının programı kullanmak için ödeyeceği rakamı yukarı çeker.
  • Açık kaynak yazılımlarda ise maliyet en aza indirilir. Çünkü bilgi paylaşımı nedeniyle birden çok kurum programa yoğunlaşır ve kısa sürede en az maliyetle kullanıcılara sunulur.
  • Kapalı kaynak yazılımlar güncelleme konusunu uzun vadede çözebilirler.
  • Açık kaynak yazılımlarda ise kullanıcılar yazılımın içerisinde gerekli değişiklikleri kısa sürede yapabilirler. Bu sayede güncelleme için beklemezler.

Açık Kaynakta Güvenlik Nasıl Sağlanır?

Açık kaynak yazılımlarda güvenlik konusu hep tartışılmıştır. Programın kodlarının değiştirilmesi yolu ile tehlikeli bir süreci de başlatacağı düşünülse de aslında bu yazılımlar daha güvenlidir. Ortak geliştirilen yazılıma güvenlik konusunda uzmanlaşmış bir başka şirket sürece dahil edilerek sorun kısa sürede ortadan kaldırılır. Bu sayede herkes yalnızca uzmanı olduğu alanda çalışarak süreç yönetimi yapılır.

Bilgi Teknoloji liderleri açık kaynağın güvenliğine güveniyor. Yüzde 87’si kurumsal açık kaynağı daha güvenli veya tescilli yazılım kadar güvenli görüyor. Yüzde 79’u, gelişmekte olan teknolojiler için kurumsal açık kaynaklı yazılım kullanımlarının önümüzdeki iki yıl içinde artmasını bekliyor.

Red Hat tarafından test edilen ve onaylanan yazılımların tamamına https://catalog.redhat.com/software adresinden erişilebiliyor.

Teknoloji Makaleleri