상세 컨텐츠

본문 제목

[알집루머] 1. 'alz포맷'은 베껴서 만들어놓고 독자포맷이라 우기고... 비윤리적 기업 이스트소프트??

STORY

by ESTsoft 2012. 1. 4. 10:30

본문


"'alz포맷'을 분석해보니 헤더만 살짝 바꾼 포맷이었고 '오픈소스 알고리즘'을 그대로 사용했으면서 공지도 안해서 GPL규정도 어기면서  마치 자기네가 직접 만든것처럼 사람들을 속였다. 또한 'alz포맷'을 만들어 독점이나 하려고 하는 등 이스트소프트는 비윤리적인 기업이다!!" 


헤더만 살짝 바꾼 'alz포맷'?


 "alz확장자로 압축된 압축파일을 분석해보니 'alz포맷'은 헤더만 살짝 바꾼것이었다!!" 


 'alz포맷'이 발표된 후, 최초의 인터넷게시판과 블로그 등을 통해 위와 같은 이야기가 시작이 되었습니다. 


조금 더 풀어서 써보면, alz포맷으로 압축된 파일을 분석해보니 기존에 있는것들을 거의 그대로 사용하고 약간만 변형했으면서 '독자포맷'을 만들었다고 이야기를 하고 있는것이라 이겁니다. 사기꾼들!! 왜? 그럴려면 그냥 zip을 쓰게 놔두지!!! alz라는 포맷을 만들었다고 해서보니 별로 달라진것도 없으면서!



실제로 압축파일을 분석해 봅시다!

 

<그림 1>



압축파일을 분석해보면 일반사용자분들이 봤을때는 숫자가 나열되어 있는 암호문형태로 되어있지만, 그 내용을 구성별로 보기 쉽게 나눠보면 위의 <그림1>과 같이 될겁니다.


쉽게 말씀드려서 'alz포맷'을 열어봤는데, 파일의 구성이 <그림1>처럼 생겼습니다. 그런데 대부분(위의 '압축데이터'라고 되어있는 직사각형 네모박스)의 내용이 기존의 압축파일들과 유사하고,  실제로 다른부분은 동그라미로 표시되어 있는 작은 부분들이었던 거죠.   


'alz포맷'이 헤더만 살짝 바꾼것이면 세상의 모든 '압축 포맷' 역시 그런겁니다;;


 이 이야기는 압축파일의 기술적인 내용을 정확히 알지 못하고 시작된 아주 사소한 오해에서 시작된 것입니다. 구체적으로 말씀드리면 '압축 포맷'과 '압축 알고리즘'에 대한 정확한 인식이 부족했기에 나온 이야기입니다. 


실제로 데이터를 압축하는 방법을 '압축 알고리즘'이라하고, 이 압축된 데이터를 담는 그릇을 '압축포맷'이라고 합니다. (주로 우리가 알고 있는 파일확장자명인 zip, rar, 7z, alz 등)


<그림1>에서 '압축데이터'라고 표시된 부분은 '압축 알고리즘'으로 실제 압축된 데이터의 형태인데, 이것이 온전한 '압축파일'이 되려면 '압축알고리즘' 자체에는 data block을 압축해서 encoded block으로 변환하는 규약만 있기 때문에 이러한 encoded block과 함께 파일 이름이라든지, 분할된 정보, 오류복구를 위한 CRC등의 정보 파일 사이즈 등 수많은 정보가 필요하게 됩니다. 단순히 헤더만 바꾼다고 '압축 포맷'이 만들어지는 것은 아니구요. 이런 부분의 추가적인 개발을 통해 '압축 알고리즘'을 담는 '압축포맷'이 만들어집니다. 

 

그런데, 여기서 주목해야할 부분은 다양한 압축파일(압축포맷에 따른)을 분석해보면 실제로 압축되어진 '압축데이터'의 형태가 유사하거나 같다는 점입니다. 왜냐하면 실제로 데이터를 압축하는 '압축 알고리즘'은 호환성과 성능의 보장을 위해서 이미 알려진 공개된 알고리즘을 주로 사용하기 때문입니다. 


예를들어 ['alz포맷'을 열어봤더니 'zip포맷'의 그것과 많은 부분이 비슷했다.] 라고 하는말은 당연한 말이됩니다. 왜냐하면 'alz포맷'의 주요 '압축알고리즘'은 zip포맷과 같은 DEFLATE 알고리즘을 사용하기 때문입니다. 이는 다른 포맷들도 유사한 형태로 나올 수 있습니다.


추가로 2001년 처음 선보인 'alz포맷'은 '압축 알고리즘'으로 DEFLATE, bzip2를 사용했었는데(2002년 이후 bzip2알고리즘은 압축해제용으로만 사용) 당시 'zip포맷'역시 DEFALTE 알고리즘을 사용하고 있었습니다.



결론적으로

'alz포맷'은 '변형포맷'이라던가 '헤더만 바꿨다'고 말씀하시는 분들이 계시는데요. 이것은 '압축알고리즘'과 '압축포맷'으로 구성되는 모든 압축프로그램의 형태에 대해서 정확히 이해하지 못한데서 기인합니다.

당시 'alz포맷'은 여타의 압축프로그램과 같이 공개된 '압축알고리즘'을 사용했고, 그것을 담는 그릇인 포맷을 새롭게 설계한 것입니다. 

이런 논리로 압축파일을 분석한다면 완전히 새로운 '압축 알고리즘'과 완전히 새로운 '압축포맷'이 아닌 이상 현존하는 대부분의 '압축포맷'은 '변형포맷'이라던가 '헤더만 바꿨다'라던가의 논란을 피하지 못할 것입니다. 


그 밖에 논란들도 있죠!!

자, 이제 '압축 알고리즘'과 '압축포맷'의 차이를 구분하셨다면, 또 다른 논란이 있습니다. 그것은 바로 'alz포맷'에서 사용하던 오픈소스 '압축 알고리즘'인 bzip2 라이선스를 무시했다는 내용과 'alz포맷'은 태생부터 독점을 위해서 만들어졌다는 것이지요. 

그 내용은 아래 시리즈로 연결됩니다!



관련글 더보기

댓글 영역