PDA

Orijinalini görmek için tıklayınız : ReactOS: Özgür lisanslı Windows İnşa Etmek



erkolay
30.Kasım.2016, 12:24
Çoklu önyüklemeden WINE'a, özgür yazılım Windows (https://webmaster.bbs.tr/forumdisplay.php?f=114) uygulamalarını çalıştırmak için hep bir çözüm üretmeye çalıştı. Yine de bu çabaların sadece birkaçı Windows'un özgür lisanslı uyarlaması olan ReactOS (https://reactos.org) kadar hırslı olabildi. Tasarı 2006'dan beri faal ve on yıllık zorlu ve ihtiyatlı geliştirmenin ardından Şubat 2016'da ilk alpha sürümü piyasaya çıktı.
https://img.readitlater.com/i/www.reactos.org/sites/default/files/virtualpc/RS/w704.png?&ssl=1

Geliştirici Ziliang Guo'ya göre özgür lisanslı Windows 95 uyarlamasını hedefleyen FreeWin95 tasarısının başarısızlığından ReactOS meydana geldi.


"FreeWin95 hiçbir yere gelemedi çünkü insanlar işletim sistemini nasıl uyarlayacakları hakkında teknik tartışmalar yaptı ve çıkmaza sürüklendi. Kimse kodlamayı istemedi."
Mesafe kaydedememenin bir sonucu olarak Jason Filby ve David Welch Windows NT'nin özgür sürümünü oluşturmak için yeni bir tasarı oluşturdular. Bir başka tasarı üyesi olan Jeff Know tasarıya ReactOS (React: tepki) adını önerdi çünkü bu çaba Microsoft'un masaüstündeki tekeline bir tepkiydi.

https://img.readitlater.com/i/60.media.tumblr.com/ba5027039e46579b3ba822b2a5eea184/tumblr_inline_o4vgb6Qhpo1rh5at3_540/RS/w704.png
Geçmişten bir esinti: ReactOS üzerinde WinZip çalışıyor

Tersine Mühendislik ve Belgelendirme
Başlangıçta ReactOS zorluklarla karşı karşıya geldi. Tasarı başladığında bir çok Windows derleyicisi sahipli (https://tr.wikipedia.org/wiki/Sahipli_yaz%C4%B1l%C4%B1m)ydi ve özgür olan bir kaçı ise acı verici şekilde yetersizdi. Gerekli araçları geliştirmekte büyük bir adım niteliğindeki MinGW (https://mingw.org/)'den sorumlu ana geliştirici Casp (https://webmaster.bbs.tr/forumdisplay.php?f=45)er Hornstrup'ı hatırlıyor Guo. Bu koşullar altında ReactOS'u çalıştırabilmek/önyükleyebilmek bile bir mihenk taşıydı. Guo'nun belirttiği gibi,
"Gerçekten bir işletim sistemini çalıştırabilmek insanların düşündüğünden daha karmaşık bir iş"

Bir diğer sorun ise Windows NT'nin iç mimarisi için yetersiz belgelendirme olmasıydı. Örneğin, çekirdek seviyesi API (https://tr.wikipedia.org/wiki/Uygulama_programlama_aray%C3%BCz%C3%BC)'leri üzerinde bilgi yetersizliği NT sürücü uyumluluğunu zorlaştırıyordu. Benzer olarak dahili birbirine bağımlılıkların geliştirilmesi gerekiyordu, sorun teknik zorluklara sebep olduğu gibi bu zorlukları artırıyordu.

"Takım eksik bir özelliği tamamlamak üzere olduğunda bazen varolan bileşenlerin içine geri dönüp hackleri silmesi gerekebiliyor, (bu süreç) diğer hacklerle bağlantılı hacklerin oluşturduğu bir tavşan deliğinde sonlanıyor ve tüm bu şey başarısız yollarda adeta çöküyor." diyerek açıklıyor Guo.

Bugün durum bir miktar düzeldi. MSDN sitesi, Windows Internals, Inside Microsoft Windows ve Windows Graphics Programming gibi bir çok kitaba ek "Microsoft Windows hakkında bolca belgelendirme mevcut" diyor tasarı yürütücüsü Aleksey Bragin. Bu bilgiler özgürce kullanılabiliyor ama bilgiler hatalar içerebiliyor ve belgelenmemiş bölümleri olabiliyor.

Bir diğer avantaj ise WINE'ın Win 32API için uyumluluk katmanı. ReactOS bunu yeniden kullabilir fakat "Tabi ki takım bu API'lere güç sağlayacak Win32 altsistemini doğru bir şekilde tamamlamak zorunda." diyor Guo.

Bu nedenle, bu avantaja karşın, ilerlemek için ReactOS üçüncü şahıslar tarafından yapılan tersine mühendisliğe bağımlı. Diğer zamanlarda, tasarı üyeleri karakutuculuğa (blackboxing) başvuruyor, farklı türde girdilere Windows'un verdiği cevapları sistematik olarak test ediyor ve içerde neler olduğunu anlamaya çalışıyorlar.
Malesef, tersine mühendislik çoğu kez hukuksal mayın tarlasına dönüşüyor.
"Tasarıda her zaman şu farkındalık oldu: Microsoft'un bizi stratejik tehdit olarak görebilir ve kapatmayı isteyebilir." diyor Guo. Herhangi bir olası sorunu önlemek adına, ReactOS her zaman dikkatli davranıyor, öncelikle katkıların kısıtlı Microsoft kodundan elde edilmediğinden emin olunuyor. Örneğin, tersine mühendislikle oluşturulmuş ve ardından Assembly'den C'ye çevrilmiş kod kabul edilmiyor ama karakutuculuk kabul ediliyor.

Doğrusu, Bragin'e göre, ReactOS mümkün olduğu kadar tersine mühendislikten kaçınmayı tercih ediyor. Tersine mühendislik kaçınılmaz olduğunda katkıcılardan GNU Kodlama Standartları'nın 2.1 maddesi (https://www.gnu.org/prep/standards/standards.html#Reading-Non_002dFree-Code)ni uygulamaları, sahipli yazılımlara -özellikle Windows'a- atfı önlemeleri bekleniyor. Buna göre tüm kod mümkün mertebe özgün olandan farklı olmalıdır.

Yine de, tersine mühendislik bir gri alan gerektiriyor. Guo bunu hatırlatıyor, bir noktada, tasarı geliştiricileri lekesiz kodu neyin oluşturduğu hakkında farklı yorumlarla konu üzerinde tartıştı. Bu tartışma bazı geliştiricilerin çıkmasına sebep oldu ve tasarı kodlarının iç denetimiyle sonuçlandı. Neyse ki lekeli kod bulunmadı ve tasarı nihayet yoluna devam edebildi.

Önündeki Zorluklar
Alpha sürümü 0.4'ün piyasaya sürülmesi yıllar süren kitke kaynaklı çalışmayla, sınırlı başarının ardından geldi. Yeni sürüm Canlı CD olarak mevcut, Windows NT olarak tanıtılıp VirtualBox'a kolayca kurulabiliyor. Çağdaş donanım üzerinde yirmi yıllık sistemleri öykündüğü (https://tr.wikipedia.org/wiki/%C3%96yk%C3%BCn%C3%BCc%C3%BC) için işletim sistemi saniyeler içinde önyükleniyor. Winzip, özgür yazılım olan LibreOffice, bir kaç eski ve basit oyun (https://webmaster.bbs.tr/forumdisplay.php?f=119) gibi çeşitli yazılımları çalıştırabiliyor.

https://img.readitlater.com/i/62.media.tumblr.com/1594da70777f900a768652a24fe445f3/tumblr_inline_o4vgln5Mov1rh5at3_540/RS/w704.png
ReactOS kendi Solitaire sürümünü çalıştırıyor.

Yine de zorluklar sürüyor. Her zaman olduğu gibi nitelikli geliştiriciler ender:
"Halihazırda Microsoft için çalışmayan NT çekirdek uzmanlarının sayısı çok az." diye not ediyor Guo. Mevcut donanımı desteklemek oldukça zor olabiliyor, Guo değişken donanım standartlarının bir problem olduğunu söylüyor ve "Microsoft bile bunlarla sıfır sorun yaşamıyor." diyerek ekliyor.

Bir diğer sorun ise, son sürümlerdeki kullanılırlık üzerinde yapılan geniş çalışmaların ardından, Guo'nun sözleriyle:
"Geçmişte çok çok daha az olan kullanıcının görebileceği, büyük değişikliklerle yere yakın olan birçok meyve toplanmış oldu."
Bu bazı temel sorunları hatırlatıyor. Örnek olarak öncelikler hakkında soru üzerine Bragin şöyle dedi:

"En önemli açık hafıza yönetimi ve önbelleklemeye bağlı sistem kararlılığında. Diğer sorunlar da var elbette ama gerçekten kararlı çekirdeğe sahip olmak tasarı için büyük başarı olur."

Diğer baskı yapan sorun ise oyunlar için DirectX desteği. ReactOS WINE'ın DirectX uyarlamasına sırtını yaslamayı umuyor. Bragin oyun desteğinin önemli olduğunu çünkü hafızayı, dosya sistemini ve ağı kullanmaları "işletim sisteminin kendisi için güzel bir test" olduğunu vurguluyor.

İlk alpha sürümü dikkate değer bir mihenk taşı. ReactOS halihazırda yeterince gelişmiş, Bragin onu işletim sistemlerini öğretmek için kullanıyor.
"Ama gerçekten ReactOS'un bir kullanım senaryosunda Windows'un yerine kullanılabilecek güçte olduğu anı görmek istiyorum. Bu an kesinlikle önümüzdeki beş yıl içinde yaşanacak." diyerek bir öngörüde bulunuyor.

Genel Dağıtıma Doğru
Sahipli geliştirmeyle etkileşime giren diğer özgür yazılımlarda olduğu gibi ReactOS da Microsoft'un kendi API'lerindeki daimi değişimin daima gerisinde kalacağa benziyor. Ancak bu durum ilk çıktığındaki kadar kasvetli olmayabilir.

ReactOS her Windows sürümünün tüm özelliklerini yeniden çoğaltmakla ilgilenmiyor.
"Biz güzel özellikler üretmeye çalışıyoruz, örneğin çeşitli temalar arasında geçiş yapmamızı sağlayan kullanıcı arayüzü tasarlayıcımız gibi. Yine de, Microsoft'un her eklediği güzel değil. Örneğin, Metro Arayüzü ya da diğer yeni API'ler yeterince popüler olmadıkça bunlara fazlaca vakit ayırmaya gerek yok. Eğer birisi gerçekten isterse bir Windows 8 Metro Teması yapabilir. Yine de böylesi bir arayüzü seven çok kişi olduğundan emin değilim. Windows 10 ya da Windows 8'e eklenmiş çok fazla değer görmüyorum." diyor Bragin.

Her neyse, alpha sürümüyle birlikte ReactOS ivme kazanmışa benziyor. Hedefi hala zoruluklarla karşı karşıya.

Not: Tercümeyi tek seferde bitirme inadım sonucunda bir ya da iki cümleyi anlamakta epey zorlandığımdan anlam bütünlüğünü bozmayacak şekilde yazıdan çıkardım, yine bir kaç cümlede birebir çeviriden sakındım.

Lisans: Bu metin CC by-SA 4.0 ya da sonrası (https://creativecommons.org/licenses/by-sa/4.0/) altında dağıtılan "ReactOS: Building a Free-Licensed Windows (https://www.ocsmag.com/2016/03/03/reactos-building-a-free-licensed-windows/)" metninden tercüme edilmiştir. Özgün metin Bruce Byfield (https://www.ocsmag.com/author/bruce/) tarafından yazılmıştır. Tercüme CC by-SA 4.0 ya da sonrası (https://creativecommons.org/licenses/by-sa/4.0/) altında tekrar lisanslanmıştır.

Emin Tufan (https://emintufan.com/)