Phần mềm nguồn mở là gì và tại sao nó lại quan trọng?

Những người sành sỏi thường mô tả các chương trình là “mã nguồn mở” hoặc “phần mềm miễn phí”. Nếu bạn đang tự hỏi chính xác những thuật ngữ này có nghĩa là gì và tại sao chúng quan trọng, hãy đọc tiếp. (Không, “phần mềm miễn phí” không chỉ có nghĩa là bạn có thể tải xuống miễn phí.)

Một chương trình có phải là mã nguồn mở hay không không chỉ quan trọng đối với các nhà phát triển, mà cuối cùng nó cũng quan trọng đối với người dùng. Giấy phép phần mềm nguồn mở cung cấp cho người dùng những quyền tự do mà họ không có.

Tín dụng hình ảnh: Quinn Dombrowski trên Flickr

Định nghĩa về nguồn mở

Nếu một chương trình là mã nguồn mở, thì mã nguồn của nó có sẵn miễn phí cho người dùng. Người dùng của nó - và bất kỳ ai khác - có khả năng lấy mã nguồn này, sửa đổi nó và phân phối các phiên bản chương trình của riêng họ. Người dùng cũng có khả năng phân phối bao nhiêu bản sao của chương trình gốc mà họ muốn. Bất kỳ ai cũng có thể sử dụng chương trình cho bất kỳ mục đích nào; không có phí cấp phép hoặc các hạn chế khác đối với phần mềm. OSI có một định nghĩa chi tiết hơn về “mã nguồn mở” trên trang web của mình.

Ví dụ, Ubuntu Linux là một hệ điều hành mã nguồn mở. Bạn có thể tải xuống Ubuntu, tạo bao nhiêu bản sao tùy ý và đưa chúng cho bạn bè của mình. Bạn có thể cài đặt Ubuntu trên số lượng máy tính của mình không giới hạn. Bạn có thể tạo các bản phối lại của đĩa cài đặt Ubuntu và phân phối chúng. Nếu bạn có động cơ đặc biệt, bạn có thể tải xuống mã nguồn của một chương trình trong Ubuntu và sửa đổi nó, tạo phiên bản tùy chỉnh của riêng bạn của chương trình đó - hoặc của chính Ubuntu. Tất cả các giấy phép nguồn mở đều cho phép bạn làm điều này, trong khi giấy phép nguồn đóng đặt ra những hạn chế đối với bạn.

Đối lập với phần mềm nguồn mở là phần mềm nguồn đóng, có giấy phép hạn chế người dùng và giữ mã nguồn khỏi họ.

Firefox, Chrome, OpenOffice, Linux và Android là một số ví dụ phổ biến về phần mềm nguồn mở, trong khi Microsoft Windows có lẽ là phần mềm nguồn đóng phổ biến nhất hiện có.

Nguồn mở so với Phần mềm miễn phí

Các ứng dụng nguồn mở thường có sẵn miễn phí - mặc dù không có gì ngăn cản nhà phát triển tính phí các bản sao của phần mềm nếu sau đó họ cho phép phân phối lại ứng dụng và mã nguồn của nó.

Tuy nhiên, đó không phải là những gì “phần mềm miễn phí” đề cập đến. “Miễn phí” trong phần mềm miễn phí có nghĩa là “miễn phí như trong tự do”, không phải “miễn phí như trong bia”. Trại phần mềm miễn phí, do Richard Stallman và Tổ chức Phần mềm Tự do lãnh đạo, tập trung vào các quy tắc và đạo đức của việc sử dụng phần mềm mà người dùng có thể kiểm soát và sửa đổi. Nói cách khác, trại phần mềm miễn phí tập trung vào quyền tự do của người dùng.

Richard Stallman. Hình ảnh của Fripog trên Flickr.

Phong trào phần mềm nguồn mở được tạo ra để tập trung vào những lý do thực dụng hơn cho việc lựa chọn loại phần mềm này. Những người ủng hộ nguồn mở muốn tập trung vào những lợi ích thiết thực của việc sử dụng phần mềm nguồn mở sẽ hấp dẫn các doanh nghiệp hơn là đạo đức và luân lý.

Cuối cùng, cả những người ủng hộ phần mềm nguồn mở và miễn phí đều đang phát triển cùng một loại phần mềm, nhưng họ không đồng ý về thông điệp.

Các loại giấy phép

Có nhiều giấy phép khác nhau được sử dụng bởi các dự án nguồn mở, tùy thuộc vào giấy phép mà các nhà phát triển thích cho chương trình của họ.

