문득 생각난 C++ 모델링 단계.

1단계. C Wrapping.
C로 된 API들은 대부분 Struct + Function이다. 이들을 Class를 이용해 하나로 묶어주는 것.

2단계. Logic.
1단계에서 기본적인 Object들이 나왔다면, 이들을 유기적으로 사용할 수 있는 Class들을 만드는 것.

3단계. Error Preventing.
구조상 나올 수 있는 에러들을 설계상에서 미리 막아버리는 것.


ACE에 대해 잠깐 생각하다 쉭하고 지나간 내용.
지금까지는 1+2단계 정도에서 그쳤던 것이 사실인데…

3단계까지 항상 고려하며 코드를 설계/작성해야겠다.

XP의 원칙에 따라 작업을 하게 되더라도 말이지…

리눅스 전환 고려중.

집에 쓰는 데스크탑 이야기인데.

윈도를 버리지 못하는 이유가 음악/게임이었는데…
이 두 아킬레스건중 음악이 해결될 수 있을듯.

ALSA에서 본인이 쓰는 Prodigy 7.1을 지원하기 시작!!! +_+
JACK으로 low-latency 레코딩 해결!
오디오 시퀀서는 ardour로 해결!

이펙터들은 VST 에뮬레이터나 JACK 플러그인으로 해결하면 될듯 하고…

이러면 Full GPLed Music Workstation이 탄생할 수 있다는..

function __toggle_hide_zone22()
{
elm = document.getElementById(“hide_zone22”);
if(elm.style.visibility == ‘visible’) __hide_hide_zone22();
else __show_hide_zone22();
}
function __show_hide_zone22()
{
elm = document.getElementById(“hide_zone22″);
elm.style.visibility=’visible’;
elm.style.display=”block”;
}
function __hide_hide_zone22()
{
elm = document.getElementById(“hide_zone22″);
elm.style.visibility=’hidden’;
elm.style.display=”none”;
}


그러나…

문제는 공CD가 다 떨어졌다는 거다.. 하드에 있는 애니들은 어쩌란 말이냐!!!

오픈소스. 유지비용의 감소. (사용자편)

오픈소스. 유지비용의 감소. (기업편)

오픈소스. 유지비용의 감소. (사용자편)

오픈소스. 유지비용의 감소. (사회편1)

오픈소스. 유지비용의 감소. (사회편2 – 결론)

3. 사용자 입장의 유지비용
(능동적인 컴퓨터 사용 – 개발 프로세스와 개발 주기.)

이번 장에서는 상용 소프트웨어와 오픈소스 소프트웨어간의 개발 프로세스/개발 주기 차이와
사용자의 개입/참여/기여의 여부를 통해 유지비용의 차이를 보이려 한다. 더 깊은 내용을 원하시는 분에겐 에릭 레이먼드의 "성당과
시장"을 추천한다.


(1) 보안에 대한 대처

MS Windows를 써본 사람은 OS가 가진 버그에 의해 등장하는 많은 폐단들을 알 것이다. 인터넷이 일반화 되면서 전국의
인터넷을 마비시킬만한 트래픽을 만들어내는 웜이 등장하는가 하면, 압도적인 스케일의 쓰레기 메일을 양산하는 웜이나 심지어는 내가
원하지 않은 ActiveX 플러그인들이 컴퓨터에 설치되는 현상까지.

이러한 문제점들을 수정하기 위해서는 MS가 해결책을 내놓을때 까지 기다려야 한다. 백신같은 소프트웨어를 이용해서 임시방편으로
막을수는 있지만, 결국은 OS에서 해당 문제를 수정해야 한다. 사용자는 OS를 수정할 권한이 없으며, 따라서 MS측에서 문제를 해결해줄때까지 기다리는 수밖에는 없다.

다른 예로 많은사람들이 사용하는 M사의 F플러그인을 생각해보자. 일반적으로 이 플러그인은 사용자의 시스템에 별 영향을 미치지
않는 것으로 알려져왔다. 하지만, 만약 치명적인 버그가 발견되어 이 플러그인을 사용하는 사용자 시스템의 정보를 외부인이 마구
가져갈 수 있게되거나, 시스템을 파괴할 수 있게 된다면, 이 역시 M사에서 수정할때까지 기다릴 수 밖에 없을 것이다.

이러한 류의 보안 문제/버그는 보안 전문가 그룹, 혹은 보안 관련 업체에서 운영하는 연구소에서 사전에 발견하는 경우가
대부분이다. 해당 소프트웨어가 이런 문제에 대처하는데는 개발자가 이해하고 대처하는 시간이 소모된다. 이러한 점에서 볼 때, 상용
소프트웨어는 소프트웨어 개발 주기가 상당히 긴 편이며, 각 릴리즈의 텀 역시 길다. 오픈소스 소프트웨어의 경우는 빠른 릴리즈와
빠른 패치를 기준으로 하고 있다. 이러한 차이로 오픈소스 소프트웨어는 이런 종류의 문제에 있어서 좀 더 빠른 대치가 가능하다고
할 수 있다.

