UNIX/Linux 사용자들에게 아주 친근한 어플리캐이션 중의 하나가 바로 VI입니다. 저는 VIM의 윈도우 버전을 설치해서 윈도우에서도 비슷한 환경을 만들어놓고 쓰고 있습니다. 그래서 다른 분들이 적응하기 힘들어 하시는 경우를 많이 봤습니다. "어!! 화면이 왜 새까맣지??" ^^;
 VI에 관한 IBM DeveloperWorks의 튜토리얼을 소개합니다.
이 문서는 처음에 나오는 "난이도 : 초급"이라는 말에 걸맞게 컨닝 페이퍼를 만들어가며 사용자들에게 VI 사용법을 설명하고 있습니다. 재밌네요.

원문 : vi 입문 -- 컨닝 페이퍼 이용하기


이 튜토리얼에서는 강력한 시각적 편집기인 vi 사용법을 소개합니다. 여기서는 “컨닝 페이퍼(cheat sheet)”를 활용하여 짧은 시간에 vi를 능숙하게 익히는 지름길을 설명합니다. 이 튜토리얼을 통해 독자들은 커서를 이동하는 방법, 텍스트를 편집하는 방법, 삽입 모드로 전환하는 방법, 텍스트를 복사하여 붙여넣는 방법, 비주얼 모드나 멀티 윈도우 편집 등 주요 vim 확장 기능을 익히게 됩니다.

시작하기 전에

자습서 개요

vi 는 유닉스와 리눅스 플랫폼에서 사실상 업계(de facto) 표준으로 사용되는 텍스트 편집기다. 거의 모든 유닉스/리눅스 시스템에 존재할 뿐 아니라 윈도우, DOS, 매킨토시, OS/2, SGI 등 다른 많은 플랫폼에서도 제공된다. vi를 잘 모르거나 익숙하지 않다면 이번 기회를 통해 리눅스/유닉스 플랫폼용 시각적 편집기 프로그램 중 가장 강력하고 널리 쓰이는 프로그램인 vi를 익혀보기 바란다.

목적

이 튜토리얼 집필 목적은 독자들이 vi를 신속하게 익히도록 돕는 데 있다. vi를 배우기 어려운 이유 중 하나가 vi에서 사용하는 명령 수가 아주 많다는 사실 때문이다. vi를 효과적으로 사용하려면 많은 명령을 암기해야 하는데, 필요한 명령을 모두 암기하려면 오랜 시간이 걸린다. 그래서 이번 튜토리얼이 목적하는 바가 '단시간에 vi 익히기'다. 그렇다면 짧은 시간에 많은 명령을 어떻게 기억하도록 도와줄 수 있을까?

이 문제를 해결하는 방법으로 “컨닝 페이퍼”를 이용한다. 튜토리얼을 진행하면서 중요한 vi 명령을 “컨닝 페이퍼”에 하나둘씩 적어둔다는 말이다. 튜토리얼을 마친 후에는 명령을 잊어버릴 때마다 컨닝 페이퍼를 참조한다. 그러다 보면 명령이 머리 속에 새겨지고, 결국은 컨닝 페이퍼 없이도 vi를 능숙하게 사용하게 되리라고 믿는다.

선수 요건

이 튜토리얼은 별다른 선수 요건이 없다. 대신, 독자들이 따라야 할 지침은 있다. 첫째, (당연히) 내가 명령이 동작하는 방식을 여러분에게 설명한다. 둘째, (연습으로) 여러분이 vi에서 명령을 직접 실행해본다. 셋째, (나중에 참고할 목적으로) 여러분이 컨닝 페이퍼에 명령을 기록한다. vi를 빨리 배우고 싶다면 위 단계를 충실히 따르라고 권한다. 명령을 vi에서 직접 실행해보고 컨닝 페이퍼에 직접 기록하면 명령을 외우기도 쉬워진다.


 이번에 소개할 글은 IBM DeveloperWorks의 Linux관련 문서들 중에서 커널 관련 문서입니다.
