Sign in to follow this  
imnas

[정보] 시놀로지 DSM GPL 소스와 XPEnology의 불법성 여부

Recommended Posts

시놀로지는 자사의 NAS 운영체제 (called DSM)를 소스포지에서 오픈소스 프로젝트로 공개(Synology Open Source Project)하고 있습니다. 이러한 프로젝트에 사용된 소스의 라이선스들은 각기 다를 수 있기 때문에 각소스별로 확인(announcement)을 하라고 합니다. - 제가 여태껏 언급한 내용은 이 정도 선입니다. 이 이상 시놀로지 NSA 운영체제 소스(프로그래밍 원시코드)에 대해 구체적으로 언급한 사실이 없는데요. 그럼에도 DSM은 소스코드를 공개한 바가 없다며, 저더러 인정(?)하라는 어거지를 부리는 경우가 있더군요. 사실 좀 어의 없습니다만, 이런 어거지를 부리는 사람에게 공격을 퍼붓고자하는 의도는 전혀 없습니다.

 

글을 쓰는 목적이 억울함을 토로하고자 하는 것이 아니고, 제대로 좀 알아 보자는 취지죠. 사실 저도 그렇지만 일반 사용자들은 DSM 소스에 대해서 관심이 없습니다. 다만 DSM 파일(이진)을 무료로 사용할 수 있는냐이고, 불법적인 사용이냐 아니냐 정도에 관심이 있겠죠. 그럼에도 제가 혹시라도 사실과 다른 허유 정보를 유포했다면 알려주세요. 언제든 잘못을 인정하고 사과할 용의가 있습니다.

 

사실 제가 작성하려는 글이 간단한 것이 아니더군요. 그럼에도 국내에서는 이와 관련된 글을 자세하게 작성하는 경우가 없어 보입니다. 물론 지난 번에 말씀 드렸다시피 검색하다 저도 깜짝 놀란 것이 마치 제가 작성한 글인 줄 저도 착각할 정도의 글이 어떤 블로그에 게시되어져 있더군요. 이미 밝혔듯이 짜집기라면 모를까 제가 작성한 글이 아닙니다. 많은 부분이 본포럼에서 작성한 제글과 유사하지만, 결정적으로 뭔가 착각하고 작성한 부분이 있어 보이더군요. 오늘은 그동안의 내용과 중복되는 부분은 있겠지만, 좀 더 깊이 들어가 보도록 하겠습니다.

 

안내 1) 이용하시는 것은 괜찮습니다만, 외국 포럼에 있는 글이라고 마음대로 퍼다가 짜집기 하지 말아주세요.

안내 2) 영어 원문은 당사자가 밝힌 내용을 직접 확인하시길 바라며, 굳이 한글화해서 옮기지 않겠습니다.

 

 

시놀로지 DSM의 소스는 공개되어져 있나?

 

세계적으로 가장 강력한 검색엔진 구글에서 시놀로지 DSM 소스코드에 대해, 'sysnology dsm source code'로 검색해 보면, 검색결과 최상단에 나오는 것이 바로 소스포지의 '시놀로지 오픈소스 프로젝트'입니다.

참조 : https://sourceforge.net/projects/dsgpl/

 

위키에도 'DiskStation Manager (DSM), based on the Linux Kernel'로써 시놀로지 리눅스가 리눅스 커널을 기반으로 한다는 것을 알 수 있죠.

참조 : https://en.wikipedia.org/wiki/Synology_ ... _.28DSM.29

 

자료를 찾아 2007년 아티클을 보면 시놀로지 DS-107를 확인할 수 있습니다. 탑재된 운영체제 시놀로지 DSM이 지금보다는 미흡하겠지만, 웹인터페이스를 사용하는 관리방식은 마찬가지입니다. 스펙에도 보면, 관리방식(Management Interface)이 웹기반 관리(Web-Based Management)라 기입하고 있습니다. 재미있는 점은 이 아티클에서 'DiskStation Manager' 또는 'DSM'이라는 단어를 찾을 수는 없지만, DSM과 동일하게 웹기반이라는 점입니다. 물론 웹기반 운영체제라는 말도 없군요.

http://www.bjorn3d.com/2007/04/sans-dig ... gy-ds-107/

 

