Chắc hẳn trong số các bạn đã từng nghe qua cụm từ “Phần mềm mã nguồn mở”, nhưng cụm từ này thực chất là như thế nào và nó có gì đặc biệt, mình sẽ nói một chút hiểu biết của mình về vấn đề này nha.

Để hiểu được mã nguồn mở là gì thì mình xin được đá quá phần mềm mã nguồn đóng trước nhé. Phần mềm nguồn đóng là loại phần mềm mà việc sử dụng phần mềm này phải có sự cho phép của tác giả, ngăn cấm mọi hành vi tìm cách xâm nhập, sao chép, chỉnh sửa, phân phối, bẻ khóa sử dụng phần mềm một cách bất hợp pháp… Chắc các bạn đã từng đi mua đĩa game hay phần mềm nào đó về cài rồi đúng không? Một phần mềm thì bao giờ cũng có phần mã nguồn và phần thực thi. Các bạn mua đĩa về thì chỉ có phần thực thi, tức là file exe rồi nhập code, ấn install là có cái để dùng và bạn không được đụng tay đụng chân gì vào phần mã nguồn nơi mà họ thực hiện các thuật toán để tạo ra chương trình đó. Họ chỉ cho bạn quyền sử dụng phần mềm nhưng không cho bạn quyền truy cập vào mã nguồn, bởi vì nó là độc quyền.


Phần mềm mã nguồn mở là gì? (open source software)
Phần mềm mã nguồn “mở” thì ngược lại với “đóng” thôi. “Đóng” không cho phép người dùng truy cập vào mã nguồn còn “mở” lại cho phép điều đó. Vậy, người dùng được lợi gì từ mã nguồn mở? Mã nguồn mở cho phép người sử dụng hợp tác cải thiện phần mềm như tìm lỗi, fix lỗi, cập nhật thêm các tính năng mới,… chung quy lại là vì mục đích làm cho sản phẩm tốt hơn. Nhưng điều này không đồng nghĩa với việc chúng ta được sao chép thoải mái và sử dụng vào bất kỳ mục đích nào, hay mã nguồn mở thì sẽ miễn phí hoàn toàn. Mã nguồn mở thì cũng đi kèm theo đó là những luật chơi của riêng nó bởi vì không có gì là free hết cả. Đó là điều kiện đi kèm hay còn gọi cách khác là giấy phép (lisence). Giấy phép thì có nhiều loại phù hợp với từng phần mềm và mục đích phần mềm được sử dụng mà nhà phát hành mong muốn khi nó được tung ra, bạn nào muốn tìm hiểu sâu hơn thì trên mạng có hết rồi đó.

Trên thực tế, Chrome, Cốc Cốc, hay Opera, nhưng trình duyệt web mà các bạn đang sử dụng đều sử dùng chung một mã nguồn mở có tên Chromium. Tùy từng công ty sẽ có cách tùy biến và nhiều tính năng mới khác nhau, sau đó đóng gói lại, tới tay người dùng với những cái tên khác nhau. Bạn nào đang dùng web thì thử ấn nút "f12" đi, sẽ có các dòng code hiện ra. Đấy là việc phần mềm có mã nguồn mở cho phép người dùng truy cập vào để thay đổi, các dòng chế tiêu đề trên báo cũng là từ việc người dùng truy cập vào để chỉnh sửa mà ra,...

Đến đây hẳn bạn sẽ thắc mắc rằng, truy cập tùy ý thì hacker sẽ biết lỗ hổng để khai thác đúng không?
Một dự án mã nguồn mở được đầu tư và phát triển, được nhiều nhà lập trình kiểm tra, fix lổi liên tục thì không có lý do gì bạn lại cho là mã nguồn mở kém bảo mật? Thật vậy, mã nguồn mở không bao giờ là kém bảo mật nếu nó được đông đảo cộng đồng trên thế giới sử dụng. Mà ngược lại, chính mã nguồn đóng mới dễ bị khai thác, bởi vì nhiều phần mềm họ lại làm rất tệ, không có chút đầu tư công sức, do vậy một số phần mềm mã nguồn đóng rất kém an toàn.
Trong lĩnh vực phát triển phần mềm, Các chuyên gia nhận định rằng, cùng với nguồn lực như nhau, phần mềm phát triển theo phương pháp phát triển phần mềm nguồn mở sẽ tốt hơn và đạt mức an toàn an ninh cao hơn nhiều so với phần mềm phát triển theo phương pháp phát triển phần mềm nguồn đóng.
Thực tế, nhiều nước trên thế giới đã công nhận phần mềm nguồn mở an toàn hơn phần mềm nguồn đóng và giúp giảm phụ thuộc tình trạng độc quyền cho nên nhiều nước trên thế giới. Việt Nam chúng ta cũng đã có những chính sách khuyến khích sử dụng và phát triển phần mềm nguồn mở.
Trên đây là hiểu biết của mình về mã nguồn mở, nếu còn thiếu sót, các bạn comment nhiệt tình để chúng ta cùng hiểu rõ hơn nha <3
If you have an apple and I have an apple and we exchange these apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas - Geogre Bernard Shaw