Đó là một câu hỏi khó trả lời.
Đầu tiên "Unix Like" hoặc "* nix" thường có nghĩa là POSIX. Tất cả các hệ thống bạn liệt kê là hệ thống POSIX. POSIX là một bộ tiêu chuẩn để thực hiện.
Bây giờ cho các câu hỏi khó hơn.
GNU không thực sự là một hệ điều hành. Đó là một tập hợp các quy tắc hoặc triết lý chi phối phần mềm miễn phí, đồng thời đã sinh ra một loạt các công cụ trong khi cố gắng tạo ra một hệ điều hành. Vì vậy, các công cụ GNU về cơ bản là các phiên bản mở của các công cụ đã tồn tại nhưng được làm lại để tuân thủ các nguyên tắc của phần mềm mở. GNU / Linux là một mạng lưới gồm các công cụ đó và nhân Linux để tạo thành một HĐH hoàn chỉnh, nhưng có các "GNU" khác. GNU / Hurd chẳng hạn.
Unix và BSD là các triển khai POSIX "cũ" có nhiều cấp độ "nguồn đóng" khác nhau. Unix thường là nguồn đóng hoàn toàn, nhưng có nhiều hương vị của Unix cũng như có Linux nếu không muốn nói là nhiều hơn. BSD thường không được coi là "mở" bởi một số người nhưng sự thật nó mở hơn rất nhiều so với bất kỳ thứ gì khác tồn tại. Cấp phép cũng được phép sử dụng cho mục đích thương mại với ít hạn chế hơn khi giấy phép "mở" hơn được phép.
Linux là người mới. Nói một cách chính xác, nó "chỉ là một hạt nhân", tuy nhiên, nói chung, nó được coi là một hệ điều hành đầy đủ khi kết hợp với Công cụ GNU và một loạt các thứ khác.
Sự khác biệt chính quản lý là lý tưởng. Unix, Linux và BSD có những lý tưởng khác nhau mà họ thực hiện. Chúng đều là POSIX và về cơ bản là có thể hoán đổi cho nhau. Họ giải quyết một số vấn đề tương tự theo những cách khác nhau. Vì vậy, ngoài lý tưởng và cách họ chọn để thực hiện các tiêu chuẩn POSIX, có rất ít sự khác biệt.
Để biết thêm thông tin, tôi khuyên bạn nên đọc một bài viết ngắn về việc tạo GNU, OSS, Linux, BSD và UNIX. Họ sẽ nghiêng về những ý tưởng cá nhân của họ, nhưng khi bạn đọc qua, bạn sẽ nhận được một ý tưởng tốt về sự khác biệt.
Sơ đồ phả hệ Unix này cho thấy rõ lịch sử của Unix, BSD, GNU và Linux ( từ Wikimedia ):