2016년 현재 시놀로지는 DSM을 '웹기반 운영체제'라고 표현합니다. 그런데 이것을 두고 '웹 = 운영체제'라는 등식을 떠올려서는 안되겠지요. 이렇게 되면 '웹 = DSM = 운영체제'라는 등식도 성립되겠죠? 이러한 등식이 성립한다면 아예 'WebOS'라고 하면 되는데, 굳이 '웹기반 운영체제'라 할 필요가 없는 것이죠. 그렇게 표현하지 않은 것은 바로 'WebOS'가 아니기 때문이죠. DSM이 '웹기반 운영체제'라는 것은 '웹기반하에서 거의 모든 관리가 가능한 운영체제'라는 것이죠. 제가 보기에는 국내 블로그스피어에도 뭔가 개념적으로 혼란을 줄 수 있는 글들이 보입니다. 앞으로 어떻게 진화할지 장담은 못하지만, 현재의 시놀로지 DSM은 WebOS가 아닙니다.

 

그리고 DSM이 '웹기반 운영체제'이니까 웹에서 작동되는 것만을 생각해서 'DSM = CGI'라고 생각해서 CGI(common gateway interface) 프로그래밍 소스코드가 없으니까, 'DSM은 소스코드를 공개한 바 없다'라면 정말 어처구니 없는 얘기일 것입니다. DSM은 CGI 부분만을 떼어 놓고 칭하는 것이 아닌, 시놀로지 NAS의 운영체제가 곧 DSM(called DSM)인 것이죠.

 

시놀로지가 자사의 NAS 운영체제 소스도 공개하지 않고, 어떻게 소스포지에 시놀로지 오픈소스 프로젝트를 진행하겠어요. 시놀로지가 전세계인을 기망하는 것도 아니고 말이죠. 물론 DSM의 유저모드에 해당하는 CGI 소스 때문인지 몰라도 이에 대해 불만은 있어 보입니다. 그렇다고 'DSM은 소스코드를 공개한 바 없다'라거나 DSM은 GPL아니라고 한다면 누가 누구를 기망하는 것이 될까요? 잘못된 개념을 가지고 있지 않다면, 어떻게 'GPL 소스'라는 것이 소스포지 프로젝트이고, DSM 소스가 없는데 어떻게 부트로더를 만들어 엑스피이놀로지를 배포를 할까요?

 

시놀로지의 GPL 소스들은 DSM이라는 운영체제를 구성하는 리눅스 커널과 펌웨어, 컴퍼넌트 및 패키지 소프트웨어들입니다. 이러한 소스들은 시놀로지만의 라이선스도 있지만, 시놀로지 역시 GPL에 따라 이용하기도 합니다. 그래서 시놀로지가 의무적으로 공개해야 것도 포함됩니다. DSM이 웹기반하에서 관리, 실행하는 CGI를 위한 데몬 프로그램(nginx 또는 apache용)도 포함되어져 있는 것이죠. 로그 관리를 위한 syslog-ng 외에 여러 시스템 유틸리티를 포함하고 있습니다.

참조 x64-source : https://sourceforge.net/projects/dsgpl/ ... 64-source/

 

그 외에도 시놀로지 오픈소스 프로젝트에는 시놀로지 DSM의 어플리케이션 개발을 위한 도구들과 함께 오디오 스테이션, 비디오 스테이션, 다운로드 스테이션과 같은 응용 어플리케이션 패키지들의 소스 목록들도 보입니다.(저는 이러한 것들이 어느정도 수준의 소스 공개이어서 실질적으로 개발자들에게 얼마나 도움이 되는지는 모르겠습니다만, 공개하고 있는 것만은 팩트겠죠.)

 

 

XPEnology는 리버싱한 불법 소프트웨어인가?

 

실제 외국인인지 모르지만, DSM이 복제라고 하는 사람이 있드라구요. 더군다나 재미있게도 '엑스피이놀로지'가 'andy928'에 의해서 '시놀로지 NAS'를 리버싱한 FreeNAS라고 주장하는 2013년도 글이 있습니다. 리버싱 운운해서 저도 불법이라는 얘기인줄 알았습니다.

참조 : http://security-is-just-an-illusion.blo ... ithub.html

 

처음에는 외국인의 글인가 했는데, 블로그스팟 도메인이 .kr인 것으로 봐서는 한국인일텐데 또 블로그의 about me에는 "... And Sorry for my Bad English. I'm from Germany."라고 적혀 있네요. 위에 글이 다른 곳에도 유포되어져 있는데, 특별히 피드백은 없더군요. 그래서 위의 글대로 '앤디'의 github 엑스피이놀로지 프로젝트 사이트를 확인해 봤습니다. (국내에서도 리버싱이 운운하면서 법적인 문제를 운운하는 이도 있던데, 일단 불법이라는 정확한 근거가 제시가 되지 않습니다. 다른이들도 마찬가지더군요. 지레 짐작해서 불법이라는 것이겠죠.)