또한, 개발자가 놓칠 수 있는 보안 이슈나 버그등을 사용자가 찾아내서 제안할 수 있는 것은 당연히 가능한 일이다. – 물론, 보안 이슈같은 경우는 제안할 수 있는 사용자가 소수이긴 하지만. –

마냥 기다리며, 편법으로 피해를 막기위해 최선을 다하는 수동적인 자세에 의한 유지비용보다는, 해결방안을 능동적으로 찾아내고 근본적인 문제점을 해결하는 정공법의 능동적인 자세에 의한 유지비용이 유리할 것이다.

이러한 보안문제/버그 이외에도 사용성이나 UI설계같은 측면에서도 같은 형태의 적용이 가능하다.


(2) UI-사용성 측면

사용자가 특정 소프트웨어를 사용하다 불편한 점(주로 UI)가 발견되었을 경우, 상용소프트웨어는 자신의 불편함을 해당
업체(개발자)에게 피드백 주는 것이 상당히 힘들다. 불법 소프트웨어를 사용한다는 점도 있지만, 대부분의 사용자는 무언가 작동되지
않을 때 레포트를 하지 뭔가 불편할 때 레포트를 하지는 않는다. 그냥 주어진 대로 사용하는 것이다. 이는 해당 상용 소프트웨어의
개발자와 커뮤니케이션 채널이 거의 없다는 점이 크게 작용하며, 어떤 참여의식이 없기 때문이다.

하지만, 오픈소스 소프트웨어의 경우에는 상용 소프트웨어에 비해 개발자와의 커뮤니케이션 장벽이 낮은 편이다. 대부분의 프로젝트들은
IRC나 포럼 혹은 위키같은 사용자가 의견을 개진할 수 있는 채널을 열어두고 있기 때문이다. 이러한 채널을 통해 사용자는 해당
소프트웨어에 대해 참여의식을 가질 수 있으며, 뭔가 기여를 할 수 있게 된다.

물론, UI나 사용성의 경우에는 많은 비용을 들인 전문적인 연구가 필요하다. 이는 상용 소프트웨어에서만 가능한 것이 아니다.
2장에서 말했던, 기업이 오픈소스 프로젝트에 참여하고 이를 유지하는 과정에서 기업의 투자가 이쪽으로 적용될 수 도 있는 것이며,
기업 연구소의 연구인력이 이쪽으로 투입될 수 도 있는 것이다. 하지만 가장 중요한 것은 "사용자가 원하는 UI가 가장 편한
UI" 라는 점이다. 아무리 GUI가 발전해도 에디터는 vim이나 emacs가 제일 편하다고 여기는 해커레벨 사용자가 있는
것처럼.


(3) 기능 추가의 용이성.

상용 소프트웨어는 기능을 추가하는데 있어서 필요한 제반 사항이 인색한 편이다. 기능을 추가하는데 필요한 지식이 기업 비밀에
속하는 경우도 있으며, 기법이나 지식이 해당 회사에만 전승되는 경우도 있기 때문이다. 이러한 이유로 사용자가 기능을 추가하는데
어려움이 있다. 또한, (2) UI-사용성 측면에서 설명한 바와 같이 개발 프로세스에 사용자가 참여하는 것도 어려운 데서
기인하는 바도 크다.

오픈소스 소프트웨어는 대부분 소수의 개발자에서 출발하며, 이 경우 초기 개발자는 동료 개발자를 구하기 위해서라도 기능추가의
용이성이나 확장을 고려하게 된다. 초기의 구조/설계/코드가 이러한 상황에 적합하지 않더라도 결국은 이를 향해 진행되게 된다.
아파치의 경우를 볼 때, 초기에는 모듈 추가가 힘들었지만, DSO와 같은 동적 모듈 추가기법등이 등장하면서, 기능 추가가 쉽게
된 경우라고 할 수 있으며, PHP역시 유사한 케이스로 볼 수 있다.

에릭 레이먼드가 내놓았던 개념인 '성당'에서 개발되는 상용 소프트웨어보다 '시장'에서 개발되는 오픈소스 소프트웨어가 이런 면에서
강점을 갖는 것은 어쩌면 당연한 것일지도 모른다. 오픈소스 소프트웨어 역시 처음부터 '시장'인 것은 아니지만, 공개와 함께
'시장'에 나오는 것으로 볼 수 있다. 필자가 이 글을 쓰고 있고, 개발중인 오픈소스 소프트웨어인 PlayAction2 역시
현재는 '성당'에 있으며 곧 '시장'으로 나갈 예정이다. (사실 이 글을 읽는 분이 원하시면 바로 '시장'이 됩니다.
kldp.net에서 소스를 받아보고 의견을 주시면 되는거죠. ^^)

