요약
옛 맥을 브라우저에서 돌려 주는 Infinite Mac에서 이제 BeOS도 실행할 수 있습니다.
Infinite Mac을 운영하는 개발자 미하이 파르파리타가 BeOS를 추가한 과정을 정리한 글입니다. BeOS는 애플이 한때 인수를 고려했던 운영체제입니다.
왜 중요한가
- 애플이 가지 않은 길을 설치 없이 브라우저에서 직접 체험할 수 있게 되었습니다.
- Mac OS에 맞춰 개발된 에뮬레이터의 숨은 의존성이 드러나, 에뮬레이션 정확도가 높아졌습니다.
- 저자는 이번 개선이 MkLinux나 Rhapsody 같은 다른 운영체제 구동에도 도움이 되리라 기대합니다.
핵심 내용
- DR8.2, DR8.3, R5 등 여러 버전이 Mac OS 설치본처럼 바로 부팅되고, 작업 내용도 저장할 수 있습니다.
- 에뮬레이터 DingusPPC에 BeOS가 공식 지원한 Power Macintosh 7300 구성을 더하고 수정 사항을 여럿 기여했습니다.
- 화면 깊이를 바꿀 때 하드웨어에 알리는 순서가 Mac OS와 달라 화면이 깨지는 문제가 있었습니다.
- DR8.2는 1997년 4월 1일 이후 부팅되지 않게 되어 있어, 이 디스크를 고르면 날짜를 고정하게 했습니다.
- 저자는 BeOS의 속도와 파일 시스템 기능을 높이 사면서도, 전체적으로는 NeXTStep이 더 성숙했다고 평가했습니다.
HN 반응
- 전직 Be 직원 등은 코드 품질과 네트워킹·인쇄 기능의 약점을 들어 넥스트 인수가 옳았다고 봤고, 스티브 잡스와 그의 팀이 결정적이었다는 의견도 많았습니다.
- BeOS가 지금도 가장 빠르고 보기 좋은 데스크톱이라는 향수가 이어졌고, 후속 프로젝트인 Haiku를 권하는 댓글도 나왔습니다.
애플이 대신 BeOS를 샀다면 애플 OS가 어떤 길을 걸었을지 다룬 글이 있다면 정말 읽어 보고 싶습니다.
예전에 이 사이트에 Be 출신 직원 몇 분이 남긴 댓글을 보면, 기술적으로는 애플이 Be가 아니라 넥스트를 산 게 옳은 결정이었다고 합니다. BeOS는 코드 품질이 나빴고, 네트워킹이나 인쇄 같은 중요한 영역에서 NEXTSTEP에 한참 뒤처져 있었다고 해요. 게다가 OS API를 C++로 곧바로 구현하는 바람에, 새 버전에서 ABI가 깨진 탓에 특정 C++ 컴파일러(90년대 중반의 GCC 어느 버전)에 묶여 버렸습니다. BeOS 소프트웨어를 지원하는 Haiku(BeOS를 현대적으로 재구현한 OS)의 32비트 버전도 그 때문에 지금까지 그 90년대 중반 GCC로 컴파일해야 합니다.
그 밖에도 Be를 샀다고 애플의 경영 문제가 해결됐을지는 잘 모르겠습니다. 프로젝트가 또 하나의 Copland로 전락하지 않으면서 BeOS에 실제 제품용 OS가 되는 데 필요한 기능을 붙일 수 있었을까요? 당시 애플 경영진이 거의 똑같은 모델이 수십 개씩 되던 방대한 제품 라인을 줄일 수 있었을까요? Newton이나 Pippin 같은 막다른 프로젝트를 정리할 수 있었을까요? 등등 따져 볼 게 많습니다.
저는 전직 Be 직원입니다. 훌륭한 요약이네요. 경영 문제를 조금 더 설명하자면, Be 경영진 일부가 팜으로 옮겨 갔는데 거기서도 그다지 잘하지 못했습니다. 재미 삼아 상상해 보면, 애플이 Be를 사고, 애플은 파산하거나 복제 업체들에 잡아먹히고, 넥스트는 WebObjects로 인터넷을 떠받치고, 마이크로소프트는 반독점 소송으로 무너지고, 우리는 모두 이즐/GNOME 기반 리눅스를 쓰고 있는 세상이 될 수도 있었겠죠.
Palm OS 6에서 벌어진 일이 Copland와 얼마나 비슷한지 흥미롭습니다. 작동은 하지만 낡은 OS를 새 플랫폼에 임시방편으로 억지로 얹어 놓았는데, 새 하드웨어를 제대로 활용하려고 추진한 재작성 버전은 끝내 내놓지 못했죠. Palm OS 6은 그래도 완성은 됐지만 실제로 출시된 기기에는 한 번도 쓰이지 않았습니다. 당시 구할 수 있던 ARM 프로세서와 결합했을 때 이 OS의 설계가 근본적으로 어떻게 잘못됐는지 짚은 흥미로운 Reddit 글이 있습니다: https://www.reddit.com/r/Palm/comments/1422bqy/palm_os6/jn5o9xg/
팜은 한때 ARM용 PalmOS에 쓰려고 심비안과 심비안 커널 라이선스를 논의한 적이 있습니다.
그게 성사됐더라면 좋았을 텐데요... 두 회사 모두 살릴 수 있었을지도 모릅니다.
BeOS가 얼마나 부족했는지를 보여 주는 가장 좋은 예가, 아주 오랫동안 어떤 종류의 프린터 드라이버도 없었다는 점입니다. 반면 NeXTstep은 Display PostScript를 썼기 때문에 인쇄를 사실상 "공짜로" 얻었습니다. 게다가 그 구현이 어찌나 대단했던지, 어도비는 인쇄소가 NeXT 컴퓨터를 사서 이미지세터용 RIP로 쓰지 못하도록 사용 계약서에 출력 해상도를 제한하는 조항을 넣으라고 요구했을 정도입니다.
아, 어도비. 거대한 지옥불에 끝없이 타 버렸으면 좋겠네요.
표준화 이전의 C++는 C++98보다도 훨씬 못한 프로그래밍 언어이긴 합니다. 그래도 결정적인 차이는 기술이 아니라 사람이었을 겁니다. 애플이 Be를 사면 JLG를 되찾아 오는 거고, 넥스트를 사면 잡스를 되찾아 오는 거니까요.
그 중요한 시기에 애플을 살리느냐 죽이느냐는 잡스에게 달려 있었습니다. 저는 그 사람이 마음에 들지 않았지만, 회사의 성공과는 별개의 문제죠. JLG에게는 잡스가 회사에 불어넣은 그 무언가가 없었습니다.
게다가 잡스는 팀 전체를 데리고 왔습니다. 애플의 핵심 인물 상당수가 넥스트 출신으로 교체됐죠. 에이비 테바니안, 크레이그 페더리기, 베르트랑 세를레를 비롯해 덜 알려진 이름들도 모두 넥스트 출신입니다. 당시에는 넥스트가 애플을 마이너스 4억 달러에 인수한 셈이라는 농담이 돌았습니다.
네, 역인수였죠. 다만 하나만 바로잡자면, 크레이그는 훨씬 나중에야 합류했습니다. 아주 힘든 시기를 겪지 않았고, 애플이 완전히 되살아나 돈을 찍어 내던 때에 들어왔습니다. 저는 에이비와 베르트랑이 떠나고 크레이그가 맡은 시점부터 애플 소프트웨어가 쇠락하기 시작했다고 봅니다.
Designed in California는 이 시기를 다루는 영상 팟캐스트인데 정말 재미있게 봤습니다.
https://www.youtube.com/@designedinca
(Be의 시작을 다룬 편은 특히 이겁니다: https://youtu.be/5IFxwnXASyQ )
아마 애플은 회복하지 못하고 지금쯤 역사 속으로 사라진 또 하나의 회사가 됐을 겁니다.
그렇지 않더라도 데스크톱 컴퓨팅은 C++가 주력 시스템 프로그래밍 언어로 장악하고, 유닉스 계열은 서버로 밀려났을 겁니다.
GUI를 빼면 Be는 유닉스 위에 아주 얇게 씌운 껍데기일 뿐입니다. 농담이 아니라 "BStatable"이라는 클래스가 있는데, 유닉스를 아는 사람이라면 알겠지만 그건 그냥 stat입니다. 이들의 OS 커널이 구현하는 게 결국 stat뿐이라는 뜻이죠.
초기 BeOS의 네트워킹처럼 완전히 다른 방식으로 만든 부분은 형편없어서, 당연히 갖다 버리고 유닉스가 하던 방식으로 가야 했고 Be도 실제로 그렇게 했습니다. 그러니 세기말쯤 사과 맛 BeOS가 나왔다면 여러분이 생각하는 것보다 훨씬 "UI만 다른 유닉스"에 가까웠을 겁니다. 넥스트라고 해서 그 점이 달라지진 않았고요.
당시 나왔던 BeOS R5 CD에는 확실히 그런 게 없었고, BeOS에서 C++로 프로그래밍하려고 제공된 여러 Kit도 마찬가지였습니다.
Haiku가 제대로 된 POSIX 유저랜드 지원을 만들려고 들인 노력만 봐도 그게 맞는 말이라는 걸 알 수 있습니다.
BeOS의 강력한 셀링 포인트 하나가 POSIX를 준수한다는 점이었습니다. 말씀하신 얇은 껍데기가 그런 뜻이겠죠. 하지만 그 코드는 전부 저희가 직접 작성해야 했습니다. 리눅스나 SCO 같은 다른 유닉스를 돌리는 것과는 달랐어요. 몇 번이고 쓰고 또 쓰고 다시 쓴 코드였습니다.
BeOS는 POSIX와 워낙 거리가 멀어서 Haiku가 거기까지 가려고 엄청나게 애써야 했다는 댓글과, BeOS는 POSIX를 준수했다는 댓글이 나란히 놓인 걸 보니 정말 즐겁네요.
Haiku는 소스를 전부 새로 쓴 거라서 바이너리를 어떻게든 실행시킬 방법을 찾아야 했습니다. 저는 POSIX 전문가는 아니지만, 그건 ABI가 아니라 API 수준의 보장이었던 것 같습니다.
BeOS 소스를 가지고 있던 회사가 몇 곳 있었고, 그 소스는 인터넷 어딘가에서 찾을 수 있습니다. yellowTAB ZETA가 라이선스 없는 BeOS 소스 코드를 바탕으로 만들어졌다는 추측도 있고요.
제게 BeOS는 지금도 역대 가장 보기 좋은 데스크톱 OS이고, 정말 빨랐고 쓰는 느낌도 아주 좋았습니다. 2000년쯤(무료로 풀렸을 때) 몇 달 동안 제 PC에서 거의 BeOS만 썼던 기억이 납니다.
완전히 동감합니다.
KDE 프로젝트 운영진이 Plasma 데스크톱을 만드는 사람들 모두에게 일주일 동안 Haiku를 써 보라고 명령이라도 내렸으면 좋겠어요.
KDE에는 "대화상자를 열고, 탭 6개를 내려가서, 값을 입력하는" 식의 돌아가는 방식이 많은데, Haiku에서는 한 번 드래그하면 끝나는 일이라 정말 미칠 지경입니다.
반대 사례가 GNOME에게 RISC OS 같은 존재입니다.
GNOME 3은 윈도 디자인에서 물려받은 온갖 잡동사니가 없는 깔끔하고 현대적인 미니멀 데스크톱을 만들려고 했습니다. 하지만 그들이 아는 건 누가 봐도 윈도와 KDE뿐이었죠.
RISC OS가 바로 그런 깨끗하고 과거의 짐이 없는 데스크톱입니다. 다른 어떤 것과도 닮지 않았고, 세상이 뭘 하든 관심 없는 팀이 처음부터 만들었습니다.
게다가 지금도 살아 있고, 계속 업데이트되고, 최신 하드웨어에서도 잘 돌아갑니다. 오늘날 여러 곳에서 따로따로 64비트 후속 버전을 만들고 있고요.
스마트폰 CPU 대부분(적어도 예전에는)을 만든 ARM이 원래 에이콘 RISC 머신즈(Acorn Risc Machines)라는 이름으로 설립되어 자체 RISC OS를 얹은 컴퓨터를 만들었다는 사실을 모르는 분이 많을 겁니다.
저는 거의 아는 게 없어서 알려 주신 링크들을 읽어 보겠습니다.
RISC OS요? 아직도 있다고요! 어디서 돌릴 수 있죠? 아니면 뭘 돌려야 하죠?
FOSS 버전은 여기에 있습니다:
https://www.riscosopen.org/content/
라즈베리 파이는 4까지 모든 모델에서 돌아가고, 아주 잘 돌아갑니다. 5.30 버전부터는 파이의 와이파이 칩을 지원해서 무선 LAN에 연결할 수 있습니다.
지적 재산권은 RISC OS Developments Ltd(ROD)가 가지고 있고, 파이에서 무료인 개선판 RISC OS Direct를 내놓았습니다. IPv6 스택과 최신 WebKit 브라우저가 들어 있어요:
https://www.riscosdev.com/direct/
더 성능 좋은 전용 하드웨어도 판매합니다.
아직 독점으로 남아 있는 다른 포크도 있습니다. 3QD 소유인데, 예전에는 에이콘 호환 실제 장비용 업그레이드를 팔았지만 이제 그런 장비는 모두 골동품이라, 최신 x86 머신에서 돌아가는 소프트웨어 에뮬레이션에 집중하고 있습니다:
http://www.virtualacorn.co.uk/index2.htm
알리려고 이 주제로 여러 번 글을 썼습니다.
https://www.theregister.com/software/2022/06/21/risc-os-is-35-but-its-still-kicking/919144
더 레지스터에서 "riscos"를 검색하면 초기 핵심 팀 인터뷰, 최근 FOSS 릴리스 몇 개에 대한 소개, 64비트 전환을 노리는 Moonshot 프로젝트 등을 찾을 수 있습니다.
또 하나, BeOS Book 맨 앞에 나오는 얘기인데(Haiku도 그걸 이어받았죠), 스피너나 모래시계를 보여 주면 안 된다는 겁니다. 뭐든 뭔가를 해야지, 사용자를 기다리게 하면 안 된다는 거죠.
BeOS를 좋아하신다면 V OS(https://v-os.dev/)를 확인해 보세요. Be의 GUI와 SDK를 리눅스 커널 위에서 돌아가도록 포팅하는 리눅스 배포판입니다. 자원도 꽤 적게 씁니다. 충분한 지원만 받으면 언젠가 리눅스에서 GNOME과 KDE를 대체할 정말 훌륭한 대안이 될 수도 있을 겁니다.
아직 안 해 보신 분들께 Haiku OS 1를 꼭 한번 써 보시길 권합니다. BeOS의 FOSS 후계자인데, 쓰기 정말 편하고 놀랄 만큼 많은 소프트웨어를 지원합니다.
Claude가 iOS와 맥OS 앱이 딸린 웹/메모/코드 메타 검색 엔진을 만들어 줬는데, 재미 삼아 Haiku 버전도 만들어 달라고 했더니 20분도 안 돼서 해냈습니다 [1].
AI 덕분에 이런 지나간 시대의 OS들이 아주 짧은 시간 안에 최신 앱으로 이루어진 완전히 새로운 생태계를 갖게 될 수도 있겠다는 생각이 듭니다.
음. 아니면 OS 자체를 개선할 수도 있겠죠.
지금이라면 클래식 맥OS를 디컴파일해서 최신 메모리 보호, 가상 메모리, 선점형 멀티태스킹, 네트워킹을 갖추도록 뜯어고치는 것도 아마 가능할 겁니다.
메모리 점유량이 고작 몇 메가바이트인 OS라면 부팅하는 데 밀리초밖에 안 걸리겠죠?
저는 애플의 System 6로 지금 바로 그 작업을 하는 중입니다. 코드명 bluetail로 POSIX 호환 셸을 붙이고 하나씩 쌓아 올리는 중인데, OS, busybox, openssh 같은 것까지 올려서 부팅이 됩니다. 라즈베리 파이 3 A+ 베어메탈에서도 부팅되고요(물론 qemu에서도 되고요). USB MIDI도 완전히 지원합니다. (제가 그러기로 했기도 하지만) System 6에서 돌아가는 초기 DAW 소프트웨어 목록이 놀랄 만큼 방대하거든요. USB 이더넷, 사운드, 웹캠 등도 꽤 쓸 만합니다. 취미 소프트웨어의 미래가 정말 대단해요.