블로그 방명록 사전 갤러리 게시판 인클봇 인클챗 웹 IRC 위즈 인클플
(동접: 0명/0명) [?]
 


MS 오피스 바이너리 파일 포맷 공개

마이크로소프트(Microsoft)가 오피스 97부터 오피스 2003까지 채용한 바이너리 파일 포맷, 즉 .doc, .xls, .ppt 확장자의 스펙(사양)을 공개했습니다.

사용자 삽입 이미지

공개 이유는, 오피스 2007부터 쓰이는 새로운 오피스 포맷인 Open XML(OOXML)을, ISO 표준으로 지정할 지에 대한 국가별 투표를 앞두고, 각국 표준화 단체의 바이너리 포맷 공개 요구에 따른 것이라는 설명이 유력합니다.

Open XML을 이미 한 번 투표에서 부결된 적이 있습니다. 이번 달 하순에 2차 국가별 투표가 열리는데, 이번에도 부결되면 최종적으로 표준 통과에 실패하게 됩니다.

MS는 또한 바이너리 오피스 문서를 Open XML로 변환하는 프로젝트를 소스포지에 개설했습니다. 라이선스는 BSD입니다.

지금까지 오픈오피스(OpenOffice.org) 등은 이러한 바이너리 오피스 포맷을 읽기 위해 자체적으로 분석한 결과물을 사용했습니다. 엄청난 노가다지요. 100% 호환되는 것도 아니고요. 그래서 이번 공개로 오픈오피스 등의 MS 오피스 포맷 호환성을 높일 수 있지 않을까 하는 기대가 있습니다.

단, 몇 가지 집고 넘어갈 게 있는데...

모든 포맷은 MS 오픈 스펙 계약(Microsoft Open Specification Promise)으로 보호됩니다. 그런데 이게 GPL 내지는 다른 오픈 소스 라이선스와 충돌하는지 안 하는지 아직 불확실하다고 하는군요. 따라서 오픈 소스 진영이 이번 공개로 이득을 볼 수 있는지 여부를 확인하려면 좀 더 시간이 필요합니다.

하지만 더욱 심각한 것은, 이렇게 공개된 MS 오피스 포맷이 실제로는 아무런 쓸모도 없을 것이라는 주장이 제기되고 있다는 점입니다.

예를 들어, 엑셀 포맷 스펙은 PDF로 349쪽입니다. 그렇다면 이것만 읽으면 구현이 가능한 것일까요? 아닙니다. 스펙을 보면 다음과 같은 재미난 문장이 있습니다.
"엑셀 워크북은 Compound File에 저장됩니다."
Compound File은 파일 시스템을 단일 파일에 구현하는 이미지 파일 형식입니다. 따라서 엑셀 포맷을 제대로 다루려면 9페이지 남짓의 스펙을 더 읽어야 한다는 결론이 나옵니다.

조엘 온 소프트웨어에 따르면, 여러분이 워드 문서를 블로그에 업로드하는 멋들어진 코드를 작성하기 위해, 주말을 투자하여 MS 오피스 스펙 문서를 읽으려 한다면, 스펙의 복잡함과 방대함이 그 즉시 여러분을 그러한 욕망에서 벗어나게 할 것이라는군요.

또한 어떤 프로그래머이든 오피스 바이너리 포맷을 보면 이러한 결론을 낼 것이라고 합니다:
* 고의로 꼬여있다.
* 스타트렉에 나오는 미친 보그가 만든 것이다.
* 심각하게(insanely) 수준 미달인 프로그래머가 만들었다.
* 제대로 읽거나 만들 수가 없다.

하지만, 조엘에 따르면, 사실 이렇게 된 이유는 따로 있습니다. MS 오피스 바이너리 포맷은 HTML 같은 표준 스펙과는 완전히 다른 목적으로 디자인된 것이기 때문입니다:
* 저사양 컴퓨터에서도 원활히 돌아갈 수 있도록 하기 위해 온갖 최적화를 했습니다: 엑셀 초기 버전은 1MB 램에 20MHz 386 CPU에서 동작해야 했습니다. 따라서 파일을 빠르게 읽고 쓸 수 있도록 하기 위해 수많은 최적화(=꼬아놓기)가 이루어졌습니다.
* 기존 라이브러리을 이용하도록 디자인되었습니다: 윈도우에는 메타파일 그림, OLE 같은 라이브러리가 있고, MS 오피스는 이러한 것을 이용합니다. 따라서 이를 윈도우가 아닌 환경에 적용하려면, 처음부터 관련 라이브러리를 다시 작성하는 노력이 필요합니다. 우선 리눅스에 OLE 구현부터 해야 할 것입니다. 미친 짓이죠.
* 상호 운용(연동)을 고려하지 않았습니다: SGML, HTML 같은 표준 포맷과는 달리, MS 오피스 포맷은 지금까지 MS 오피스에서만 이용하면 충분했습니다. 따라서 다른 프로그램과 연계될 것이라는 가정은 하지 않았습니다. MS 워드가 지원하는 포맷 중 RTF가 있는데, 이것은 지금도 여전히 사용 가능하지요.
* MS 오피스의 역사가 반영되었습니다: MS 오피스 버전이 올라가면서, 하위 호환성을 유지하고 새 기능을 추가하기 위해 포맷이 전체적으로 매우 꼬이고 말았습니다. 따라서 MS 오피스 클론을 만들려는 사람은, MS가 지금까지 15년 동안 해왔던 삽질을 똑같이 따라해야 할 것입니다.

