Windows nguồn mở

19/03/2013 21:20

Khi "thời đại Windows 8" đang mở ra, những gì thuộc về các phiên bản Windows cũ lùi dần vào quá khứ. Như một quy luật, những giá trị đích thực của cái cũ sẽ trỗi dậy trong hình thức khác, có khi bất ngờ.

Ngày 5/8/2012, tổng thống Nga Vladimir Putin đến dự Diễn đàn Thanh niên tại vùng hồ Seliger (cách Moscow 370 km). Đoàn Thanh niên Liên bang Nga tổ chức diễn đàn để giới trẻ trình bày những nguyện vọng, sáng kiến, dự án phục vụ việc phát triển đất nước.

Khi tổng thống Putin đến, phần trình bày của Marat Karatov (học sinh trung học) đã kết thúc. Lo ngại rằng tổng thống không hay biết dự án của mình, Karatov xin gặp riêng ngài Putin để trực tiếp trình bày hệ điều hành nguồn mở ReactOS. Karatov đề nghị chính phủ Nga tài trợ cho dự án một triệu euro (khoảng 1,39 triệu usd) trong một năm để ReactOS trở thành hệ điều hành hoàn chỉnh. Mở máy tính xách tay của mình, Karatov cho ngài Putin thấy rõ Firefox, LibreOffice và Microsoft Office chạy được trên ReactOS. Khác với hệ điều hành Linux, ReactOS có kiến trúc giống Windows, cho phép chạy mọi phần mềm thông dụng trên Windows, cho phép sử dụng cả những chương trình điều khiển thiết bị (driver) được viết cho Windows. Theo lời Karatov, với ReactOS, nước Nga sẽ kiểm soát được mã nguồn hệ điều hành giống Windows và không phụ thuộc vào Windows.

Vị tổng thống đầy quyền lực nói rằng ông sẽ suy nghĩ về đề nghị của Karatov và xin số điện thoại của Karatov.

Marat Karatov giới thiệu ReactOS với tổng thống Vladimir Putin (5/8/2012).

Marat Karatov giới thiệu ReactOS với tổng thống Dmitry Medvedev (1/9/2011).

Karatov là thành viên nhiệt tình của dự án nguồn mở ReactOS (www.reactos.org). Trong năm 2011, Karatov từng trình bày về ReactOS cho tổng thống Nga lúc đó - Dmitry Medvedev - khi ông đến thăm ngôi trường của Karatov - trường trung học số 19 ở thành phố Stavropol. Khi ấy, tổng thống Medvedev cũng trả lời rằng sẽ suy nghĩ về đề nghị của Karatov.

Người điều phối chính của dự án ReactOS là Aleksey Bragin, lập trình viên chuyên nghiệp sống tại Moscow. Vai trò của Bragin đối với ReactOS tương tự vai trò của Linus Torvalds đối với Linux.Cũng như Karatov, Bragin tận dụng mọi cơ hội để kêu gọi giới lãnh đạo và cộng đồng nguồn mở tại Nga ủng hộ ReactOS. Tuy có nhiều lời mời sang Mỹ làm việc, Bragin chỉ thích làm việc ở quê hương để "vác tù và hàng tổng".

Dự án ReactOS được nhen nhóm từ 15 năm trước. Vào năm 1996, thành công bước đầu của Linux trong việc tái hiện hệ điều hành Unix trên máy tính PC tạo cảm hứng cho ý tưởng xây dựng hệ điều hành nguồn mở FreeWin95, tương tự dự án FreeDOS (1994). Theo dự định, FreeWin95 sẽ có API (Application Programming Interface - giao diện lập trình ứng dụng) giống Windows 95. Do vậy, khác với Linux, FreeWin95 sẽ cho phép dùng ngay mọi phần mềm trên Windows 95.

API của Windows 95 được trình bày chi tiết trong nhiều tài liệu của Microsoft để mọi người lập trình có thể tạo ra phần mềm ứng dụng trên Windows 95.Tuy nhiên, mò mẫm tìm hiểu kiến trúc bên dưới API có sẵn là việc khó khăn, khác nào thám hiểm một lâu đài trong bóng tối. Những cuộc tranh luận về kiến trúc của FreeWin95 kéo dài, không có ai thực sự bắt tay vào việc. Có một thực tế rõ ràng: hiếm người am hiểu việc xây dựng phần lõi của hệ điều hành.

Cuối năm 1997, lập trình viên Jason Filby (Anh) kêu gọi từ bỏ ý tưởng FreeWin95 và đề xuất xây dựng hệ điều hành nguồn mở có kiến trúc vững chắc như Windows NT. Filby cho rằng David Cutler, chuyên gia hàng đầu của Microsoft, đã thiết kế rất tốt Windows NT dựa vào kinh nghiệm đúc kết từ các hệ điều hành Unix, VMS và OS/2. Filby chuyển ý tưởng thành hành động với việc khởi xướng dự án ReactOS (Reactive OS).

Trong thời gian đầu, dự án ReactOS tiến triển rất chậm, chỉ có vài người tham gia, vừa học vừa làm. Khi Filby bỏ cuộc, Aleksey Bragin (Nga) và Alex Ionescu (Rumani) tiếp tục việc lập trình phần lõi của ReactOS bằng ngôn ngữ C. Bragin và Ionescu chỉ có thể dành cho ReactOS thời gian hạn hẹp sau giờ học ở trường.

Aleksey Bragin - người điều phối dự án ReactOS.