GPL, hoặc Giấy phép Công cộng GNU, được sử dụng rộng rãi bởi nhiều dự án nguồn mở, chẳng hạn như Linux. Ngoài tất cả các định nghĩa trên về nguồn mở, các điều khoản của GPL chỉ rõ rằng, nếu bất kỳ ai sửa đổi chương trình nguồn mở và phân phối một sản phẩm phái sinh, họ cũng phải phân phối mã nguồn cho sản phẩm phái sinh của họ. Nói cách khác, không ai có thể lấy mã nguồn mở và tạo một chương trình nguồn đóng từ nó - họ phải phát hành lại các thay đổi của mình cho cộng đồng. Microsoft gọi GPL là “lan truyền” vì lý do này, vì nó buộc các chương trình kết hợp mã GPL phải phát hành mã nguồn của riêng chúng. Tất nhiên, các nhà phát triển chương trình có thể chọn không sử dụng mã GPL nếu đây là sự cố.

Một số giấy phép khác, chẳng hạn như giấy phép BSD, đặt ít hạn chế hơn cho các nhà phát triển. Nếu một chương trình được cấp phép theo giấy phép BSD, bất kỳ ai cũng có thể kết hợp mã nguồn của chương trình vào một chương trình khác. Họ không cần phải đưa các thay đổi của mình trở lại cộng đồng. Một số người cho rằng điều này thậm chí còn “miễn phí” hơn giấy phép GPL, vì nó cho phép các nhà phát triển tự do kết hợp mã vào các chương trình nguồn đóng của riêng họ, trong khi một số người cho rằng nó ít “miễn phí” hơn vì nó mất quyền. từ người dùng cuối của chương trình dẫn xuất.

Lợi ích cho người dùng

Đây không phải là tất cả những thứ khô khan, không quan trọng mà chỉ quan trọng đối với các nhà phát triển. Lợi ích rõ ràng nhất của phần mềm nguồn mở là nó có thể được sử dụng miễn phí. Ví dụ về Ubuntu Linux ở trên làm rõ điều đó - không giống như Windows, bạn có thể cài đặt hoặc phân phối bao nhiêu bản sao của Ubuntu tùy thích mà không bị hạn chế. Đây có thể là những máy chủ đặc biệt hữu ích - nếu bạn đang thiết lập một máy chủ, bạn chỉ cần cài đặt Linux trên đó. nếu bạn đang thiết lập một cụm máy chủ được ảo hóa, bạn có thể dễ dàng sao chép một máy chủ Ubuntu duy nhất. Bạn không phải lo lắng về việc cấp phép và số lượng phiên bản Linux mà bạn được phép chạy.

Một chương trình mã nguồn mở cũng linh hoạt hơn. Ví dụ: giao diện mới của Windows 8 đã làm thất vọng nhiều người dùng Windows trên máy tính để bàn lâu năm. Vì Windows là mã nguồn đóng nên không người dùng Windows nào có thể sử dụng giao diện Windows 7, sửa đổi nó và làm cho giao diện này hoạt động bình thường trên Windows 8. (Một số người dùng Windows đang cố gắng, nhưng đây là một quá trình kỹ thuật đảo ngược và sửa đổi các tệp nhị phân tốn công sức. )

Khi một máy tính để bàn Linux như Ubuntu giới thiệu một giao diện máy tính để bàn mới mà một số người dùng không phải là người hâm mộ, thì người dùng có nhiều lựa chọn hơn. Ví dụ, khi GNOME 3 được phát hành, nhiều người dùng máy tính để bàn Linux cũng bị tắt như nhau. Một số đã lấy mã về phiên bản cũ, GNOME 2, và sửa đổi nó để làm cho nó chạy trên các bản phân phối Linux mới nhất - đây là MATE. Một số đã lấy mã thành GNOME 3 và sửa đổi nó để làm cho nó hoạt động theo cách mà họ ưa thích - đây là Cinnamon. Một số người dùng vừa chuyển sang máy tính để bàn thay thế hiện có. Nếu Windows là mã nguồn mở, người dùng Windows 8 sẽ có nhiều lựa chọn và linh hoạt hơn. Chỉ cần xem qua CyanogenMod, một bản phân phối Android phổ biến, dựa vào cộng đồng, bổ sung các tính năng và hỗ trợ cho các thiết bị mới.

Phần mềm nguồn mở cũng cho phép các nhà phát triển “đứng trên vai những người khổng lồ” và tạo ra phần mềm của riêng họ. Chứng kiến ​​Android và Chrome OS, là những hệ điều hành được xây dựng trên Linux và các phần mềm mã nguồn mở khác. Cốt lõi của OS X của Apple - và cho iOS - cũng được xây dựng trên mã nguồn mở. Valve đang ráo riết làm việc trong việc chuyển nền tảng chơi game Steam của họ sang Linux, vì điều này sẽ cho phép họ tạo phần cứng của riêng mình và kiểm soát vận mệnh của chính mình theo cách không thể thực hiện được trên Windows của Microsoft.

Đây không phải là một mô tả đầy đủ - toàn bộ sách đã được viết về chủ đề này - nhưng bây giờ bạn nên có ý tưởng tốt hơn về phần mềm nguồn mở thực sự là gì và tại sao nó hữu ích cho bạn.


$config[zx-auto] not found$config[zx-overlay] not found