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.
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.
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 đề.
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. )
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.