ARC (파일 포맷)/수정 이력

수정 이력

1개의 판이 있어요. 줄마다 펼쳐 바뀐 부분을 보거나, 두 판을 골라 비교할 수 있어요.

왼쪽 동그라미 = 이전 판, 오른쪽 = 이후 판
#451AI 조사: 게임 제작 도구 문서GGWiki 자동 · · 현재 판+5,595자
1번째 줄 근처
추가: ## 개요
추가: ARC는 시스템 인핸스먼트 어소시에이츠(System Enhancement Associates, SEA)가 개발한 비손실 데이터 압축 및 아카이빙 파일 형식이다. 파일 형식과 이를 다루는 프로그램 모두 ARC라는 이름으로 불렸다. 1985년에 처음 공개되었으며, 초기 BBS(전자 게시판 시스템) 시대에 파일 압축과 다중 파일 아카이빙 기능을 결합한 편의성으로 크게 유행했다. 이후 더 나은 압축률과 디렉터리 구조 보존 기능을 제공하는 ZIP 형식에 밀려 주류에서 물러났으나, 바이러스 검사 소프트웨어 등에서 압축 파일 내부 검사를 위해 여전히 지원된다. .arc 확장자는 인터넷 아카이브의 ARC 형식, FreeArc, 닌텐도 게임큐브 및 Wii의 리소스 포맷 등 서로 무관한 여러 파일 형식에서도 사용되므로 주의가 필요하다.[1][2][3]
추가: ## 역사
추가: ### 초기 개발과 공개
추가: 1985년, SEA의 톰 헨더슨(Thom Henderson)은 ar 등 이전 프로그램들을 기반으로 ARC를 작성했다. 당시 개인용 컴퓨터의 저장 공간이 매우 제한적이고 모뎀 전송 속도가 느렸던 환경에서, 파일을 하나의 아카이브로 묶으면서 동시에 압축해 디스크 공간을 절약하고 전송 시간을 단축하는 기능은 큰 의의를 가졌다. ARC로 생성된 아카이브 파일은 ".ARC" 확장자를 가져 흔히 "arc 파일"로 불렸다.[2][3]
추가:
추가: ### 소스 코드 공개와 이식
추가: 1986년 SEA가 ARC의 소스 코드를 공개한 뒤, 1987년 하워드 추(Howard Chu)가 유닉스와 아타리 ST로 이식했다. 이 이식판은 이식성이 높아 VAX/VMS와 IBM 시스템/370 메인프레임 등 다양한 플랫폼으로 확산되었다. 하워드 추의 작업은 렘펠-지브(Lempel-Ziv) 인코딩된 데이터를 더 압축할 수 없다는 당시의 통념을 깨뜨린 사례로 평가된다. 그는 LZW 데이터에 허프먼 부호화를 적용해 추가 압축을 달성했으며, 이 하이브리드 기법은 이후 필 캐츠(Phil Katz) 등 여러 개발자의 압축 체계에 영향을 주었다.[2][3]
추가:
추가: ### PKWARE의 등장과 경쟁
추가: 필 캐츠는 어셈블리어 최적화를 통해 IBM PC에서 ARC보다 훨씬 빠르게 동작하는 셰어웨어 유틸리티 PKARC(압축)와 PKXARC(해제)를 개발했다. SEA가 압축과 해제 기능을 단일 프로그램에 통합한 것과 달리, 캐츠는 두 기능을 별도 유틸리티로 분리해 실행 메모리 요구량을 줄였다. PKARC는 외부 해제 프로그램 없이 스스로 압축을 풀 수 있는 자체 풀림 아카이브(SFX) 생성 기능도 제공했다.[2][3]
추가:
추가: ### SEA 대 PKWARE 소송
추가: 1980년대 후반, SEA는 필 캐츠와 PKWARE를 상대로 상표권 및 저작권 침해 소송을 제기했다. 법원이 임명한 독립 소프트웨어 전문가 존 나바스(John Navas)는 PKARC가 ARC의 2차적저작물이며, 양 프로그램의 주석이 오타까지 일치하는 경우가 많다고 증언했다.[2][3]
추가:
추가: 1988년 8월 2일, 양측은 기밀 교차 라이선스 계약을 포함한 합의를 발표했다. 주요 내용은 다음과 같다.
추가: - SEA는 PKWARE가 1985년 말 PKXARC 첫 출시부터 1988년 7월 31일까지 배포한 모든 ARC 호환 프로그램에 대해 라이선스를 부여하고, 대가로 62,500달러를 지급받는다.
추가: - PKWARE는 1989년 1월 31일까지 ARC 호환 프로그램 배포 라이선스를 얻기 위해 SEA에 비용을 지불하며, 그 이후에는 어떠한 ARC 호환 프로그램이나 유틸리티도 라이선스·게시·배포하지 않는다.
추가: - PKWARE는 자사의 ARC 호환 프로그램 소스 코드 사용권을 SEA에 부여한다.
추가: - PKWARE는 SEA의 "ARC" 상표 사용을 중단하고, 자사 프로그램에 쓰인 명칭을 혼동을 주지 않는 것으로 변경한다.
추가: - 유출된 합의 문서에 따르면, 피고(PKWARE)는 원고(SEA)에게 과거 로열티 22,500달러와 비용 상환 40,000달러를 지급하고, 계약 발효일 이후 접수된 ARC 호환 프로그램 주문 수익의 6.5%를 로열티로 지급하기로 했다. SEA 역시 피고가 추천한 라이선스 계약자로부터 받은 라이선스 비용의 6.5%를 수수료로 지급하기로 했다.
추가: - 피고는 어떠한 과실이나 잘못도 인정하지 않았으나, 위스콘신 법원은 피고가 원고의 저작권·상표권 침해 및 불공정 거래·경쟁 행위에 대해 손해배상을 지급하라고 명령했다.[2][3]
추가:
추가: ### 소송 이후와 SEA의 몰락
추가: 합의 후 PKWARE는 PKARC와 PKXARC를 각각 "PKPAK"과 "PKUNPAK"으로 개명해 마지막 버전을 내놓은 뒤, 완전히 새로운 압축 기술과 파일 형식인 PKZIP/PKUNZIP 개발에 집중했다. SEA는 PKPAK 매뉴얼에서 ARC를 명사가 아닌 동사로 사용했다는 이유로 법정 모독 혐의로 다시 소송을 걸었으나, 미국 위스콘신 동부 연방 지방 법원은 기각하고 PKWARE가 법률 비용 500달러를 회수할 자격이 있다고 판결했다.[2][3]
추가:
추가: 이 분쟁은 BBS 커뮤니티 역사상 최대 규모의 논란 중 하나로 번졌다. 많은 셰어웨어 사용자가 SEA를 "거대하고 비인격적인 기업", 캐츠를 "작은 사람"으로 인식해 캐츠 편에 섰으나, 실제로는 양사 모두 소규모 재택 기업이었다. 커뮤니티가 캐츠를 지지한 핵심 이유는 SEA가 ARC 파일 형식을 소급해 폐쇄적·독점적 형식으로 선언하려 했기 때문이다. 캐츠는 ZIP 파일 형식을 문서화한 APPNOTE.TXT 사양을 공개하고, ZIP 형식이 경쟁 소프트웨어에서 항상 무료로 구현 가능하도록 하겠다고 선언해 긍정적 평판을 얻었다. 그 결과 ARC 형식은 PC-BBS의 주력 압축 형식 지위를 빠르게 상실했고, 짧은 경쟁 형식 난립기를 거쳐 ZIP이 사실상 표준으로 자리잡았다. 톰 헨더슨은 훗날 인터뷰에서 캐츠가 벌인 악성 메일 캠페인으로 인한 정서적 고통 때문에 소프트웨어 개발을 그만두게 되었다고 밝혔다.[2][3]
추가:
추가: ### 말기 버전과 SEA의 매각
추가: 소송 후 SEA는 셰어웨어 시장에서 철수하고 전체 화면 사용자 인터페이스를 갖춘 ARC+Plus를 개발했으며, 알려진 마지막 버전은 7.12이다. SEA는 결국 1992년 정체불명의 일본 기업에 매각되었다.[2][3]
추가:
추가: ## 기능과 사용법 개요
추가: ### 파일 형식 구조
추가: ARC 아카이브는 구성 파일들을 순차적으로 저장한 뒤, 아카이브 끝을 알리는 표식인 0x1A 0x00으로 마무리된다. 각 항목 앞에는 디렉터리 정보를 담은 29바이트 헤더가 붙으며, 헤더 내 모든 멀티바이트 값은 리틀 엔디언 바이트 순서로 저장된다. 아카이브 항목은 일반적으로 이름순으로 정렬되어 유지된다.[2][3]
추가:
추가: ### 압축 방식
추가: 각 아카이브 항목의 헤더 버전 번호로 압축 방식이 표시되며, 주요 방식은 다음과 같다.
추가: - 0: 아카이브 끝 표식(이후 바이트 없음)
추가: - 1: 비압축(구 방식 헤더)
추가: - 2: 비압축(신 방식 헤더)
추가: - 3: 팩드(Packed) — RLE 인코딩, 반복 문자만 압축
추가: - 4: 스퀴즈드(Squeezed) — 반복 문자 압축 + 허프먼 스퀴징
추가: - 5: 크런치드(Crunched) — 렘펠-지브 패킹(구 방식), 버전 4.0부터 추가
추가: - 6: 크런치드(Crunched) — 렘펠-지브 패킹(신 방식), 버전 4.1부터 추가
추가: - 7: 크런치드(Crunched) — 개선된 해시 함수를 사용하는 LZW 패킹, 20~25% 속도 향상, 버전 4.6부터 추가
추가: - 8: 크런치드(Crunched) — 가변 코드 크기와 적응형 블록 리셋을 사용하는 동적 렘펠-지브 패킹, 버전 5.0부터 추가
추가: - 9: 스쿼시드(Squashed) — 더 큰 해시 테이블을 사용하는 동적 렘펠-지브 패킹. 타입 8의 변형으로 필 캐츠가 PKARC에서 처음 사용. 타입 8의 두 배 크기 해시 테이블을 사용하며, 입력 데이터에 대해 런 렝스 부호화를 수행하지 않음[2][3]
추가:
추가: ### 타임스탬프와 CRC
추가: - 32비트 MS-DOS 타임스탬프를 사용하며, 초 단위 카운트가 5비트 폭으로 제한되어 짝수 초만 표현 가능하다.
추가: - 오류 제어를 위해 16비트 순환 중복 검사(CRC)를 사용한다. 다항식은 x^16 + x^15 + x^2 + 1(일명 CRC-16)로, DEC DDCMP, IBM BSC 등 데이터 전송 프로토콜과 대부분의 플로피 디스크 컨트롤러에서 쓰이는 것과 동일하다. 이는 XMODEM-CRC와 CHEK 프로그램이 사용하는 CCITT 다항식(x^16 + x^12 + x^5 + 1)과는 다르다.[2][3]
추가:
추가: ### 대상 사용자 및 용도
추가: 초기에는 BBS 운영자와 사용자, 모뎀으로 파일을 주고받는 개인용 컴퓨터 사용자가 주 대상이었으며, 여러 파일을 하나의 압축 아카이브로 묶어 전송 시간과 디스크 공간을 절약하는 데 쓰였다. 후기에는 바이러스 검사 소프트웨어가 압축 파일 내부 악성코드 탐지를 위해 ARC 해제 기능을 내장하는 용도로도 활용되었다.[2][3]
추가:
추가: ## 생태계·커뮤니티
추가: ### 주요 구현체와 파생 도구
추가: - SEA 공식 ARC / ARC+Plus (마지막 버전 7.12)
추가: - 하워드 추의 유닉스·아타리 ST 이식판 및 이를 기반으로 한 VAX/VMS, IBM 메인프레임 이식판
추가: - PKWARE의 PKARC / PKXARC → PKPAK / PKUNPAK
추가: - 리눅스/유닉스용 자유 소프트웨어 포트: ARC, nomarch
추가: - 아타리 8비트/아타리 DOS용 UnARC
추가: - 러스트(Rust) 라이브러리: unarc-rs
추가: - 제이슨 스콧(Jason Scott)의 "The BBS Documentary: Compression" 유튜브 다큐멘터리에서 ARC 역사와 소송을 다룸[2][3]
추가:
추가: ### 커뮤니티 반응과 오픈 포맷 논쟁
추가: SEA 대 PKWARE 소송은 초기 셰어웨어 커뮤니티에서 파일 형식의 개방성·소유권 문제를 둘러싼 중요한 논쟁을 촉발했다. SEA가 형식을 독점하려 한 반면, 캐츠는 ZIP 형식을 공개 사양(APPNOTE.TXT)으로 배포하고 자유 구현을 보장함으로써 커뮤니티의 지지를 얻었다. 이 사건은 이후 오픈 포맷 운동의 선례로 자주 인용된다.[2][3]
추가:
추가: ## 평가
추가: ### 기술적 의의
추가: - 파일 압축(SQ)과 아카이빙(LU)을 단일 프로그램·단일 형식으로 통합해 초기 PC 통신 환경에서 큰 편의성을 제공함
추가: - 하워드 추의 LZW+허프먼 하이브리드 압축 구현은 렘펠-지브 데이터의 추가 압축 가능성을 입증한 최초 사례로, 후속 압축 알고리즘 설계에 영향을 줌
추가: - PKARC의 어셈블리어 최적화와 자체 풀림 아카이브(SFX) 지원은 당시 IBM PC 환경에서 실질적 성능 우위를 보여줌
추가:
추가: ### 한계와 쇠퇴 원인
추가: - 디렉터리 구조(폴더 계층)를 보존하지 못함. ZIP 형식이 이 기능을 제공하면서 결정적 경쟁 열위에 놓임
추가: - 압축률 면에서도 후속 알고리즘(LZW 변형, Deflate 등)에 밀림
추가: - SEA의 독점권 주장과 소송으로 커뮤니티 신뢰를 잃고, 오픈 사양을 내세운 ZIP에 표준 자리를 내줌
추가:
추가: ### 역사적 평가
추가: - BBS 시대의 대표적 압축 형식으로서 디지털 아카이빙 역사에서 중요한 위치를 차지함
추가: - SEA 대 PKWARE 분쟁은 소프트웨어 특허·저작권·상표권이 파일 형식과 커뮤니티에 미치는 영향을 보여준 초기 사례로, 오픈 소스·오픈 포맷 운동의 태동기에 중요한 교훈을 남김
추가: - 현재는 레거시 아카이브 해제용으로만 잔존하며, 일반 사용자 대상으로는 사실상 사장됨[2][3]
추가:
추가: 이 문서는 GGWiki AI가 공개 자료(아래 출처)를 조사해 새로 쓴 초안입니다. 틀린 내용은 편집하거나 이의 제기로 알려 주세요.

편집 요청

편집 요청이 없어요.