Replies: 6 comments 5 replies
-
|
잘 읽었습니다. 레거시를 정리하고 표준을 강제하는 것이 소프트웨어 개발자의 몫인데 그동안 한컴은 독과점을 이용해서 편하게 살아갔던 것으로 보입니다. 아래아 한글의 수 많은 고쳐지지 않은 버그는 보이지 않는 팬스로 이용되었던 것 같습니다. 늘 응원합니다. |
Beta Was this translation helpful? Give feedback.
-
정말 공감합니다. 지금껏 한컴 생태계가 발전하지 못하고 오픈소스들이 매번 좌절했던 이유가 여기에 있다고 생각합니다. |
Beta Was this translation helpful? Give feedback.
-
|
일단 이번 크롬과 엣지 확장은 급한 것부터 패치해서 업데이트 배포 심사 요청해 놓은 상태입니다. HWPX 는 뷰어까지만 허용하고 저장은 disable 시켰습니다. 그리고 명시적으로 사용자들에게 문단내 줄 정보가 미흡한 경우 경고가 보여지도록 해놓았으니, 사용자 반응을 보면서 향후 대응방안을 설계하고 구현할 시간은 벌은 것 같습니다. |
Beta Was this translation helpful? Give feedback.
-
|
글 감사합니다. 아직 수정할건 테산.. |
Beta Was this translation helpful? Give feedback.
-
mydocs 폴더 중 트러블슈팅이 있습니다. 공식 스펙 문서 오류 정오표 정리 문서와 hwp 저장 시도 실패와 이를 해결하면서 얻은 인사이트 문서를 공유하고 있습니다. 이 문서들은 여전히 작성 중인 상태이며 부족한 지점이나 잘못된 부분이 발견되면 PR 주세요. |
Beta Was this translation helpful? Give feedback.
-
|
다른곳에서도 간단하게 이야기했는데, hwp/hwpx 스펙을 작성하는 프로젝트를 하고 있습니다. 해당 스펙 데이터는 yaml형식입니다. 따로 검증 툴도 만들어서, hwp과 hwpx 파일을 직접적으로 분석한 스펙과 비교하여 잘못된 데이터를 확인할 수 있습니다. 폰트나 DRM 분석 부분은 법적 문제가 있을 것 같아 바로 공개는 못하고, 곧 공개 예정입니다. 필요하신 분들은 미리 공유 드리겠습니다. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
관찰된 현상
rhwp 개발 중 재현한 기묘한 시나리오입니다.
같은 파일을 원작자인 한컴은 정상 렌더하고 후발주자 rhwp는 깨진 렌더를 보여줍니다. 상식적으로는 반대여야 합니다 — 표준을 만든 쪽이 더 엄격하고, 후발주자가 맞춰야 하는 구조.
원인 분석
HWPX의
<hp:lineseg>요소는 문단의 각 줄 좌표(vertpos, vertsize, textheight 등)를 담습니다. 명세상 이 값은 사전 계산된 정확한 값이어야 합니다.그런데:
<hp:lineseg>값을 그대로 렌더 → 부정확한 값이 그대로 반영 → 겹침즉 한컴 자신만이 자기 파일을 정상 렌더할 수 있는 상태입니다.
이게 왜 심각한 문제인가
생태계 전체가 기술부채를 나눠 지게 됨
한컴 내부에는 기술부채가 있지만, 그 존재가 외부에 드러나지 않으면 후발주자는 자기 구현이 틀렸다고 오해합니다. rhwp도 처음엔 "우리가 렌더링을 잘못했나?"를 먼저 의심했습니다. 명세는 맞고, 코드는 명세대로 구현했는데도 결과가 "틀린" 것으로 보이기 때문입니다.
비표준이 표준처럼 자리잡는 메커니즘
Discussion #184와의 직접 연결
앞 글에서 지적한 "LLM이 생성한 비표준 HWPX가 한컴에서 열린다는 경험이 누적되면 깨진 구조가 표준으로 자리잡는다" 는 우려. 한컴 자신이 같은 일을 하고 있었습니다. 방식은 같습니다:
둘 다 생태계를 서서히 오염시킵니다.
왜 한컴이 이 사실을 공개하지 않는가 — 추정
한컴이 이를 공식화하지 않는 이유는 여러 가능성이 있습니다:
어느 쪽이든 결과는 같습니다 — 기술부채가 내부에 숨겨지고, 비용이 외부 후발주자에게 전가됩니다.
일반 소프트웨어 엔지니어링 원칙
비표준 파일을 감지했을 때 정상적 프로그램이 해야 할 일:
한컴은 이 세 가지를 모두 하지 않았습니다. 후발주자로서 rhwp는 이 방식을 따르지 않기로 결정했습니다.
rhwp의 입장
rhwp는 다음을 실천합니다:
rhwp validateCLI (향후 계획 #185)한컴의 DVC를 Rust로 포팅하면서 두 계층 검증을 제공합니다:
두 결과를 모두 리포트해서 사용자가 "내 파일이 공식 표준인가 vs 한컴 한정 호환인가"를 스스로 판단할 수 있게 합니다.
생태계에 대한 제안
이 네 가지가 없으면 HWPX 생태계는 계속 "한컴만 정답, 나머지는 피해자" 상태가 유지됩니다.
한 줄 요약
한컴의 방어 로직은 사용자에겐 친절한 기능, 후발주자에겐 보이지 않는 덫, 생태계엔 기술부채의 확산 채널이다. 숨김을 받아들이지 않는 것이 rhwp의 원칙이다.
관련 글: #183 HWPX 포맷 관찰, #184 LLM 기반 HWPX 생성 함정
Beta Was this translation helpful? Give feedback.
All reactions