Açık Kaynak Yeniden Zafere Ulaşıyor: Github Geliştiricileri, Tarihi Mars Misyonu İçin Elele

Açık kaynak hakkında sevdiğim şey, farklı insanların birlikte çalışmasına gerçekten izin vermesi."

Linus Torvalds, Linux yaratıcısı

Mars'taki dondurucu hava, bir şeyleri uçurmayı zorlaştırıyor. Ancak, NASA’nın JPL ekibi en iyi yaptıkları şeyi yaptı. Gezegende "Ingenuity" adlı bir helikopter uçurdular, Neil Armstrong’un aya ilk adımına eşdeğer olduğu düşünülen bir başarı. Mars’ın Dünya'nın %1'inden daha az atmosferik hacme sahip ince atmosferi bir helikopter uçurmak için zorluk teşkil ediyor. Bu nedenle, NASA’nın Jet Propulsion Laboratory'si (JPL), Ingenuity'yi hafif tutmalıydı; tam olarak dört poundun (1.8kg) altında. Ingenuity Proje Başkanı MiMi Aung' dediğine göre "Her gram bir meydan okumaydı".

NASA’nın JPL mühendislerinden oluşan 6.000 kişilik güçlü ekibi, Ingenuity'nin hava geçirmez olmasını sağlarken, büyük bir geliştirici havuzu (~ 12.000) - çoğu farkında olmadan - helikoptere nereye gideceğini söyleyen rehberlik yazılımını oluşturmak için elele verdiler.

Bir Kez Daha Açık Kaynağın Zaferi

"GitHub'daki yaklaşık 12.000 geliştirici, Ingenuity’nin yazılımına açık kaynak aracılığıyla katkıda bulundu."

Nat Friedman, CEO, Github

Açık kaynağı yıllar önce dünya çapında bir fenomen haline getiren Linux hala oyunda. Uzay görevleri için yazılıma güç sağlıyor. Popüler Python paketi SciPy, Ingenuity misyonunda hayati bir rol oynadı. SciPy ekosistemi, Python'da bilimsel bilgi işlem için açık kaynaklı bir yazılım kütüphanesidir.

Ingenuity helikopteri, navigasyon bilgisayarında gömülü bir Linux dağıtımı çalıştırıyor. Yazılımının çoğu, JPL’nin açık kaynaklı uçuş kontrol framework'ü F Prime (F’) kullanılarak C++ dilinde yazılmıştır. İlk olarak 2013'te başlatılan açık kaynaklı proje F Prime, birçok uzay görevine güç vermektedir. F’ (F Prime), uzay uçuşu ve diğer gömülü yazılım uygulamalarının hızlı geliştirilmesini ve devreye alınmasını sağlayan bileşen odaklı bir framework'tür. Linux bir hobi işletim sistemi olarak başladı ve şimdi mobil bilgi işlem, bulut bilgi işlem, otomobiller vb. İçin fiili bir platform olmanın yanında artık aynı zamanda gezegenler arası bir işletim sistemi olmuştur. Linux Vakfı yönetici direktörü Jim Zemlin dediğine göre, "Böyle durumlar kesinlikle kolektif gurur kaynağı oluyor".

F’, orijinal olarak Jet Propulsion Laboratory'nda geliştirildi ve birkaç uzay uygulamasında başarıyla kullanıldı. CubeSats, SmallSats ve araç gereçleri gibi küçük ölçekli uzay uçuşu sistemleri uyarlanmıştır ancak bunlarla sınırlı değildir. F’ aşağıdaki unsurlardan oluşmaktadır:

  • Uçuş yazılımını iyi tanımlanmış arayüzlere sahip ayrı bileşenlere ayıran bir mimari
  • Mesaj kuyrukları ve iş parçacıkları gibi temel yetenekler sağlayan bir C++ framework'ü
  • Bileşenleri ve bağlantıları belirlemek ve otomatik olarak kod oluşturmak için modelleme araçları
  • Büyüyen bir kullanıma hazır bileşen koleksiyonu
  • Uçuş yazılımını ünite ve entegrasyon seviyelerinde test etmek için test araçları

JPL mühendisi Timothy Canham, ZDNet ile yaptığı bir röportajda F’ın JPL’nin çalışma biçiminde bir değişiklik olduğunu söyledi. NASA’nın JPL mühendisleri için büyük bir engel özel amaçlar için yazılmış yazılımlarla uğraşmak olmuştur. F’, modüler ve yeniden kullanılabilir kodlama rutinlerini tanıttı. Mühendislere framework'lerden bağımsız bir donanım oluşturma özgürlüğü verdi. Herhangi bir marka yerleşik kamera, herhangi bir bağımlılık sıkıntısı olmadan kullanılabilir. Aynı şey, görevlerdeki herhangi bir araç için de geçerlidir. Canham'a göre F' bir başlangıç ​​kiti olarak başladı ve ek olarak dediki "Bileşenlerin standart bir kütüphanesi olmasına rağmen, kendi yazılımınızın çoğunu yazmanız gerekecek,". NASA, F’ın JPL dışında yeniden kullanılabilir olduğunu anladığında, geriye dönüş olmadı. Açık kaynaklı proje CubeSats için kullanıldı ve gelecek projeler için de kullanılacaktır.

Github CEO'su Friedman, hayranlığını dile getirerek: "Bu, kısmen dünyanın dört bir yanından açık kaynak geliştiricilerinden oluşan görünmez bir ekip tarafından desteklenen bir başarıdır". Friedman'a göre, GitHub'da dünyanın dört bir yanından yaklaşık 12.000 geliştirici, Ingenuity'nin yazılımına açık kaynak aracılığıyla katkıda bulunuldu. "Bu geliştiricilerin çoğu, ilk Marslı helikopter uçuşunu mümkün kıldıklarının farkında bile değiller."

"Python ekosistemi, yer kontrolünden uçuş modellemeye ve veri işlemeye kadar her şeyde önemli bir rol oynamıştır."

Klint Finley, The Readme Projesi

Bu başarılı görev NASA'nın olduğu belgelenmiş olmasına rağmen, Github projesi bunu teknik olarak uluslararası bir çaba haline getirmiştir, çünkü JPL dışındaki geliştiriciler de katkıda bulunmuştur. NASA’nın yaklaşan ay görevlerinde de açık kaynak topluluğunun katkılarından yararlanılacaktır. Açık kaynaklı yazılım, uzay görevlerini daha ucuz hale getirebilir. NASA'dan Terry Fong'a göre, açık kaynak, öğrenme eğrisini kısaltmaya yardımcı olabilir. Fong, "ARGE dünyasındanki ilerlemeleri alıp uzaya uçurmak bizim için işleri hızlandırıyor," dedi.

NASA'nın, umuma sunduğu veri analizi ve teknoloji geliştirme yarışmaları ve çeşitli challenge'ler içeren çeşitli programları vardır. NASA'nın code.nasa.gov'un projeler sayfası, github'da bulunan catalog.json'daki verilerden oluşturulmuştur. NASA'nın code.gov'daki projeleri, yine Github'daki code.JSON'dan toplanmıştır. Bu linkten daha fazlasını öğrenebilirsiniz.


HABERLER