On Wed, 23 Mar 2011, Thuong Quoc wrote:

> Em cho rằng chúng ta phải bỏ ra ít nhất 5 năm để thực hiện một cách hòan
> thiện kế họach này.
> Em xin trình bày một số quan điểm của mình như sau:
> Mục tiêu của việc xây dựng nhằm xóa bỏ tình trạng vi phạm bản quyền ở
> Việt Nam ta đa phần ở mãng Desktop. Với kế họach này em cho rằng chúng
> ta nên đi theo vết xe của Mac OS X nghĩa là chúng ta sẽ phải làm một số
> việc sau:
>       - Xây dựng lại GUI.
>       - Kế thừa và phát triển nhân FreeBSD từ đó tái cấu trúc lại mô hình của
> hệ thống như thư viện, ứng dụng...
>       - Xây dựng hệ máy riêng
>       - Và một số việc lâu dài khác.
> 1) Truớc tiên tại sao chúng ta lại xây dựng GUI?
> Bản thân em cho rằng nguyên do Mac OS X thành công như hiện tại yếu tố
> đầu tiên phải kể dế là giao diện nguời dùng. Nó thực sự đơn giản, hiệu
> quả và nhanh. Điểm này anh chị nào đã từng tiếp cận Mac sẽ thấy, sau màn
> hình đăng nhập, thời gian để tòan bộ màn hình Desktop khởi động xong
> chưa đến một giây, trên Linux và Windows phải nhiều hơn thế. Giao diện
> của Mac đơn giản, hiệu quả đó là điều ai cũng phải đồng ý. Vì thế em đề
> nghị nếu chúng ta muốn xây dựng một hệ điều hành riêng của Việt Nam thì
> xây dựng lại GUI là điều rất cần thiết. Để xây dựng chúng ta sẽ dựa vào
> hai dự án có sẵn đó là GNOME và KDE.
>

Chào mọi người,

Em xin phép có một vài ý kiến.

1) Xây dựng GUI

Một trong những nguyên tắc đầu tiên trong việc phát triển phân mềm là
"do not duplicate work".  Vì vậy thay vì "xây dựng lại GUI" chúng ta
nên "phát triển GUI" thì đúng hơn.

1.1) Tại sao Mac OS X lại thành công hơn?

Mac OS X thành công vì họ tập trung và một vài điểm cối lõi mà các nhà
phát triển khác coi là không quan trọng, đó là design.  Design từ từng
thành phần giao diện người dùng (widget đặt ở đâu thì hợp lý, bắt mắt
nhất, truy xuất nhanh nhất, tạo cho người dùng cảm giác thoải mái
nhất, ...) cho đến design hệ thống kỹ thuật (Obj-C, Cocoa API
documentation, TextMate, XCode, ... là ví dụ điển hình nhất); hệ thống
có design tốt thì mở rộng, tối ưu, phát triển sẽ có lợi thế hơn rất
nhiều so với các hệ thống không có design hoặc design kém.  Hơn thế
nữa, design của Apple dựa vào khoa học của [1]Human-computer
Interaction (HCI) chứ không phải cảm quan thông thường.  Trong khi đó
cộng đồng FOSS chủ yếu là hacker, ít designer, lại càng ít designer
quan tâm đến khoa học như HIC nên không đạt được hiệu quả như vậy cũng
là điều dễ hiểu.

1.2) Còn *nix thì sao?

Xin phép được gạt Windows qua một bên.

Bác nói rằng "trên Linux và Windows phải nhiều hơn thế", em không đồng
ý với ý kiến này.  Đúng hơn phải là "trên GNOME, KDE, Windows GUI phải
nhiều hơn thế", lợi thế của FOSS là linh động trong lựa chọn, nếu bác
đã dùng qua các window manager khác như Awesome, OpenBox, FluxBox,
Ion3, ... bác sẽ thấy thời gian khởi động chỉ là chớp nhoáng (nếu như
đó là điều bác quan tâm).

Sự kiện Unity vs. GNOME 3 là một minh chứng cho thấy Mark Shuttleworth
đã thấy rõ tầm quan trọng của HCI trong quá trình phát triển phần mềm.
Tuy gặp phải nhiều phê phán nhưng em tin rằng Shuttleworth đang đi một
bước đúng đắn.  So sánh với dự án distro Việt Nam, nếu Mark và
Canonical làm được thì chúng ta cũng làm được.  Hay nói cách khác,
*nix cũng làm được.

1.3) Cách thức làm ra sao?

Không viết lại mà phát triển dựa trên những cái đã có: GTK+, Qt, ...
Cần được thảo luận, nghiên cứu, module hóa rõ ràng.  Và có thể cần
chút "độc tài" như Mark Shuttleworth nữa mới có thể làm được.