참조 : https://github.com/andy928/xpenology

 

제가 리눅스 커널과 관련된 개발자라면 위에 프로젝트 사이트에 대한 내용이 뭔가 확실하게 알겠습니다만, 일단 제관점에서 보면 해당 프로젝트는 '시놀로지 DSM'을 리버싱하는 프로젝트라기 보다는 리눅스 커널 컴파일과 연관있습니다. 리눅스 커널은 GUN하의 오픈된 소스이기에 자유롭게 이용이 가능한데요. 시놀로지 NAS도 마찬가지로 GUN하의 리눅스 커널을 사용합니다.(임베디드 리눅스) 아래의 참조 페이지를 보면 ... 이것은 엑스피이놀로지 커널 컴파일 과정에 해당합니다.

참조 : http://xpenology.com/wiki/en/building_xpenology

 

컴파일을 위해서 아래와 같이 커널 소스 코드를 로컬로 복제해 온다는 것을 알 수 있습니다.

git clone https://github.com/andy928/xpenology.git linux-3.x

그런데 이러한 과정은 사실 엑스피이놀로지 위키를 보면 우리가 사용하는 유저모드의 시놀로지 DSM과는 관련이 없습니다. 커널 컴파일을 하기 위한 준비과정이더군요.

 

XPEnology is a project of porting Synology DSM linux kernel to PC.

위에 의미는 시놀로지 DSM이 오픈소스 리눅스 커널을 사용한 것이고, 이러한 리눅스 커널을 시놀로지 머신이 아닌 PC라는 기기에 사용하려는 것이므로 '포팅'이라 표현하는 것이죠. 모두 GUN하의 오픈소스를 이용하는 것이지, 어디에도 불법적인 부분이 없다는 얘기죠. 그러니까 리눅스 커널은 GUN하의 오픈소스이기 때문에 누구라도 이용이 가능한데요. 이를 이용해서 '시놀로지가 DSM 리눅스 커널'을 만든 것이고, 이러한 '시놀로지 DSM 리눅스 커널'을 GNU 라이선스하에 이용해도 무방하기 때문에 '엑스피이놀로지 커널'이 나오게 되는 것이죠.

결과적으로 bzImage라는 것을 얻게 되고, 이름을 변경해서 zImage라는 압축된 이미지가 나오게 됩니다.

 

저도 좀 여태 의아하게 생각했던 것은 엑스피이놀로지 프로젝트의 'Part 3. Synobios modification'입니다. 시놀로지 DSM 파일의 synobios.ko를 변경한다는 부분입니다.

참조 : http://xpenology.com/wiki/en/building_xpenology

결과적으로 만들어 내는 것은 DSM 클론도 아니고, NAS 운영체제도 아닌 이미지 형식의 '부트로더'입니다. 아래를 참조하세요.

 

XPEnology is a bootloader as IMG image. XPEnology compiled from the source code provided Sinology under license GNU. XPEnology and does not contain the operating system.

엑스피이놀로지 소개 페이지 : http://xpenology.me/introduction/

위에 사이트는 엑스피이놀로지 팀 중에 Poechi가 작성한 내용입니다.

 

실제로 내용을 보면 시놀로지 DSM의 경우는 부팅시에 유효한 NAS ID(valid NAS ID)가 체크되고 부저가 울리는 부분에서 변경하나 봅니다. 그런데 최근에 알게 되었지만, 이러한 부분은 본포럼에서 'andy928'의 글을 통해서 아래와 같이 확인할 수 있습니다. - 'andy928'은 본 포럼 최고관리자(administrator)로 운영자입니다. 아래 글을 확인하세요.

참조 : https://xpenology.com/forum/topic/54-kernel-building/

 

질문 : Can you tell more about Synobios Modification?

답변 : I use two instruments: IDA (Disassembler) and HIEW (Hex Editor).

 

시놀로지 바이오스(Synobios) 변경에 대해 좀 더 말해 달라니까, 디스어셈블러 IDA와 헥사편집기 HIEW를 사용한다는 것이죠. 결국은 바이너리인 이진파일을 리버스 엔지니어링(역어셈블링)을 통해서 얻은 어셈블리 코드를 헥사편집기로 사용해서 편집했다는 얘기죠.

 

그렇다면 '리버스 엔지니어링'이니 뭐니 운운하는 것은 일리가 있는 얘기가 되네요. 그렇다고 불법일까요? 아래 위키 내용을 확인해 보세요.

https://ko.wikipedia.org/wiki/%EB%A6%AC ... 4%EB%A7%81

 

