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

Mục lục:

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

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

Video: Phần mềm nguồn mở là gì và tại sao nó lại quan trọng?
Video: Virus NGUY HIỂM trên Android - YouTube 2024, Tháng tư
Anonim
Chuyên viên máy tính thường mô tả các chương trình là "nguồn mở" hoặc "phần mềm miễn phí". Nếu bạn đang tự hỏi chính xác ý nghĩa của các cụm từ này và tại sao chúng lại 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í.)
Chuyên viên máy tính thường mô tả các chương trình là "nguồn mở" hoặc "phần mềm miễn phí". Nếu bạn đang tự hỏi chính xác ý nghĩa của các cụm từ này và tại sao chúng lại 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í.)

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

Định nghĩa nguồn mở

Nếu một chương trình là mã nguồn mở, mã nguồn của nó là tự do có sẵn cho người dùng của nó. 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 nhiều bản sao của chương trình gốc như họ muốn. Bất cứ 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ó định nghĩa chi tiết hơn về “nguồn mở” trên trang web của nó.

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 thích và cung cấp cho bạn bè của bạn. Bạn có thể cài đặt Ubuntu trên số lượng máy tính không giới hạn của mình. Bạn có thể tạo 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 cho 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 cho chương trình đó - hoặc bản thân Ubuntu. Tất cả giấy phép nguồn mở đều cho phép bạn thực hiện đ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.

Ngược lại với phần mềm nguồn mở là phần mềm nguồn đóng, có một giấy phép hạn chế người dùng và giữ mã nguồn từ chúng.
Ngược lại với phần mềm nguồn mở là phần mềm nguồn đóng, có một giấy phép hạn chế người dùng và giữ mã nguồn từ chúng.

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 mở phổ biến nhất hiện có.

Mã nguồn mở so với phần mềm miễn phí

Các ứng dụng mã 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 chúng cho phép phân phối lại ứng dụng và mã nguồn của nó sau đó.

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

Image
Image

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

Phong trào phần mềm mã nguồn mở được tạo ra để tập trung vào các lý do thực dụng hơn để 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ở có thể thu hút nhiều hơn cho các doanh nghiệp hơn là đạo đức và đạo đức.

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

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 nhà phát triển nào thích chương trình của họ.

Giấy phép 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 mã nguồn mở, chẳng hạn như Linux. Ngoài tất cả các định nghĩa trên của mã nguồn mở, các điều khoản của GPL quy định rằng, nếu có ai sửa đổi một chương trình nguồn mở và phân phối một tác phẩm phái sinh, họ cũng phải phân phối mã nguồn cho công việc 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 ra một chương trình nguồn đóng từ nó - họ phải phát hành các thay đổi của họ trở lại cộng đồng. Microsoft gọi GPL là "virus" vì lý do này, vì nó buộc các chương trình kết hợp mã GPL để phát hành mã nguồn riêng của họ. Tất nhiên, nhà phát triển chương trình có thể chọn không sử dụng mã GPL nếu đây là vấn đề.

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 đối với 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 phải phát hành các thay đổi của họ trở lại cộng đồng. Một số người thấy điều này thậm chí còn "tự do" 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 coi nó là "miễn phí" hơn. từ người dùng cuối của chương trình dẫn xuất.
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 đối với 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 phải phát hành các thay đổi của họ trở lại cộng đồng. Một số người thấy điều này thậm chí còn "tự do" 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 coi nó là "miễn phí" hơ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 miễn phí. Ví dụ về Ubuntu Linux ở trên làm cho điều đó rõ ràng - 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 như bạn muốn, không có giới hạn. Đây có thể là các máy chủ đặc biệt hữu ích - nếu bạn đang thiết lập máy chủ, bạn chỉ có thể cài đặt Linux trên máy chủ đó. nếu bạn đang thiết lập một cụm máy chủ ảo hóa, bạn có thể dễ dàng sao chép một máy chủ Ubuntu đơn. 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 bạn được phép chạy.

Một chương trình 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 máy tính để bàn trong thời gian dài. Vì Windows là nguồn đóng, không người dùng Windows nào có thể dùng giao diện Windows 7, sửa đổi nó, và làm cho nó hoạt động đú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 siêng năng của kỹ thuật đảo ngược và sửa đổi các tệp nhị phân. )

Khi một máy tính để bàn Linux như Ubuntu giới thiệu giao diện màn hình mới mà một số người dùng không phải là người hâm mộ, người dùng có nhiều tùy 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 đã bị tắt. Một số đã lấy mã cho 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ã cho GNOME 3 và sửa đổi nó để làm cho nó hoạt động theo cách mà họ ưa thích - đây là Quế. 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à nguồn mở, người dùng Windows 8 sẽ có nhiều sự lựa chọn và linh hoạt hơn. Chỉ cần nhìn vào CyanogenMod, một bản phân phối Android phổ biến do cộng đồng quản lý, bổ sung các tính năng và hỗ trợ cho các thiết bị mới.
Khi một máy tính để bàn Linux như Ubuntu giới thiệu giao diện màn hình mới mà một số người dùng không phải là người hâm mộ, người dùng có nhiều tùy 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 đã bị tắt. Một số đã lấy mã cho 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ã cho GNOME 3 và sửa đổi nó để làm cho nó hoạt động theo cách mà họ ưa thích - đây là Quế. 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à nguồn mở, người dùng Windows 8 sẽ có nhiều sự lựa chọn và linh hoạt hơn. Chỉ cần nhìn vào CyanogenMod, một bản phân phối Android phổ biến do cộng đồng quản lý, 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 của 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à hệ điều hành được xây dựng trên Linux và phần 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 tích cực làm việc để chuyển nền tảng chơi game hơi của họ sang Linux, vì điều này sẽ cho phép họ tạo ra phần cứng của riêng mình và kiểm soát vận mệnh của chính họ 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ó lại hữu ích cho bạn.

Đề xuất: