Phần mềm nguồn mở giữa một dư luận thiếu hiểu biết nhưng thích chửi bới

Gần đây rộ lên vụ lùm xùm của app Visafe. Lúc đầu mình không quan tâm lắm, nhưng càng ngày càng thấy nhiều người truyền bá tư tưởng sai lệch về phần mềm nguồn mở nên mình nghĩ phải viết bài này thôi, không thì họ bôi vẽ phần mềm nguồn mở thành một thứ gì đó ích kỷ mất.

Trước tiên, để biết mình có đủ kiến thức để bàn về vấn đề này không thì mình xin giới thiệu, mình theo con đường phần mềm nguồn mở khá lâu rồi (từ 2010 - 2012 gì ấy), thậm chí là một trong số ít những lập trình viên VN đi theo con đường này, đến nỗi nhiều khi cảm thấy mình hơi lẻ loi và khác người. Bản thân mình đã đóng góp code cho hàng chục dự án phần mềm nguồn mở, và các sản phẩm cá nhân của mình cũng đều mở mã nguồn ra hết (https://github.com/hongquan). Mình thậm chí còn có dăm dòng code đóng góp cho sản phẩm của Google và từng được Google gửi thư mời đến dự một hội nghị về phần mềm nguồn mở do Google tổ chức (nhưng chuyến đi đó không thành vì rớt visa).

Ý kiến mà người ta chửi về Visafe là "ăn cắp, sao chép", cho rằng việc "sao chép, đổi tên" là một hành vi xấu xa. Nhưng hỡi ôi, phần mềm gốc mà Visafe sao chép là Adguard, là một phần mềm nguồn mở cơ mà. Trái với quan niệm và tư duy "đóng" của nhiều người, việc "sao chép, sửa đổi" trong phần mềm mã nguồn mở lại là hành vi được khuyến khích. Khuyến khích nên mới mở. Sau khi sao chép, sửa đổi thì bản phái sinh đó cũng phải được mở, công khai để người khác có thể tùy ý sao chép, sửa đổi nó và duy trì mãi. Cho nên tội lỗi của Visafe có hay không là ở việc họ có mở mã nguồn ra trước khi bị tác giả của Adguard "bóc phốt" hay không. Khi phần mềm được "mở mã nguồn", nó được phát hành theo một giấy phép phần mềm nguồn mở cụ thể nào đó, như GPL, Apache, MIT v.v... Trách nhiệm của người sao chép mã nguồn đó như thế nào là tùy theo giấy phép đó quy định. Chẳng hạn giấy phép GPL yêu cầu bản phái sinh cũng được phát hành theo cùng giấy phép GPL. Các giấy phép "thoáng" hơn như Apache, MIT, BSD thì cho "mày muốn làm gì cũng được, miễn là mày ghi tên tao, người làm phần mềm gốc, và ghi nhận tên phần mềm gốc".

Liên quan đến việc "ghi nhận phần mềm gốc" này, mình nhớ ngày xưa có vụ dư luận chỉ trích "Cốc Cốc" (tên cũ là "Cờ Rôm Cộng") vì sao chép Chromium, nhái tên Chrome và thậm chí để lọt tên Chromium trong hộp thoại giới thiệu. Hỡi ôi, lại một sự thiếu hiểu biết về phần mềm nguồn mở. Vì "Cờ Rôm Cộng" sử dụng mã nguồn của Chromium, một phần mềm nguồn mở có các thành phần theo các giấy phép "thoáng" trên kia, nên việc đặt tên khiến người ta nhớ về Chromium, và nhắc đến tên Chromium trong phần giới thiệu, thực ra là một hành động "chơi đẹp" đấy chứ.

Còn một việc khác mà dư luận chỉ trích Visafe là "xài chùa" server của Adguard, và việc các request do Visafe gửi lên bị thiếu token là một hành vi "thiếu tôn trọng". Ôi má ơi, vì request không có token nên nó mới không phải là "ăn cắp". Vì không có token nên sẽ không lấy được dữ liệu gì từ server của Adguard, sẽ chỉ nhận được thông báo lỗi mà thôi. Token giống như mật khẩu. Ai đó mà có được mật khẩu Facebook của bạn, chui vào tài khoản Facebook của bạn làm chuyện bậy bạ thì mới là ăn cắp chứ. Request không có token, không lấy được dữ liệu về mà phần mềm Visafe vẫn hoạt động, chứng tỏ Visafe không cần mấy dữ liệu đó, nên các request đó chỉ là "rác". Đây chỉ có thể xem là tác giả Visafe chưa dọn sạch những thứ không cần thiết tới nơi tới chốn thôi.

Chốt lại thì phần mềm nguồn mở có tư tưởng gì đó giống Chủ nghĩa xã hội, nơi người ta "làm theo năng lực, hưởng theo nhu cầu". Mình có năng lực nên mình viết phần mềm và mở ra cho ai thích xài thì xài.