14 điểm bởi GN⁺ 2025-03-25 | 2 bình luận | Chia sẻ qua WhatsApp
  • Mã nguồn mở của 20~30 năm trước mang ý nghĩa tự dođộc lập về mặt kỹ thuật
  • Khi đó, Windows và Unix thương mại thống trị, nhưng Linux và BSD là lựa chọn cho tự do
  • Hiện nay mã nguồn mở đã trở thành dòng chính, nhưng vấn đề monoculture (đơn văn hóa) đang xuất hiện
    • Phát triển xoay quanh công cụ → ám ảnh với công cụ thay vì đổi mới
    • Công nghệ mới được ưu tiên hơn bảo mật

Vấn đề hiện tại

  • Tính ổn định đang dần biến mất
    • "Sẽ sửa ở phiên bản tiếp theo"
    • "Nếu bị crash thì cứ tự động khởi động lại là được"
    • Hiệu năng được ưu tiên hơn cả việc hệ thống bị sập
  • Tính an toàn bộ nhớ của Rust cũng trở nên vô nghĩa nếu dùng các hàm không an toàn
Quảng cáo

Giải pháp mà BSD mang lại

  • BSD cung cấp tính nhất quán và ổn định
  • Triết lý của hệ thống BSD
    • Kernel và công cụ người dùng do cùng một đội phát triển → bảo đảm tính nhất quán
    • Tài liệu hóa xuất sắc (đặc biệt là OpenBSD)
    • Đơn giản hóa mã nguồn → tăng cường bảo mật
    • Phát triển tiến hóa dần dần (Evolution), không phải thay đổi cấp tiến

Các loại BSD chính và đặc điểm

FreeBSD

  • Hệ thống mục đích chung – chú trọng hiệu năng và độ ổn định
  • Có HardenedBSD, một biến thể tăng cường bảo mật
  • ZFS, môi trường khởi động, tách biệt OS và gói phần mềm
  • Jail container (được giới thiệu vào năm 2000) – đi trước Linux cgroups 10 năm
  • Được dùng trong Netflix, PlayStation, MacOS

OpenBSD

  • Chú trọng bảo mật và tính đúng đắn của mã nguồn
  • Cung cấp các cơ chế bảo mật như pledge(), unveil()
  • Là điểm khởi đầu của OpenSSH và nhiều công cụ bảo mật khác
  • Phát triển ưu tiên đội ngũ – không bị yêu cầu người dùng chi phối

NetBSD

  • "Of course it runs NetBSD!" – có thể chạy trên rất nhiều nền tảng
  • Hỗ trợ hơn 50 kiến trúc
  • Chú trọng chất lượng mã nguồn và khả năng tương thích
  • Chạy ổn định trên phần cứng cũ như thiết bị nhúng
Quảng cáo

Lợi ích thực tế khi dùng BSD

  • Độ ổn định và bảo mật tốt hơn – các hệ thống BSD ổn định và bảo mật xuất sắc
  • Quản trị hệ thống đơn giản – hệ thống không bị hỏng sau khi nâng cấp
  • Ít phơi bày hơn trước các lỗ hổng bảo mật phổ biến – "Trên OpenBSD, vấn đề đó đã được sửa từ 20 năm trước"
  • Giữ tên giao diện mạng nhất quánix0 sẽ không đổi thành những tên như enx3e3300c9e14e hoặc enp10s0f0np0
  • Mức tải hệ thống thấp của FreeBSD – duy trì tải thấp hơn Linux trên cùng phần cứng
  • Hiệu năng xử lý I/O vượt trội của FreeBSD – trải nghiệm rút ngắn thời gian 70% trên cùng phần cứng
  • Trải nghiệm người dùng được cải thiện trên FreeBSD – phản hồi nhanh hơn và nhất quán hơn
  • Bảo đảm hỗ trợ dài hạn của NetBSD – "Đừng lo – nền tảng sẽ được hỗ trợ trong thời gian dài"

Vì sao nên chọn BSD vào năm 2025

  • Bảo mật – cung cấp bảo mật mạnh mẽ trong một môi trường ngày càng nhiều mối đe dọa
  • Độ ổn định – duy trì sự ổn định bền bỉ trong một thế giới ám ảnh công nghệ mới
  • Hiệu năng – mang lại hiệu năng hiệu quả mà không có sự phức tạp không cần thiết
  • Tự do – bảo đảm tính độc lập khỏi các công cụ và công nghệ dòng chính
  • Triết lý nhất quán – duy trì thiết kế hệ thống rõ ràng và nhất quán

Kết luận

  • BSD là một lựa chọn thay thế mang lại tự do, ổn định, bảo mật
  • Khuyến nghị đừng để bị cuốn theo công nghệ mới mà hãy trải nghiệm triết lý của BSD

