Một lập trình viên trong cơn tức giận vừa "hủy diệt" Internet chỉ bằng 11 dòng code

Đây là một câu chuyện hy hữu xoay quanh cơn giận dữ của một lập trình viên, các tranh chấp bản quyền và hé lộ cách hoạt động của nhiều ông lớn công nghệ.

Trong tuần này, một lập trình viên trong cơn nóng giận đã gián tiếp làm gián đoạn một loạt phần mềm có vai trò sống còn cho nhiều đại gia Internet bằng cách xóa một chương trình đơn giản chỉ gồm 11 dòng code.

Mọi chuyện bắt đầu với một lập trình viên tên là Azer Koçulu, người đã viết một đoạn code không có gì đặc biệt gọi là Kik dựa trên ngôn ngữ lập trình phổ biến Node.js. Koçulu đã đưa module Kik lên NPM, một nền tảng giống như chợ ứng dụng đối với các lập trình viên bằng ngôn ngữ Node.js, để họ có thể tải xuống miễn phí và sử dụng tùy ý.

Một Kik khác

Kik, một mạng xã hội nổi tiếng cùng tên đã chú ý đến sự việc trên và gửi email cho Koçulu, yêu cầu anh phải đổi tên module của mình. Theo thú nhận của Koçulu trên một đoạn blog, yêu cầu ban đầu của Kik là hợp lý. Tuy nhiên, Koçulu lại chẳng thèm đếm xỉa đến yêu cầu này.

"Khi tôi bắt đầu viết code cho Kik, tôi chẳng hay biết có một công ty cùng tên. Và không ai có thể bắt tôi phải đổi tên đứa con của mình", Koçulu ngạo nghễ viết.

Một lập trình viên trong cơn tức giận vừa hủy diệt Internet chỉ bằng 11 dòng code
Koçulu xóa bỏ Kik khỏi NPM cùng các đoạn các đoạn code khác vĩnh viễn.

Mặc dù Koçulu giữ bản quyền của Kik, CEO của NPM, Isaac Schlueter, đã tước quyền sở hữu của anh đối với module trên mà không hỏi ý kiến. Tức giận, Koçulu tuyên bố trên blog rằng anh sẽ xóa bỏ Kik khỏi NPM vĩnh viễn, cùng với các đoạn code khác của anh.

Vấn đề là tuy Koçulu đã tạo ra một module NPM bình thường và cơ bản nhưng lại rất phổ biến gọi là "npm left-pad". Đó là 11 dòng code dài và thực sự không có gì phức tạp nhưng đã được tải xuống 575.000 lần. Và khi nó biến mất, các lập trình viên của Reddit, Twitter và nhiều nơi khác đã thấm đòn ngay tức khắc.

Hiệu ứng domino

Mọi chuyện đã trở nên lộn xộn như thế nào?

Một module kiểu như npm left-pad về cơ bản có tính năng giống như một phím tắt để lập trình viên không phải viết một đống code lằng nhằng và dựa trên đó để phát triển phần mềm nhanh hơn. Nếu một lập trình viên dùng NPM module, điều này đồng nghĩa với việc "viết đoạn code này sau" và người viết phần mềm chỉ cần tải đoạn code này xuống khi thích hợp.

Mặc dù việc phát triển phần mềm theo quy trình này tương đối thuận tiện, nó đã tạo ra một hệ thống domino nguy hiểm. Một module Node.js được phát triển dựa trên một module khác, module này lại được phát triển dựa trên một module khác nữa. Cứ thế, mọi chuyện vẫn hoạt động bình thường cho đến khi npm left-pad bị xóa xổ.

Một lập trình viên trong cơn tức giận vừa hủy diệt Internet chỉ bằng 11 dòng code
Npm left-pad bị xóa xổ dẫn đến một loạt phần mềm bị gián đoạn và không thể hoạt động.

Bùm, cả chuỗi domino đã sụp đổ. Các dự án phần mềm phổ biến như Babel, giúp Facebook, Netflix, và Spotify chạy code nhanh hơn, và React, giúp các nhà phát triển phần mềm xây dựng giao diện tốt hơn, đột nhiên bị gián đoạnkhông thể hoạt động được nữa. Tổng cộng, hơn 1000 dự án phần mềm đã bị ảnh hưởng.

Khắc phục vấn đề này đòi hỏi các lập trình viên phải loại bỏ sự phụ thuộc dây chuyền trên và đảm bảo rằng không còn thứ gì bị ràng buộc với 11 dòng code ngớ ngẩn kia nữa.