리눅스의 핵심이라고 할 수 있는 커널 부분의 시스템 호출 인터페이스에 대한 내용을 다루고 있습니다. "조엘 온 소프트웨어"로 낯익은  박재호님과 이해영님이 번역을 하셨네요.


원문 : 리눅스 시스템 호출을 활용한 커널 명령 (SCI 탐험과 독자적인 시스템 호출 추가하기)


리눅스(Linux®) 시스템 호출은 우리가 매일 사용하는 기능입니다. 하지만 시스템 호출이 사용자 영역에서 커널 영역으로 어떻게 넘어가는지 알고 있나요? 리눅스 시스템 호출 인터페이스(SCI, System Call Interface)를 탐험하고 새로운 시스템 호출을 추가하는 방법(과 다른 대안)을 배우고, SCI 관련 유틸리티를 살펴보겠습니다.

리눅스 시스템 호출은 우리가 매일 사용하는 기능이다. 하지만 시스템 호출이 사용자 영역에서 커널 영역으로 어떻게 넘어가는지 알고 있는가? 리눅스 시스템 호출 인터페이스(SCI, System Call Interface)를 탐험하고 새로운 시스템 호출을 추가하는 방법(과 다른 대안)을 배우고, SCI 관련 유틸리티를 살펴보자.

이 기사에서, 리눅스 SCI를 탐험하고, 2.6.20 커널에 시스템 호출을 추가하는 방법과 이 함수를 사용자 영역에서 사용하는 방법을 보여줄 계획이다. 또한 시스템 호출 개발에 유용한 몇몇 함수와 시스템 호출 대안을 살펴보겠다. 마지막으로 프로세스 사용을 추적하는 기능과 같이 시스템 호출과 관련이 있는 몇몇 종속 메커니즘을 살펴본다.


 UNIX/Linux 시스템을 사용하다보면 다양한 로그 파일들을 접하게 됩니다. 로그 파일은 사용자에게 시스템의 현재 상태와 과거의 상태, 그리고 각종 작업의 결과 등을 알려주는 소중한 정보원입니다. 이번에 소개할 문서는 IBM DeveloperWorks의 "AIX and UNIX | Linux" 카테고리에서 로그 파일에 관한 문서입니다.

원문 : 시스템 관리 툴킷: 로그 파일 이해하기


전형적인 리눅스(Linux®)나 유닉스(UNIX®)는 시스템이 돌아가는 동안에 수많은 로그 파일을 생성합니다. 이 중에는 유용한 정보를 제공하는 로그 파일도 있고, 용량이나 자원을 계획하는 데 도움을 주는 로그 파일도 있습니다. 이 기사에서는 주요한 로그 파일 몇 개를 소개합니다. 또한 로그 파일이 존재하는 위치, 파일에 기록되는 정보 형식, 로그 정보를 유용하게 사용하는 방법도 살펴봅니다.

기사 연재 소개

전형적인 유닉스(UNIX®) 관리자라면 시스템을 관리하면서 나름대로 자주 사용하는 유틸리티, 스크립트, 기교가 있기 마련이다. 이러한 유틸리티, 스크립트, 명령 체인 등은 관리자가 수행할 작업을 단순화시켜 준다. 일부 도구는 운영체제에 딸려오지만, 대다수 도구와 기교는 수년 동안 쌓아온 경험과 시스템 관리를 조금이라도 편하게 하려는 욕구에서 나왔다. 이 기사 연재는 다양한 유닉스 환경에서 제공하는 도구를 최대한 활용하는 방법을 살펴본다. 또한 다양한 유닉스 플랫폼에서 시스템을 단순하게 관리하는 방법도 소개한다.





로그 파일

모든 시스템은 시스템 내 다양한 정보를 추적하고 기록하는 로그 파일을 생성한다. 파일 내용과 용도는 시스템에 따라 다르지만, 본질적으로 파일에 담긴 핵심 정보는 대개 비슷하다.