사용자의 개발 프로세스에 대한 참여와 빠른 개발주기는 오픈소스의 최대 장점이며, 사용자가 유지비용을 줄일 수 있는 길이다.
물론, 이러한 참여/기여가 사용자의 유지비용을 늘리는 것처럼 보일 수 있겠지만, 이러한 참여/기여를 통해 사용자 자신이 좀 더
자신이 원하는 방향의 소프트웨어를 사용할 수 있다는 점은 장기적으로 유지비용을 줄여준다고 볼 수 있다.

사용자의 참여/기여는 능동적인 컴퓨터 사용을 이끌어 낼 수 있으며, 오픈소스 소프트웨어가 상용 소프트웨어로 변질되는 것을 막는 좋은 방법이기도 하다.

– 원래는 여기서 결론을 내려고 했지만, 사회 전체로 볼 필요도 있을 것 같고 결론이 생각보다 길어질 것 같아 다음 편으로 미루렵니다. ^^ –

한국MS. 오픈소스에 대한 공식 입장 표명.

ZDNet에서 퍼옴

* 일단 감상.
결국은 "오픈소스는 돈이 안되니까 하지마셈." 이 얘기를 하고 싶은게냐? 킁.
아무리 그렇게 이야기 해도… 윈도가 짜증나는 건 사실이고.
공개된 버그에 대해서 패치를 몇달간 기다려야 되는건 스트레스다.

오픈소스 소프트웨어 때문에 XX대란이 난 적은 없지만, MS제품때메 XX대란은 꽤 많았잖아?

fast release. fast patch. (물론 다 그렇다는건 아니고.)
가 유리하지.

"오픈소스 소프트웨어가 기술적으로 기존 상용 소프트웨어 비해 모든 면에서 우수하다고 주장하는 것은 전형적인
과대광고입니다."

간만에 옳은말 한다.  당연하지. 모든 면에서 우수할 수는 없잖아? 사람이 만든건데. 킁.

수출을 위해 수많은 상업용 소프트웨어를 개발한다라…
내가 있는 회사도 그런 축에 속하지만.. 오픈소스를 도입해서 사용할건 사용하는게 중요한거 같은데?

왜 완제품만 생각하는 건지…

쩝.

리눅스를 사용한 XXX가 윈도우를 사용한 XXX가 되길 바라는거지? 그렇지? -_-;

그리고..

IT 원천기술이 모자란 한국으로서는 기술 습득을 위해서라도 오픈소스 지원을 해야될거다. 응?

주저리 주저리.. 스팀받아서 그런지 정신없는. -_-;


function __toggle_hide_zone29()
{
elm = document.getElementById(“hide_zone29”);
if(elm.style.visibility == ‘visible’) __hide_hide_zone29();
else __show_hide_zone29();
}
function __show_hide_zone29()
{
elm = document.getElementById(“hide_zone29″);
elm.style.visibility=’visible’;
elm.style.display=”block”;
}
function __hide_hide_zone29()
{
elm = document.getElementById(“hide_zone29″);
elm.style.visibility=’hidden’;
elm.style.display=”none”;
}


오픈소스 소프트웨어 논쟁에 대한 입장 from MS at ZDNet – 주의. 스크롤압박

오픈소스 소프트웨어 논쟁에 대한 입장

한국마이크로소프트, 2004년 10월

* 부탁말씀

"Open-source software"를 "공개 소프트웨어"라고 번역하는 것은 잘못된 것이며 원래의 의미를 훼손하지
않기 위해 "오픈소스" 혹은 "공개소스" 소프트웨어라고 하는 것이 바람직합니다. 오픈이라는 단어의 의미가 매우 뜻이 광범위하고
모호하기에 이를 한계 규정하는 "소스" 라는 단어를 제거할 경우 그 의미는 달라지며, 우리나라에 지금의 오픈소스 소프트웨어와
관련한 혼선이 오게 된 배경도 이와 무관하지 않다고 보기 때문입니다.

정부 기관의 오픈소스 소프트웨어 육성정책과 관련한 한국마이크로소프트의 입장은?

정부 기관이나 업계가 이야기하는 우리나라의 오픈소스 지원 정책 목표는 분명 기술 향상 그 자체에만 있는 것이 아니라 해외
시장으로의 수출을 포함한 연관 산업의 발전을 포함할 것입니다. 일부 오픈소스 지지자는 "자유"를 더 큰 목적으로 주장하기도
하지만 정책적인 면에서는 일부 지지자들이 이야기하는 그러한 자유가 목적은 아닐 것으로 판단합니다. 즉, 우리나라 IT 산업의
발전을 빼 놓고는 오픈소스 육성의 목표를 논할 수 없을 것이라는 이야기입니다. 하지만 이는 출발부터 다소 잘못된 것이라고 하지
않을 수 없겠습니다. 오픈소스를 소프트웨어 산업 발전의 모델로 생각하는 것은 마치 감기 환자에게 소화제를 제공하려는 것이 아닌가
싶을 정도로, 문제의 인식과 처방이 기본적으로 어긋난 정책으로 보입니다. 그 이유를 먼저 제시해 보도록 하겠습니다.

