본문으로 건너뛰기
피드

40년간 사라졌던 1981년 원조 Hack 소스코드, 현대 Linux에서 부활

open-source 약 4분
vote
0
댓글
북마크

NetHack의 시조인 Jay Fenlason의 1981-82년 원조 Hack 소스코드가 40년 만에 PDP-11 백업 테이프에서 발견됨. protoHack 프로젝트가 K&R C를 ANSI C로 변환하고 V7 시스템 콜을 POSIX로 교체해서 현대 Linux에서 빌드·실행 가능하게 복원. 게임플레이 변경 없이 원본 버그와 오타까지 보존하는 것이 원칙.

  • 1

    현존하는 모든 Hack 배포판보다 이전 버전 — Amulet of Frobozz, 상점 없음, 펫 없음, Displacer beast 등 고유 특징

  • 2

    8개 소스 파일, PDP-11 메모리 제약으로 인한 2바이너리(hack+mklev) 아키텍처 보존

  • 3

    Brian Harvey가 고등학교 PDP-11 백업을 40년간 보관하고 있다가 2025년 교육 프로젝트를 계기로 공개

  • 4

    CC-BY-NC-SA 4.0 라이선스, ncurses와 libxcrypt 필요

ℹ️참고

> NetHack의 전신인 Jay Fenlason의 원조 Hack(1981-82). 알려진 모든 Hack 배포판보다 이전 버전이 2025년에야 발굴됨.

어떻게 발견됐나

  • Jay Fenlason이 1981-82년에 고등학교(Lincoln-Sudbury Regional High School)에서 만든 원조 Hack 소스코드가 40년 넘게 분실된 줄 알았음
  • 2025년, 당시 학교 컴퓨터 담당이었던 Brian Harvey가 PDP-11 백업 테이프를 보관하고 있었고, 교육용 프로젝트(Snap!Hack)를 위해 Dan Stormont에게 제공하면서 세상에 나옴
  • 소유 이력이 명확함: Fenlason → Harvey → Stormont. 라이선스는 CC-BY-NC-SA 4.0

왜 중요한가

  • 현존하는 모든 Hack 배포판보다 이전 버전. Andries Brouwer가 1984년에 거의 새로 쓴 Hack 1.0이 세상에 알려진 버전이고, 이건 그 원본임
  • NetHack → Hack 1.0 → 이 소스코드 순서로 거슬러 올라가는 계보의 시작점
  • Fenlason 본인도 USENIX 82-1 배포 테이프에 올려놓고 "잊어버렸다"고 함

원본만의 특징들

  • Amulet of Frobozz — 아직 "Amulet of Yendor"로 개명되기 전
  • 상점 없음 — 상점 시스템은 나중에 네덜란드 개발자들이 추가
  • 시작 펫 없음 — 혼자 던전에 내려감
  • Displacer beast 등장 — 알려진 Hack 변종 중 유일하게 이 몬스터가 있음. 나중에 'd' 슬롯이 "dog"에 배정되면서 사라짐
  • 56종 몬스터, 8개 깊이 레벨. "ugod", "xerp", "zelomp" 같은 다른 어디에도 없는 몬스터들
  • 오타도 원본 그대로 보존: "homonculous", "gelatenous cube"

기술적 복원 과정

  • PDP-11/70에서 V7 Unix(2.8BSD 알파 테스트 사이트)로 돌아가던 코드
  • 소스 파일 단 8개로 전체 게임 구현
  • K&R C → ANSI C 변환, V7 시스템 콜 → POSIX 대응 함수로 교체
  • indexstrchr, gtty/sttytcgetattr/tcsetattr, 가변인자 → <stdarg.h>
  • 2바이너리 아키텍처 유지: hack(메인 게임) + mklev(레벨 생성기). PDP-11 메모리 제약 때문에 새 레벨이 필요하면 mklev를 별도 프로세스로 exec하는 구조인데, 이것도 그대로 보존
  • 빌드 요구사항: ncurses, crypt(libxcrypt). Arch Linux, Alpine Linux, macOS에서 검증됨

💡

> 게임플레이나 디자인 변경 없이 순수 이식만 목표로 한 프로젝트. 원본 버그까지 의도적으로 보존함.

소스코드 보존이 우연한 개인의 백업에 의존했다는 점이 인상적. 로그라이크 장르의 기원을 직접 빌드해볼 수 있다는 역사적 가치가 큼.

댓글

댓글

댓글을 불러오는 중...

open-source

NIPA, 260명 규모 오픈소스 컨트리뷰션 아카데미 시작

정보통신산업진흥원이 2026 오픈소스 컨트리뷰션 아카데미 발대식을 열고 13주간의 프로젝트 활동을 시작했음. 국내 개발자들이 GitHub 기반 글로벌 협업 환경에서 코드, 문서, 버그 수정, 풀 리퀘스트를 직접 경험하게 하는 프로그램임.

open-source

그누보드7, 디딤과 손잡고 멀티클라우드 도입 문턱 낮춘다

에스아이알소프트가 클라우드 전문기업 디딤과 협력해 그누보드7 기반 웹서비스 구축·운영 환경을 넓히기로 했다. 커뮤니티, 쇼핑몰, 예약, 구독형 서비스 같은 실무 프로젝트에서 서버 구성과 운영 부담을 줄이는 게 핵심이다.

open-source

오픈소스 컨트리뷰션 아카데미 출범, 국내 개발자 260여 명 참여

정보통신산업진흥원이 2026 오픈소스 컨트리뷰션 아카데미 발대식을 열고 13주간의 활동을 시작했다. 11개 프로젝트팀의 멘토와 멘티 260여 명이 글로벌 오픈소스 프로젝트 기여를 목표로 코드 개발, 문서화, 오류 수정 등을 진행한다.

open-source

NIPA, 국내 개발자 260명 규모 오픈소스 컨트리뷰션 아카데미 시작

정보통신산업진흥원이 2026 오픈소스 컨트리뷰션 아카데미 발대식을 열고 국내 개발자의 글로벌 오픈소스 프로젝트 참여를 지원한다. 11개 프로젝트팀, 멘토·멘티 260여 명이 13주 동안 깃허브 기반 협업, 코드 리뷰, 문서화, 오류 수정 등을 실제로 경험한다.

open-source

Ghostty 엔진을 Emacs 안으로 끌고 온 터미널, Ghostel.el

Ghostel.el은 Ghostty의 libghostty-vt를 기반으로 Emacs 안에서 동작하는 터미널 에뮬레이터다. eat 스타일의 여러 입력 모드, 안정적인 복사 모드, line mode, 자동 password prompt 처리, compile-mode 유사 실행 버퍼, Kitty graphics 지원, 높은 throughput을 앞세워 eat/vterm과 차별화함.