Hệ thống X Window
Lịch sử > Nguồn gốc và những phát triển ở thời kỳ đầu

Ý tưởng đầu tiên về X bắt nguồn từ MIT vào năm 1984 do sự cộng tác giữa Jim Gettys (từ Dự án Athena) và Bob Scheifler (từ Phòng thí nghiệm Khoa học Máy tính MIT). Lúc đó, Scheifler đang cần có một môi trường hiển thị có thể dùng được để soát lỗi (debug) hệ thống Argus. Dự án Athena (một dự án chung­ giữa DEC (Digital Equipment Corporation), MIT, và IBM nhằm mục đích tạo điều kiện cho tất cả các sinh viên khả năng truy cập dễ dàng các tài nguyên máy tính) cần một hệ thống đồ họa không phụ thuộc hệ nền (platform-independent) - có thể chạy trên các hệ điều hành và các cấu trúc máy khác nhau - để có thể liên kết các hệ thống đa dạng và không đồng nhất của nhiều nhà cung cấp. Hệ thống cửa sổ, lúc đó được phát triển bởi dự án Andrew tại Đại học Carnegie Mellon, không cấp giấy phép ra ngoài và tại thời điểm này không có một phần mềm nào khác có thể thay thế.
Dự án này giải quyết khó khăn trên bằng cách tạo ra một giao thức vừa có thể chạy các trình ứng đụng tại địa phương, vừa có thể sử dụng tài nguyên từ các nguồn ở xa. Vào khoảng giữa năm 1983, một bản chuyển mã đầu tiên của W cho Unix chạy chậm gấp 5 lần so với khi nó chạy trên hệ điều hành V. Đến năm 1984, Scheifler thay thế giao thức đồng bộ của W bằng giao thức không đồng bộ, và thay các danh sách hiển thị (display list - danh sách các lệnh vẽ hình đồ họa, hoặc các hình đồ họa dùng thường xuyên, để có thể dùng lại nếu cần mà không cần phải tính toán) bằng chế độ đồ họa hiển thị trực tiếp (immediate mode graphics - một chế độ trong kỹ thuật đồ họa vi tính cho phép trình ứng dụng thao tác và xử lý dữ liệu đồ họa trực tiếp trong bộ nhớ) để tạo nên phiên bản 1 của X. X trở thành môi trường hệ thống cửa sổ đầu tiên thực sự không phụ thuộc phần cứng và không phụ thuộc nhà cung cấp.
Scheifler, Gettys và Ron Newman tập trung vào việc và X tiến triển một cách nhanh chóng. Vào tháng 1 năm 1985, họ đã cho phát hành phiên bản 6. Khi đó, DEC đang chuẩn bị cho ra trị trường máy trạm Ultrix đầu tiên của mình, DEC phán đoán rằng X sẽ là hệ thống cửa sổ duy nhất có khả năng có sẵn kịp thời gian để sử dụng. Các kĩ sư DEC đã chuyển mã X6 (X phiên bản 6) sang cho hiển thị QVSS của DEC trên máy MicroVAX.
Trong quý 2 năm 1985, X đã được trang bị những hỗ trợ hiển thị màu sắc để hoạt động trên máy VAXstation-II/GPX của DEC, lập nên phiên bản 9 của X. Mặc dù MIT lúc này đã cấp giấy phép phát hành X6 cho một số nhóm bên ngoài với một lệ phí, họ quyết định cấp giấy phép cho X9 và các phiên bản trong tương lai dưới loại giấy phép mà sau này được gọi là giấy phép MIT. Phiên bản 9 của X (X9) ra đời vào tháng 9 năm 1985.
Một nhóm từ Đại học Brown chuyển mã phiên bản 9 của X cho máy IBM RT/PC (RISC Technology Personal Computer - Máy tính cá nhân Công nghệ RISC), song những vấn đề trong việc đọc dữ liệu trên RT đã buộc họ phải thay đổi giao thức một cách không tương thích, dẫn tới phiên bản 10 vào cuối năm 1985. Đến năm 1986, các tổ chức bên ngoài bắt đầu muốn lấy X. X10R2 đã được phát hành vào tháng 1 năm 1986, tiếp theo là X10R3 vào tháng 2 năm 1986. X10R3 trở thành phiên bản đầu tiên được triển khai rộng rãi khi hai công ty DEC và Hewlett-Packard phát hành các sản phẩm dựa trên phiên bản này. Các nhóm khác cũng chuyển mã X10 cho máy tính Apollo và máy trạm Sun, thậm chí cho cả máy IBM PC/AT. Ứng dụng thương mại đầu tiên của X (một hệ thống Thiết kế kỹ thuật cơ khí bằng máy tính (mechanical computer-aided engineering) chạy trên máy VAX và hiển thị trên PC với trình phục vụ X) đã được trình diễn tại triển lãm thương mại Autofact. Phiên bản cuối của X10, X10R4 ra đời vào tháng 12 năm 1986.
Mặc dù X10 cung cấp nhiều chức năng hay và mạnh, nhưng người ta đã thấy rằng đáng ra giao thức X đã có thể được thiết kế lại với tính trung lập phần cứng (hardware-neutral) cao hơn, trước khi nó được triển khai quá rộng rãi; nhưng một mình MIT không có đủ tài nguyên cho một cuộc thiết kế lại hoàn toàn như vậy. Tại thời điểm đó, Phòng thí nghiệm phần mềm miền Tây (Western Software Laboratory - viết tắt là WSL) của DEC đang bận với nhiều dự án. Smokey Wallace, lúc đó đang làm việc tại phòng thí nghiệm trên và Jim Gettys đề xuất rằng DEC WSL sẽ xây dựng X11 và làm cho nó trở thành phần mềm tự do sẵn có cho người dùng, dưới cùng các điều khoản về giấy phép tương tự như X9 và X10. Công trình được bắt đầu từ tháng 5 năm 1986, và đến tháng 8 thì giao thức đã được hoàn tất. Thử nghiệm Alpha của phần mềm được bắt đầu vào tháng 2 năm 1987, thử nghiệm Beta được bắt đầu vào tháng 5, và cuối cùng X11 được phát hành ngày 15 tháng 9 năm 1987.
Công trình thiết kế giao thức X11, được chỉ đạo bởi Scheifler, đã được bàn luận rất sôi nổi trên các danh sách thư mở trên mạng Internet mà lúc đó vẫn còn non trẻ. Do đó, X đại diện cho những dự án phần mềm tự do quy mô lớn đầu tiên.