리눅스PC로 HWP 문서 읽고 쓰기 쉬워지나

리브레오피스 HWP 확장기능 프로젝트 '달콤(Dalkom)' 시작

컴퓨팅입력 :2016/05/17 10:11    수정: 2016/05/17 10:11

오픈소스 소프트웨어 환경에 한글과컴퓨터 한글 문서(HWP)를 처리하는 기능을 담기 위한 프로젝트가 등장해 리눅스 데스크톱 사용자와 커뮤니티의 관심을 모으고 있다. 개발자는 자신이 공개한 프로젝트가 다른 사람에게 도움이 되고 외부 개발자의 참여를 유도할 수 있길 바란다는 입장이다.

소프트웨어 개발자 김호동 씨는 지난 15일 개인 블로그를 통해 리브레오피스 프로그램에서 HWP 문서를 볼 수 있게 해 주는 확장기능 '달콤(Dalkom)'의 개발 현황 및 설치 방법과, 리눅스PC에서 HWP 문서 아이콘를 클릭하는 조작만으로 리브레오피스 프로그램을 띄우고 파일을 표시할 수 있는 수 있는 방법을 소개했다.

[☞참조링크: 달콤(Dalkom) 2016.05.15 리브레오피스用 hwp 확장(oxt) 공개합니다]

[☞참조링크: hwp 문서 클릭하여 리브레오피스로 바로 보는 방법]

리브레오피스는 마이크로소프트(MS) 오피스 제품군과 경쟁하는 오픈소스 기반 워드, 스프레드시트, 프리젠테이션 프로그램으로 문서재단(TDF)의 후원을 받고 있다. 지난 2010년 오라클이 썬마이크로시스템을 인수하면서 '오픈오피스'를 함께 가져가자, 그에 반발한 일부 개발자들이 파생시켜 시작된 프로젝트다. 여러 유형의 자료를 기록하고 저장하는 문서의 국제표준 'ODF'를 기본으로 사용한다. 사용자가 HWP 문서 내용을 다루려면, 그걸 지원하는 부가 프로그램, 즉 '확장기능'을 설치해야 한다. 달콤 프로젝트가 바로 그런 확장기능이다.

소프트웨어 개발자 김호동 씨가 개인 블로그에 작성한 리브레오피스 HWP 문서보기 확장기능 '달콤(Dalkom)' 개발 프로젝트 소개글.

김 씨의 설명에 따르면 공개된 달콤 확장기능은 HWP 문서에 있는 문자를 리브레오피스에서 볼 수 있게 해 준다. 별도의 생업에 종사하고 있는 김 씨가 이 프로젝트에 투자할 수 있는 시간상의 제약 때문에, 아직은 문자 열람만 가능하다. 문단, 표, 그림 등의 표시는 지원되지 않는다.

블로그에서 김 씨는 "문단, 표, 그림 등을 작업하려면 한컴 HWP 스펙 문서, UNO API 문서, ODF 스펙 문서를 읽어야 되는데 분량이 수백 장에 이른다"며 자신이 "필요로 하는 스펙만 우선적으로 작업(개발)한다"고 밝혔다. 이어 자신이 공개한 소프트웨어에 대해 "품질이 기대에 미치지 못한다"면서도 "어떤 분에게는 이 소프트웨어가 도움이 되거나, 누군가는 개발에 참여할 것이라는 기대감에 공개한다"고 덧붙였다.

앞서 김 씨는 지난 9일 자신의 깃허브 계정으로 달콤 확장기능 개발 프로젝트의 소스코드를 공개했다. 프로젝트는 자유소프트웨어 재단의 GNU 일반공개라이선스 버전2(GPLv2) 또는 그 이후 버전으로 수정 및 재배포될 수 있다.