리버스 엔지니어링에 대한 오해 - "대한민국과 같은 일부 국가에서는 리버스 엔지니어링을 금지하고 있다. 그런데 이때 금지하는 것은 이진 코드로 이루어진 실행 파일(또는 실행 루틴)의 리버스 엔지니어링을 금지하고 있을 뿐, 실행 결과로써 만들어진 파일이나, 그 파일의 형식을 리버스 엔지니어링 하는 것을 금지하지는 않는다."

 

리버스 엔지니어링이라고 부정적으로 생각할 수 있는데, 경우에 따라서는 예외가 있을 수가 있다는 것이죠. 그런데 위의 '위키 URL'을 영어 URL로 바꾸고 'Binary software' 부분을 보면 흥미로운 내용이 나옵니다. 리버스 엔지니어링의 유명한 사건 중에 하나가 IBM PC BIOS를 리버스 엔지니어링해서 'IBM PC 호환' 기종(현재 우리가 주로 사용하는 데스크톱PC)이 만들어졌다는 것인데요. (그래서 'IBM PC 호환 기종'은 PC 클론 또는 IBM 클론) "Reverse engineering of software is protected in the U.S. by the fair use exception in copyright law." '공정한 사용'은 저작권법에서 예외가 된답니다.

참조 : https://en.wikipedia.org/wiki/Reverse_engineering

 

또 엑스피이놀로지의 한국포럼 말고 미국포럼(영어)에 보면 외국 사용자들의 포스팅에 제목이 스레드 'Compiling Synology NAS GPL Source & DSM Tool Chains'라는 글이 있습니다. 이 주제글 작성자는 시놀로지 GPL 소스와 개발도구들을 사용하는 것이 합법적이냐라는 질문으로 "Is this all perfectly legal?"라는 의문을 갖는데요. 댓글에 보면 "Officially, it is not illegal, Synology is distributing the firmware packages free and open, anyone can access them." ... 공식적으로 불법이 아니다. 시놀로지는 펌웨어 패키지를 무료로 공개해서 누구라도 사용할 수 있도록 하고 있다고 합니다. 여기에 특별히 반론 댓글이 없습니다.

참조 : https://xpenology.com/forum/topic/574-compiling-synology-nas-gpl-source-amp-dsm-tool-chains/

 

그렇다고 해서 아무렇게 사용할 수 있는 공짜개념은 아닙니다. "For personal use, you cannot be held accountable as you did not make profit on it, thus you did not cause a major damage to Synology." 개인용도로 사용하고, 이득 취하거나 시놀로지에 피해를 주지 말라는 얘기죠. 이렇기 때문에 XPEnology도 GPL 소스를 이용한 '엑스피이놀로지 프로젝트'라는 것이 탄생한 것이고, 현재 우리가 이용하고 있는 것이죠. 시놀지사에 피해(major damage)에 대해서는 아무나 왈가불가할 사항이 아니고, 불법이다 아니다를 임의로 판단해서도 안되겠지요. 이러한 것은 이해 당사자의 몫이니 말입니다.

 

엑스피이놀로지(XPEnology)는 개발자측에 따르면 '시놀로지 DSM 리눅스 커널'을 PC에 포팅시키는 프로젝트라고 합니다. (XPEnology is a project of porting Synology DSM linux kernel to PC.) - 시놀로지의 DSM은 NAS 운영체제로 시놀로지 머신 전용이기 때문에 PC아키텍처에 맞도록 이식과정이 필요해서 '포팅'이라 하겠지요. '엑스피이놀로지'는 바로 '포팅 프로젝트' 이름입니다. 시놀로지 NAS를 대체하는 또다른 NAS 운영체제가 아닌 것입니다.

엑스피이놀로지 프로젝트 참조 : http://xpenology.com/wiki/en/building_xpenology

XPEnology 입문자라면 필독사항 : https://xpenology.com/forum/topic/5210-잡담-xpenology-입문자님들-혹시-이거-아세요/

 

결국 'andy928'의 '엑스피이놀로지 프로젝트'는 불법적인 것을 찾을 수 없습니다. 미심쩍다면 리버스 엔지니어링에 해당하는 'Synobios modification'인데, 이 역시 아무런 문제가 되지 않을 수 있다는 것이죠. 'andy928'가 사적인 이득을 취하는 것도 아닙니다. 우리는 도대체 'andy928'이 운영하는 본 포럼에 우리가 무슨 도움을 줬을까요? 아마도 세계에서 유일하게 불법 운운하면서 커뮤니티에서 난리법석을 부리는 나라는 대한민국 밖에 없을 것입니다.

 