오픈소스 기반의 산업 모델은 크게 배포판 제공, 상용 소프트웨어 추가, 서비스 판매 등으로 요약됩니다. 소스가 공개된
제품들을 패키징 하고 배포, 관리하는 배포판 제공 산업은 언뜻 보면 진입 장벽이 매우 낮아 보이지만 실상은 업체의 인지도에 의해
성공 여부가 전적으로 좌우됩니다. 레드햇이나 노벨/수세와 같은 외국 리눅스 업체가 세계 오픈소스 배포판 시장을 사실상으로 거의
석권하고 있는 이유는 바로 이러한 높은 인지도입니다. 국내의 상황 역시 마찬가지입니다. 그러므로 이 모델은 기존의 소프트웨어
시장보다도 오히려 진입 장벽이 훨씬 높은 모델이라 할 수 있습니다.

오픈소스 소프트웨어를 위한 상용 소프트웨어 추가 모델은 더 큰 함정이 있습니다. 가령 A, B사가 기술적으로 서로
경쟁하는 상용 소프트웨어 회사라고 가정할 때, 오픈소스 배포판 업체 Z사가 A사의 제품을 인수하여 자사 배포판의 일부로 소스를
공개한다면 B사의 운명은 어떻게 되겠습니까? 이 경우 A사와 같은 인수되는 행운(?)을 맛볼 수 있는 회사는 극소수이며, B와
같은 입장의 회사가 도태하는 것은 자명합니다. 놀랍게도 이러한 일은 비일비재하게 일어나고 있습니다. 기존 상용 소프트웨어
시장에서도 이와 유사한 현상이 있었는데 오픈소스 시장에서는 그 정도가 더욱 심화된 것입니다.

서비스를 판매하는 것도 오픈소스에만 적용되는 모델이 아니라 소프트웨어 산업의 일반적 모델입니다. 이 모델은 충분한
기술력을 갖춘 다수의 컨설턴트, 아키텍트, 개발자를 보유한 업체만 실제로 성공할 수 있습니다. 그러나 서비스는 라이선스나 제품
판매에 비해 시장의 규모 변화에 탄력적으로 대응하기 어려우므로 규모의 경제를 달성한 극소수의 업체만 시장에 생존할 수 있습니다.
즉, 소규모의 국내 리눅스 전문 기업이 특별한 자금의 지원이 없이는 유지가 힘들게 되며, 자금의 지원이 있다고 해도 그 이상의
발전을 이룩하기는 어렵다는 것입니다. 이는 현재 국내 리눅스 업계가 처한 현실이 입증하고 있습니다.

이상을 종합해 보면 오픈소스만이 소프트웨어 산업 발전의 유일한 희망이라는 생각은 근거가 매우 희박하며, 오히려 기업 환경이 기존 상업용 소프트웨어 시장보다 더욱 척박함을 알 수 있습니다.

오픈소스 소프트웨어를 산업 발전보다는 기술 발전의 기회로 활용하는 것은 일견 의미가 있어 보입니다. 그러나 이 역시
소프트웨어 기술을 이미 알려진 이론을 코드로 표현하는 과정(코딩)에 국한한 견해일 뿐이며, 새로운 아키텍처, 알고리즘,
자료구조를 위한 기술을 개발하고 이를 지적재산으로 확보하는 수단은 될 수 없습니다. 또한 모두 공개된 코드를 활용한다는 것이
커뮤니티나 기업적인 규모에서 이루어지는 것이 아니라 국가적 차원에서 적극 나서야 하는 최선의 방법인지 의문스럽습니다.

여러 사람들이 최근 한국의 소프트웨어 산업이 붕괴 직전이라고 이야기합니다. 이에 전적으로 동의하지는 않는다고 해도,
이러한 지적이 나오게 된 것은 소프트웨어에 대한 근본적인 이해 부족에서 기인한 것입니다. 즉 제조업 중심으로 커 오던 우리에게
소프트웨어라는 것은 하드웨어와는 달리 무형 재산이라는 이유로 가치를 무시하는 경우가 빈번하고, 최저가 입찰로 인하여 개발
업체들에게 돌아가는 보상이 극히 미미하며, 개발 업체들 또한 다른 산업과의 기술적 차이를 이해하지 못하여 혹독한 노동에만
의존하는 관행을 반복하고 있는 것 등이 대표적 이유입니다.

