Một phần Internet đã bị gián đoạn do 11 dòng lệnh bị xóa

Dường như bạn đã không phát hiện ra một điều gì bất thường, nhưng vào ngày 22-3, rất nhiều phần mềm trên Internet đã gần như bị đổ vỡ khi một lập trình viên do giận dữ đã quyết định gỡ xuất bản tất cả đoạn mã của mình từ hệ thống npm, một hệ thống quản lý gói được dùng phổ biến cho các ứng dụng viết bằng nodejs.

Việc gỡ xuất bản một đoạn mã lệnh trên Internet có vẻ không phải là một việc gì to tát, nhưng đoạn mã được xóa là của anh Azer Koçulu, một lập trình viên 28 tuổi đến từ Oakland, bang California, Mỹ, đã được sử dụng rất phổ biến, trong đó có các công ty rất nổi tiếng như Facebook, Netflix và Airbnb.

Sự việc sau đó đã được khắc phục và đối với hầu hết người dùng đều không bị ảnh hưởng là do công nghệ vùng đệm (cache), và chúng ta đã gần như không phát hiện ra điều gì bất thường.

Nhưng đối với các nhà lập trình thì nó dường như là một cơn ác mộng khi hàng nghìn dự án phần mềm biên dịch bị lỗi theo từng giây. Một nhà lập trình viên đã viết trên blog của github vào lúc đó rằng “Đây là một dạng Internet bị đổ vỡ”.

Trong các phần mềm mà anh Koçulu viết trên npm có mô-đun “left-pad” với 11 dòng mã lệnh được sử dụng rất phổ biến trong rất nhiều dự án phần mềm. Chỉ riêng tuần vừa qua, mô-đun này đã có hơn hơn 575.000 lượt tải về và tháng trước có hơn 2,5 triệu lượt tải về.

Mô-đun “left-pad” với 11 dòng mã lệnh.

Theo anh Koçulu, sự việc bắt đầu khi luật sư của Kik đã khiếu nại về tên của một trong những mô-đun của anh trên npm có tên trùng với ứng dụng nhắn tin Kik. Luật sư Kik yêu cầu anh xóa nó khỏi npm.

Anh Koçulu cho biết: “Câu trả lời của tôi là không”.

Luận sư của Kik đã tiếp cận với CEO của npm là ông Isaac Schlueter và yêu cầu thay đổi tên. Theo anh Koçulu thì với trước sự đe dọa có những hành động pháp lý, ông Schlueter đã đồng ý thay đổi quyền sở hữu mô-đun này mà không được phép của anh.

Đáp lại, anh Koçulu đã gỡ xuất bản tất cả các gói phần mềm của anh trên npm và mô-đun “left-pad” cũng bị gỡ bỏ theo.

Khi hàng nghìn gói phần mềm bị đổ vỡ, npm đã thực hiện một việc làm chưa từng có tiền lệ là “un-un-publishing” (tái xuất bản) một mô-đun, Laurie Voss, Giám đốc Kỹ thuật và là đồng sáng lập npm, cho biết.

Ông Voss viết “Hành động này là vì lợi ích của cộng đồng rộng lớn người dùng npm thay vì mong muốn của một tác giả. Ngay trong nội bộ npm, chúng tôi không cho rằng đây là một hành động đúng, nhưng tôi không thể ngồi nhìn hàng trăm lần biên dịch ứng dụng bị lỗi mỗi giây mà không có cách khắc phục.”.

Anh Voss cho biết việc làm này đã khiến hàng nghìn dự án phần mềm không bị lỗi và anh đã có thể ngủ ngon.

Theo chuyên gia lập trình Steve Klabnik thì npm không cho phép tái xuất bản một mô-đun đã bị gỡ. Anh Koçulu đã đề xuất cho phép chuyển bất kỳ mô-đun nào của anh cho bất kỳ tình nguyện viên nào cũng có thể sở hữu nó trên GitHub.

Anh Mike Roberts, người phụ trách công ty có ứng dụng nhắn tin Kik, khi trả lời phỏng vấn đã cho biết anh rất lấy làm tiếc vì đã không liên hệ được anh Koçulu ngay từ đầu. Theo anh Roberts thì “Theo quan điểm của tôi, mã nguồn mở là cộng đồng để cùng giúp đỡ lẫn nhau”.

Nguồn Báo Nhân Dân Online