Giới thiệu bài trình bày

  • Đây là bản tóm tắt của bài trình bày tại OSDay 2025. Trong 25 phút, bài nói tập trung vào nội dung khái quát hơn là chi tiết
  • Diễn giả Stefano Marinelli là nhà sáng lập kiêm Barista của BSD Cafe, và đã là người dùng Linux từ năm 1996
  • Bắt đầu khám phá các hệ thống BSD từ năm 2002 – động lực là FreeBSD Handbook
  • Slide bài trình bày
  • Video bài trình bày

2 bình luận

 
picopress 2025-03-25

Dù vậy, xét về hệ sinh thái thì Linux vẫn có lẽ đang chiếm ưu thế..

 
GN⁺ 2025-03-25
Bình luận trên Lobste.rs
  • draga79 (tác giả)
    • Thời lượng bài trình bày chỉ có 25 phút nên nội dung được rút gọn để phù hợp với bối cảnh hội nghị mã nguồn mở thông thường
    • Mục tiêu là khơi gợi sự quan tâm đến BSD từ góc nhìn triết lý hơn là đi sâu vào chi tiết kỹ thuật
  • jmmv
    • Đồng cảm với xu hướng dùng Linux, Docker và Kubernetes chỉ vì “ai cũng dùng”
    • Chỉ ra rằng việc Docker trở thành tiêu chuẩn dù không phải lúc nào cũng là giải pháp tối ưu là một vấn đề
    • Ngay cả khi muốn giải quyết các vấn đề phức tạp về triển khai và vận hành, việc giải thích cách tiếp cận khác cũng khó được người khác thấu hiểu
  • dijit
    • Phản đối lối suy nghĩ “chỉ nên dùng AWS và ECS”
    • Việc ép mình theo một môi trường cụ thể chỉ có lợi cho Amazon và hạn chế quyền tự do của người dùng
  • radmind
    • Docker tiện cho việc lưu trữ cấu hình hệ thống nhưng không phải là lời giải hoàn hảo
    • Máy ảo cũng là một lựa chọn thay thế rất tốt, và nếu muốn dùng BSD như một hệ điều hành thời gian thực thì họ tò mò BSD nào là phù hợp
  • sjamaan
    • Việc dùng container đang bị xem là điều quá hiển nhiên và làm tăng độ phức tạp
    • Các công cụ như GitLab hay Sentry rất khó chạy nếu không có container, và điều này gây ra vấn đề trong môi trường không phải BSD
  • jbauer
    • Đã dùng OpenBSD trên máy chủ và laptop suốt 5 năm – rất ổn định và trực quan
    • Phần mềm tích hợp sẵn rất tốt nên hầu như không cần cài thêm gói từ bên thứ ba
    • Đánh giá đây là hệ Unix có chất lượng tốt nhất
  • reezer
    • Cho rằng việc khái quát hóa về BSD là không phù hợp
    • Định kiến rằng FreeBSD dành cho mục đích chung, OpenBSD cho bảo mật, NetBSD cho khả năng tương thích là sai
    • Trên thực tế BSD đang hoạt động rất tốt trong nhiều môi trường khác nhau
  • ploum
    • FreeBSD mang lại hiệu năng và độ ổn định
    • OpenBSD mang lại khả năng hiểu mã nguồn và bảo mật
    • Linux mang lại môi trường desktop dễ dùng
  • elobdog
    • OpenBSD rất hiệu quả cho tường lửa và các dịch vụ mạng
    • Mã nguồn ngắn gọn, dễ đọc và ít lỗi
    • Thái độ “tự làm bài tập của mình đi” thường gặp trong cộng đồng mã nguồn mở lại tỏ ra hữu ích trong môi trường chuyên nghiệp
  • cryptix
    • Tiếp tục dùng FreeBSD vì tài liệu và chất lượng phần mềm rất xuất sắc
    • Muốn tránh việc quản lý cấu hình phức tạp
  • jitl
    • Trước đây từng kết hợp FreeBSD, OpenBSD và Linux, nhưng giờ Docker và Linux hiệu quả hơn
    • Với một số thiết bị mạng hoặc appliance cụ thể thì BSD có thể phù hợp hơn
  • david_chisnall
    • Cả OpenBSD và FreeBSD đều hỗ trợ container
    • FreeBSD cung cấp cách ly container bằng các công cụ như runj, ocirun
    • Có thể quản lý mạng thông qua plugin CNI – tương thích với Podman và containerd
  • asynts
    • Trải nghiệm phát triển trên DragonflyBSD rất tệ – hệ thống build không ổn định và chậm
    • Không có ý định quay lại dùng hệ BSD nữa
  • johnklos
    • Hệ thống build của NetBSD rất đơn giản và dễ dùng
    • Có thể build kernel bằng lệnh một dòng
  • posix_cowboy
    • pf (packet filter) là một trong những lý do nên chọn BSD
    • Có thể dễ dàng nạp danh sách cho phép/chặn từ tệp văn bản
  • meerm
    • Đã có trải nghiệm tốt với DragonflyBSD – khuyên nên thử nếu có cơ hội