2025년에 BSD를 선택해야 하는 이유
(it-notes.dragas.net)- 20~30년 전의 오픈소스는 자유와 기술적 독립성의 의미였음
- 당시에는 Windows와 상용 Unix가 지배했으나, Linux와 BSD는 자유를 위한 선택이었음
- 현재 오픈소스는 주류가 되었지만, 모노컬처(단일 문화) 문제가 발생 중
- 도구 중심의 개발 → 혁신이 아닌 도구에 집착
- 보안보다 새로운 기술이 우선시됨
현재의 문제점
- 안정성이 사라지고 있음
- "다음 버전에서 고칠 것이다"
- "충돌하면 자동 재시작하면 된다"
- 시스템 크래시보다 성능이 우선시됨
- Rust의 메모리 안전성도 안전하지 않은 함수 사용 시 의미가 없어짐
BSD가 제공하는 해결책
- BSD는 일관성과 안정성 제공
- BSD 시스템의 철학
- 커널과 사용자 도구가 같은 팀에서 개발됨 → 일관성 보장
- 훌륭한 문서화 (특히 OpenBSD)
- 코드의 단순화 → 보안 강화
- 점진적 발전 (Evolution), 급진적 변화 아님
주요 BSD 종류와 특징
FreeBSD
- 일반 목적 시스템 – 성능과 안정성 중시
- 보안 강화 버전인 HardenedBSD 존재
- ZFS, 부트 환경, OS와 패키지 분리
- Jail 컨테이너 (2000년에 도입됨) – 리눅스 cgroups보다 10년 앞섬
- Netflix, PlayStation, MacOS 등에서 사용됨
OpenBSD
- 보안과 코드 정확성 중시
- pledge(), unveil() 등 보안 메커니즘 제공
- OpenSSH 및 다양한 보안 툴의 출발점
- 팀 우선 개발 – 사용자 요구에 휘둘리지 않음
NetBSD
- "Of course it runs NetBSD!" – 다양한 플랫폼에서 실행 가능
- 50개 이상의 아키텍처 지원
- 코드 품질과 호환성 중시
- 임베디드 장치 등 오래된 하드웨어에서 안정적 실행
BSD 사용의 실제 장점
- 더 나은 안정성과 보안성 – BSD 시스템은 안정적이며 보안이 뛰어남
- 간편한 시스템 관리 – 업그레이드 후에도 시스템이 망가지지 않음
- 일반적인 보안 취약점에 덜 노출됨 – "OpenBSD에서는 이미 20년 전에 수정된 문제입니다"
- 일관된 네트워크 인터페이스 이름 유지 –
ix0는enx3e3300c9e14e또는enp10s0f0np0같은 이름으로 바뀌지 않음 - FreeBSD의 낮은 시스템 부하 – 동일 하드웨어에서 Linux보다 낮은 부하 유지
- FreeBSD의 우수한 I/O 처리 성능 – 동일 하드웨어에서 70%의 시간 단축 경험
- FreeBSD의 개선된 사용자 경험 – 더 빠르고 일관된 반응 속도 제공
- NetBSD의 장기적인 지원 보장 – "걱정 마세요 – 플랫폼이 오랫동안 지원될 것입니다"
2025년에 BSD를 선택해야 하는 이유
- 보안 – 점점 더 위협이 커지는 환경에서 강력한 보안 제공
- 안정성 – 새로운 기술에 집착하는 세상에서 꾸준한 안정성 유지
- 성능 – 불필요한 복잡성 없이 효율적인 성능 제공
- 자유 – 주류 도구와 기술에서 벗어난 독립성 보장
- 일관된 철학 – 명확하고 일관된 시스템 설계 유지
결론
- BSD는 자유, 안정성, 보안을 제공하는 대안임
- 새로운 기술에 휩쓸리지 말고 BSD의 철학을 경험해 보길 권장함
발표 소개
GeekNews Weekly에 포함된 글입니다.
에디터 코멘트 보기
댓글과 토론
Lobste.rs의 댓글들
- draga79 (작성자)
- 발표 시간이 25분밖에 없어서 일반적인 오픈소스 컨퍼런스 환경에 맞게 내용을 간략하게 구성함
- 기술적인 세부 사항보다 철학적 관점에서 BSD에 대한 관심을 끌기 위한 것이 목표였음
- jmmv
- "모두가 사용하니까"라는 이유로 Linux, Docker, Kubernetes를 사용하는 경향에 공감
- Docker가 항상 최적의 솔루션은 아님에도 불구하고 표준이 되어버린 현실이 문제라고 지적
- 복잡한 배포 및 운영 문제를 해결하려고 해도 다른 접근 방식을 설명하면 이해받기 어려움
- dijit
- "AWS와 ECS만 사용해야 한다"는 사고방식에 반대
- 특정 환경에 맞추는 것은 Amazon에 유리할 뿐이며, 사용자의 자유를 제한함
- radmind
- Docker는 시스템 구성 저장에 편리하지만 완벽한 해결책은 아님
- 가상 머신도 훌륭한 대안이며 BSD를 리얼타임 OS로 사용하려는 경우 어떤 BSD가 좋은지 궁금함
- sjamaan
- 컨테이너 사용이 너무 당연시되고 있으며, 복잡성이 증가함
- GitLab이나 Sentry 같은 도구는 컨테이너 없이 실행하기 어렵고, 이는 비BSD 환경에서 문제를 일으킴
- jbauer
- OpenBSD를 서버 및 노트북에서 5년 동안 사용 – 매우 안정적이고 직관적임
- 내장 소프트웨어가 훌륭해 타사 패키지를 거의 설치할 필요가 없음
- Unix 계열 중 최고의 품질이라고 평가
- reezer
- BSD에 대해 일반화하는 것은 부적절함
- FreeBSD는 일반적인 용도로, OpenBSD는 보안, NetBSD는 호환성이라는 고정 관념이 틀림
- 다양한 환경에서 BSD가 실제로 잘 작동하고 있음
- ploum
- FreeBSD는 성능과 안정성 제공
- OpenBSD는 코드 이해도와 보안을 제공
- Linux는 사용하기 쉬운 데스크탑 환경 제공
- elobdog
- OpenBSD는 방화벽 및 네트워크 서비스에서 매우 효과적임
- 코드가 간결하고 읽기 쉬우며 버그가 적음
- 오픈소스 커뮤니티에서 자주 경험하는 "숙제를 하라"는 태도가 프로페셔널 환경에서 유익하게 작용함
- cryptix
- FreeBSD의 문서화와 소프트웨어 품질이 뛰어나서 계속 사용 중
- 복잡한 설정 관리는 피하고 싶음
- jitl
- 예전에는 FreeBSD, OpenBSD, Linux를 조합해서 사용했지만 지금은 Docker와 Linux가 더 효율적
- 특정 네트워크 장비나 어플라이언스에는 BSD가 더 적합할 수 있음
- david_chisnall
- OpenBSD와 FreeBSD 모두 컨테이너 지원
- FreeBSD는
runj,ocirun같은 도구로 컨테이너 격리 제공 - CNI 플러그인을 통해 네트워크 관리 가능 – Podman 및 containerd와 호환 가능
- asynts
- DragonflyBSD에서 개발 경험이 매우 나빴음 – 빌드 시스템이 불안정하고 느림
- 다시 BSD 시스템을 사용할 생각이 없음
- johnklos
- NetBSD의 빌드 시스템은 매우 간단하고 사용하기 쉬움
- 한 줄 명령어로 커널 빌드 가능
- posix_cowboy
- pf(패킷 필터)가 BSD를 선택해야 하는 이유 중 하나
- 텍스트 파일에서 허용/차단 목록을 쉽게 로드 가능
- meerm
- DragonflyBSD에서 좋은 경험을 했음 – 사용해 볼 기회가 있다면 추천