EGG(알집)

암덩어리
이 항목을 본 사람들은 앞으로 제발 이 포맷을 사용하지 말자
전세계 네티즌이 한국발 파일을 저주하는 원흉, 쌍욕 제조기
왜 쓰는지 이해가 안되는 포맷...이거하나때문에 설치한다는게 짜증남...[1]

1 알집의 압축 포맷

1.1 개요

이스트소프트에서 알집 8.0부터 제공하고 있는 압축 포맷.

1.2 설명

EGG 포맷 명세서

이스트소프트는 이 압축 포맷의 명세를 제공하고 있지만, 압축 포맷을 사용하고자 할 경우 자사의 허락을 받아야 한다고 명시하고 있으며, 포맷 문서에도 누락된 내용이 많다( 예를 들자면 AZO알고리즘에 대한 설명 등).

EGG 포맷이 이스트 소프트에서 만든 포맷이기는 하지만, 특허권 신청 등이 안 된 상태에서 파일 포맷이 프로그램보호법이나 저작권법으로 보호받은 전례가 없기 때문에 다른 프로그램에서 이 포맷을 쓴다고 해서 태클을 걸 수 있을지는 미지수.[2]

EGG 포맷은 ZIP 포맷보다는 RAR 포맷과 비슷한 구조로 되어 있다. 즉, 파일 헤더 + 파일 데이타 + 파일헤더 + 파일 데이타 ....... 하는 식으로 저장이 된다. 어째서인지 bz2 확장자로 바꿔도 풀리는 게 개중에는 더러 있다.

기존에 알집에서 사용하던 ALZ 포맷과 비교해서 다음과 같은 장점이 있다.

  • 솔리드 압축 지원
  • 파일 시간 정보에 NTFS 파일 시간을 지원하는등 좀더 상세한 정보 저장이 가능
  • 다양한 압축 알고리즘 지원
  • 파일 종류에 따라 다른 압축 알고리즘을 사용하는 '최적압축'
  • 유니코드 파일명 지원


EGG 포맷에 사용되는 무손실 압축 포맷Deflate, BZIP2, LZMA 와 같이 공개된 압축 알고리즘 뿐만 아니라 이스트소프트가 개발한 AZO 알고리즘도 일부 사용된다.

WinRAR 사용자들에게 ALZ 포맷과 함께 대차게 까이는 포맷이다
분할 압축으로 네이버 블로그에서 ALZ포맷과 함께 성행중이다.
개인 소장용 외에 사용하지 말자. 전 세계에서 거의 사용되지 않는 포맷이다
외국어 욕을 배우고 싶다면 구글에서 외국어로 egg 포멧 압축 해제법을 검색해보라

가끔 한국 유학생이 외국인 학생에게 ALZ나 EGG 파일로 압축해 협동과제물이나 자료를 보냈다가 욕을 먹기도 한다. 온갖 외국어 욕을 직접 배울수 있는 마법의 포맷

문서 대부분이 악평 뿐이지만, 최적압축 기능 자체는 대단히 선진적인 개념이다. 사실 HDD가 1TB를 넘어가고 100Mbps 광랜이 보급화[3]되면서 무조건 압축률에 목숨거는 것보단 압축속도 대비 효율을 추구하는 것이 앞으로의 방향이기 때문이다. WinRAR이 확장자에 따라 압축을 하지 않고 넣는 옵션을 제공하긴 하지만, 기본값 없이 기능만 있는지라 사용자가 일일이 제외할 확장자를 지정해 줘야 한다. 반디집의 경우, 압축률을 기대할 수 없는 파일이 감지되면 알아서 무압축으로 집어넣는 고속 아카이빙을 지원하고 있지만 멀티코어를 사용하면 쓸 수 없는 상황이다.[4] 그래도 자기 독자 포맷을 반디집보다 잘 못 푸는거나 unegg.dll의 이상한 라이센스 정책은 쉴드가 불가능한 병맛이다

최적압축이 고속아카이빙을 표절했다는 의혹이 있으나, 정작 당사자인 반디집 개발자가 아니라고 했으니 그냥 낭설인 듯.

그리고 알집은 EGG를 압축/해제할 때 멀티코어 프로세스를 쓰지 못한다. 그리고 4gb이상은 EGG로만 압축된다. 근데 반디집은 멀티코어를 잘만 쓴다.(...) (이는 최적압축 기능의 멀티코어 사용이 힘들기 때문인 것으로 보인다. 반디집도 5버전대에서는 이걸 못해서 멀티코어 사용시에는 고속 아카이빙을 포기[5]하는데, 다양한 압축 알고리즘 지원을 내세우는 EGG가 최적압축을 포기할 수는 없어서 멀티코어 지원을 미루는 것일 가능성이 높다. 근데 그러면 압축 해제할 때만 지원해주면 된다는 것은 몰랐던 모양이다 이 문제를 해결하기 전에 멀티코어 + 고속 아카이빙이 되는 반디집 6이 먼저 나온다면 무료 프로그램보다 개발속도가 느리다고 또 까이겠지)