오픈소스는 이러한 문제들의 해결책이 되기보다는 소프트웨어의 가치와 개발 보상에 관한 문제를 오히려 악화시키는 경향이
있습니다. 그러므로 오픈소스라는 희망이 모든 문제를 한꺼번에 해결해 줄 것이라고 무턱대고 믿기보다는 보다 신중하고 철저한 검증이
선행되어야 할 것입니다. 이에 추가하여 정부는 국내 IT 산업 육성에 대한 열정을 상업용 소프트웨어 육성이라는 대안 쪽으로도
일부 할애하는 방안 또한 검토할 수 있다고 생각합니다. 수많은 개발자들이 지적재산권을 인정해 주는 상업용 소프트웨어의 개발과
국내 공급 그리고 해외 시장 수출을 위해 노력하고 있는데, 정작 산업의 발전과 관계가 깊은 이 분야에 대한 정부의 지원은
오픈소스 소프트웨어에 비교하면 상대적으로 눈에 띄지 않는 형편인 것 같습니다.

미국에서도 오픈소스 소프트웨어 이용을 권장하고 있다. 유럽을 비롯한 동남아 각국도 도입 움직임이 활발한데, 마이크로소프트가 오픈소스 소프트웨어 활성화에 우려를 표하는 이유?

"미국에서도 오픈소스 이용을 권장하고 있다"는 표현은 성급한 일반화의 오류입니다. 미국이든 유럽이든 또는 우리나라든 특정
신념과 견해를 주장하고 이를 관철시키기 위해 헌신하는 사람이 있게 마련이며, 오픈소스도 이에 크게 다르지 않습니다. 문제는
오픈소스 진영이 관철하고자 하는 일부 견해는 너무나 급진적이어서 자신의 신념과 다른 법률적 보호와 도덕적 관행에 의존하는 기존
소프트웨어 업계를 죄악시하고, 그들을 와해시키기 위해 이념적, 정치적 활동을 강화하고 있다는 점입니다. 심지어 오픈소스의 장점에
일부 의존하여 다른 이익을 취하려는 사람들도 자신도 모르는 사이에 결국은 급진적 이념의 희생자가 되기 쉽습니다.

오픈소스가 기존 소프트웨어 산업모델의 보완적 기능으로 동작하고 그 기능이 필요한 사람들에게 또 하나의 선택적 요소로
작용한다면 저희 회사에서 우려를 표현할 이유가 전혀 없을 것입니다. 그러나 오픈소스의 배경이 되는 이념은 건널 수 없는 다리와
같은 것이어서 정책을 명분 삼아 배타적으로 오픈소스만을 선택할 경우 나중에 여러 문제에 직면하더라도 원래의 상태로 돌이키는 것이
사실상 불가능합니다. 그러므로 정책적으로 오픈소스만을 권장하거나 육성하는 것은 특정 종교를 국교화하는 것만큼이나 심각한 고려가
있어야 하는 것입니다.

즉, 각국 정부가 자국의 경제 발전과 정보화 촉진을 위해서 소프트웨어 산업 발전을 위한 다양한 정책을 시행하는 것은
지극히 당연한 일이며, 그 중의 하나가 오픈소스 소프트웨어일 수 있겠지만, 정책 입안자 및 시행자들에게 요구되는 것의 하나는
오픈소스 소프트웨어의 장단점을 정확히 인지하고 그 인지하는 사실을 업계에 알리는 노력이 필요하다는 것입니다. 그렇지 않을
경우에는 관련 업계나 사용자들이 혼란에 빠질 수도 있으며 특히 소프트웨어 산업을 국가 핵심 동력의 하나로 성장시키겠다고 하는
노력은 공허한 구호로 끝날 수도 있기 때문입니다. 오픈소스 소프트웨어 운동과 관련되어서도 학계나 소프트웨어 산업에 종사하는
전문가 그룹 내에서 많은 반대의 의견이 존재 합니다. 마이크로소프트는 오픈소스 소프트웨어의 존재 자체를 우려하는 것이 아니라
오픈소스 진영의 일부 급진적이고 과격한 견해가 각국 정부의 잘못된 판단에 의하여 국가 정책에 반영될 경우 또 다른 심각한 문제를
야기할 수도 있다는 우려를 제기하는 여러 전문가들의 견해와 같은 입장이라고 말씀드릴 수 있습니다

한국을 비롯한 세계 각국의 오픈소스 운동에 마이크로소프트는 어떻게 대응하고 있나?

