Công Bố Phiên Bản Skynet 1.0.0 RC
Đã trì hoãn quá lâu, cuối cùng chúng tôi cũng quyết định đóng gói phiên bản 1.0.0 của Skynet. So với kế hoạch ban đầu, bản phát hành này đã chậm mất nửa năm trời, dù sao cũng đã khởi động dự án trong năm 2015. Thực tế, chúng tôi đã không thay đổi các tính năng hiện tại trong thời gian dài lắm rồi. Nếu bạn tham gia dự án từ phiên bản alpha 1.0 vào tháng 3 năm nay thì việc nâng cấp lên phiên bản mới nhất hiện tại sẽ không gặp nhiều khó khăn. Trong vài tháng gần đây, thay vì bổ sung tính năng mới, chúng tôi thậm chí còn đang lược bỏ một số thành phần ít người dùng (vì lý do tương thích, các API này đã được tách ra thành các module độc lập để dễ dàng gỡ bỏ sau này).
Theo thông tin tôi nắm được, Skynet hiện đã được ứng dụng trong hơn 10 dự án thương mại (kể cả những dự án ngoài lĩnh vực game), và nhận được phản hồi tích cực từ cộng đồng. Dự án giờ đây không còn là công cụ nội bộ riêng của công ty chúng tôi nữa - việc liên tục nhận được các yêu cầu pull từ nhiều nhà phát triển chứng tỏ mọi người không chỉ sử dụng mà còn nghiêm túc nghiên cứu, cải thiện mã nguồn để biến Skynet thành dự án thật sự minh bạch. Điều này khẳng định quan điểm của tôi về giá trị cốt lõi của phần mềm mã nguồn mở: Dưới ánh sáng công chúng, bug sẽ không còn nơi trốn ẩn.
Chính công ty chúng tôi cũng thừa hưởng nhiều lợi ích từ việc mở nguồn Skynet. Có không ít lần, các bug được cộng đồng phát hiện và sửa chữa kịp thời trước khi chúng trở thành vấn đề nghiêm trọng. Tiếc rằng vẫn có một số dự án chậm cập nhật khiến cho lỗi đã được khắc phục từ lâu trên nhánh chính lại vẫn phát sinh trong thực tế. Những sự cố này càng chứng minh rõ hơn vai trò của cộng đồng trong việc nâng cao chất lượng phần mềm.
Việc công bố phiên bản 1.0.0 RC lần này với thông báo đặc biệt nhằm kêu gọi những nhà phát triển đang ứng dụng Skynet, đặc biệt là các nhóm đã triển khai dự án lên sản phẩm thực tế, hãy tận dụng khoảng thời gian còn lại để phản hồi các vấn đề tồn đọng thông qua hệ thống issue hoặc pull request. Đừng để phải nuối tiếc khi phiên bản 1.0.1 ra đời.
Tôi dự kiến sẽ duy trì nhãn RC trong vòng 1 tháng, và đổi thành phiên bản chính thức trước Tết Nguyên đán. Với những bạn còn chần chừ vì Skynet đã gắn mác alpha quá lâu (thực tế đã chuyển sang beta được một tháng rồi), hy vọng việc đổi nhãn này sẽ xóa tan nghi ngờ của bạn. Dù cá nhân tôi không cho rằng chất lượng mã nguồn sẽ thay đổi đột biến chỉ vì thay đổi nhãn hiệu.
Đồng thời, mong các bạn đừng tiếp tục đặt những câu hỏi kiểu: “Thật sự có dự án nào dùng Skynet không?” hay “Skynet có tài liệu hướng dẫn không?”.
Đặc biệt với câu hỏi thứ hai, thật lòng mà nói, tôi cảm thấy mệt mỏi khi phải trả lời những người thậm chí không bother đọc README. Skynet không chỉ có phần FAQ đầy đủ, mà còn sở hữu kho tài liệu tiếng Trung được cập nhật thường xuyên. Xin hãy dành vài phút đọc README và theo dõi các liên kết dẫn tới wiki. Những bạn còn hỏi “Skynet có tài liệu không?” khiến tôi nghi ngờ rằng ngay cả khi đặt bộ tài liệu trước mắt, các bạn cũng khó mà đọc hết nổi - lúc đó tài liệu cũng chỉ là vật trang trí.
Tính ra từ ngày bắt đầu viết dòng code đầu tiên vào tháng 7/2012, đến nay Skynet đã trải qua hơn 3 năm kể từ khi công bố mã nguồn vào tháng 8/2012. Một dự án nhỏ nhưng có lịch sử phát triển dày đặc, với hàng loạt dự án thương mại vận hành song hành trong suốt quá trình đó. Vì lý do tương thích ngược, chắc chắn sẽ có nhiều điều khiến chúng tôi tiếc nuối. Có lẽ đúng như lời đồn Linus Torvalds từng nói: “Bạn phải làm một dự án tới hai lần mới hiểu rõ cách làm đúng đắn.”
Tôi không biết liệu có cơ hội nào để xây dựng lại Skynet 2.0 (hiện tại chưa có bất kỳ kế hoạch nào), thay đổi các thiết kế sai lầm bằng những giải pháp tối ưu hơn. Ít nhất, việc thống nhất phong cách mã nguồn sẽ khiến dự án trở nên chỉn chu hơn về mặt thẩm mỹ.
Nhưng trước mắt, nhiệm vụ cấp bách nhất vẫn là: Phát hành phiên bản ổn định đầu tiên, để càng nhiều người dùng càng tốt. Càng nhiều người sử dụng, cộng đồng càng phát triển mạnh mẽ, và người mới càng thêm tin tưởng khi tiếp cận Skynet.