Phần mềm nguồn mở và chủ nghĩa xã hội

Bài viết này Why We Chose Vue.js ví von tếu thật: Nếu như Backbone là vô chính phủ (không ai lãnh trách nhiệm), Angular là chế độ độc tài thì Vue.js là chủ nghĩa xã hội.

Nói tới sự tương quan giữa phần mềm và chính trị mới nhớ, phong cách của phần mềm nguồn mở giống như chủ nghĩa xã hội: làm theo năng lực, hưởng theo nhu cầu. Bạn viết phần mềm với một tâm thế không mong cầu lợi nhuận (mặc dù phần mềm nguồn mở vẫn trả lại lợi ích cho bạn một cách gián tiếp), bạn viết phần mềm rồi quăng mã nguồn ra cho cộng đồng, ai thích xài thì xài, ai thấy cần cải tiến thì cứ việc sửa trên mã nguồn đó rồi lại đóng góp trở lại cho cộng đồng. Mà khi bạn cho không phần mềm cho cộng đồng, không có nghĩa là bạn quăng ra cái đống bùi nhùi cẩu thả. Các dự án phần mềm nguồn mở đều đặt chất lượng và tính cộng tác lên hàng đầu, nên code phải viết cẩn thận sạch sẽ, test tiếc cẩn thận, tài liệu rõ ràng đầy đủ. Phần mềm nguồn mở không bị áp đặt về thời hạn hoàn thành nên không có lý do gì để rút ngắn công đoạn.

Phần mềm nguồn mở đã trở thành một dòng chảy, một xu thế không thể cưỡng lại. Những cái tên quen thuộc như Chromium (lõi của Chrome và Cốc Cốc), Firefox, Android, UniKey, Java, Python, NodeJS, MySQL... đều là phần mềm nguồn mở. Microsoft trước kia là "thế lực thù địch", từng cố gắng thuyết phục khách hàng tránh xa phần mềm nguồn mở bằng câu nói "Linux là cộng sản" (vâng, đây gọi là sự "tự do tư tưởng" của nền chính trị Mĩ, khi gắn vào đầu người dân một mặc định "cộng sản là thứ xấu xa"). Thế nhưng 2 - 3 năm gần đây Microsoft đã chuyển hướng về phía phần mềm nguồn mở một cách mạnh mẽ và đóng góp nhiều vào các dự án khác nhau.

Cũng giống như phong trào CNXH ngoài đời thực, khi một số quốc gia tự xưng CNXH lại có màu sắc "độc tài" trong đó, thì một số dự án phần mềm nguồn mở lớn cũng xoay quanh những "nhà độc tài", mà các lập trình viên trong đó gọi vui là "Benevolent Dictator For Life", như Linux, Python.

Linux Commie

Trong số các cty đóng góp cho phần mềm nguồn mở, có lẽ Google là hào phóng nhất. Hai bộ phần mềm nổi tiếng Chromium, Android gắn với cái tên Google, ngoài ra còn những cái tên mà dân lập trình mới biết như V8 JavaScript Engine, VP8 video codec, AngularJS... Hàng năm, Google còn bỏ tiền trả lương cho các sinh viên, học sinh tham gia phát triển phần mềm nguồn mở trong các cuộc thi Google Summer of Code, Google Code-In. Điều đáng lưu ý là những phần mềm được phát triển trong cuộc thi đều không liên quan gì đến Google.