앞에서 언급했듯이, 저희 회사는 오픈소스 소프트웨어 자체를 반대하지 않습니다. 학문적 발전과 커뮤니티를 통한 새로운 시도
측면에서 나름대로 기여하는 바가 있다고 판단하기 때문입니다. 아울러 저희 회사는 소프트웨어 개발 방식과는 상관없이 이용자가
스스로 장단점을 판단하여 자신의 수요에 맞는 소프트웨어를 선택할 수 있는 환경이 합리적이고 바람직한 시장 환경이라고 생각하고
있습니다. 시장에서의 경쟁은 사업자로 하여금 더 좋은 품질의 제품과 서비스를 제공하도록 함으로써 결국 이용자 이익을 확대할
것입니다. 경쟁은 공정하여야 하며, 이를 위해서는 소비자가 제품이나 서비스에 대해 사실에 기초한 정보에 접근할 수 있어야
합니다. 저희 회사는 오픈소스 진영의 주장에 대해 사실에 기초한 정보를 제공함으로써 이용자의 판단을 돕기 위해 노력하고
있습니다. 한편 각 국 정부의 소프트웨어 산업 진흥을 위한 노력과 관련하여 오픈소스 소프트웨어와 상용 소프트웨어의 장단점에
관하여 사실에 근거한 정보를 제공함으로써 정책 수립에 기여하고자 노력하고 있습니다. 이를 통해 저희 회사는 정부 정책에 협력하고
지원할 수 있기를 희망합니다. 정부 정책 협력의 일환으로 저희 회사는 윈도우를 비롯해서 최근엔 오피스까지도 각국의 정부들이
희망할 경우 저희의 소스 코드를 공유하고 있습니다.

오픈소스 소프트웨어 육성정책의 배경에는 전세계적인 소프트웨어 독점화에 대한 견제가 자리잡고 있다. 정부에서는 적정
수준의 공정 경쟁을 유지하기 위해선 정부 차원의 지원이 필요하다고 주장하는데. 이와 관련된 한국마이크로소프트의 입장은?

마이크로소프트에 의한 데스크톱 운영체제의 사실상 석권은 "독점"이라는 표현보다는 "네트워크 효과"라는 표현이 더
적합합니다. 일반적인 상품과는 달리 소프트웨어는 시장에 조기 진입하고 사용자가 쉽게 익숙해지는 제품이 그 시장 전체를 장악하는
현상이 두드러지게 나타납니다. 네트워크 효과는 사실상의 업계 표준을 제공하여 호환성을 쉽게 얻을 수 있는 장점 때문에 여러
부작용에도 불구하고 긍정적 측면을 적극 활용하는 것이 추세입니다. 같은 분야는 아니지만 비디오 레코딩 형식에서 VHS와
Betamax의 경쟁도 이와 유사한 경우입니다. 기술적으로 어느 쪽이 더 우위인가에 관계없이 VHS가 네트워크 효과에서
Betamax를 압도하여 결국은 절대 다수의 업계가 VHS를 채택하였으며, 이는 소비자에게도 여러 면에서 유리하였습니다.
소비자의 선택을 이유로 VHS를 억제하고 Betamax를 장려하는 것은 문제에 대한 올바른 인식이 아닐 것입니다. 저희 회사가
네트워크 효과에만 안주했더라면 윈도우 운영체제는 진작에 기술 개발을 중단하였을 것입니다. 그러나 어떤 측면에서 보더라도 오늘날의
윈도우 시스템은 과거의 시스템에 비해 사용자의 요구에 기술개발과 혁신으로 보답하고 있습니다.

한국소프트웨어산업협회의 2003년 한국 소프트웨어 수출현황 자료를 인용한 모 일간지 기사에 의하면 한국에서 수출한
소프트웨어 업체의 60.6%가 마이크로소프트 윈도우를 기반으로 하고 있습니다. 이는 마이크로소프트 윈도우가, 5.6%에 불과한
리눅스에 비해 10배가 넘는 기회의 장을 제공하고 있음을 증명하는 것입니다. 더구나 이 수치는 리눅스가, 7.5%를 점유하고
있는 유닉스에도 미치지 못하는 척박한 환경임을 나타내고 있습니다. 마이크로소프트는 기술과 다양한 제품군, 파트너 위주의 비즈니스
모델 등에 있어 소프트웨어 업계에 크게 유익한 존재임이 입증되었습니다. 기사에는 나오지 않았지만 총수출액으로 따지면 더욱 명확한
비교가 됩니다. 윈도우는 약 39%를 차지하고 있는 반면 유닉스는 약 7%, 리눅스는 약 1%에 지나지 않습니다. 나머지는
기타로 분류되어 있습니다.

"국산 소프트웨어 업계 명분보다 실리"라는 제목의 같은 매체의 2004년 9월 30일자 기사를 보면 국내 소프트웨어
업계는 작금의 여러 정치적 선동에 현혹되기 보다는 해외의 선진 기술을 도입하는 한편 다양한 형태의 협력과 제휴를 모색하고
있습니다. 이제 우물을 벗어나겠다는 업계의 의지가 그 어느 때 보다 사실적이며 강하다고 할 수 있겠습니다. 이렇게 기업들이 무한
경쟁에서 살아 남기 위해 깨어 달리고 있을 때 그들에게 더 큰 기회를 제공하기 위해서는 정부는 어떠한 시장을 대상으로 어떠한
투자를 할 것인가에 대한 균형 있는 정보의 제공자가 되어야 할 것입니다. 이미 우리 기업들이 세계 시장 진출의 발판으로 삼고
있는 윈도우 기반을 정책적으로 배제할 경우 상업용 소프트웨어 시장에서 세계적인 기업들과 치열하게 경쟁하고 있는 우리나라
소프트웨어 개발자들의 의지를 꺾는 결과로 연결될 수 있음을 간과해서는 안 될 것입니다.