예를 들어, 모든 유닉스와 리눅스 시스템은 syslog 도구를 사용한다. syslog는 운영체제와 응용 프로그램과 서비스가 정보를 기록할 때 사용하는 범용 로그 시스템이다. syslog는 로그인 정보, 성능 정보, 하드웨어와 시스템 실패 정보 등 다양한 정보를 기록한다. syslog 외에도 시스템에는 서비스 로그, 환경 로그, 응용 프로그램 로그 등 시스템 상태와 동작 상태를 기록하는 다양한 로그가 있다.

로그 파일에서 정보를 분석하고 추출하는 작업은 시간이 많이 걸리고 복잡하다. 하지만 로그 파일에 담긴 풍부한 정보를 무시하기는 어렵다. 로그 파일은 잠정적인 문제, 결함, 보안 구멍을 찾아내는 데 도움이 되는 정보를 제공한다. 또한 제대로만 분석한다면 서버에 걸리는 하중과 용량 문제도 미리 파악해 대비할 수 있다.


 LAMP 시스템 조율 시리즈의 마지막인 Part 3, MySQL 조율에 관한 문서를 소개합니다.
공개 DataBase 중에서 가장 (최소한 한국에서는...) 다양한 사용자층을 확보한 MySQL은 UNIX/Linux 환경에서 사용할 수 있는 대표적인 DataBase중의 하나입니다. 특히나 오픈소스 제품이기에 무료로 사용할 수 있지만, 그 덕에 정교한 튜닝을 하지 않고 사용하는 적당히 설치해서 적당히 사용하는 제품이기도 하죠... 물론 상용 제품들도 벤더사에서 설치해준 상태 그대로 사용하는게 대부분의 DB서버가 처한 우울한 현실이기도 하죠.

자... 이제 IBM DeveloperWorks에서 소개하는  "LAMP 시스템 조율, Part 3: MySQL 조율"을 소개합니다. 아~ 한글이라서 더욱더 맘에 듭니다. (이 놈의 영어 울렁증은...)

원문 : LAMP 시스템 조율, Part 3: MySQL 조율


LAMP(Linux®, Apache, MySQL, PHP/Perl) 아키텍처를 활용하는 응용 프로그램은 끊임없이 개발되고 배포되고 있습니다. 하지만 때로 서버 관리자는 다른 사람이 작성했다는 이유만으로 응용 프로그램 자체에 대한 통제권이 거의 없습니다. 기사 셋으로 이뤄진 이번 연재물은 응용 프로그램 성능을 향상시킬 서버 환경 설정 항목을 다룹니다. 연재 마지막인 세 번째 기사에서는 최대 성능을 발휘하도록 데이터베이스 계층을 조율하는 데 초점을 맞춥니다.

MySQL 조율에 대해

MySQL 서버를 빠르게 하기 위한 방법은 세 가지가 있는데, 효율이 낮은 쪽에서 높아지는 쪽으로 나열하면 다음과 같다.

  1. 하드웨어로 문제를 푼다.
  2. MySQL 프로세스 설정을 조율한다.
  3. 질의를 최적화한다.
DB2®로 이주
MySQL에서 IBM® DB2®로 이주하는 명쾌하고 비용이 들지 않는 방법을 찾고 싶은가? "MySQL 또는 PostgreSQL에서 DB2 Express-C로의 마이그레이션 (영문)" 기사에서는 이주 도구를 활용해 쉽게 이전하는 방법을 보여준다. 공짜 DB2 Express-C를 내려받아 지금 바로 시도해보자.

하드웨어로 문제를 푸는 방법이 가장 먼저 떠오른다. 특히 데이터베이스가 자원을 잡아먹는 괴물이라는 사실을 감안하면 말이다. 하지만 이 해법에는 한계가 있다. 현실을 고려할 때 CPU나 디스크 속력은 두 배로, 메모리 용량은 네 배에서 여덟 배 정도만 늘일 수 있다.

두 번째로 좋은 방법은 mysqld라는 MySQL 서버 조율이다. 이 프로세스 조율은 올바른 위치에 메모리를 할당하고 어떤 부하가 걸릴지 mysqld에 알려주는 조정 기법을 의미한다. 디스크 속력을 좀 더 빠르게 만드는 대신, 필요한 디스크 접근 횟수를 줄이는 편이 유리하다. 비슷하게, MySQL 프로세스가 올바르게 동작하도록 만드는 조율은 개발자가 임시 디스크 테이블과 파일 여닫기 같은 배경 작업에 신경을 쓰는 대신 질의에 대한 서비스에 좀 더 많은 시간을 보낼 수 있음을 의미한다. mysqld 조율은 이번 기사에서 주로 다룰 내용이다.

