Tại sao phần mềm mã nguồn mở lại quan trọng đến vậy?

Phần mềm mã nguồn mở như Github đang gây bão trên toàn thế giới. Trên thực tế, báo cáo Octoverse State of Open Source năm 2022 cho thấy hơn 90% trong số 500 công ty may mắn sử dụng phần mềm mã nguồn mở làm nền tảng cho các dịch vụ và không gian kỹ thuật số của họ.

Trong bài viết hôm nay, chúng ta sẽ đi sâu vào lịch sử của phần mềm mã nguồn mở và cách thức phần mềm này thu hút được phần lớn những người chơi chuyên nghiệp quan trọng trên toàn cầu. Bài viết cũng sẽ xem xét nó liên quan như thế nào đến phần mềm độc quyền và những ưu, nhược điểm của loại phần mềm này.

Lịch sử của phần mềm mã nguồn mở

Mã nguồn là dạng phần mềm mà con người – với kỹ năng phù hợp – có thể đọc được. Hình thức truyền đạt ý tưởng này đã xuất hiện từ những năm 1950 và như bạn sẽ sớm thấy, phần lớn phần mềm bắt đầu dưới dạng mã nguồn mở (OSS).

Những người tạo ra các trình biên dịch và phần mềm điều hành đời đầu đã phân phối những sáng tạo của họ như một phần của việc mua phần cứng vào đầu những năm 1950 và 60. Các cơ quan và tổ chức cũng thực hiện những thay đổi và sửa lỗi đối với phần mềm phân tán mà không tư nhân hóa các thay đổi của họ. Một phần lớn của cải tiến phần mềm ban đầu mà con người có thể đọc được là nguồn mở và miễn phí, đồng thời được chia sẻ và phân phối dưới dạng phần mềm trong phạm vi công cộng. Lý do cho điều này rất đơn giản.

Trước khi có những gã khổng lồ công nghệ xuất hiện, phần lớn phần mềm được phát triển cho và bởi các tổ chức giảng dạy. Những loại thể chế này trong lịch sử đã đặt tầm quan trọng cao hơn vào việc chia sẻ kiến ​​thức thay vì phát triển bất kỳ hình thức độc quyền nào đối với một ngành. Các trường đại học tận tụy với PMNM đến mức một số thậm chí còn có chính sách đảm bảo tất cả phần mềm chạy trên máy tính của họ đều đi kèm với những file mã nguồn đã xuất bản. Trong thời kỳ phát triển phần mềm của giới hàn lâm, mã nguồn mở được coi là vua.

Lịch sử của phần mềm mã nguồn mở

Vào cuối những năm 1960, chi phí sản xuất phần mềm đã tăng lên nhanh chóng cùng với sự phát triển của các trình biên dịch ngôn ngữ lập trình và hệ điều hành. Liên quan đến phần cứng, công việc tạo ra phần mềm ngày càng trở nên đắt đỏ hơn. Trong khi các nhà sản xuất phần cứng chạy theo phần mềm nội bộ của họ, thì hệ sinh thái phần mềm đang thay đổi. Đây là sự khởi đầu của ngành công nghiệp phần mềm.

Một sự thay đổi lớn đã xảy ra vào năm 1969 trong trường hợp của Hoa Kỳ so với IBM. Vụ kiện dựa trên cơ sở chống độc quyền. Chính phủ nói bóng gió rằng việc các công ty đã cung cấp phần mềm cùng với phần cứng của họ mà không tính thêm chi phí đang tạo ra sự độc quyền đối với phần mềm. Về cơ bản, những công ty lớn với phần mềm miễn phí đi kèm với phần cứng của họ, đang phá hỏng niềm vui của tất cả các nhà phát triển phần mềm.

Vụ kiện này đã đặt nền móng cho việc các công ty bắt đầu phát triển phần mềm mà người dùng cuối có thể cài đặt và sử dụng chứ không thể sửa đổi. Ít nhất, người dùng không thể phân phối các phiên bản đã sửa đổi như ngày nay và trước năm 1969. Tuy nhiên, những đổi mới như EULA (thỏa thuận cấp phép người dùng cuối) vẫn chưa có hình thức cuối cùng. Trên thực tế, trước năm 1974, mặc dù phần mềm không còn được phép phân phối lại và chỉnh sửa, nhưng nó cũng không được bảo vệ theo bất kỳ luật bản quyền nào. Đó là khoảng thời gian kỳ lạ đối với phần mềm và những người phát triển nó. Nhưng tất cả đã thay đổi vào năm 1974 khi nhiều đạo luật hơn được ban hành.