한국의 오픈소스 소프트웨어 육성정책은 공공부문의 서버를 중심으로 이뤄지고 있다. 유닉스 진영에서 나서야 할 모양새인데, 마이크로소프트측이 나서서 우려를 표하는 까닭은?

정부의 오픈소스 정책에 대한 우려 표현은 특정 업체나 제품에 대한 견제이기보다는 소프트웨어 산업의 존립 기반이 되는
법률과 도덕 및 가치에 대한 도전에 직면한 기업들의 정당한 방어입니다. 우리나라 정부가 오픈소스를 육성하려는 취지 또한 특정
업체에게 유리하거나 불리한 조건을 인위적으로 조성하기 위한 것은 아니라고 믿습니다. 건전한 비즈니스 모델에 따라 합법적으로
노력하는 책임 있는 기업으로서, 합리적이지 않고 차별적일 수 있는 현상이 발생한다면 이를 재고하도록 적극 지적하고 대안을
제시하는 것이 당연한 의무일 것입니다.

마이크로소프트 본사에선 유럽과 아시아의 오픈소스 운동에 대해 어떻게 보고 있나?

오픈소스 운동은 국가마다 다양한 이유가 있겠습니다만 합리성이 지배하는 정책적 이슈이기 보다는 고도의 정치적 이슈로 변질될
가능성에 주의해야 합니다. 저희 회사는 업체들 간에는 특장점을 기준으로 경쟁하면서도 소비자들은 필요에 따라 상호운용이 가능한
소프트웨어를 자유롭게 선택할 수 있는 합리적 정책 수립에 도움을 드리고자 사실 확인을 위한 다양한 정보를 제공하고 있습니다.
"Get The Facts" 캠페인은 그 대표적인 사례입니다. 우리나라에서도 웹 사이트를 통해서 광고 캠페인을 통해서 그리고
2004년 3월에는 기자간담회를 통해서 이 활동을 펼쳐 왔습니다. 이는 정치적, 선동적 메시지를 그만두고 사실을 확인해 보자는
것이 핵심입니다. 예를 들어서 보안이나 가격이 가장 심각한 부분이었습니다. 리눅스가 지금 왜 이렇게 크게 일부 언론의 지지를
받고 일부 정부의 지원을 받고 있느냐를 잘 살펴 봐야 합니다. 마이크로소프트에만 보안의 문제가 있고, 리눅스에는 보안의 문제가
없는 것으로 이야기를 해왔기 때문입니다. 그리고 마이크로소프트의 윈도우는 비싸지만 리눅스는 공짜라고 이야기를 해 왔습니다.

하지만 사실은 어떻습니까? 마이크로소프트가 각 사이트에 게시된 보안 문제들을 점검한 결과 리눅스 진영의 보안 문제는 더욱
심각했으며 가격도 결코 공짜도 아니고 싸지도 않았습니다. 보안의 문제는 어느 소프트웨어에나 있으며, 이는 기본적으로 누군가
악의적인 목적을 갖고 해를 끼치기 위해 공격하기 때문에 발생하는 것이며, 오픈소스 소프트웨어라고 더 안전하다는 어떤 증거도
발견되지 않고 있습니다. 기능의 보안 척도는 흔히 CC(Common Criteria) 인증에 의존하는데 윈도우가 EAL4 등급을
획득한 반면 리눅스는 가장 높은 등급을 받은 배포판도 EAL2에 머무르고 있습니다. 또한 오픈소스 소프트웨어는 최저 기능을 가진
시스템의 초기 도입 비용만 저렴할 뿐 전형적인 엔터프라이즈가 요구하는 기능을 위한 총 소유 비용을 고려하면 오히려
마이크로소프트가 제공하는 시스템과 솔루션이 훨씬 저렴하다는 조사 결과가 여러 차례 보고된 바 있습니다.

마지막으로 부언할 내용은?

근래의 오픈소스 소프트웨어 운동은 초기의 이념적 성향에서 벗어나 여러 기업의 구체적인 비즈니스 모델화 하고 있습니다.
하드웨어를 위한 보조재로서 오픈소스를 활용하는 기업, 서비스라는 명분으로 사실상 저작권을 판매하는 기업, 사용설명서나 기술서적을
판매하는 기업 등 오픈소스 소프트웨어를 활용하는 다양한 형태의 비즈니스 모델이 있습니다. 각 모델은 그 모델을 추구하는 기업
입장에서 볼 때 지극히 타당한 것입니다.