최고로 좋은 방법은 질의 최적화다. 이는 적절한 색인을 테이블에 만들어 놓고, MySQL의 장점을 최대로 활용하는 방향으로 질의를 작성하는 조율 기법을 의미한다. 이번 기사에서 질의 조율을 다루지는 않지만(이 주제로 책을 써도 되겠다), mysqld 환경 설정을 변경해 조율이 필요한 질의를 보고하도록 만든다.

중요한 조율 순서를 제시하긴 했지만, 그렇다고 해서 적절히 조율을 마친 질의를 위해 하드웨어나 mysqld 설정을 무시하라는 말은 아니다. 느린 기계는 느린 기계일 뿐이며, 제대로 작성한 질의를 돌리더라도 부하가 걸려 실패하는 경우를 목격했는데, mysqld가 질의를 서비스하는 대신 바쁘게 움직이느라 시간을 소모하고 있었기 때문이었다.

 지난번에 소개한 LAMP 시스템 조율의 두번째 문서를 소개하려합니다. 이번에는 아파치 웹서버와 PHP의 최적화에 관한 내용을 소개하고 있네요.
 아파치의 MPM 환경 설정, PHP 중간 코드 캐싱 등의 내용을 설명하고 있습니다.

원문 : LAMP 시스템 조율, Part 2 : 아파치와 PHP 최적화



LAMP(Linux®, Apache, MySQL, PHP/Perl) 아키텍처를 활용하는 응용 프로그램은 끊임없이 개발되고 배포되고 있습니다. 하지만 때로 서버 관리자는 다른 사람이 작성했다는 이유만으로 응용 프로그램 자체에 대한 통제권이 거의 없습니다. 기사 셋으로 이뤄진 이번 연재물은 응용 프로그램 성능을 향상시킬 서버 환경 설정 항목을 다룹니다. 첫 번째 기사는 LAMP 아키텍처, 성능 기법, 기본적인 리눅스 커널, 디스크, 파일 시스템 미조정을 다뤘습니다. 두 번째 기사에서는 아파치와 PHP 컴포넌트를 최적화하는 방법에 초점을 맞춥니다.

리눅스, 아파치, MySQL, PHP(또는 펄)은 일정 목록부터 블로그와 전자 상거래 사이트에 이르기까지 많은 웹 응용 프로그램의 토대가 된다. LAMP 컴포넌트에 의존하는 많은 오픈 소스 패키지는 다양한 문제를 해결한다. 응용 프로그램 부하가 증가할수록, 기반 구조에서 병목 현상이 발생해 사용자 요청에 대한 반응이 느려지는 형태로 나타난다. 직전 기사에서는 리눅스 시스템 조율 방법과 LAMP 기초, 성능 측정 방법에 대한 기초를 다뤘다. 이번 기사에서는 아파치와 PHP로 대표되는 웹 서버 구성 요소에 초점을 맞춘다




 
 dW Interview에서 간만에 얼굴을 아는 분의 인터뷰 기사가 있어서 소개를 하려고합니다. KLDP[각주:1] 운영자이시며 NHN 개방형 기술TF TF장이신 권순선님입니다.
예전에 2005년도 Codefest[각주:2] 준비를 하면서 한번 뵌적이 있어서 그런지 인터뷰 기사가 유난히 반갑네요.(물론 권순선님은 저를 기억하지 못 하실겁니다. 제가 그리 비중있는 역할을 하지는 않았었거든요. ^^;)

원문 : dW Interview “오픈 소스로 재미 이상의 가치를 전달하기”