Phần lõi ngày càng hoàn chỉnh, dự án ReactOS ngày càng thu hút thêm nhiều thành viên tại Châu Âu. Hầu như mọi thành viên xem việc lập trình các bộ phận khác nhau của ReactOS như một bài tập lớn, thử làm những việc mà kỹ sư của Microsoft đã thực hiện trong vòng bí mật.

Bragin kể lại:

"Lúc ấy, hầu hết thành viên đều mới ngoài hai mươi, chủ yếu tại Đức, Pháp, Áo. Tại Nga chỉ có ba, bốn người. Alex Ionescu đóng góp cho phần lõi của ReactOS khi còn rất trẻ, mới 19 tuổi. Ionescu trước đây ở Rumani, nay đã chuyển sang Canada. Có một trường hợp đặc biệt: một thành viên tại Mỹ đã ngoài năm mươi. Ông ấy đã có đóng góp quan trọng cho phần lõi của ReactOS và cho việc xây dựng Win32 (API của Windows NT) trong ReactOS. Khi trao đổi với ông ấy qua thư, tôi không thể hình dung rằng ông ấy già hơn chúng tôi nhiều đến thế.

Các thành viên chỉ làm những việc mà họ quan tâm.Nhiều người lúc đầu tích cực nhưng rồi cảm thấy mệt mỏi và bỏ cuộc. Chúng tôi xây dựng từ đầu một hệ điều hành, phải làm những việc mà Microsoft đã làm trong vài thập niên, với nhân lực hùng hậu".

Nhiều thành viên của ReactOS đến từ dự án Wine - dự án xây dựng lớp phần mềm mô phỏng Windows trên Linux, cho phép chạy phần mềm ứng dụng của Windows trên Linux. Khác với giải pháp Wine cho Linux, ReactOS hướng đến sự tương đồng với Windows NT ở mức sâu.

Sau hơn một thập niên, hệ điều hành ReactOS vẫn chưa đạt tới mức thử nghiệm beta (phiên bản hiện tại của ReactOS là 0.3.14).Điều này khiến nhiều người dè bỉu.Không ít ý kiến cho rằng việc nhái Windows NT là việc làm lạc hậu, vô nghĩa và Linux là hệ điều hành nguồn mở duy nhất có thể thay thế Windows trên PC. Đối với cộng đồng phần mềm tự do và nguồn mở, cho dù ReactOS được phát triển hoàn chỉnh, việc dùng mọi phần mềm Windows trên ReactOS không phải là mục tiêu tốt đẹp để hướng tới, ReactOS luôn là "bóng mờ" của Windows.

Giao diện ReactOS tương tự Windows NT.

Thực ra, kiến trúc của Windows NT không chỉ tồn tại trong Windows NT, mà vẫn là nền tảng trong các hệ điều hành hậu duệ (Windows XP/2003/Vista/2008/7).Trong tình trạng hiện tại, ReactOS hoàn toàn tương thích với Windows XP. Những người xây dựng ReactOS luôn hướng đến việc tạo ra hệ điều hành chạy nhanh hơn, an toàn hơn Windows, không vướng bận với những quyết định kỹ thuật bị ràng buộc bởi tính thương mại (Bragin cho rằng Windows XP không an toàn vì đã vô hiệu hóa một phần thiết kế của Windows NT, nhằm tương thích với Windows 9x).

Đó là vấn đề lớn, đặc biệt khó khăn khi mọi thành viên của nhóm ReactOS đều không thể dành trọn thời gian cho "thú vui" của mình. Chỉ riêng việc biên dịch toàn bộ mã nguồn hệ điều hành cho mỗi lần chạy thử nghiệm đã là việc không đơn giản. Trong khi hệ thống máy tính mạnh của Microsoft phải chạy suốt đêm để biên dịch toàn bộ Windows, Bragin và Ionescu chỉ biên dịch ReactOS trên PC bình thường.

Bragin biện minh cho ý nghĩa của ReactOS:

"Nhiều người nói công việc của chúng tôi là vô vọng. Trước đây hệ điều hành GNU nhái theo Unix nhưng chưa có phần lõi. Thế rồi Linus xuất hiện và nói: 'Tôi đã tạo được phần lõi tương thích với GNU'. Từ đó mọi việc diễn biến tốt đẹp.Chúng tôi làm việc tương tự như thế. Có sẵn một biển phần mềm dựa trên Win32, phải nói là đại dương mới đúng. Chúng tôi muốn tự tạo ra phần lõi tương thích với đại dương phần mềm đó.

(...) Có một người đọc mã nguồn ReactOS của chúng tôi và nói rằng anh ta có cảm giác được xem mã nguồn của Windows bị rò rỉ. Vì mã nguồn của chúng tôi có chú thích tỉ mỉ, người ấy nói rằng nhờ ReactOS mà anh ta hiểu được những bí ẩn của Windows! Chúng tôi cười ngất".

Bragin rất lạc quan, không để ý Linux có lợi thế quan trọng: nhiều công ty lớn đầu tư mạnh vào Linux, có một đội ngũ đông đảo lập trình viên được trả lương để phát triển Linux.

Dù thế nào, nhóm ReactOS vẫn tiếp tục công việc. Một thành viên của nhóm đề xuất dự định mới: đưa "Windows" lên máy tính tí hon Raspberry Pi. Đó là việc mà Microsoft có lẽ chẳng bao giờ quan tâm.

NGỌC GIAO

Ý kiến bạn đọc (0)
Tên   Email

Lên đầu trang