전체적으로 MS 오피스 바이너리 포맷은 낡았기 때문에 이러한 문제는 필연적입니다. 따라서 위에서 말한 것처럼, 이번 공개가 실질적으로 쓸모가 있는지는 좀 더 두고봐야 할 것 같네요.

Microsoft Office Binary (doc, xls, ppt) File Formats


Daum 블로거뉴스
에서 이 포스트를 추천해주세요. [추천]

Posted by 랜덤여신

2008/02/20 23:45 2008/02/20 23:45

Trackback URL : http://barosl.com/blog/trackback/684

Comments List

  1. Mr.Dust 2008/02/21 02:21 # M/D Reply Permalink

    법적인 문제말고도 산재한 문제가 많군요.
    하지만 지금까지와처럼 리버스 엔지니어링으로 구현하는 것보다야 쉽겠지요. ㅎㅎ

  2. J.Min 2008/02/21 03:37 # M/D Reply Permalink

    * 스타트렉에 나오는 미친 보그가 만든 것이다.

    ... 뒤집어지는줄 알았습니다. ㅋㅋㅋㅋ
    Resistance is futile!

  3. 엠에스는 2008/02/21 03:45 # M/D Reply Permalink

    엠에스는 표준화가 되어서는 안된다고 생각합니다. 후진국대표들만 표준화(iso) 찬성표를 떤졌다고 하더군요.

    영국이나 선진국에서는 초등 중등 공공기관을 리눅스와 오픈오피스로 바꾸라는 지시를 내렸다고 하죠. ^^

    중국도 odf 기반으로 한 문서를 표준으로 채택했구요.

    엠에스 ooxml 과 썬 구글 오픈진영인 odf.. 국내에서도 3월달에 표준문서로 채택한다고 했는데... odf 쪽으로 기울어졌다고 하더군요.

    중국이라는 시장을 놓친 엠에스.. 한국 정통부에 로비가 장난 아닐듯..
    이번 sk 주파수 일을 보면서 좀 걱정이 되기는 하네요.

    마소 하청업제로 남을려고 할지...

  4. 연유 2008/02/21 17:48 # M/D Reply Permalink

    공룡기업이다 보니,
    주 프로그램말고도 다른 부록도 역시
    호환성이 중요한가 보군요.
    꼭 익스플로러를 보는 느낌..

Leave a comment
« Previous : 1 : ... 208 : 209 : 210 : 211 : 212 : 213 : 214 : 215 : 216 : ... 804 : Next »

블로그 이미지

랜덤여신이 살아가는 이야기입니다. / 국내 점유율이 1%도 안 되는 리눅스 관련 글을 주로 씁니다. 관심 좀... ㅠㅠ / 컴퓨터쪽 이야기도 씁니다.

- 랜덤여신

Archives

Recent Posts

  1. 안드로이드 시장 점유율, 빠르게 상승 ... (2)
  2. OpenSSH 5.4 출시 - SSH1 비활성화
  3. 아이폰 개발자 프로그램, 약관 전문 폭로 (5)
  4. 스팀 및 밸브 게임, 맥 지원 시작
  5. 유비소프트, 인증 서버 다운으로 게임 ... (2)
  6. MS, 윈도 폰과 엑스박스 동시 지원 게...
  7. MS, IE6 장례식에 조화 보내 (2)
  8. 북한 리눅스 배포판 '붉은 별' (3)
  9. 우분투, 새 디자인 공개 - '빛' 테마 (7)
  10. 미국 토피카 시, '구글 시'로 이름 변경 (4)
  11. 애플, 아이폰 특허 침해로 HTC 고소 - ... (7)
  12. PS3 구형, 달력 버그로 게임 실행 불가능 (2)
  13. EU, 구글 스트리트 뷰에 사생활 침해 경고
  14. 2ch 공격이 무의미한 이유 (61)
  15. 동영상 포맷 화질 비교 - H.264, Ogg T... (7)
  16. 아이튠즈 스토어, 음악 다운로드 100억...
  17. 고 대디, 암호화 없이 비밀번호 저장하... (2)
  18. 페도라 쓴다고 말해! (7)
  19. 유튜브, 3월 13일에 IE6 지원 중단 (2)
  20. 애플, 앱 스토어에서 성인 앱 6000개 제거 (3)
  21. 구글 기어스, HTML5로 대체
  22. 모바일 리눅스에는 인라이튼먼트가 제격? (2)
  23. MS, 유럽 윈도에 '웹 브라우저 선택' ... (10)
  24. 파이어폭스 부가 기능 사이트 차단과 S... (13)
  25. SKT 주최 '안드로이드 개발자 컨퍼런스... (2)
  26. 구글, 위키미디어 재단에 200만 달러 기부 (5)
  27. 오픈 소스 모델은 정말 효율적인가? MS... (10)
  28. 노키아와 인텔, 모바일 플랫폼 '미고' ... (1)
  29. 아이작 아시모프의 '파운데이션', 3D ... (2)
  30. 아이폰용 오페라 미니 발표 - 앱 스토... (7)