Cả Linux và các BSD khác nhau (Bản phân phối phần mềm Berkeley) đều miễn phí và là mã nguồn mở, có nhiều điểm chung hơn là sự khác biệt. Với suy nghĩ này, bạn có thể tự hỏi mình, “Nếu chúng giống nhau đến vậy, thì tại sao chúng lại tồn tại? Sẽ tốt hơn nếu có một hệ điều hành đơn nhất để lựa chọn? ”
Tôi có thể trả lời câu hỏi này bằng cách cũng đề cập rằng sự khác biệt của chúng cũng rất lớn. Nhiều đến nỗi để bao quát tất cả chúng sẽ biến bài báo này thành một cuốn sách hơn là một bài báo đơn giản. Thay vào đó, tôi sẽ tập trung vào những điều cơ bản cho cả hai hệ thống nguồn mở để bạn có thể chọn cho mình cái nào là lựa chọn tốt hơn.
Linux so với BSD
Về mặt kỹ thuật, Linux không được coi là một hệ điều hành. Thay vào đó, trong thực tế, nó chỉ là một hạt nhân. Kernel là khía cạnh cốt lõi của bất kỳ hệ điều hành nào hiện có và nó nằm ở đâu đó giữa phần mềm và phần cứng.
Điều này cho phép hạt nhân giúp người dùng tận dụng các tài nguyên có sẵn trong hệ thống. Bản thân hệ điều hành được xây dựng trên nhân.
Nhân so với Hệ điều hành
Cả Linux và BSD đều là hệ điều hành giống Unix. Khi cài đặt Linux, bạn đang cài đặt bản phân phối được tạo bằng nhân Linux. Có khá nhiều bản phân phối để bạn lựa chọn, chẳng hạn như Ubuntu và Debian, tất cả đều sử dụng nhân Linux. Các chương trình khác nhau được nhúng vào nhân trước khi phân phối ra thị trường.
BSD, không giống như Linux, là một hệ điều hành hoàn chỉnh. BSD cũng là một nhân, được sử dụng làm lõi của hệ điều hành. Các nhà phát triển BSD sẽ sử dụng nhân đó để thêm các loại chương trình khác nhau, làm cho chúng có sẵn cho người dùng dưới dạng một bản phân phối hoàn chỉnh. Điều này có nghĩa là hệ điều hành BSD, như FreeBSD hoặc NetBSD, là hạt nhân cộng với bất kỳ chương trình nào được thêm vào bên trên nó và được phân phối dưới dạng một gói duy nhất, có thể tải xuống.
BSD sử dụng một thứ gọi là hệ thống cổng. Hệ thống này là thứ cho phép cài đặt các gói phần mềm. Phần mềm được giữ ở dạng nguồn, có nghĩa là máy tính của bạn sẽ cần phải biên dịch dữ liệu mỗi lần trước khi phần mềm chạy.
Điểm mấu chốt ở đây là các gói có thể được cài đặt ở trạng thái nhị phân được cài đặt sẵn, cho phép hệ thống của bạn bỏ qua bước biên dịch dữ liệu chạy trước.
Sự khác biệt cơ bản giữa cả hai là các bản phân phối Linux đi kèm với các bộ chương trình và kho lưu trữ khác nhau, cho phép người dùng tải xuống các chương trình khác nhau bổ sung liên quan đến các yêu cầu của bản phân phối.
Khi bạn cài đặt hệ điều hành BSD, bạn chỉ nhận được các chương trình mà BSD cung cấp. Điều này không đúng với các gói phần mềm vì chúng có sẵn cho cả hai như bạn sẽ khám phá.
Sự khác biệt trong cấp phép
Hầu hết mọi người có thể không quan tâm nhưng sự khác biệt trong việc cấp phép thực sự rất đáng kể. Linux sử dụng Giấy phép Công cộng GNU hoặc GPL. Điều này có nghĩa là các nhà phát triển có thể sửa đổi hoặc thêm các tính năng mới vào nhân Linux tùy ý. Điểm duy nhất là tất cả mã nguồn mới được phát triển phải được công bố rộng rãi cho dù họ có muốn hay không.
BSD sử dụng giấy phép BSD duy nhất của riêng họ, cho phép các nhà phát triển sửa đổi và thêm các tính năng mới vào hạt nhân hoặc bản phân phối BSD, không có sự cần thiết phải phát hành mã nguồn. Điều này có nghĩa là một BSD mã nguồn mở có thể được khai báo là mã nguồn đóng nếu nhà phát triển chọn như vậy. Họ không có nghĩa vụ tiết lộ mã nguồn cho bất kỳ ai.
Tính khả dụng và khả năng tương thích của phần mềm
Đây là loại thứ có ảnh hưởng trực tiếp đến sự phổ biến và khả năng thích ứng của một hệ điều hành đối với công chúng. Khả năng của một hệ điều hành tương thích với phần mềm hiện đại có thể là một đặc điểm nổi bật đối với hầu hết mọi người.
Khi Linux được quan tâm, các nhà phát triển sẽ dễ dàng hơn trong việc viết mã có thể cung cấp cho người dùng trong các gói nhị phân được biên dịch trước để cài đặt. Các gói có thể được cài đặt bằng cách sử dụng apt, yum và các trình quản lý gói tương tự khác. Bản chất nguồn mở của Linux là điều làm cho khả năng này trở nên dễ dàng hơn.
Đối với người dùng BSD, nhiệm vụ không đơn giản như vậy. Người dùng sẽ phải tải xuống mã nguồn của các chương trình từ hàng nghìn cổng có sẵn cho họ. Sau đó, sau khi các mã nguồn được tải xuống, họ sẽ phải biên dịch chúng trên hệ thống của mình.
Điều này gây ra một cơn đau đầu cho cả người dùng BSD và các nhà phát triển, vì sự thiếu phổ biến của người dùng phổ thông có thể là do việc biên dịch mã nguồn trở nên phức tạp hơn. Các gói nhị phân được biên dịch trước có thể được coi là công cụ tiết kiệm duy nhất để loại bỏ rắc rối nhưng vẫn thiếu tính khả dụng của các chương trình ứng dụng.
Đưa ra lựa chọn
Không nghi ngờ gì nữa, Linux là sự lựa chọn phổ biến hơn trong số các hệ điều hành mã nguồn mở, dựa trên Unix. Nó có xu hướng nhận được hỗ trợ phần cứng nhanh hơn nhiều so với BSD và đối với hầu hết các mục đích chung, cả hai hệ thống đều quá giống nhau.
Cả hai hệ thống đều có những ưu điểm riêng. Xem qua FreeBSD, nhóm phát triển duy trì phiên bản riêng của một số lượng lớn các công cụ phổ biến. Điều này cho phép các nhà phát triển tạo các biến thể công cụ của riêng họ để sử dụng với hệ thống của họ. Các công cụ hệ thống Linux chủ yếu được cung cấp bởi bộ GNU nên ít có khả năng xảy ra các biến thể hơn.
BSD thiếu ứng dụng nghiêm trọng. Điều này đã khiến các nhà phát triển cố gắng kiểm soát tình hình bằng cách tạo một gói tương thích Linux, cho phép các ứng dụng Linux chạy trên BSD. Các bản phân phối Linux không có vấn đề thực sự với các ứng dụng vì có rất nhiều thứ sẵn có cho công chúng.
Điều phức tạp thực sự là đối số nguồn miễn phí.
Nhà phát triển &Người dùng so với Hạn chế
Giấy phép GPL của Linux có xu hướng khắt khe hơn đối với các nhà phát triển, buộc phải phát hành tất cả các mã nguồn đã sửa đổi. Mặt khác, các nhà phát triển BSD không có hạn chế nào như vậy. Điều cần lưu ý là công chúng không phát triển sẽ nhận được gì từ tất cả những điều này.
Các nhà sản xuất có thể chọn BSD làm hệ điều hành của họ khi tạo thiết bị mới thay vì Linux. Điều này sẽ cho phép họ giữ các sửa đổi mã cho riêng mình vì việc sử dụng Linux sẽ đi kèm với quy định phát hành mã nguồn ra công chúng.
Các hạn chế được đặt ra trên Linux theo giấy phép của họ cung cấp cho những người đang tìm kiếm các ứng dụng cho hệ thống một sự đảm bảo rằng nếu một ứng dụng được thực hiện, họ sẽ có quyền truy cập vào nó. Giấy phép BSD cho phép các nhà phát triển của nó lựa chọn vẫn tham lam và kín tiếng về các sửa đổi hệ thống và hạt nhân, có nghĩa là ngay cả khi điều gì đó được tạo ra, công chúng thậm chí có thể không có manh mối về sự tồn tại của nó.
Hệ thống BSD đã có được danh tiếng tốt hơn về độ tin cậy so với hệ điều hành Linux. Điều này đặt một điểm trên bảng điểm cho BSD. Nó cũng có khả năng thực thi các tệp nhị phân Linux và yêu cầu một kho lưu trữ trung tâm. Cả hai thứ Linux đều không được biết đến.
Cả hai đều là lựa chọn khả thi cho bất kỳ ai cần hệ điều hành dựa trên Unix. Vì những điểm tương đồng của chúng, nên khá khó để quảng cáo cái này hơn cái kia. Sự lựa chọn thực sự nằm ở nhà phát triển so với người dùng và các yêu cầu trong hệ điều hành nguồn mở mà người dùng đang tìm kiếm.