SheetJS có phải là nguồn mở không?

Trong một động thái đáng ngạc nhiên, dự án nguồn mở phổ biến, SheetJS hay còn gọi là "xlsx" đã ngừng hỗ trợ sổ đăng ký npm

Đã tải về khoảng 1. 4 triệu lần mỗi tuần vào npm, SheetJS được tin cậy bởi các nhà phát triển NodeJS đang tìm cách tạo và phân tích bảng tính Excel không sử dụng gì ngoài JavaScript

Người bảo trì dự án gợi ý rằng quyết định rút khỏi sổ đăng ký npm dựa trên các yêu cầu hai yếu tố mới được đưa ra đối với các dự án hàng đầu, việc ra quyết định đột ngột của GitHub và 'các vấn đề pháp lý' đang diễn ra giữa SheetJS và npm

SheetJS di chuyển ra khỏi sổ đăng ký npm

Vào ngày 14 tháng 4, người bảo trì SheetJS đã giới thiệu một thay đổi mã loại bỏ bất kỳ phần phụ thuộc npm nào được dự án sử dụng

Mọi tham chiếu URL đến miền của npm trong mã nguồn SheetJS cũng được cập nhật để sử dụng CDN của SheetJS, như BleepingComputer đã thấy

Các phiên bản tương lai của SheetJS dự kiến ​​sẽ được phát hành trên CDN của nó, cdn. trang tính. com, chứ không phải sổ đăng ký npmjs

SheetJS (còn gọi là xlsx) nằm trong số "500 gói hàng đầu" dựa trên số lượng thành phần phụ thuộc vào thư viện này

Lưu ý, gói npm 'sheetjs' chỉ là một trình giữ chỗ được SheetJS đặt trước, trong khi thư viện npm SheetJS chính thức tồn tại ở 'xlsx'

SheetJS có phải là nguồn mở không?
Dự án SheetJS, được phân phối trên sổ đăng ký npm dưới dạng 'xlsx' (npm)

Từ yêu cầu 2FA đến 'vấn đề pháp lý' đang chờ giải quyết

Động thái này của SheetJS đã khiến các nhà phát triển hoàn toàn bối rối khi mở ra một chuỗi thảo luận trên kho lưu trữ GitHub của dự án, đặt câu hỏi về động cơ

Nhà phát triển đằng sau SheetJS trích dẫn một số lý do đằng sau việc né tránh npm, bao gồm cả quyết định của cơ quan đăng ký buộc những người duy trì các dự án nguồn mở hàng đầu phải xác thực hai yếu tố

SheetJS có phải là nguồn mở không?
Nhà phát triển của SheetJS hiện bắt buộc phải thiết lập 2FA trước npm (GitHub)

Sáng kiến ​​thực thi xác thực đa yếu tố (MFA) của GitHub đã xuất hiện ngay sau sự cố chiếm quyền điều khiển năm ngoái tấn công vào các gói npm nổi tiếng như ua-parser-js, coa và rc

Các thư viện npm này, được hàng ngàn dự án và công ty dựa vào, đã bị nhiễm phần mềm độc hại vào năm 2021 sau khi những kẻ tấn công xâm phạm tài khoản npm của những người bảo trì chúng

Như vậy, cơ quan đăng ký npm do GitHub sở hữu đã thông báo vào đầu năm nay rằng các nhà phát triển của 100 gói npm hàng đầu sẽ được yêu cầu thiết lập xác thực hai yếu tố để tăng cường bảo mật cho dự án của họ, với các quy tắc tương tự được đưa ra cho các dự án đáp ứng các tiêu chí khác. Và rõ ràng, SheetJS nằm trong tiêu chí đó và phải thiết lập MFA—khiến người bảo trì không hài lòng

Một lý do khác được SheetJS trích dẫn là "các vấn đề pháp lý" đang chờ xử lý với npm.  

"Do các vấn đề pháp lý đang diễn ra giữa SheetJS LLC và npm, Inc. (điều này sẽ không được thảo luận ở đây), sẽ không hợp lý nếu tiếp tục sử dụng sổ đăng ký npm công khai để phân phối", nhà phát triển SheetJS cho biết

Cuối cùng, SheetJS tuyên bố một cách mơ hồ rằng quyết định đóng cửa git của GitHub. io Dịch vụ chuyển hướng URL chỉ với bốn ngày thông báo đã có tiếng vang về "tính phù du của Internet và những rủi ro vốn có của việc phụ thuộc vào các nền tảng. "

Và tất cả những lý do này đã gây ra nhiều nhầm lẫn giữa các nhà phát triển, những người hiện đang suy đoán, lý do thực sự đằng sau việc bỏ npm có thể là gì

"Danh sách gói 500 NPM hàng đầu, 1. 26 triệu lượt tải xuống mỗi tuần, hơn 3000 gói phụ thuộc và thậm chí không được đề cập trong README về thực tế là sự phát triển đang diễn ra cho gói này sẽ không còn tồn tại trong nền tảng thư viện JS lớn nhất trên hành tinh (sau 8 năm)" nhận xét

Một số gọi lý do của SheetJS là "kỳ lạ", trong khi những người khác ủng hộ rằng những người bảo trì nguồn mở được tự do làm bất cứ điều gì họ muốn với sáng tạo của họ, nhưng có thể có những cảnh báo

"Những người duy trì các dự án OSS không nợ mọi người bất cứ điều gì, nhưng tất cả những gì tôi có thể nói là bạn không nên ngạc nhiên khi mọi người (bao gồm cả khách hàng trả tiền của bạn) xem xét toàn bộ điều này và quyết định rẽ nhánh dự án hoặc chuyển sang

"Bởi vì theo thống kê, npm có nhiều khả năng tồn tại hơn 5 năm kể từ bây giờ so với CDN cá nhân của bạn," Romich tiếp tục

Một người dùng Reddit phỏng đoán rằng quyết định táo bạo của SheetJS có thể không liên quan gì ngoài việc kiện tụng đang chờ giải quyết giữa hai bên

"Tôi đoán là họ không muốn đầu tư một xu thời gian của nhà phát triển vào việc giúp đỡ một công ty (npm) mà họ đang kiện tụng," người dùng viết

Người dùng Reddit cũng trở nên phân cực về việc liệu xác thực hai yếu tố bắt buộc có áp đặt thêm rào cản cho nhà phát triển hay không và liệu cuối cùng thì sự đánh đổi giữa bảo mật và sự tiện lợi có hợp lý hay không

BleepingComputer đã liên hệ với GitHub (npm) và SheetJS để hiểu rõ hơn những vấn đề pháp lý đòi hỏi. Tại thời điểm này, chúng tôi chưa thấy bất kỳ tài liệu kiện tụng công khai nào. Bài đăng này sẽ được cập nhật khi chúng tôi có thêm thông tin

Thư viện SheetJS là gì?

SheetJS là thư viện JavaScript cho phép phân tích cú pháp và viết các định dạng bảng tính khác nhau, bao gồm xlsx của Excel .

SheetJS chuyên nghiệp là gì?

SheetJS Pro cung cấp các giải pháp ngoài xử lý dữ liệu . Chỉnh sửa các mẫu phức tạp một cách dễ dàng; .

Bảng tính trong JavaScript là gì?

Các thành phần bảng tính JavaScript là các thành phần phần mềm giúp nhà phát triển thêm chức năng giống như Excel vào các ứng dụng web . SpreadJS là một bộ điều khiển bảng tính JavaScript bao gồm nhập/xuất, nhập dữ liệu, tùy chỉnh ô và một công cụ tính toán mở rộng với hơn 500 chức năng.