리눅스는 리누스 토발즈의 골방(?)에서 시작되어 전 세계 수많은 개발자를 몰입의 즐거움에 빠뜨리고 이제는 산업을 이끄는 한 축이 될 정도로 성장했습니다. 이번 인터뷰에서는 그 역동적인 역사를 지켜보며 국내의 대표적인 오픈 소스 커뮤니티인 KLDP(http://kldp.org)를 10년 넘게 운영중인 권순선 님을 만나 보았습니다.


  1. kldp.org는 리눅스 문서화 프로젝트로 시작하여 현재는 오픈 소스 커뮤니티를 지향하는 온라인 커뮤니티입니다. [본문으로]
  2. 코드페스트는 자유 소프트웨어(FreeSoftware) 및 오픈 소스(OpenSource) 개발자와 사용자들이 한 자리에 모여 함께 프로그래밍을 비롯한 소프트웨어 개발을 하거나 번역, 토론 등의 관련 작업을 진행하기도 하는 즐거운 오프라인 F/OSS 행사입니다. 2004년 7월에 시작해 대략 5개월에 한 번 꼴로 꾸준히 열리고 있습니다.
    http://wiki.kldp.org/wiki.php/CodeFest [본문으로]
 Linux System이 영역을 넓혀가는데 큰 역할을 한 LAMP 아키텍쳐에 대한 문서입니다.
Open source 운영체제인 Linux, Apache 웹 서버, MySQL, PHP를 조합해 웹 서비스를 제공하는 LAMP 아키텍쳐는 저렴한 비용으로 웹 서비스를 제공하게 해주는 가장 대중적인 조합이 되었죠.



원문 : LAMP 시스템 조율, Part 1: LAMP 아키텍처 이해 (한글)

아래는 "LAMP 시스템 조율, Part 1"의 서문을 발췌한 내용입니다.


LAMP(Linux®, Apache, MySQL, PHP/Perl) 아키텍처를 활용하는 응용 프로그램은 끊임없이 개발되고 배포되고 있습니다. 하지만 때로 다른 사람이 작성했다는 이유만으로 응용 프로그램 자체에 대한 통제권이 서버 관리자에게는 없습니다. 기사 셋으로 이뤄진 이번 연재물은 응용 프로그램 성능을 향상시킬 서버 환경 설정 항목을 다룹니다. 첫 번째 기사는 LAMP 아키텍처, 성능 기법, 기본적인 리눅스 커널, 디스크, 파일 시스템 미조정을 다룹니다. 이어지는 기사에서는 아파치, MySQL, PHP 컴포넌트를 조율하는 방법을 다룹니다.

리눅스, 아파치, MySQL, PHP(또는 펄)은 일정 목록부터 블로그와 전자 상거래 사이트에 이르기까지 많은 웹 응용 프로그램의 토대가 된다. 워드프레스와 플리그(Pligg)는 강력한 고성능 웹 사이트를 유지하는 공통 소프트웨어 패키지다. 이런 아키텍처는 LAMP라고 알려졌다. 거의 모든 리눅스 배포판에는 리눅스, 아파치, MySQL, PHP와 펄이 포함되어 있으므로 LAMP 소프트웨어 설치는 식은 죽먹기다.

설치가 쉽기 때문에 소프트웨어 실행까지 쉬워보일지도 모르겠지만, 이는 사실이 아니다. 궁극적으로 응용 프로그램 부하는 백엔드 서버에 포함된 설정값을 무력화하며, 결국 응용 프로그램 성능 저하가 일어난다. LAMP 설치는 지속적인 감시와 조율과 평가를 요구한다.

시스템을 조율하는 작업은 사람마다 의미가 달라진다. 이번 연재에서는 리눅스, 아파치, MySQL, PHP라는 LAMP 컴포넌트 조율에 초점을 맞춘다. 응용 프로그램 자체 조율은 또 다른 복잡한 문제다. 응용 프로그램과 백엔드 서버 사이에는 공생 관계가 있다. 잘못 조율된 서버는 최상의 응용 프로그램조차도 부하가 걸릴 경우 실패하도록 만들며, 잘못된 응용 프로그램을 앞에 놓고 서버 조율을 해봤자 굼벵이를 달팽이로 만들 뿐이다. 다행스럽게도 적절한 시스템 조율과 감시는 응용 프로그램에 존재하는 문제점을 찾아내준다.





 오랫만에 IBM DW에 올라온 글을 소개하려합니다. ^^
이번엔 리눅스 커널에 관한 내용을 소개한 글입니다. "리눅스 커널 해부"라는 제목의 한글로 번역된 팀 존슨(Emulex corp.)의 글입니다.

600만 행이 넘는다는 리눅스 커널을 하나의 문서에서 다 분석한다는 것은 무리가 있죠. ^^  이 문서도 커널을 한방에 끝장낼 수 있는 내용이 나오는건 아닙니다.
한번 읽어보고, 저자가 소개한 참고 문서들도 읽어보면 어느정도 윤곽이 잡힐것 같네요. 음...
근데, 늘상 느끼는 문제이지만 부족한 영어 실력이 원망스럽습니다.

원문 : 리눅스 커널 해부 (한글)

리눅스(Linux®) 커널은 거대하고 복잡한 운영체제의 핵심이며, 커다란 몸집에도 불구하고 하위 시스템과 계층 구조를 사용해서 조직화되어 있습니다. 이 기사에서는 리눅스 커널의 일반적인 구조를 살펴보고 주요 하위 시스템과 핵심 인터페이스를 파악합니다. 좀더 깊이 파고 들고 싶다면 다른 IBM 기사를 읽어보세요.

이 기사의 목표는 리눅스 커널을 소개하고 아키텍처와 주요 컴포넌트를 살펴보는 데 있다. 우선 리눅스 커널 역사부터 간략하게 짚어보기 시작해 다음으로 3만 피트 상공에서 리눅스 커널 아키텍처를 살펴보고, 마지막으로 주요 하위 시스템을 검토하겠다. 리눅스 커널은 코드가 600만 행이 넘으므로 소개글을 너무 장황하지 않게 줄였다. 좀더 깊이 파고 들고 싶다면 참고자료를 살펴보자.


IT 서적 번역가이며, 최근에 [열씨미와 게을러의 리눅스 개발 노하우 탐험기]라는 책을 낸 박재호[각주:1]님의 글을 소개하려합니다. DeveloperWorks의 [개발자 책꼿이]란에 올라온 유닉스 프로그래밍 서적을 소개하는 글입니다.
 "The Unix Programming Environment"와 "Software Tools in Pascal"이라는 두 권의 원서와 "프로그래밍 수련법(The practice of programming)"(인사이트 2008년 출간)이라는 번역서 한권을 소개하고 있는데, 살짝 동떨어져 보이는 제목으로 인해서 당황할 수 도 있겠지만 글쓴이의 소개글을 자세히 보면 왜 이 책을 소개하고 있는지 알 수 있습니다.

프로그래밍 수련법 상세보기
브라이언 W. 커니핸 지음 | 인사이트 펴냄
프로그래머들은 설계, 디버깅, 테스트, 성능 개선, 소프트웨어 유지보수에 대한 트레이드오프(tradeoff)를 다뤄야만 한다. 이와 함께 소프트웨어의 명세를 유지하면서도 호환성, 견고성, 안정성 같은 문제들을 고려해야 한다. 이 책에는 이러한 문제들과 그보다 더 많은 내용까지도 다루고 있다. C, C++, 자바 외에도 다양한 언어로 작성된 실전 예제와 현실적인 충고들이 가득하다. 프로그래밍의 고전인 『The Unix Programming

Software TOOLS IN PASCAL 상세보기
Kernighan,B.W. 지음 | Addison-Wesley 펴냄



원문 : 개발자 책꼿이 고전 탐험 2탄 : 유닉스 프로그래밍 서적


==================================================================
 이번에 추가한 책 정보 넣기 플러그인으로 책 정보도 넣으려고 했는데, 회사에서 하니까 안되네요. 방화벽에서 막나봅니다. ㅡ.ㅡ 집에서 추가합니다.
  1. 박재호님은 블로그 '컴퓨터 vs. 책'과 '프로젝트 관리' 를 운영하고 있으며, "조엘 온 소프트웨어"를 비롯한 IT 전문서적 번역가로 활동 중입니다. [본문으로]

  MS가 OOXML 명세를 표준안으로 제안한 뒤로 많은 논란이 있었습니다. 정치적, 기술적 이유를 들어서 찬반이 갈려있지만, 직업이 직업인지라 기술적인 이유가 먼저 눈에 들어옵니다.

 MS만이 구현 가능한 표준이기에 우리는 OOXML을 거부해야한다는 아주 간단한 말이외에 어떤 말이 필요할지 모르겠습니다.
 이번에 IBM의 DeveloperWorks에 올라온 글 중에서 OOXML에 대한 글이 있어서 소개하려합니다.

원문 : OOXML: 뭐가 그리 대단한가? (한글)

OOXML 명세를 놓고 상당한 비평과 찬사가 동시에 쏟아졌습니다. 덕택에 많은 사람이 무슨 영문인지 의아해 하고 있습니다. 이 기사는 (정치적인 입장이 아니라) 기술적인 측면에서 OOXML을 표준으로 취급해서 안 되는 이유를 밝힙니다.


 그리고 OOXML안의 철저한 검증을 요구하는 서명 운동을 하고 있습니다. 한번 가셔서 글도 읽어보시고, 동의하시면 서명 운동에도 참가해주세요.
서명하러가기

Office Open XML(OOXML)의 ISO 최종 투표에 즈음하여

한국 대표단에게 보내는 글

본 서명은 Microsoft가 제안하여 ECMA 376 표준이 된 Office Open XML(OOXML)ISO JTC-1 최종 투표를 앞두고 한국 대표단이 OOXML의 보완 사항을 신중히 검토하여 투표해 줄 것을 촉구 합니다.

앞서 2007년 9월 ISO JTC-1 위원회 1차 투표 시 아래와 같은 이유로 한국 대표단에게 1,000여명의 서명을 받아 OOXML 표준안에 대해 반대 투표를 해 줄 것을 촉구한 바 있습니다.

  • OOXML안은 대체할만한 다른 표준안이 존재 한다.
  • OOXML안은 불완전 하며 플랫폼 종속적이다.
  • OOXML안은 모호한 특허 문제 때문에 제 3자 구현이 제한된다.
  • OOXML안은 국내 다양한 S/W 개발 환경을 제한할 것이다.

이에 한국 대표단은 1차 투표에 반대표를 행사하면서 총 23가지의 수정 요청 사항을 제출 하였으며, 이제 마지막 투표를 앞두고 있습니다. 이에 아래 서명을 한 한국 소프트웨어 개발자 일동은 아래의 사항에 동의 합니다.

1. 한국 대표단이 제기한 수정 요청 사항에 동의 한다.

한국 대표단의 수정 요구 사항을 요약 하면 크게 아래 4가지 사항과 같습니다.

  1. OOXML 표준안이 기존 ODF와 플러그인이 아니라 표준 스펙 그 자체로 호환성을 유지하도록 수정해야 한다.
  2. OOXML 표준안의 IE 기반 기술 규격이 리눅스나 Firefox, Safari, Opera 등의 브라우저도 지원 해야 한다.
  3. OOXML 표준안 중 12개의 MS Office 레거시 스펙을 좀 더 자세하게 설명해야 한다.
  4. OOXML 표준안 중 VML 및 DrawingML 등 기존 표준이 있는 부분을 삭제해야 한다.

2. 한국 대표단의 신중한 기술적 검토를 요청 한다.

한국 대표단이 1차 투표 이후 수정 보완된 OOXML 표준안이 당시 요청한 수정 요청 사항과 부합 하는 지 정확하게 검토해 주실 것을 요청 드립니다.

  1. OOXML 표준안에 대한 기술적 검토가 충분히 이루어 지길 기대한다.
  2. OOXML 표준안에 대한 수정 요청 사항이 충분히 받아들여졌는지 검토해주길 기대한다.
  3. OOXML 표준안에 대한 수정 요청 사항이 100% 받아들여지지 않았을 경우 최종 투표에서도 반대 투표를 해주길 촉구한다.

+ Recent posts