GNU 기반의 오픈소스는 원시 소스코드 형태만이 아닌, 이진 파일(바이너리 소프트웨어)도 포함되죠. 그렇기 때문에 엑스피이놀로지(XPEnology)를 'Boot Images (based on GNU Open Source)'라고 배포하며, 여기에 시놀로지사가 배포하는 DSM도 'Synology DSM (based on GNU Open Source)'이라고 배포하므로 현재 우리가 사용하는 것이구요. - GNU기반 오픈소스로써 누구라도 수정 및 배포가 가능하지 않다면 이렇게 노골적으로 인터넷상에서 버젓이 거짓말을 하면서 배포하고 있을까요?

 

현재 우리가 사용하는 것은 시놀로지 DSM을 직접 PC(x64) 아키텍처에 사용할 수 없으므로 XPEnology라는 부트이미지(부트로더)를 이용하는 것입니다. 여기에 시놀로지가 배포하는 DSM을 추가적으로 사용하는 것이죠. 따라서 XPENoboot(엑스피이놀로지) + DSM(시놀로지 배포) = PC NAS를 구축하는 것이 되는 것이죠. 또한 이렇게 사용하는 것은 어디에서도 비정상적이거나 불법적인 요소를 찾을 수가 없다는 점입니다. 또한 GPL이라는 것은 윈시 소스코드만이 아닌 바이너리 형태의 배포도 포함이 됩니다. 이에 대해서는 아래 포스트를 참조하세요.

[잡담] XPEnology 입문자님들 혹시 이거 아세요? ^^ 참조 : https://xpenology.com/forum/topic/5210-잡담-xpenology-입문자님들-혹시-이거-아세요/

 

#. 모커뮤니티에서 시놀로지한테 어떤 식의 문의를 해서 피드백을 받았나 보더군요. 저는 해당 커뮤니티 회원도 아니기에 자세한 내막은 모르겠지만, 시놀로지한테 엑스피이놀로지가 불법이냐는 식의 문의를 한다면 이런 행위 자체가 적절하지 않다는 생각입니다. 소스코드이건 바이너리이건 GPL 오픈소스를 이용하는 것을 왜 시놀로지에 문의를 하고 불법유무를 판단받아야 할까요? 굳이 판단을 받으려면 자유 소프트웨어 재단(FSF : Free Software Foundation)로 부터 받아야겠죠.

 

언뜻 짧은 생각으로 시놀로지에 문의하면 의문점들이 해결될지 몰라도 그건 단순한 발상이죠. 제가 알기로는 결국 시놀로지측은 불법성 유무에 대한 명확한 답변이 없었나 봅니다. 제 개인적 생각은 소스코드건 바이너리이건 GPL에 따라 이용하면 된다는 것이고, 그렇고 이용하고 있는 것입니다. 시놀로지의 아량이던 마케팅 차원이던 긍정적으로 판단하고 있을 것입니다. '엑스피이놀로지 팀'도 권장하는 것은 시놀로지 정식 제품입니다. 그럼에도 많은 사람들이 엑스피이놀로지가 불법적인 소프트웨어이고, 마치 해킨토시와 같은 의미로 오해하고 있는 듯합니다. 어떻게 GNU기반 오픈소스를 이용하는 것과 해킨토시를 동일시 하는지, 개인적으로 정말 박장대소할 일입니다.

 

이제껏 "DSM은 GPL이 아니다.", "DSM은 소스코드를 공개한 바 없다."에 대해서 알아 보았습니다.

대한민국에는 왜그리도 근거도 없는 정보들이 판을 치는지 모르겠습니다. 조금만 검색하면 알 수 있는 문제도 있는데, 그 조차 하지도 않고 선입견이나 편견등 잘못된 판단을 하는 경향이 있어 봅입니다. 다수가 알고 있다고 해서 절대로 올바른 정보는 아닐 것입니다. 간혹 커뮤니티에서 엑스피이놀로지 포럼을 링크시키고 자신들끼리 뒷담화 할 것이 아니라 관련 내용에 대한 정보를 찾아보고 토론을 해야하는데, 대부분 별달리 명확한 근거도 없이 그저 지레 짐작의 의견들이 많습니다. 토론을 하려면 이 포럼에 직접 와서 여기서 했으면 좋겠습니다. 물론 여기서도 좀 어거지 쓰시는 분도 있습니다만, 어거지가 아니라는 명확하게 근거를 제시해야죠.

 

제 글에 이견이 있는 분들, 언제든 환영합니다.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this