그러나 가장 중요한 핵심이 빠져 있음을 간과하면 안됩니다. 이들은 어떤 목적으로 보더라도 소프트웨어 산업의 모델이
아닙니다! 혁신적 기술을 개발하고 이를 제품화하기 위하여 모든 노력을 아끼지 않은 최초 개발자에게는 어떤 인센티브도 보장되지
않는, 어떤 의미에서는 소프트웨어 산업 발전에 완전히 역행하는 모델일 뿐입니다. 소프트웨어 산업의 핵심을 개발자라고 할 때
이들의 노력이 지적재산권을 통해 인정받지 못한다면 이는 소프트웨어를 통해 IT 산업을 세계에 수출하는 주력 산업으로 키우고자
하는 우리나라 정부의 의도와도 맞지 않는 것입니다.

소프트웨어 산업은 지적재산권, 가치의 대중화, 규모의 경제에 기반을 두고 있습니다. 즉 최초 개발자의 인센티브를 특허,
저작권, 상표, 영업비밀 등으로 보장하고 시장 경쟁의 원리에 맡겨 저가격에 고품질의 개발품을 유도하며, 저가격의 불리함을
네트워크 효과에 의한 규모의 경제로 보상하는 산업 모델인 것입니다. 오픈소스 소프트웨어는 근원적으로 지적재산권을 무시하려는
시도입니다. 더구나 오픈소스 소프트웨어는 가치의 대중화가 아닌 가치의 제로(0)화에 목표를 두고 있습니다. 이러한 상황 하에서는
아무리 규모의 경제가 성립하더라도 실제 이익은 제로에 근접하므로 이를 산업이라 부를 수 있는지 의문이 듭니다.

또한 오픈소스 소프트웨어가 기술적으로 기존 상용 소프트웨어 비해 모든 면에서 우수하다고 주장하는 것은 전형적인
과대광고입니다. 2004년 5월 10일, 서울에서 열렸던 IT Opportunity Conference에 초대된
OSI(오픈소스를 전도하는 비영리 기관)의 데니스 쿠퍼는 그의 발표 자료에서 "오픈소스 성공의 조건"으로 긍정적 과대광고,
저렴한 초기 구입 비용, 소스의 검증 가능성, 벤더 중립성, 개발자 호감도 등을 들었습니다. 이는 오픈소스 운동이 사실 보다는
과대광고에 의존하고 있으며, 초기 구입 비용만 저렴할 뿐 총 소유 비용에서는 이득이 없거나 오히려 손해일 수 있음을 간접적으로
고백한 것에 다름 없다는 검토 의견입니다. 벤더 중립성은 일견 타당성이 있지만 전형적인 엔터프라이즈가 요구하는 모든 제품과
솔루션을 도입하려면 결국은 특정 벤더를 선호하게 되는 것이 타당하며 개발자 호감도는 고급 리눅스 개발자를 다수 확보한 기업에만
의미가 있을 것입니다.

우리나라 소프트웨어 산업의 발전이라는 공통의 과제 앞에서 오픈소스 소프트웨어와 상업용 소프트웨어 종사자의 구분은
무의미하다고 생각됩니다. 이상과 같은 구체적 반대 증거들을 정리한 것 또한 우리나라 소프트웨어 산업 발전을 바라는 마음에서
비롯된 것임을 헤아려 주시면 좋겠습니다. 오픈소스 소프트웨어가 지원하고 격려해 주어야 할 소프트웨어 개발 모델인 것과 같이,
우리나라 정보화에 기여하고 또 더 나아가 세계 시장에 수출을 하고 있는 상업용 소프트웨어도 마찬가지로 정부에서 보다 넓고 긴
시각으로 지원해 주실 것을 기대해 봅니다. 한국마이크로소프트는 앞으로도 우리나라의 정보화 발전과 소프트웨어 산업 발전을 위하여
더욱 노력해 나갈 것을 약속드립니다.

Ideas – TODO

Ideas – TODO

 

1. 엔진 개선안.

현재는 전체 골격만 잡혀있고, 분리가 전혀 효율적이지 못하다.

J2EE 서블릿 스펙 참고.

 

2. CSS 트리 정리.

혹시 있을지도 모르는 테마 개발자를 위한 CSS트리정리. (개발자 입장에서도 필요하다.)

 

3. Directory Link Manager

링크를 디렉토리 형태로 관리하는 페이지.

(야후를 생각하면 된다.)

 

4. 검색기능.

쌓이면 고려해 보자. -_-;

 

5. Import-Export

중간형태의 XML로 Export하고 이를 Import할 수 있는 기능.

다른 블로그의 데이터를 XML로 뽑아내고 이를 PlayAction2로 가져오거나, 백업용으로 사용.

 

6. Tag extension?

현재 사용하는 링크태그를 확장시켜서 Hide-Show 기능 등을 구현.

 

우선순위는 6 – 3 – 2 – (1, 4, 5)