> 2) Em đề nghị phát triển từ nhân FreeBSD chứ không phải Linux vì một
> cách chủ quan em cho rằng FreeBSD bền, ổn định hơn Linux. Vấn đề này mời
> các "lão làng" Linux/UNIX chia sẽ. Nhưng em nghĩ rằng chúng ta sẽ phải
> lộc lại các thành phần của nhân sao cho  nhẹ,  ổn định và sạch (không
> chứa "circular dependencies")

2) FreeBSD kernel vs. Linux kernel

Điểm khác biệt cơ bản nhất giữa FreeBSD và Linux là philosophy của 2
thằng.  FreeBSD dựa trên tư tưởng "base system" và "customized
version", còn Linux có "kernel" và "free versions".  BSD là sản phẩm
của quá trình port Unix sang PC, còn Linux là sản phẩm của quá trình
sáng tạo lại Unix trên PC.  Có một [2]website rất tuyệt vời so sánh 2
thằng.

Việc chọn kernel còn nhiều vấn đề liên quan đến kỹ thuật, chẳng hạn:
driver hỗ trợ, resource allocation, message dispatching, job
scheduling, ... không thể quyết định thẳng là chọn anh A hay anh B
được.

Việc sửa đổi, phát triển, sàng lọc, ...  Bác có thể chạy Linux trên
mainframe, PC, TV / TiVo, smartphone, ... từ hệ thống time-sharing đến
hệ thống real-time. Vậy bác còn muốn sàng lọc cho nhẹ, sạch thế nào nữa?

> 3) Vấn đề đa nền tảng, đa phần cứng là một vấn đề rất lớn. Nguời dùng sẽ
> không có nếu họ không thể dùng OS này, đó là điều tất nhiên. Nhưng em
> nghĩ khả năng hổ trợ phần cứng hiện tại của FreeBSD còn rất hạn chế.
> Chẳng hạn ta không thể boot vào, hoặc trong quá trình cài đặt xãy ra
> lổi... Vì thế xây dựng một hệ máy là một giải pháp để khắc phục tình
> trạng đó và góp phần làm OS mới này thực sự ổn định. (Có rất nhiều nguời
> cho rằng Linux không ổn định, không sạch bằng Mac OS X).
> Chúng ta sẽ bàn về vấn đề thúc đẩy số luợng ứng dụng sau. Nhưng có lẽ
> xây dựng kho như Android là giải pháp hợp lý.

3) Multiplatform

GNU/Linux là hệ điều hành hỗ trợ nhiều nền tảng nhất hiện nay mà em
thấy.  Thậm chí đây chỉ là vấn đề nhỏ khi làm hệ điều hành cho riêng
mình Việt Nam.

4) Xây dựng hệ máy riêng

Mục đích của việc xây dựng hệ máy riêng là gì?

5) Và mục đích của việc xây dựng hệ điều hành riêng là gì?

Đây mới là vấn đề quan trọng nhất.  Xong mục đích thì việc đưa đến ý
tưởng và thi hành chỉ còn là thời gian lâu hay chóng, sớm hay muộn mà
thôi.  Mỗi người đều có một ý kiến riêng, ý tưởng riêng, khi chưa
thống nhất được thì không nên bàn sâu thêm vội.

6) Nhân lực, cộng đồng, hỗ trợ, ...?

Em tin rằng nhân lực và cộng đồng không phải là vấn đề nhất.  Có người
đi trước, bước tốt thì thể nào cũng dắt được người đi sau.  Cái khó là
làm thế nào để duy trì được cộng đồng đó kia.  Nhiệt huyết và động lực
cũng cần phải dựa vào thực tế, có miếng cơm, và phải được trân trọng
nữa.

3 xu của em.

[1] http://en.wikipedia.org/wiki/Human%E2%80%93computer_interaction

[2] http://www.over-yonder.net/~fullermd/rants/bsd4linux/01

-- 
Dương "Yang" Hà Nguyễn
Web log: http://cmpitg.wordpress.com/
"Life is a hack"

[ Do not send me M$ Office attachments, please.
  http://www.gnu.org/philosophy/no-word-attachments.html ]

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GIT/C/ED/L d++ s-:-(:) !a C+++(++++) ULU++++>$ P-- L+++>$ E+++
W++>+++ N+ o+ K w--- O- M@ V- PS+ PE++ Y+>++ PGP++ t+ 5 X+ R-
tv+ b+++ DI+++ D++ G+++ e* h* r* y-
-----END GEEK CODE BLOCK-----
_______________________________________________
POST RULES : http://wiki.hanoilug.org/hanoilug:mailing_list_guidelines
_______________________________________________
HanoiLUG mailing lists: http://lists.hanoilug.org/
HanoiLUG wiki: http://wiki.hanoilug.org/
HanoiLUG blog: http://blog.hanoilug.org/

Trả lời cho