결국 반디집 6.0 베타버전[6]이 나오면서 알집은 반디집에게 패배하고 말았다.

1.3 unegg.dll

이스트소프트는 기존의 ALZ 포맷이 독점적이라는 비난을 받아왔던 문제를 해소하기 위해서 포맷의 지원과 함께 EGG 파일의 압축 해제를 위한 소스코드를 제공한다. 초기에는 dll만 배포했지만 나중에는 리눅스용 소스코드도 배포했다.

unegg.dll 및 설명서
EGG 포맷 및 해제모듈 라이선스

EGG 포맷 및 해제모듈 라이선스 중 일부(2012년 9월 14일 기준)

1) (주)이스트소프트(이하 '당사')의 공식 홈페이지(http://www.altools.co.kr)를 통해 배포된 EGG 포맷과 해제모듈 및 이와 관련된 기술(이하 'EGG 패키지')은 당사의 자산입니다. 상업적인 목적으로 EGG 패키지를 사용하고자 하는 경우, 당사로부터 사전에 승인을 받아야 합니다.

위의 사용에 소극적인 라이선스 때문에 타 프로그램의 EGG 지원에 문제가 생긴다. 이게 얼마나 소극적인지를 알려면 타 제품 라이센스와 비교해보자 윈라(소스코드 또는 dll 파일 안에 라이센스 파일을 보자)[7]의 경우 저작권만 지켜주면 자유롭게 사용, 심지어 소스코드를 이용해 개량가능(제작자 허가 필요 없음) 이쯤 되면 대인배다. Ark 라이센스 요약, Ark 라이센스 전문도 요약하면 사용자의 범위는 제작자, 다른 기준도 명확하다. [8]

1.4 포맷 지원 프로그램

현재 EGG 포맷으로 압축된 파일은 다음과 같은 프로그램으로 압축 해제가 가능하다.

EGG 해제 가능한 프로그램 중 이스트소프트 라이브러리를 사오지 않고 리버스 엔지니어링으로 구현한 유일한 프로그램이다. 이는 반디집의 전신을 개발한 키플러에게서 이어진 것. 골때리는 것은 EGG를 압축 해제 할 때조차 알집보다 빠르고 안정적이다(...).[9] 알집의 성능에 의문이 들 수밖에 없는 부분. 또한 EGG 해제에도 멀티코어 프로세서를 정상적으로 활용한다.
ALZ는 직접 리버스 엔지니어링했는데 EGG는 라이브러리를 사왔다.
  • 다집 : 홈페이지 EGG 라이브러리 구매
  • 알집 EGG 전용 해제 프로그램: 링크 페이지 맨 아래에 있다. 기업용 7.x 버전 사용자의 EGG 호환을 위해 만들었다.(기업라이센스가 없으면 사용하면 안된다. 분할압축도 잘 풀어낸다.) 해당페이지 맨 아래에 있다.
  • arkzip : github 링크 ark 라이브러리를 이용한 범용 압축 해제 프로그램. deb 파일을 지원하여 전보다 설치가 쉬워졌다. 현재 최신 버전은 v2.4.4. alz,egg 등의 압축 해제가 가능하며 CPC949(UHC)인 경우를 비롯하여 다양한 인코딩의 압축 파일을 정상적으로 압축 해제가 가능하다. 특히 hv3(꿀뷰 전용 포멧)을 풀때, 묶음 파일에 내포된 HDP 포멧 형식의 파일을 JPEG 포멧(또는 PNG 포멧)으로된 파일로 변환시켜 저장한다.

2 Panda3D의 모델 파일 확장자

파이썬 기반의 게임엔진 Panda3d가 같은 확장자로 모델 정보를 처리한다. 물론 위 내용과는 하나도 관련이 없다.
  1. 네이버 블로그 같은 블로그, 카페의 경우 참부파일 용량제한 때문에 이 포맷을 쓴다.
  2. 압축 알고리즘을 특허로 보호하면 가능하지만, 몇몇 국가에서는 소프트웨어 특허를 인정하지 않고 있다. 지금은 만료된지 오래지만 한 때 논란이 되었던 gif 특허가 특정 포맷을 쓰기 위해 필수적인 알고리즘을 특허로 보호한 유명한 사례이다.
  3. 물론 인터넷 속도는 국가에 따라 차이가 나는 편이지만 최소한 대한민국 기준으로는
  4. 15년 현재 6.0에서 둘 다 되는 쪽으로 개발중이지만 진척이 잘 안 되는 듯 하다.
  5. 옵션에서 둘 다 켜놓으면 그냥 고속 아카이빙이 작동을 안 한다.
  6. 멀티코어 사용시에도 고속 아카이빙 지원
  7. 주의 - 오역 또는 라이센스 변경 가능성이 있으니 확인할 것.
  8. 주의 - 라이센스의 잘못된 해석 또는 라이센스 변경이 있을 수 있으니 확인할 것
  9. 해적판이 정식판보다 더 안정적이고 빠른 것과 같다! 대체 얼마나 소스가 난잡하길래 타사 알고리즘이 더 빠른거지...
  10. 완벽하지 않으니 주의.