Và vì thế, trước sự hoảng loạn của các nhà phát triển phần mềm trên toàn thế giới, NPM đã buộc phải có giải pháp gỡ bỏ sự ràng buộc giữa các module lập trình và đưa ra hệ thống sở hữu bản quyền tách biệt hơn.

Sau tất cả, cơn bão đã chấm dứt, và npm left-pad đã hoạt động trở lại. Nhưng những vết thương do nó gây ra thì vẫn còn nhức nhối. Có người đã tự hỏi "Phải chăng chúng ta đã quên cách lập trình rồi ư?" và hối thúc các lập trình viên xem xét lại quy trình phát triển ứng dụng của mình.

Koçulu thì nói rằng "Mặc dù tôi cảm thấy có lỗi vì đã làm ảnh hưởng đến công việc của nhiều người, điều tôi làm thực ra lại có lợi cho cộng đồng trong dài hạn. NPM sẽ không còn duy trì được sự độc quyền trong cộng đồng phần mềm nữa".

  • Nhà lập trình máy tính đầu tiên trên thế giới
  • 9 ngôn ngữ lập trình "xưa nhưng không cũ"
  • 10 lập trình viên ảnh hưởng lớn đến thế giới công nghệ hiện đại
Loading...
TIN CŨ HƠN
Phi hành gia cuối cùng từng đặt chân lên Mặt Trăng qua đời

Phi hành gia cuối cùng từng đặt chân lên Mặt Trăng qua đời

Eugene Cernan, phi hành gia đặt chân lên Mặt Trăng trong sứ mệnh chinh phục cuối cùng của Mỹ, vừa qua đời ở tuổi 82.

Đăng ngày: 17/01/2017
Giáo sư 8X Việt nhận 9 bằng sáng chế của Mỹ

Giáo sư 8X Việt nhận 9 bằng sáng chế của Mỹ

Trong 3 năm công tác tại ĐH Colorado Denver, giáo sư Vũ Ngọc Tâm sở hữu 9 bằng sáng chế của Mỹ và được trao nhiều giải thưởng tại các hội nghị công nghệ.

Đăng ngày: 14/01/2017
Feng Zhang - một trong những nhà khoa học xuất sắc nhất thế giới đương thời

Feng Zhang - một trong những nhà khoa học xuất sắc nhất thế giới đương thời

Những khám phá của anh trong khoa học sẽ là sự khởi đầu cho một kỷ nguyên mà con người có thể chữa trị mọi bệnh tật, mọi nỗi khổ đau: từ chứng tự kỷ, tâm thần phân liệt cho đến mù lòa và cả ung thư.

Đăng ngày: 08/01/2017
Siêu kính viễn vọng nhìn ngược 13,5 tỷ năm thử nghiệm thất bại

Siêu kính viễn vọng nhìn ngược 13,5 tỷ năm thử nghiệm thất bại

Chiếc kính viễn vọng vũ trụ lớn nhất và mạnh nhất thế giới gặp sự cố trong thử nghiệm mới nhất về độ rung.

Đăng ngày: 06/01/2017
Donald Henderson - Người bảo vệ hàng triệu sinh mạng trong thế kỷ 21

Donald Henderson - Người bảo vệ hàng triệu sinh mạng trong thế kỷ 21

Tất cả những đứa trẻ sinh ra sau năm 1977, thụ hưởng một chương trình tiêm chủng thời thơ ấu, đều nợ Henderson một điều gì đó.

Đăng ngày: 31/12/2016
Chàng trai tìm ra chất kháng tế bào ung thư tuyến tụy từ ong dú

Chàng trai tìm ra chất kháng tế bào ung thư tuyến tụy từ ong dú

Nếu không có sự tìm tòi của Nguyễn Xuân Hải (29 tuổi), đang là giảng viên chuyên ngành hóa dược, ĐH Khoa học tự nhiên, ĐH Quốc gia TP.HCM và người thầy của mình, loài ong dú chưa được gọi tên ở Việt Nam.

Đăng ngày: 30/12/2016
Nhà phát minh

Nhà phát minh "khủng" nhất thế giới với 3.500 bằng sáng chế

Ông Yoshiro Nakamatsu đã có bản quyền của hơn 3.500 sáng chế, gấp 3 lần so với 1.093 bằng sáng chế của nhà phát minh vĩ đại Thomas Edison.

Đăng ngày: 29/12/2016
Tiêu điểm
Khoa Học News