Open Source Là Gì?
Mã nguồn mở đề cập đến một chương trình hoặc nền tảng phần mềm có mã nguồn dễ dàng truy cập và có thể được chỉnh sửa hoặc cải tiến bởi bất kỳ ai.
Việc truy cập mã nguồn mở cho phép người dùng ứng dụng sửa các liên kết hỏng, cải thiện thiết kế, hoặc cải tiến mã nguồn gốc.
Các trung tâm phần mềm mã nguồn mở (OSS) như GitHub là một ví dụ về hình thức hợp tác mở rộng góc nhìn thiết kế vượt ra ngoài của một công ty hay nhóm làm việc thiết kế duy nhất.
Các thực hành mã nguồn mở cũng có thể dẫn đến tiết kiệm đáng kể cho người tiêu dùng. Nhiều sản phẩm mã nguồn mở được cung cấp miễn phí, dựa trên mô hình chia sẻ hoặc đóng góp thay vì giá mua hàng.
Những điểm chính cần nhớ
- Mã nguồn mở đề cập đến một dự án, thường là một dự án phần mềm hoặc phát triển công nghệ thông tin, với mã nguồn miễn phí và quyền sửa đổi, sửa lỗi, điều chỉnh và cải tiến.
- Các nỗ lực phần mềm mã nguồn mở đã đứng sau các ứng dụng phổ biến và hệ điều hành bao gồm hệ điều hành Android cho điện thoại thông minh và trình duyệt web Firefox.
- Mã nguồn mở dựa trên sự tham gia của cộng đồng, niềm tin và chiến lược cấp phép phù hợp.
- Một lợi thế của mã nguồn mở là tiềm năng lớn cho các ý tưởng sáng tạo và các thay đổi được cung cấp bởi một cộng đồng lập trình viên lớn hơn so với một công ty thiết kế duy nhất.
- Một điều bất lợi của mã nguồn mở là không có một thực thể nào chịu trách nhiệm duy trì phần mềm nên các lỗi sẽ không được sửa chữa trừ khi chúng được phát hiện.
Hiểu về Mã nguồn mở
Mã nguồn mở là một ví dụ hoàn hảo cho câu thành ngữ “Cần một ngôi làng để nuôi dạy một đứa trẻ.” Để hoàn thiện tính khả dụng của một sản phẩm, cần có nhiều trí tuệ và tài năng khác nhau cho các lĩnh vực chức năng của sản phẩm phần mềm.
Các nền tảng được phát triển và xây dựng dựa trên sự hợp tác của người dùng có thể hoạt động tốt hơn và ít lỗi hơn so với những nền tảng được xây dựng bởi một thực thể duy nhất. Các nhà phát triển phần mềm khuyến khích khái niệm mã nguồn mở tin rằng, bằng cách cho phép bất kỳ bên nào quan tâm có khả năng chỉnh sửa mã nguồn của sản phẩm, ứng dụng sẽ có tính khả dụng cao hơn và ít lỗi hơn trong dài hạn.
Mozilla Firefox, Linux, WordPress, Bitcoin và Android là các ví dụ phổ biến về các dự án mã nguồn mở. Bằng cách làm cho mã nguồn của họ có sẵn cho tất cả mọi người, các sản phẩm mã nguồn mở đóng vai trò như các công cụ giáo dục cho sinh viên công nghệ học tập mã nguồn, học hỏi từ đó và lựa chọn tạo ra mã nguồn tốt hơn.
Do đó, các ứng dụng tốt hơn và sáng tạo hơn được tạo ra từ nền tảng của các ứng dụng mã nguồn mở trước đó.
Tiến sĩ Richard Stallman là người đứng đầu phong trào phần mềm tự do vào những năm 1980. Ông tin rằng người dùng phần mềm nên được tự do chạy, chỉnh sửa, bổ sung và chia sẻ phần mềm.
Giấy phép Mã nguồn mở
Mã nguồn mở thúc đẩy việc phân phối lại mã nguồn miễn phí. Do đó, nó cũng được gọi là phần mềm miễn phí. Mã nguồn tạo ra các chức năng tích hợp sẵn hướng dẫn cách một ứng dụng phần mềm hoạt động.
Truyền thống, hầu hết phần mềm hoặc ứng dụng được mua có mã nguồn chỉ có thể được điều chỉnh hoặc sửa đổi pháp lý bởi người sáng lập ban đầu—thường là một cá nhân, một nhóm hoặc một tổ chức.
Loại phần mềm này được gọi là phần mềm độc quyền hoặc phần mềm nguồn đóng. Phần mềm độc quyền được trang bị giấy phép buộc người dùng phải đồng ý với các hướng dẫn được thiết lập bởi người sáng tạo ban đầu. Ngoài ra, việc mua có thể tốn kém.
Các giấy phép mã nguồn mở khác biệt với các giấy phép độc quyền ở chỗ người dùng phải đồng ý với các quy định liên quan đến việc chỉnh sửa, sử dụng và phân phối phần mềm.
Ví dụ, một số giấy phép mã nguồn mở quy định rằng nếu người dùng thay đổi và phân phối một chương trình cho người khác, họ cũng phải phân phối mã nguồn mà không thu phí giấy phép.
Ưu điểm và Nhược điểm của Mã nguồn mở
Ưu điểm
- Vì không cần phép khi sử dụng một ứng dụng phần mềm mã nguồn mở, các lập trình viên thường có thể sửa chữa và nâng cấp mã nguồn của một ứng dụng nhanh hơn so với phần mềm nguồn đóng. Với các chương trình nguồn đóng, công ty hoặc nhà sáng lập mã phải được thông báo và người dùng có thể phải chờ đợi một khoảng thời gian đáng kể trước khi có bất kỳ thay đổi nào được thực hiện cho ứng dụng.
- Trong các lĩnh vực fintech như dữ liệu lớn, công nghệ blockchain và điện toán đám mây, sự đổi mới được thúc đẩy bởi kênh mã nguồn mở hợp tác. Do lượng dữ liệu khổng lồ mà công nghệ mới nảy sinh, các công ty đang thích nghi với các kỹ thuật mã nguồn mở và chia sẻ công việc với người dùng bên ngoài có thể đóng góp và tìm ra những khả năng mới cho dữ liệu chia sẻ.
- Tinh thần mã nguồn mở đã lan rộng ra ngoài việc đóng góp mã. Các nhà đổi mới công nghệ, nhà phát triển và lập trình viên đã phát minh ra các ứng dụng để hỗ trợ hợp tác giữa người dùng trên toàn thế giới trong mọi lĩnh vực, bao gồm cả bảo hiểm đồng nghiệp.
Nhược điểm
- Bảo mật có thể gặp nguy hiểm với phần mềm mã nguồn mở do tính sẵn có của nó bởi những người có thể lợi dụng mã cho mục đích độc hại.
- Không có một cá nhân hay tổ chức nào chắc chắn chịu trách nhiệm cho phần mềm nguồn mở. Vì vậy, một lỗ hổng hoặc vi phạm có thể không được giải quyết cho đến khi người dùng hoặc lập trình viên tình cờ phát hiện ra nó.
- Nếu một chương trình mã nguồn mở không được cập nhật hoặc cải tiến, nó có thể trở nên không tin cậy, không hiệu quả và có thể không sử dụng được đối với một số người.
Tại sao Mã nguồn mở tồn tại?
Các chương trình phần mềm mã nguồn mở tồn tại vì những người sáng tạo của chúng cảm thấy rằng việc tiết lộ mã và cho phép bất kỳ ai chỉnh sửa là điều quan trọng và hữu ích. Những cá nhân này tin rằng người khác có thể cải tiến sản phẩm của họ. Họ cũng có thể cảm thấy rằng chi phí để sử dụng các chương trình tương tự quá cao và họ muốn sản phẩm của mình được miễn phí cho tất cả mọi người.
Mã nguồn mở có thể gây hại cho người dùng không?
Có thể. Bất kỳ mã nguồn nào cũng có thể có những lỗ hổng đe dọa đến bảo mật thông tin người dùng chẳng hạn. Những lỗ hổng này trong mã nguồn mở phải được tìm thấy và sửa chữa mà không có một lập trình viên hay nhóm chuyên trách theo dõi chúng. Mã nguồn mở mời gọi bất kỳ ai chỉnh sửa mã và điều đó có thể mở ra cánh cửa cho những hành vi không mong muốn.
Ví dụ đầu tiên về Mã nguồn mở là gì?
Một ví dụ sớm nhất liên quan đến phân phối chia sẻ của phân nhánh UNIVAC của Remington Rand. Vào năm 1953, công ty đã cung cấp cho khách hàng phần mềm và mã nguồn của nó. Khách hàng được khuyến khích gửi phản hồi và cải tiến cho công ty.
Tóm tắt
Mã nguồn mở đề cập đến việc làm cho mã nguồn của các chương trình và nền tảng phần mềm có sẵn cho tất cả mọi người. Cá nhân được mời chỉnh sửa mã với mục đích cải tiến các chương trình vì lợi ích của người dùng. Phần mềm nguồn đóng là tài sản và chỉ có sáng tạo của nó có thể truy cập.
Phần mềm mã nguồn mở đã được liên quan đến nhiều chương trình và dự án nổi tiếng, bao gồm trình duyệt Firefox, hệ thống quản lý nội dung WordPress và hệ điều hành Android.