• Chủ Nhật, 07/12/2014 14:38 (GMT+7)

    Dự án nguồn mở Node.js bị tách đôi

    Bùi Lê Duy
    (PCWorldVN) Node.js là công cụ phổ biến và có tầm ảnh hưởng rộng trong cộng đồng các nhà phát triển để tạo và chạy các dịch vụ internet hiện đại. Nay công cụ này chia ra làm 2 phiên bản.

    Hôm 2/12 vừa qua, vài nhà phát triển tiền thân của Node.js đã tách mã nguồn của dự án nguồn mở này ra để tạo một phiên bản mới với tên gọi Io.js. Nhóm này không hài lòng với nhà tài trợ chính thức của Node là công ty điện toán đám mây Joyent, nên họ chọn cách tách và đưa ra phiên bản khác cho riêng mình.

    Việc tách đôi Node.js cho thấy sự căng thẳng tồn tại giữa nhà tài trợ và những người thực hiện dự án nguồn mở này, và có nhiều nhà lập trình và doanh nghiệp đang sử dụng nó, giúp củng cố vị thế của nó.

    Công ty Docker ủng hộ cho Node.js hướng đến điện toán đám mây, giúp nó phổ biến trong 1 năm rưỡi qua, cũng than phiền công ty tài trợ cho dự án này đã đi quá xa so với mục đích ban đầu của Node.js và Docker quay sang ủng hộ để tạo ra dự án Io.js mới.

    Node.js sẽ được tách ra một bản khác có tên dự kiến là Io.js.

    Những doanh nghiệp kinh doanh phần mềm dựa trên Node.js có thể tận dụng thời cơ này để công bố mã nguồn phần mềm của họ, đưa ra bản miễn phí nhằm khuyến khích người sử dụng thử nghiệm và đóng góp mã nguồn. Nhưng để cân bằng nhu cầu của họ cùng với mong muốn của các nhà phát triển bên ngoài và người dùng không phải là điều dễ dàng. Joyent có thể xem là người dùng chính của Node, họ có những yêu cầu riêng cho nền tảng này nhưng họ cũng được nhiều mặt lợi khi cộng đồng đón nhận Node rộng rãi và có nhiều công ty phần củng cố cho Node. Bí quyết ở đây là họ giữ cho mọi người đều cảm thấy hài lòng. Nhưng đến nay, có vẻ Joyent đang gặp rắc rối về việc này.

    Câu hỏi là liệu việc chia tách này sẽ giúp mở rộng hơn nữa độ phủ của Node với các công ty và nhà phát triển trên toàn cầu hay không. Đó là câu hỏi quan trọng. Node là một trong nhiều môi trường lập trình có tuổi đời còn trẻ, và những môi trường này đang thay đổi cách mà các nhà phát triển tạo ra ứng dụng. Node trở nên rất phổ biến từ khi nó xuất hiện cách nay 5 năm, và đến nay, nó là nền tảng cho một vài phần mềm cực kỳ quan trọng ở vài chục doanh nghiệp, trong đó có những tập đoàn lớn như GE, Walmart cho tới những doanh nghiệp công nghệ như LinkedIn, Rdio và Uber.

    Bóc tách

    Node do nhà phát triển Ryan Dahl đưa ra để tạo và chạy ứng dụng trực tuyến trên JavaScript, là ngôn ngữ lập trình chuẩn để viết mã chạy được trên trình duyệt. Các nhà phát triển yêu thích nó bởi vì nó cho họ dùng một ngôn ngữ đơn giản và có thể chạy ứng dụng trên trình duyệt lẫn trên máy chủ từ xa, lấy dữ liệu vào trình duyệt. Hơn nữa, nó rất hợp để tạo ứng dụng để có thể tiếp nhận cùng lúc nhiều người dùng chạy được, như là game trực tuyến.

    Ryan Dahl, nhà lập trình đưa ra nền tảng Node.js.

    Năm 2009, Joyent thuê Dahl, yêu cầu ông tiếp tục phát triển dự án này và yêu cầu có được quyền sở hữu tên Node. Ba năm sau, Dahl không làm trưởng dự án này nữa và không còn đăng đàn trước công chúng.

    Dự án này vẫn tiếp tục mà không có sự hiện diện của ông. Vài nhà phát triển từ nhiều công ty khác nhau lao vào phát triển nền tảng này. Nhưng Rogers cho biết trong năm vừa qua, số lượng đóng góp mã nguồn từ cộng đồng và số lượng các bản cập nhật do Joyent đưa ra giảm đều.

    Đó là nguyên do chủ yếu khiến nhóm Io.js gồm 4 trong 5 thành viên lớn nhất của dự án Node cũ quyết định tách Node ra. Đến nay, dự án này vẫn giống với phiên bản cũ của Joyent nhưng các nhà phát triển dự định sẽ tung ra bản chỉnh sửa mới của riêng mình vào đầu năm sau, trong đó có cập nhật phiên bản nguồn mở engine JavaScript, V8.

    Nhưng Giám đốc công nghệ tại Joyent là ông Bryan Cantrill cho rằng Node vẫn tồn tại và phát triển tốt, mặc dù tốc độ phát triển chậm hơn trước. Ông này cho rằng Joyent tập trung làm cho Node trở nên nhanh hơn, ổn định hơn, chứ không thêm tính năng mới.

    Một tổ chức mới

    Không cần thiết để Rogers đổ tội cho Yoyent về các vấn đề của dự án cũ. Nhưng đội ngũ Io.js cho rằng cách tốt nhất để giải quyết những vấn đề ấy là tạo ra một tổ chức mới, độc lập và không bị chi phối bởi bất kỳ công ty nào. Nhưng đội của Rogers chưa vội vã thành lập tổ chức nào mới bởi vì họ vẫn hy vọng Joyent sẽ cho họ sử dụng lại thương hiệu Node.js.

    Một tổ chức mới sẽ khiến cho cộng đồng có nhiều ý kiến và xu hướng mới. Nhiều công ty, trong đó có NPM, NodeSource và Strongloop, phụ thuộc vào Node, và nhiều thành viên của đội Io.js làm việc cho các công ty đó. Và vài dự án trong số những dự án nguồn mở được cộng đồng sử dụng nhiều nhất lịch sử đang do những tổ chức độc lập sở hữu, không phải do công ty nào cả, như web server Apache, nền tảng thu gọn dữ liệu Hadoop và hệ điều hành Linux.

    Nhưng nếu tiếp cận dự án nguồn mở theo kiểu một công ty độc lập sở hữu như Joyent và Docker trong vài năm qua trở nên phổ biến hơn, khi mà phần mềm nguồn mở được thế giới doanh nghiệp tiếp nhận rộng hơn trước, và đôi khi mô hình kiểu này lại vận hành rất thành công. Những framework lập trình nổi tiếng và được sử dụng rộng rãi như Ruby on Rails vẫn được một công ty độc lập tạo ra và tài trợ là Basecamp.

    Joyent cố tạo ra Node toàn diện hơn bằng cách áp dụng quy trình chỉ cập nhật tính năng nào mới nào được nhiều người nhất trí nên họ vừa tạo ra một ban cố vấn gồm nhiều nhà phát triển bên ngoài công ty. Nhưng đối với nhiều người, ban cố vấn này xuất hiện quá trễ.

    Nguồn: Wired