Độc lạ

Lập trình viên suýt xóa sổ Internet chỉ bằng 11 dòng mã

Chymmee
Câu chuyện thật như đùa này đã từng khiến giới lập trình một phen hoảng loạn vào năm 2016, khi một lập trình viên đã gần như đánh sập mạng lưới Internet chỉ với 11 dòng mã ngắn ngủi.

Sự việc bắt đầu với bộ mã tên Kik, được thực hiện bởi một lập trình viên tên Azer Koçulu. Đây là chương trình bổ sung cho ngôn ngữ lập trình Node.js. Azer đã đưa Kik lên NPM, một App store phiên bản dành cho các lập trình viên. Tại đây, họ sẽ tìm những chức năng mà họ muốn, và hơn hết, hy vọng sẽ tìm được một module làm việc thay họ.

Lập trình viên suýt xóa sổ Internet chỉ bằng 11 dòng mã

Kik, đồng thời cũng là tên của trang mạng xã hội nổi tiếng, sau khi biết về chương trình của Azer và đã gửi cho anh một email yêu cầu đổi tên chương trình của mình. Mặc dù yêu cầu của Kik là hợp lý, Azer vẫn không hề đưa ra động tĩnh gì.

Lập trình viên suýt xóa sổ Internet chỉ bằng 11 dòng mã

"Khi bắt đầu với Kik, tôi không hề biết rằng đã có công ty được thành lập với cái tên này. Và tôi không muốn bị ép buộc phải đổi tên chương trình của mình." Azer Koçulu viết.

Mặc dù Kik đã khẳng định lại bản quyền trên trang cá nhân, Azer kể lại rằng CEO của NPM, Isaac Schlueter đã tước quyền sở hữu chương trình của anh mà không hề có sự cho phép.

Tức giận, Azer Koçulu tuyên bố trên blog rằng anh sẽ xóa hoàn toàn bộ mã Kik khỏi NPM, và đồng thời xóa tất cả các bộ mã khác mà anh từng thực hiện.

Lập trình viên suýt xóa sổ Internet chỉ bằng 11 dòng mã

Dường như mọi người đã nhận thấy rằng chính Azer là người sáng tạo ra module npm left-pad nổi tiếng. Tuy nó đơn giản và không làm gì nhiều nhưng lại có hơn 575.000 lượt tải xuống. Khi nó biến mất, các nhà phát triển của Reddit, Twitter và nhiều website lớn đã bắt đầu để ý tới.

Công cụ như npm left-pad đơn giản chỉ giúp cho các lập trình viên không phải viết quá nhiều mã rắc rối. Nếu một người dựa vào một chương trình bất kì của NPM, điều này có nghĩa là họ chỉ cần nhập những mã cơ bản và hệ thống biên soạn của phần mềm sẽ tải xuống bộ mã khi chúng đã sẵn sàng.

Điều này hoạt động tốt gần như mọi lúc. Nhưng đôi khi các phần mềm lại dựa vào sự hoạt động của nhau quá nhiều. Mọi chuyện tất nhiên rất ổn cho tới khi npm left-pad bị gỡ xuống.

Lập trình viên suýt xóa sổ Internet chỉ bằng 11 dòng mã

Hậu quả sau đó là vô cùng khó lường. Các dự án phần mềm nổi tiếng như Babel giúp Facebook, Netflix và Spotify chạy các bộ mã nhanh hơn; hay React giúp các lập trình viên xây dựng những giao diện tốt hơn, đột nhiên không còn hoạt động và khiến cho mọi công việc bị ngừng lại. Tóm lại, đã có hơn một nghìn các dự án phần mềm bị ảnh hưởng nặng nề.

Việc khắc phục vấn đề này sẽ khiến các lập trình viên tốn rất nhiều thời gian để tách biệt những bộ mã, làm chúng hoạt động độc lập và không phải dựa vào chương trình 11 dòng nữa. Với sự phản đối của các lập trình viên từ khắp nơi trên thế giới, NPM buộc phải giao bộ mã cho một người khác.

Lập trình viên suýt xóa sổ Internet chỉ bằng 11 dòng mã

CEO của NPM, Laurie Voss chia sẻ rằng công ty không thực sự thoải mái khi bàn giao lại sản phẩm trí thức vẫn thuộc quyền sở hữu của Azer Koçulu cho người khác, nhưng ngành công nghiệp phần mềm đang bị ảnh hưởng nặng nề khi không còn nó nữa.

Sau cùng, npm left-pad đã được đưa vào sử dụng trở lại. Nhưng chấn động lần đó vẫn luôn tồn tại như một nỗi đau: "Liệu có phải chúng ta đã quên cách lập trình?" Đây chính là hồi chuông cảnh tỉnh đối với các lập trình viên khi họ không còn sử dụng trí tuệ của mình nhiều như trước và đã phụ thuộc quá nhiều vào công nghệ.

Nguồn bài: Tổng hợp