Năm 1974, Ủy ban về Sử dụng Công nghệ Mới (CONTU) của Hoa Kỳ, khi ấy vẫn còn rất mới, đã quyết định rằng vì về mặt kỹ thuật, phần mềm đại diện cho sáng tạo ban đầu của một cá nhân chẳng hạn như tác giả, nên phần mềm phải được bảo vệ theo luật bản quyền. Đây là câu trích dẫn thực tế: “Các chương trình máy tính, trong phạm vi chúng thể hiện sáng tạo ban đầu của tác giả, là đối tượng thích hợp của bản quyền”.

Dù quyết định này có ý nghĩa rất quan trọng, nhưng phải đến khi Apple tham gia, phần mềm mới được bảo vệ giống như các tác phẩm văn học. Trong vụ Apple - Franklin, quyết định của tòa án về cơ bản đã tạo ra ngành công nghiệp phần mềm nguồn đóng mà chúng ta biết ngày nay. Quyết định cấp cho phần mềm các danh hiệu và bảo vệ bản quyền giống như những tác phẩm văn học đã dẫn đến giấy phép phần mềm – như EULA – mà chúng ta phải đọc trước khi cài đặt thứ gì đó hiện nay.

Sau những năm 1980, nhiều bộ luật khác đã có hiệu lực để bảo vệ phần mềm tốt hơn khỏi những gì mà các nhà phát triển cảm thấy là việc phân phối và xử lý bất hợp pháp mã nguồn của họ.

Nhiều luật liên quan đến phần mềm đã được ban hành

Tình trạng của phần mềm mã nguồn mở - Octoverse 2022

Năm nay, Octoverse đã phát hành một báo cáo trên GitHub nêu chi tiết về tình trạng hiện tại của phần mềm mã nguồn mở. Các phát hiện của báo cáo gợi ý rằng không chỉ phần mềm mã nguồn mở đang tăng trở lại; nó đang tiếp quản ngành công nghiệp.

Wolfgang Gehring, đại sứ FOSS cho đổi mới công nghệ của Mercedes-Benz lặp lại phát hiện của báo cáo bằng cách nói: “Ngày nay, bạn không thể phát triển phần mềm mà không sử dụng mã nguồn mở nữa”.

Báo cáo năm 2022 về cơ bản là phần tiếp theo của báo cáo Octoverse đầu tiên được phát hành vào năm 2012. Báo cáo đầu tiên được viết để kỷ niệm 2,8 triệu người đã tham gia GitHub. Chỉ cần đặt cộng đồng phần mềm mã nguồn mở vào viễn cảnh, GitHub hiện là ngôi nhà của hơn 94 triệu nhà phát triển đang định hình tương lai của PMNM. Điều đó thể hiện sự tăng trưởng phi thường giữa năm 2012 và 2022.

9 thực sự là một con số định kỳ thú vị trong bối cảnh báo cáo năm 2022; GitHub có hơn 94 triệu người dùng, hơn 90% công ty trong danh sách Fortune 500 sử dụng Github và 90% công ty được phát hiện đang sử dụng phần mềm mã nguồn mở. Con số duy nhất không chứa số 9 là 413 triệu đóng góp nguồn mở đã được thực hiện vào năm 2022. Báo cáo này hoàn toàn đáng kinh ngạc về mức độ áp dụng rộng rãi và nhanh chóng của phần mềm mã nguồn mở.

Nhưng tại sao rất nhiều người dường như đang chọn phần mềm mã nguồn mở thay vì giải pháp thay thế nguồn đóng (độc quyền) của nó? Sự khác biệt giữa hai khái niệm này là gì và tại sao PMNM được coi là con đường phía trước khi rất nhiều việc đã được thực hiện trong những năm 60, 70 và 80 để bảo vệ phần mềm?

Những ưu, nhược điểm của OSS

Ưu điểm của phần mềm mã nguồn mở

1: Chi phí hiệu quả

Phần mềm mã nguồn mở hoàn toàn miễn phí sử dụng. Bạn không phải trả tiền để tải xuống, cài đặt hoặc sử dụng phần mềm. Bạn thậm chí không phải trả tiền để chỉnh sửa hoặc phân phối lại nó. Phần mềm mã nguồn mở hoàn toàn miễn phí. Đây là một lợi thế cho bất kỳ doanh nghiệp nào đang tìm kiếm các giải pháp phần mềm không tốn quá nhiều ngân sách.

2: Đáng tin cậy

Sử dụng phần mềm mã nguồn mở thường có nghĩa là mức độ tin cậy cao hơn. Về cơ bản, thực tế là PMNM được phát triển như một loại dự án nhóm miễn phí nơi bất kỳ ai có kỹ năng cần thiết đều có thể đóng góp, bạn có nhiều lợi thế hơn khi làm việc trên các tính năng cụ thể so với khi nó là nguồn đóng. Do đó, những người có kỹ năng thích hợp từ khắp nơi trên thế giới có thể đóng góp cho một dự án thường mang lại độ tin cậy cao. Bằng cách này, bạn cũng có sẵn một nhóm lớn các nhà phát triển để sửa lỗi và ngăn chặn việc bị tấn công exploit.

