Trang chủ » làm thế nào để » Phần mềm nguồn mở là gì và tại sao nó có vấn đề?

    Phần mềm nguồn mở là gì và tại sao nó có vấn đề?

    Các chuyên viên máy tính thường mô tả các chương trình là phần mềm miễn phí mã nguồn mở hay trực tuyến của Google. Nếu bạn đang tự hỏi chính xác những thuật ngữ này có nghĩa gì và tại sao chúng quan trọng, hãy đọc tiếp. (Không, phần mềm miễn phí của Cameron 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ì 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 các 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à nguồn mở, mã nguồn của nó được cung cấp 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 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ở của Google trên trang web của mình.

    Ví dụ, Ubuntu Linux là một hệ điều hành nguồn mở. Bạn có thể tải xuống Ubuntu, tạo nhiều bản sao bạn muốn và đưa chúng 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. 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 biệt có động lực, 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 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 các 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 từ 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ó.

    Mã 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 nhà phát triển tính phí cho 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à những gì phần mềm miễn phí mà Wikipedia đề cập đến. Phần mềm miễn phí trên phần mềm miễn phí có nghĩa là miễn phí, không phải là tự do, mà không phải là tự do, mà không phải là tự do như bia. Phần mềm miễn phí, do Richard Stallman và Tổ chức phần mềm miễn phí dẫn đầu 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 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 các lý do thực tế 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ở sẽ thu hút nhiều 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à 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ới 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 việc nhà phát triển thích chương trình nào hơn.

    GPL, hay 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 về nguồn mở ở trên, các điều khoản của GPL xác định 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 công việc 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 một chương trình nguồn đóng từ đó - họ phải phát hành các thay đổi của họ trở lại cộng đồng. Vì lý do này, Microsoft đã gọi GPL là một loại virus virut vì 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 họ. 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 phải tiết lộ những thay đổi của họ cho cộng đồng. Một số người nhận thấy điều này thậm chí còn nhiều hơn miễn phí, miễn phí so với 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 đó là ít miễn phí vì 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 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 cho thấy rõ điều đó - không giống như Windows, bạn có thể cài đặt hoặc phân phối nhiều bản sao Ubuntu như bạn muốn, không có giới hạn. Đây có thể là máy chủ đặc biệt hữu ích - nếu bạn đang thiết lập máy chủ, bạn có thể chỉ cần cài đặt Linux trên nó. 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. Bạn không phải lo lắng về việc cấp phép và có bao nhiêu 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 máy tính để bàn lâu năm. Vì Windows là nguồn đóng, 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 nó hoạt động chính xác trên Windows 8. (Một số người dùng Windows đang thử, nhưng đây là một quá trình khó khăn của kỹ thuật đảo ngược và sửa đổi các tệp nhị phân. )

    Khi máy tính để bàn Linux như Ubuntu giới thiệu 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ộ, 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 cũng bị tắt như nhau. Một số đã lấy mã này sang 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ố người đã lấy mã thành Gnome 3 và sửa đổi nó để làm cho nó hoạt động theo cách họ thích - đây là Cinnamon. Một số người dùng chỉ cần 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 xem CyanogenMod, một bản phân phối phổ biến, hướng đến cộng đồng của Android có thêm 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 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à các 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à cả iOS - cũng được xây dựng trên mã nguồn mở. Valve đang làm việc dữ dội để 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 họ và kiểm soát vận mệnh của chính họ theo cách không thể 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 sẽ 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.