달콤 확장기능을 사용해 리브레오피스에 HWP 문서를 불러들인 화면. [출처=김호동 씨 블로그(http://cogniti-works.blogspot.kr/2016/05/dalkom-20160515-hwp-oxt.html)]

당시 설명한 개발 계획에 따르면, 프로젝트는 리브레오피스로 HWP 문서를 불러 오면 화면에 'Hello World'를 출력하는 기초적인 수준부터 시작해 점차 많은 기능을 품게 된다. 이를 위해 김 씨가 별도로 개발한 HWP 파일 처리용 라이브러리 'libhwp'가 연동된다. 연동된 libhwp는 문서의 정보를 직접 처리하고, 그 결과를 넘겨받은 달콤이 리브레오피스 API를 이용해 사용자의 화면에 출력하는 작업(렌더링)을 수행한다. 연동을 위한 libhwp의 대대적 수정이 예고됐다.

[☞참조링크: 달콤(dalkom) 프로젝트 - 리브레오피스用 hwp 확장(oxt)]

[☞참조링크: GitHub - cogniti/dalkom: hwp oxt for libreoffice]

김 씨는 한글과컴퓨터가 지난 2010년 6월 공개한 한글 파일(.hwp) 형식 문서 내용을 참고해 달콤 확장 기능을 개발했다고 밝혔다. 그는 달콤 확장기능 프로젝트뿐아니라 그에 연동되는 libhwp와, 그밖에 evince-hwp, ruby-hwp 등의 HWP 관련 공개 프로젝트를 진행하고 있다.

그는 깃허브의 달콤 프로젝트를 소개한 글에서 자신의 여러 "HWP 관련 공개 프로젝트에 대한 저작권이 자신에게 있으며, 저작권을 포기할 의사가 없다는 점을 분명히 알린다"고 강조했다. 현 libhwp의 전신격인 김 씨의 공개 프로젝트(구 'libghwp' 또는 'libhwp')의 저작권을 4년전 미래창조과학부 산하기관의 정부지원 오픈소스 프로젝트 사업에 도용당했던 경험을 의식한 것으로 보인다.

우분투한국커뮤니티 위키사이트의 사건 일지에 따르면, 김 씨의 저작권을 침해했던 해당 프로젝트는 취소되고 과제 수행자들은 산하기관 제소로 재판을 받았다. 이 송사는 국내 오픈소스 개발자 커뮤니티 전반에 부정적인 인상을 남겼다. 특히 한글과컴퓨터가 관심과 실질적 지원을 거둬들인 리눅스 데스크톱용 HWP 문서 처리 프로그램이 만들어질 수 있을 것이라는 세간의 기대를 무너뜨린 사건으로 회자된다.

[☞관련기사: 오픈소스 HWP 기술, 공개 1년만에 파국]

[☞관련기사: "HWP 포맷, 불완전 공개는 맞는데…"]

김 씨는 3년전 자신이 libhwp 프로젝트를 도용당한 뒤 개발 활동을 지속하기 어렵다고 판단, 2013년 12월 깃허브에 올렸던 소스코드를 삭제하고, 그걸 이듬해 또다른 코드 저장소 빗버킷(Bitbucket)으로 옮겨 놨다. 빗버킷에 올라간 소스코드는 기존 깃허브 프로젝트에 참여한 외부 개발자의 기여분(commit)이 몇 건 제거된 상태였다.

그러나 김 씨는 달콤 프로젝트 공개에 앞서, 접었던 libhwp 개발 프로젝트도 재개했다. 이를 위해 과거 깃허브 프로젝트에서 삭제했던 외부 개발자의 기여분을 복구했다.

그는 지난 4일 블로그를 통해 외부 개발자의 기여분을 삭제했던 행동에 대해 "해당 기여자분에 대한 예의에 어긋나는 행위이며 지금까지 마음에 걸렸다, 그 분(외부 개발자)께 죄송하다는 말씀을 드린다"고 사과했다. 이어 5일 빗버킷과 깃허브에 삭제됐던 기여분을 복구한 소스코드를 올리고, 앞으로는 깃허브 쪽을 이용해 달라고 당부했다. 빗버킷 쪽은 미러링 용도로 남겨 두겠다고 덧붙였다.

관련기사

[☞참조링크: LibHwp 2016.05.14 공개합니다.]

[☞참조링크: libhwp commit rebase 예정 [완료됨]]