3. Linh hoạt

Nếu xem xét phần mềm như Blender, một phần mềm đồ họa máy tính nguồn mở, bạn sẽ nhận thấy rằng trang web tải xuống nêu rõ rằng bạn có thể thay đổi phần mềm cho phù hợp với nhu cầu của mình. Điều này có nghĩa là nếu phần mềm gốc không đáp ứng tiêu chuẩn của bạn, không có bộ tính năng cụ thể hoặc quá phức tạp để sử dụng, thì bạn có thể thay đổi phần mềm đó. Đây là những gì mã nguồn mở mang lại.

Ưu điểm của phần mềm mã nguồn mở

Nhược điểm của phần mềm mã nguồn mở

1. Hạn chế đối tượng người dùng

Bởi vì phần mềm mã nguồn mở được tạo bởi các nhà phát triển với ý định rằng các nhà phát triển khác có thể thay đổi code, nên phần mềm này đôi khi chỉ có ý nghĩa đối với các nhà phát triển. Điều này làm giảm đáng kể hiệu quả của phần mềm vì nhóm người dùng sẽ bị giảm đi rất nhiều.

2. Bảo mật

Thật không may, vì phần mềm mã nguồn mở miễn phí cho bất kỳ ai có chuyên môn chỉnh sửa, nên bạn sẽ phải đối mặt với rủi ro bảo mật khá lớn. Bạn thấy đấy, không phải ai có chuyên môn cần thiết để chỉnh sửa phần mềm cũng quan tâm đến việc làm như vậy vì lợi ích lớn hơn. Một số người có kinh nghiệm mã hóa thà sử dụng các kỹ năng của họ để tạo ra những lỗ hổng trong phần mềm mã nguồn mở mà họ có thể khai thác để kiếm lợi nhuận. Tuy nhiên, thực tế là thường có rất nhiều nhà phát triển tham gia vào một dự án nguồn mở, nên khả năng các lỗ hổng bị phát hiện và khắc phục sẽ cao hơn.

3. Hỗ trợ

Với phần mềm mã nguồn mở, hiếm khi chỉ có một người chịu trách nhiệm viết code. Do đó, khi xảy ra sự cố, có thể khó tìm ra người chịu trách nhiệm về lỗi hoặc lỗ hổng. Cũng có nguy cơ người dùng không có quyền truy cập vào loại mạng hỗ trợ phần mềm chuyên dụng thường đi kèm với phần mềm độc quyền.

Nhược điểm của phần mềm mã nguồn mở

Tương lai của OSS

Phần mềm mã nguồn mở, theo báo cáo Octoverse năm 2022, là xu hướng của hiện tại. Nhưng loại phần mềm này có những gì nó cần để trở thành cổng của tương lai không?

Thực tế là rất nhiều khía cạnh của máy tính hiện đại và công nghệ thông tin đã dựa trên kiến ​​trúc mã nguồn mở. Điện thoại của bạn có thể chạy trên phần mềm mã nguồn mở, Android. Nếu bạn có một chiếc Xiaomi, điện thoại của bạn sẽ chạy trên phiên bản Android được điều chỉnh có tên là MIUI.

Nếu bạn sử dụng OPPO, điện thoại của bạn sẽ chạy trên phần mềm nguồn mở có tên ColorOS – cũng dựa trên Android.

Trình duyệt bạn sử dụng, cho dù đó là Google Chrome, Microsoft Edge, Mozilla Firefox hay thậm chí là Brave, đều dựa trên Chromium, phần mềm mã nguồn mở do Google phát triển. Trên thực tế, một số ít tên tuổi trong ngành kinh doanh không phải là mã nguồn mở là Microsoft, Apple, Amazon và Adobe. Phần lớn hệ sinh thái kỹ thuật số hiện tại dựa trên phần mềm nguồn mở, bao gồm cả điện toán đám mây. OSS tạo thành nền tảng của xã hội hiện tại và có thể sẽ đưa chúng ta vào những thế hệ cảnh quan kỹ thuật số tiếp theo sắp tới.

Phần mềm nguồn mở có những lợi thế đáng kể so với các lựa chọn thay thế của nó và có khả năng là con đường phía trước. Tuy nhiên, như đã nhấn mạnh ở trên, cũng có những vấn đề quan trọng phải giải quyết trước khi có thể hoàn toàn dựa vào cấu hình kiến trúc phần mềm cụ thể này.

Thứ Năm, 24/11/2022 08:05
53 👨 718
0 Bình luận
Sắp xếp theo
    ❖ Bình luận công nghệ