2008-05-09

[도서리뷰] 생각이 차이를 만든다

뛰어난 리더들의 공통 특성

GE의 잭 웰치, P&G의 A.G. 래플리, 레드헷의 봅 영, 이베이의 메그 휘트먼, 포시즌스 호텔의 이사도어 샤프, 인포시스 테크놀로지의 난단 닐레카니 등 산업계의 스타 CEO들, 노벨 경제학상을 수상한 마이클 스펜스, 20세기 최고의 경영학 구루로써 칭송받는 피터 드러커와 같은 대가들이 어떤 문제에 대한 해결책을 생각하는 과정에 공통적으로 나타나는 특성이 있을까? 만약 그런 특성이 있다면 그것을 체계화하고 다른 사람들도 그런 특성을 배우도록 할 수는 없을까?

이 책의 저자는 이런 질문에서 출발하여 6년간 50명이 넘는 탁월한 리더들을 인터뷰한 후, 그들은 '통합적 사고'라는 두 가지 완전히 상반되는 아이디어를 동시에 생각할 수 있는 성향과 능력을 공통적인 특성으로 가지고 있음을 밝혀냈다.

그러면, 뛰어날 리더들이 가지고 있는 통합적 사고방식과 전통적인 사고방식은 어떻게 다를까?


통합적 사고방식 vs 전통적인 사고방식

사람의 의사결정 과정은 돌출요소-인과관계-구조-해결의 네 단계로 나누어진다. 의사결정에 중요하다고 생각하는 일련의 돌출요소를 파악하고, 그런 요소들 간의 '인과관계'에 대한 사고 모델을 만들며, 인과관계들을 특정한 결과를 만들어 낼 수 있는 구조로 배열한 다음, 현안에 대한 '해결'에 이르게 된다. 가령 여행계획을 세우기 위해서는 여행계획을 결정하는 데 영향을 주는 교통수단, 숙소, 활동, 비용, 음식 등의 돌출요소를 파악하고, 활동과 교통수단, 숙소와 음식, 교통수단과 비용 등 돌출요소 간의 관계를 이해해야 한다. 그런 후에는 교통수단, 숙소, 활동 등 가능한 돌출요소의 옵션들을 이렇게 저렇게 조합함으로써 구조를 파악하여 하나의 여행계획을 만들어낼 수 있게 된다. 그리고 이렇게 만든 다수의 여행계획 중에 하나를 선택하게 된다. 해외여행을 세워 본 사람이라면 정해진 예산 범위를 유지하면서 다양한 욕구를 충족시키는 여행계획을 세우는 일이 여간 복잡한 일이 아님을 알 것이다. 이런 복잡한 의사결정을 해야 하는 경우 전통적인 사고방식은 돌출요소들을 가능한 줄이고 단계별로 나누어서 생각하는 것이다. 하지만, 통합적인 사고는 다음과 같은 점에서 전통적인 사고방식과 차이가 있다.

첫째, 돌출요소에 대하여 좀 더 폭넓은 관점을 가지고 더 많은 특징을 돌출요소에 포함시킨다. 가령 가족여행에서 가족들의 만족, 안전, 교육효과 등 더 많은 요소들을 생각해볼 수 있다.

둘째, 통합적으로 사고하는 사람은 여러 방향의 비선형적인 인과관계를 검토하는 도전을 겁내지 않는다. 무조건 비싸다고 좋은 것은 아니므로 가족들의 만족도와 비용은 비선형적인 관계를 가질 것이다. 물론 계획을 세우는 데는 골치아프겠지만, 비선형적인 관계까지 고려함으로써 여행을 다녀온 후에 만족도는 더 높을 수도 있을 것이다.

세째, 통합적을 사고하는 사람은 문제를 여러 부분으로 나누어서 각 부분을 독립된 별개로 생각하지 않는다. 오히려 개별적인 부분을 해결하는 동시에 전체를 시각화한다. 비행기 시간을 결정하는 것은 특별한 이벤트에 참여할 수 있느냐 없느냐에 대한 결정에 영향을 미칠 수도 있는 것처럼 전체 문제를 한꺼번에 생각하는 것은 복잡하지만 포기하지 않는다면 상당히 유용한 결론에 이를 수 있다.

네째, 불쾌한 트레이드오프를 받아들이지 않고 언제나 긴장에 대한 창의적인 해결을 추구한다

통합적 사고방식의 차이를 좀 더 명확히 이해하기 위해, 포시즌스를 31개국에 75개의 호텔을 가진 업체로 성장시킨 이사도어 샤프의 사례를 들어보자. 1960년대 호텔사업에는 두 가지 모델이 있었다. 하나는 객실 수가 200여 개 남짓하고 불편하지 않을 정도의 편의 시설을 가진 모텔이고, 다른 하나는 750여 개의 객실에 회의실과 각종 식당, 연회실, 피트니스 센터 등 아주 다양한 편의 시설을 갖춘 호텔이다. 전자는 편안함과 친밀함이 장점이지만 비즈니스 여행객들의 마음을 얻지는 못하는 반면 후자는 시장이 요구하는 편의 시설을 갖출 만큼 충분한 수입을 창출했지만 차갑고 비인간적인 장소라는 이미지를 버릴 수 없었다. 의사결정은 이 둘 사이에 하나를 선택하여 사업을 확장해가는 것이었다. 하지만, 이사도어 샤프는 두 가지 모델 중에서 하나를 선택하지 않고 함께 고려하여 창의적인 해결을 추구했다. 즉, "소규모 호텔의 매력과 대규모 호텔의 장점을 결합"시킬 수 있는 중소 규모의 호텔을 생각한 것이다. 이렇게 하기 위해 가장 결정적인 문제는 고급 호텔보다 훨씬 적은 객실 수로는 그에 맞먹는 편의 시설을 운영하는 데 필요한 비용을 감당할 수 없다는 것이다. 하지만, 그는 이런 기존의 경제논리를 이렇게 탈피했다.

"차원이 다른 서비스를 제공한다면 상당한 프리미엄 가격을 부과할 수 있을 것이고, 그 결과 최상의 편의 시설을 감당할 수 있을 만큼 객실 당 수입도 증가할 것이다."라고 생각하고 24시간 비서 서비스, 크고 조명시설이 잘 된 책상, 24시간 룸서비스, 야간 구두닦이 서비스, 드라이클리닝, 다림질 등 집이나 사무실에 있는 것 같은 느낌을 주는 서비스들을 호텔업계 최초로 제공하여 대성공을 거두었다.

이사도어 샤프는 어떻게 이런 혁신적인 의사결정을 할 수 있었을까? 일반적인 사람들의 의사결정 과정과 어떤 점이 달랐을까? 그건 바로 고객을 철저히 연구함으로써 다른 사람들이 생각하지 못하는 돌출요소와 인과관계를 파악한 것이다. 일반적으로 고급스러움은 호텔 건축물과 장식에서 비롯된다고 생각하지만, 이사도어 샤프는 서비스라는 돌출요소를 더 발견하고 고급스러움과 연결함으로써 혁신적인 의사결정에 이를 수 있었다.


통합적 사고능력 키우기

평범한 사람들이 통합적 사고능력을 향상시키는 방법은 없을까?

저자는 개인의 지식체계를 입장, 도구, 경험이라는 세 가지 구성요소로 나누고 뛰어난 리더들의 입장, 도구, 경험에서 발견할 수 있는 특성들을 설명함으로써 개인들의 지식체계를 향상시킬 수 있다고 한다. 입장은 "이 세상에서 나는 누구이고 무엇을 추구하는가?"에 대한 답변이고, 도구는 "나는 사고를 조직화하고 세상을 이해할 때 어떤 도구와 모델을 사용하는가?"에 대한 답, 경험은 "전문기술과 감수성을 개발할 때 어떤 경험을 사용하는가?"에 대한 답이다. 가령 "세계적인 기업가가 되겠어"라는 것은 입장이다. 이런 입장을 가진 사람은 MBA과정을 등록하하고 다양한 회사에 다님으로써 이론과 프로세스, 경험법칙 등의 도구를 획득하게 된다. 그리고 자신의 '입장'과 '도구'에 따라 경험을 선택하게 된다. 입장, 도구, 경험은 서로를 유도하고 촉진한다. "세계적인 기업가"가 입장인 사람은 추구하는 목표달성을 위해 필요한 도구(예: MBA과정)를 갖출테고, 어떤 도구를 갖추었냐에 따라 경험(MBA가 필요한 일들)이 달라진다.

뛰어난 리더들은 다음과 같은 6가지 입장을 가지고 있다고 한다.

  1. 기존 모델은 객관적인 현실을 반영하지 못한다. 그것은 현실에 대한 주관적인 구성물일 뿐이다.
  2. 상반되는 모델은 두려워할 대상이 아니라 적극적으로 활용해야할 대상이다.
  3. 기존의 모델들은 완벽하지 않으며 더 나은 모델이 반드시 존재한다. 다만 아직 발견하지 못했을 뿐이다.
  4. 나에게는 더 나은 모델을 찾을 능력이 있다.
  5. 나는 필요한 복잡성을 피하지 않고 정면으로 승부할 수 있다.
  6. 나는 스스로에게 더 나은 모델을 창조할 시간 여유를 준다.

이런 입장을 유지함으로써 좀 더 통합적으로 사고할 수 있다는 것이다.

통합적 사고를 하는 데 도움이 되는 도구는 '생성추론', '인과모델링', '적극적 탐구' 등이다. 이 중 생성추론만 소개해보자.

우리는 연역적 추론과 귀납적 추론을 알고있다. 연역적 추론은 틀을 구축하고 그 틀을 문제에 적용하는 방식이고, 귀납적 추론은 경험적 관찰로부터 일반적인 규칙을 찾는 것이다. 연역적 추론은 추론의 토대가 되는 이론이나 모델이 필요하고, 귀납논리는 반복된 경험이나 관찰이 있어야 한다. 하지만, 대부분의 의사결정 과정에서 이론을 적용하기도 어렵고 충분한 경험치도 없는 경우가 대부분이다. 또한, 연역적 추론과 귀납논리는 없는 것을 발명하기 위해서는 적합하지 않다. 이런 경우 사용할 수 있는 도구가 바로 생성추론이다. 생성추론은 기존의 모델과 맞지 않는 새롭고 흥미로운 데이터에 대한 최상의 설명, 즉, 최상의 모델을 만들기 위해 모델을 생성하고 그 명제의 개연성을 탐구하는 추론 과정이다. 나머지 도구들의 소개는 생략한다.

이 책을 읽으면서 가장 좋았던 부분은 뛰어난 리더들이 의사결정해야할 문제를 대하는 '입장'을 알았다는 것이다. 나를 포함하여 우리들 대부분은 복잡한 의사결정 상황에 처하면 빨리 상황을 종료하고 싶어서 그다지 명쾌하지 않은 대안 중 하나를 선택하게 된다. 하지만, 이런 상황을 피하지 않고 좀 더 폭넓은 사고와 충분한 시간을 가지고 더 나은 모델을 창조하는 연습을 꾸준히 한다면 통합적 사고 능력을 키울 수 있고 나아가 뛰어난 리더가 될 수 있을 것이다.

2008-04-20

[도서리뷰] 보노보혁명

이 책은 사회적 기업가와 사회적 기업들을 소개하는 책이다.

사회적 기업은 사회문제를 해결하는 것을 목적으로 하는 기업을 말한다. 이윤추구를 목적으로 해도 살아남기 힘든 세상에 사회문제를 해결하는 기업이라고? 좋은 일을 하기 위해 기업을 운영한다고? 이런 질문들을 가지고 책을 읽기 시작했다.

첫번째 소개한 사회적 기업가는 마이크로소프트의 전직 임원인 '존 우드'씨이다. 그는 '룸투리드'라는 사회적 기업을 만들어서, 네팔, 캄보디아, 인도, 라오스 등지에 3870개의 도서관과 287개의 학교를 세웠다. 이런 일을 하기 위해 그가 2006년에 모은 기부금은 3300만 달러(약 330억)가 넘었다. 대단하다. 근데, 그는 왜 이런 일을 하게되었을까? 사연은 이렇다. 1998년, 존 우드씨는 너무나 바쁜 일상사에 지쳐서 네팔로 여행을 떠났는데, 거기서 우연히 네팔 교육부 관리를 만나, 마을 학교에서 책도 없이 공부하는 아이들을 보게된다. 그리고는 "나는 이런 곳에 윈도우즈를 팔려고 노력하고 있는건가? 그렇게 사는 게 무슨 의미가 있나?"하는 생각을 했고, 그 생각을 계기로 사회적 기업을 창업하게된 것이다.

이후에 책의 반 이상을 할애하여 많은 사회적 기업가와 기업의 사례를 들고 있는데, 각 기업가가 어떤 사회적 문제를 해결하기 위해 사회적 기업을 만들었고, 어떤 식으로 기업이 지속적으로 운영될 수 있도록 만들었을까 등을 살펴보는 것은 흥미진진했다. 왜냐하면, 그 동안 가지고 있던 기업에 대한 생각과는 너무나 다르기 때문이었다. 사회적 기업가와 기업을 잘 나타내줄 수 있는 사례를 중심으로 몇 명을 소개해보겠다.


얼 마틴 팰런 - 빈부의 차이로인한 교육 불평등 문제를 해결하자

그는 흑인으로써 어린 시절 버려진 후 두살때 입양되고, 순조롭게 성장해서 예일 대학을 거쳐서 하버드 로스쿨에 들어간다. 로스쿨을 다 니면서 자신의 어린 시절 빚을 갑기 위해 빈민가의 아이들을 지도해주는 멘토링 봉사활동을 하게 되는데, 많은 아이들이 글을 읽지 못한다는 것으로부터 빈부의 차이가 교육 불평등 문제로 이어지고 있다는 것을 깨닫게 된다. 그리고 빈민가의 아이들에게 부자 아이들의 사교육만큼이나 높은 수준의 사교육을 제공하기 위해 BELL(Building Educated Leaders for Life)을 설립한다. 12,500 달러의 자금, 20명을 대상으로 시작한 BELL은 15년 만에 2천만 달러로 기금을 늘렸고, 보스턴뿐 아니라 볼티모어,뉴욕,워싱턴 등지로 그 활동 영역을 넓혀서 만명의 아이들에게 혜택을 주고있다. 그의 목표는 미국 전역에서 10만명의 아이들을 가르치고, 그 아이들의 학교 성적을 높여 주는 것이다. 그리고 그 아이들이 장래의 꿈을 가지고 성장해서 자신, 자녀, 지역사회를 변화시킬 수 있도록 하는 것. 즉, 빈민가에서 성공한 아이들이 다시 빈민가를 바꾸는 선순환이 일어날 수 있도록 하는 것이 그의 목표이다.


데이비드 그린 - 인공수정체 시장을 바로잡다

수정체가 혼탁해져서 결국은 실명을 하게 되는 병인 백내장을 아시나요? 그리고 이 병은 수정체만 인공수정체로 바꾸는 수술을 하면 시력을 다시 찾을 수 있다는 것도 아시나요? 아프리카 저개발국의 실명 환자 중 80%는 노화와 영양실조 때문에 생긴 백내장이 그 원인이며, 소수의 다국적 기업의 독점으로 인공수정체 가격은 300 달러에 달하고 1-2 달러가 하루 생활비인 가난한 사람들에게 백내장은 실명과 똑같은 얘기가 된다는 사실은? 가난 때문에 고칠 수 있는 병을 운명으로 받아들여야한다니? 이런 불합리한 문제를 바꿀 수는 없을까? 소득수준에 따라 서로 다른 의료비를 책정할 수는 없을까?

데이비드 그린은 오로랩을 설립하여 공장도 가격 3달러 짜리 인공수정체를 생산하여, 5-10달러에 판매하기 시작했다. 2007년 현재 오로랩은 한 해 70만개 이상의 인공수정체를 판매하고 있고, 전세계 인공수정체 시장의 8%를 점유하고 있다. 그리고 이렇게 생긴 수익금을 다시 인공수정체 공장도 가격을 낮추는데 사용하고 있다.


마틴 피셔 - 적절한 기술로 스스로 가난에서 벗어나게 하자

일반적으로 생각하는 개발도상국 지원책은 재화를 공짜로 나누어주는 것이다. 마틴 피셔는 이런 지원책은 네 가지 관점에서 잘못되었다고 생각한다. 첫째, 필요한 모든 사람에게 줄 수 있는 것이 아니라면 수혜자가 한정적이므로 공정하지 않다. 둘째, 지속 가능하지 않다. 세째, 무상으로 나누어주는 행위자체가 해당 지역의 시장경제를 왜곡한다. 네째, 사람들의 의존성만 더 키운다.

그럼 어떻게 해야할까? 개발도상국의 빈곤 문제를 근본적으로 해결할 수는 없을까? 그는 아프리카 전체 인구의 80%가 농민이라는 사실에서부터, 가난한 농민들이 구입할 수 있고 돈벌이에 이용할 수 있는 값싼 제품을 개발함으로써 빈곤을 퇴치해야겠다고 생각했다. 그래서 그는 킥스타트라는 회사를 세워 관개용 펌프를 개발하여 농민들에게 판매했고, 농민들은 관개용 펌프로 건기의 물부족 문제를 해결하여 농업 생산량을 크게 늘렸으며 그로 인해 연평균 소득이 110달러에서 1100달러로 늘어나게 되었다.


데이비드 위시 - 음악 교육 문제를 바로잡다

1990 년대 중반 이후 미국 교육 재정은 계속 줄고 이에 따라 음악교육이 가장 먼저 없어졌고, 2003년 전국 초중고의 60%에서 음악교육이 사라지게 된다. 이런 공교육 시스템의 문제를 해결하기 위해 데이비드 위시는 빈곤층 아이들에게 공짜로 악기를 나누어 주고 음악 수업을 하는 리틀키즈록을 설립한다.


이 외에도 이 책에는 "흥미진진하다.", "기발하다.", "이렇게도 사회 문제를 해결할 수 있겠구나!" 하는 생각이 들게 만드는 많은 사례들이 있다. 이런 사례들을 소개한 후 사회적 기업가의 정의와 특성을 다음과 같이 얘기한다.

" 사회적 기업가는 사회의 가장 골치 아픈 문제들에 대해 혁신적인 해결책을 지닌 개인들이다. 또한 그들은 사회의 빈틈을 메우는 문제를 정부나 기업에 떠넘기기보다 무엇이 잘못되었는 지를 찾아내 직접 해결함으로써 취약한 제도를 바꾸고, 해법을 확산시키며, 사회 전체가 새로운 도약을 하도록 설득하는 사회적 혁신가들이다."
"사회적 기업가는 생선을 주는 것은 물론이고, 고기 잡는 법을 가르쳐주는 것으로도 만족하지 않는다. 그들은 고기잡이 산업을 혁명적을 바꿀 때까지 결코 멈추지 않을 것이다."

어떠세요? 사회적 기업이나 기업가에 대한 생각이 조금은 달라지지 않나요? 나도 뭔가 사회적 기업을 통한 활동에 참여하고 싶다는 생각이 들지 않으세요? 창업을 통한 사회적 기여를 생각해보신 분이라면 한 번 쯤 꼭 읽어보시라고 권하고 싶네요.

2008-04-14

[도서리뷰] 미래를 읽는 기술

디지털 카메라가 140년 된 필름기업인 아그파를 파산에 이르게했다는 얘기를 들어본 적이 있는가? 음반업계를 휘청거리게 만들고 음악 유통 구조의 변화를 가져온 mp3에 대해서 들어본 적이 있는가? 거꾸로 만약 이들 업계가 미래 연구를 통해 다가올 변화를 예측하고 미리 대비했다면 아이튠즈를 탄생시킨 애플, 고무장화 제조업체에서 세계적인 휴대폰 제조사가 된 노키아와 같은 기업이 되어있지 않을까?

미래연구는 어떻게 하는 것일까? 예지력? 예언?

흔 히 미래연구라고하면 예언가를 떠올리게 되는데, 저자는 미래연구는 절대로 예지력이 아니며, 정보를 수집하고 분석하여 전달하는 간단한 방법이라고 한다. 이 책은 미래연구를 맥주산업을 예로 들어서 설명하고 있는데, 그 방법을 한 번 살펴보자.

먼저 특정 산업을 분석하기 위한 첫 단계는 해당 분야를 넓은 시각에서 시스템적으로 분석하는 것이다. 예로 든 맥주 산업에 있어서는 "농업->양조->포장->운송->유통->소비자->폐기물과 재활용"에 이르는 맥주와 관련된 전체 시스템을 이해하는 것이다. 시스템을 보다 넓은 시각에서 살펴보기 위해서는 STEEP이라는 도구가 유용하다. STEEP은 사회, 기술, 경제, 환경, 정치(Society, Technology, Economy, Environment, Politics)의 약자로써, 거시적인 트렌트를 파악하는 데 도움이 되는 분석 툴이다.

두 번째 단계는 대상 산업 시스템의 미래를 예측하기 위한 전 단계로써 대상 산업의 트렌드를 조사하는 일이다. 트렌드 조사는 우선 관련 업계의 '오늘'을 파악하는 것에서부터 시작한다. 대상 산업을 전문적으로 다루는 잡지 및 웹사이트를 다음과 같은 관점하에 조사한다.

  • 업계에서 가장 중요한 트렌드는 무엇인가?
  • 여러 출처에서 계속 다루어지는 공통된 주제는 없는가?
  • 계속 눈에 띄는 이름이나 주요 기관으로는 어떤 것들이 있는가?
  • 이 분야를 대표하는 선두주자는 누구인가?

관 련 업계의 '오늘' 관심사를 파악한 후에는 상호 검토 학술지, 정부 보고서, 심층 기업 분석 등 보다 신빙성있는 출처를 조사하여 전문가들의 연구를 바탕으로 만들어진 정확한 데이터를 얻는다. 해당 데이터를 수집한 후에는 그 속에서 트렌드를 파악한다. 트렌드는 보통 직선형(상승, 하강, 정체 등), S곡선(상승 후 한계), 포물선(급격한 상승), 역포물선(급격한 하락) 등의 형태로 나타난다.

맥주 산업과 관련한 트렌드 몇 가지를 예로 들어보자.

  • 미국의 맥주 소비량은 젊은이들 사이에서 와인이나 증류주외 비교해 줄어들고 있다.
  • 맥주의 세계화가 진행중이다. 중국은 곧 세계 최대의 맥주 시장으로 부상할 것이다.
  • 세계경제가 지식경제로 전환하고 있고, 사무직 근로자들은 맥주만큼이나 보드카를 즐긴다.

다음 단계는 트렌드로부터 미래를 예측하는 것이다. 이 단계에서는 가능한 최고의 전문가로부터의 데이터를 수집해야 한다. 잡지나 보고서의 예측, 증권회사들의 관련 산업 분석 및 예측 등의 자료를 살펴보면 도움이 된다.

전문가들의 미래 예측 자료를 수집한 후에는 이를 바탕으로 미래 예측이 가지는 '잠재효과'를 이해하는 것이다. 즉, 다음과 같은 질문을 하고 그 답을 찾으려고 노력하는 것이다.

  • 우리의 사업을 잠식할 새로운 경쟁자가 등장할 것으로 보이는가?
  • 고객은 늘거나 줄지는 않았는가?
  • 새로운 규제의 가능성은? 지지해야할 공공정책은?
  • 미래가 선진국, 제2, 제3세계 국가에 미칠 영향은?

잠재효과를 파악하기 위한 도구로써 미래 수레바퀴와 상호효과 분석을 이용할 수 있다. 도구에 대한 구체적인 설명은 책을 참조하기 바란다.

다 음 단계는 파악한 잠재효과를 효율적으로 전달하는 것이다. 사람은 분석적 글쓰기 보다 서술적 이야기를 통해서 전달된 내용을 훨씬 더 쉽게 이해한다고 한다. 이런 특성을 이용해서 파악한 잠재효과를 설명하는 것이다. 즉, 잠재효과들을 엮어서 미래에 있을만한 시나리오를 만들고 그 시나리오를 들려줌으로써 미래연구 결과에 대한 관심을 높이는 것이다.

어떤가? 그럴싸한가? "나도 한 번 관심있는 산업에 대한 분석을 이 책에서 소개한 방법에 따라 해보고 싶다"는 생각이 많이 나는, 정말 실전적으로 도움이 되는 책이다. 기획, 산업분석, 미래연구를 하시는 분들이라면 꼭 읽어보길 권하고 싶다.

2008-01-08

오픈소스 라이센스의 적용범위

소프트웨어진흥원 자료, KLDP 자료, IOSN자료들을 모두 살펴봤지만, 오픈소스 라이센스가 영향을 미치는 범위에 대해서 명쾌하게 설명한 자료는 찾을 수가 없어서 혼자서 다음 그림을 그려봤습니다.


오픈소스 라이센스의 적용범위를 설명하기 위해서 위 그림에서처럼 세 가지 경우로 나누었습니다.

  • 오픈소스의 일부를 수정한 파일 A,
  • 오픈소스를 수정하지는 않았지만, 오픈소스와 함께 하나의 모듈을 구성하고 있는 파일 B,
  • 오픈소스의 derivative works를 static 또는 dynamic으로 링크해서 동작하는 파일C
이 세가지 경우에 대해서 GPL, LGPL, MPL, CPL의 적용범위를 설명한 것이 위 그림의 오른쪽 표입니다.
이렇게 그려보고 나니 좀 설명하기가 쉬워진 것 같네요. 혹시 틀린 점이 있으면 코멘트 남겨주세요.

2008-01-07

PDF 논문 목록 만들기

연구업무를 하다보면 논문을 살펴볼 일이 많은 것 같습니다.
특히 초기단계에는 더 많지요.
이 때 저는 다음과 같은 과정을 통해서 조사를 합니다.

  1. 처음에 조사할 분야의 적당한 용어를 선택해서 논문 검색
  2. 다운로드 받은 논문들을 읽어보고 중요논문 선택
  3. 중요논문에서 참고한 문헌들 다시 조사
  4. 중요논문을 읽고 조사할 분야의 보다 적합한 검색 키워드 선정
  5. 새로운 키워드로 1번 부터 반복
여기서 2번 과정에서 항상 다운로드 받은 pdf 논문 파일들을 일일이 열어보는 과정을 해야하는데요. 이 과정이 은근히 귀찮아서 스크립트를 만들어봤습니다.
특정 디렉토리를 지정하면 그 디렉토리의 모든 하위 디렉토리에 있는 pdf 파일들의 파일명, 제목과 abstract의 목록을 만듭니다. 파일명에는 해당 파일로의 링크를 걸어서 보기 편하게 만들었습니다.
단점은 현재는 IEEE 2-column 형식만 지원한다는 것입니다. 그래도 대부분의 논문이 이 형식을 지원합니다.
필요하신 분들 가져다가 유용하게 쓰세요(xpdf 툴킷 중 pdftotext.exe가 아래 python 스크립트와 같은 디렉토리에 있어야 합니다).
다른 형식을 지원하게 되었거나 향상된 점은 저에게도 알려주시구요.
# -*- coding: cp949 -*-

# Usage: "python pdflist.py starting_directory_path output_filename"
# This script find the pdf files recursively from starting_directory_path and
# get the title and the abstract of the file and build the list in HTML table.
#
# Written by guldook. 2008.1.6.
# You must let me know any changes you did (guldook at gmail)

import os, string, tempfile
import sys

def get_text(filename,start=0,end=0):
try:
cmd = "pdftotext.exe -f %d -l %d -enc UTF-8 %s -" % (start, end, filename)
f = os.popen(cmd)
text = f.read()
err = f.close()
if err is not None:
print 'unable to read %s' % filename
raise IOError
except IOError:
pass
except:
raise Exception,'unable to execute pdftotext'
return text

# paper must be formatted by IEEE 8.5 x 11-inch Proceedings Manuscripts, IEEE 2-column format
# refer http://www.computer.org/portal/site/cscps/menuitem.02df7cde46985ea21618fc2e6bcd45f3/index.jsp?&pName=cscps_level1&path=cscps/cps/final&file=wi06.xml&xsl=generic.xsl&
# I need to extend to other format

def get_info(fname):

title,abstract = None, None

try:
s = get_text(fname, 0, 10)

# get the index of 'Introduction' section
idx_abstract = s.index('Abstract')

# get the index of 'Introduction' section
idx_intro = s.index('Introduction')

title = s[:s.index('\n')]
abstract = " ".join(s[idx_abstract+len('Abstract'):idx_intro].split()).replace('\n','').replace(', ',' ')
title = '"' + title + '"'
abstract = '"' + abstract + '"'

except (IOError, ValueError):
raise
finally: return title,abstract

header = "<html>\n<title>%s directory pdf file summary</title>\n<body>\n<table>\n<tr><td>Link</td><td>Title</td><td>Abstract</td>\n"
footer = "</table></body>\n</html>"

def get_pdflist(path, outfn):

numlist = 0
f = open(outfn, "w+")
f.write(header % os.path.abspath(path))

for root, dirs, files in os.walk(path):
for fname in files:
if fname.endswith('.pdf'):
try:
title, abstract = get_info(os.path.join(root, fname))
if (title and abstract):
line = "<tr><td>"
link = "".join(['<a href="file:///', os.path.join(os.path.abspath(root), fname), '">', fname, '</a>'])
line += "</td><td>".join([link, title, abstract])
line += "</td></tr>"
f.write(line+"\n")
numlist += 1
except IOError, ValueError:
## line = ", ".join([fname, "N/A", "It must be standard IEEE 2-column format"])
## f.write(line+"\n")
continue
f.write(footer)
f.close()

if __name__ == '__main__':
if len(sys.argv) == 1:
get_pdflist('./test', "./pdflist.html")
elif len(sys.argv) != 3: print "Usage: pdflist.py start_path output_filename"
else : get_pdflist(sys.argv[1], sys.argv[2])

2007-11-28

오픈소스 라이센스 정책에 대한 정리


오픈소스를 사용해서 소프트웨어를 개발할 때 오픈소스 라이센스가 어떻게 적용되는 지에 대해서 검토하는 것은 중요한 일입니다.
이런 관점에서 활용할 수 있는 문헌을 찾다가 정말 좋은 책을 발견했습니다.
바쁘신 분들을 위해서 표 하나만 소개하지요. 이 표만으로도 충분히 유용할 듯 합니다.


(출처 : FOSS Licensing 18페이지)


2007-11-23

레몬펜 서비스 베타테스터 활동


특정 주제에 얽매이지 않고 이것저것 네비게이션을 해보려고 합니다.
오픈ID 커뮤니티를 통해서 관심을 가지게 된 오픈마루에서 레몬펜 서비스를 오픈했네요. 좋은 아이디어라 생각됩니다.
신문, 사진, 동영상 퍼블리싱 사이트로 계속 발전해가면 좋을 것 같네요.

2007-09-27

이직

자그마치 9년 2개월이란 시간을 이니텍에서 보냈습니다.

98년 입사해서 2년 동안은 낮에는 영업, 밤에는 개발하느라 정말 힘든 시간을 보냈었는데, 막상 떠날때는 그 때가 가장 기억에 남네요. "비자와 같은 회사"를 만들자던 원대한 꿈과 그 과정을 함께한 사람에게는 뭔가 커다란 보상이 있겠지하는 막연하고 순수한 기대, 이런 것들이 젊은 열정을 가지게 했고 그 시절의 힘든 일들을 참게 했던 것 같습니다. 한 4년은 인터넷뱅킹, 통신사 프로젝트를 하느라 정신없이 지냈던 것 같고, 최근 3년간은 기술전략연구소라는 이름으로 새로운 사업을 추진하는 일을 맡았었습니다.

이 블로그도 제가 기술전략연구소로 옮기면서부터 시작되었습니다. 처음에는 블로그가 뭔지 알아보자는 마음에 신변잡기와 관련된 내용을 올렸었고, 나중에는 좀 더 일관된 주제를 만들어보자는 생각에 보안, Identity 2.0, 지불 등에 관한 글을 올렸습니다.
이 블로그를 통하여 오픈ID를 알리고, 국내에 아직은 미약하지만 작은 흐름을 만들 수 있었다는 것은 제게는 너무나도 소중한 경험이었습니다. 그리고, 그 과정에서 만난 인터넷 사업을 하는 많은 사람들의 열정적인 모습들은 많은 자극이 되었습니다.

결국은 이런 일들이 계기가 되어 새로운 회사에서 새로운 일을 하기로 결정했습니다.
앞으로 보안, Identity 와는 좀 다른 주제로 블로깅을 해보려고 합니다(계속해서 이 주제와 관련된 관심을 가지기는 어려울 것 같아서).
아뭏든 좀 더 활기차고 즐거운 일들이 블로깅을 통해서 일어나기를 기원해봅니다.

2007-07-31

소년박명수 스팸?


떡이떡이님이 블로그 스팸이 어떻게 검색을 망치는 가에 대한 재미있는 을 썼네요. DM에서 부터 전자우편, 메신저, 이제는 블로그까지 모든 커뮤니케이션 도구에는 스팸문제가 존재합니다. 어제 이를 해결하고자 정통부에서 "정보통신망 이용촉진 및 정보보호 등에 관한 법률"의 개정을 추진하겠다고 발표했습니다. 하지만, 아직 국내에는 블로그 스팸을 막고자 하는 연구나 사업은 많이 부족한 것 같아서 실효성에는 약간 의문입니다(아니면, 제가 모르고 있을 수도).

스팸관련해서 몇 가지 도움이 될만한 링크들을 소개합니다.

  • 스팸포이즌 : 이메일 주소를 수집해가는 스패머들의 로봇을 엿먹이는 '링크'를 제공합니다.
  • Akismet : Wordpress에 플러그인으로 동작하는 스팸을 걸러주는 서비스입니다. 개인용과 상업용 모두 있습니다.
  • AIRWeb(Adversarial Information Retrieval on the Web) : 검색엔진 최적화, 코멘트 스팸, 블로그스팸, 불법 태깅 등 웹을 악용하는 것과 관련된 연구를 다루는 워크샵입니다.
  • 봇마스터 : 스패머들이 대량스팸을 보낼 때 사용하는 도구입니다.
  • 블로그스팸 DB : OpenAPI 또는 Pingoat를 통해서 만들어진 스팸 블로그 데이터베이스입니다.
  • 검색엔진 순위조작 Spamdexing

2007-07-24

구글, 공짜 무선인터넷을 만들겠다


4.6조를 들여서 주파수를 사고 음성 및 데이터 통화료가 없는 무선인터넷을 만들겠다는 계획을 발표했습니다. 화끈해서 좋네요.
어제 정통부에서 발표한 '요금 인하 등 소비자이익을 위한 통신정책 추진' 방안과 너무 대비되네요.

2007-06-29

공인인증체계에 대한 생각


28일 커머스넷과 전자신문사에서 주최하는 eBiz클럽 토론회가 있었습니다.

토론주제는 "웹2.0 시대의 공인인증체계" 였습니다.
이준기 교수님의 사회로 정통부, KISA, 소프트웨어진흥원, 소프트뱅크 코리아 그리고 제가 참석해서 토론을 했습니다.

굉장히 발전적인 방향에서 토론이 이루어져서 즐거웠습니다. 제가 얘기했던 세 가지 의견을 다시 한번 정리해봅니다.


1.접근매체 선택권 부여

전자금융거래법 제 6조 1항에서는 "금융기관 또는 전자금융업자는 전자금융거래를 위하여 접근매체를 선정하여 사용 및 관리하고 이용자의 신원, 권한 및 거래지시의 내용 등을 확인하여야 한다."라고 쓰고있고, 동법 9조 1항에는 "금융기관 또는 전자금융업자는 접근매체의 위조나 변조로 발생한 사고, 계약체결 또는 거래지시의 전자적 전송이나 처리과정에서 발생한 사고로 인하여 이용자에게 손해가 발생한 경우에는 그 손해를 배상할 책임을 진다."라고 규정하고 있습니다. 그리고 9조 2항에는 몇 가지 예외적인 경우를 언급하고 있는데, 사고 발생이 이용자의 고의나 과실로부터 기인한 경우입니다.
이 법에 따라 은행은 손실을 최소화하기 위해 접근매체를 선정하고, 전자적 거래 처리과정의 사고를 막기위해서 각종 보안 프로그램을 설치하고 있습니다. 결국 은행이 선정한 접근매체나 보안 프로그램을 사용해야만 사고에 대한 보장을 받을 수 있습니다. 저는 9조 2항의 예외사항에 "금융기관과 이용자 간의 별도 약정이 하는 경우에는 해당 약정을 따른다"라는 형태로 서로 다른 수준의 접근방법을 수용할 수 있도록 해야 한다고 생각합니다. 물론 금융기관이 지정한 방법을 사용하지 않는 경우 그에 따른 사용자의 책임또한 증가할 것입니다. 하지만, 새로운 접근매체가 지속적으로 도입될 수 있는 구조를 만든다면 많은 사용자들의 요구사항을 수용할 수 있을 것입니다.


2. 지속적인 접근성 확보를 위한 접근매체 도입 구조 개선

웹 접근성이라는 측면에서 불거진 ActiveX 문제는 현재의 접근성 문제입니다. 5년 뒤에는 또다른 접근성의 문제가 생길 수 있을 것입니다. 즉,
모바일 및 TV를 포함한 미래형 단말기에 대한 접근성 문제가 또다시 발생할 것입니다. 따라서, 보다 근본적인 해결책은 기술의 발전에 따라서 고안될 다양한 접근매체 및 전자거래 보안방안들을 제안하고, 평가하는 과정을 개방하는 것입니다. 문제가 생겨서 기술개발을 하는 것이 아니고 새로운 환경에 대해 개발된 기술로 환경변화에 대응할 수 있도록 해야합니다. 이렇게 함으로써 서비스업체가 미래에 다가올 접근성의 문제를 발빠르게 해결할 수 있고, 사용자들도 편리할 것입니다.


3. 브라우징 매체와 접근매체의 분리

앞으로 브라우징 매체는 접근매체 보다 보다 빠르고 광범위하게 발전할 것입니다. 그에따라 모든 브라우징 매체에서 발생하는 보안문제를 해결하는 것은 점점 더 어려운 일이 될 것입니다. 따라서,
브라우징 매체와 독립적이면서도 안전한 접근매체를 사용함해야합니다(접근매체만을 안전하게 하는 일이 더 쉬운 일일테니까요). 근래에 OTP나 HSM의 도입은 상당히 바람직한 방향이라고 생각됩니다. 하지만, 핸드폰이나 스마트카드에서 사용할 수 있는 OTP 및 스마트카드 형태의 HSM 등은 편리하면서도 경제적인 접근매체임에도 불구하고 금융거래에 사용하지 못합니다. 금융거래의 위험정도(이체금액 등)가 작은 경우에는 충분히 사용할 수 있는데도 말이지요. 1번이나 2번에서 언급한 의견이 반영되어, 보다 많은 사용자의 요구사항을 수용할 수 있는 발전적인 접근매체의 운용체계가 수립되었으면 합니다.

2007-05-30

Sun.com의 OpenID를 가지면 Sun의 직원!



Sun이 OpenID를 지원하겠다고 합니다. 즉, 내부직원용 OpenID를 만들겠다는 것인데요.

하지만, 여기 저기서 "Sun.com의 OpenID를 가진 사람은 Sun의 직원입니다"라는 것은 아니다라는 의견을 내고 있네요, 왜냐하면 다른 OpenID provider (가령 idpia.com)에서 받은 OpenID는 아무런 암묵적인 의미를 가지지 않기 때문입니다. (어떤 openid url은 의미를 가지고, 어떤 것은 가지지 않으면 표준화할 수도 없고, 기계가 해석할 수도 없겠지요...)



Simon Willson씨는 다음과 같이 코멘트하고 있습니다.

I disagree about Sun’s OpenIDs being the first to convey some kind of
meaning. An OpenID from LiveJournal OpenID conveys a bunch of meanings:
“I have a LiveJournal at URL X”, “An RSS feed of my LiveJournal is
available at URL Y”, “A FOAF file detailing my LiveJournal friends is
available at URL Z”. Likewise, an AOL OpenID incorporates “You can send
me instant messages at this AIM address”

한 마디로 말해서 machine-readable identifiers가 필요하다는 내용인데요, 이미 이런 요구사항은 XRI를 통해서 구현가능합니다(참고).



XDI.org에서 7월부터는 i-name 등록 가격을 내린다고 하니, OpenID랑 연계해서 사용하면 좋을 것 같다는 생각이 듭니다(7월에 준비해보겠습니다.).

2007-04-20

정통부에 OpenID 기술표준 채택 제안



월에 한 번씩 정통부에서 웹2.0기술표준 전략수립 전문가회의가 열리고 있고, Identity 분야에 관한 조언을 하고 있습니다.

OpenID 커뮤니티에 도움이 되고자 다음과 같은 과제를 제안했습니다. 참고하시고, 좋은 의견 있으시면 연락주세요.



1. 과제명 (또는 현안명)



SOA / 매쉬업 환경에 적합한 Identity 관리 기술



2. 현황 및 문제점 (또는 필요성)



SOA의 발전과 함께 다양한 형태의 매쉬업 서비스가 등장할 것으로 예상되며, 이에 따라 비공개 서비스와 공개 서비스, 유료와 무료 서비스 등을 매쉬업 해야할 필요성이 증가할 것이다. 이런 환경에서 서비스마다 다른 사용자 식별아이디, 인증방법, 정보교환 방법을 사용하는 것은 사용자들에게 불편함을 줄 뿐만 아니라, 매쉬업 서비스 활성화의 장애요인이 될 것이다. 따라서, 인터넷 사용자와 인터넷 서비스 간에 이루어지는 사용자 식별, 인증, 정보공유 방법을 표준화하는 것이 필요하다.

국내의 경우 실명확인/본인확인, 아이핀 서비스, 행자부 통합ID 등 다양한 형태의 Identity관리 방법들이 서로 다른 요구사항에 따라 개발되고 있지만, 오히려 향후 웹 서비스 활성화에 장애가 될 수 있음.



3. 사용자 중심 Identity 관리 기술



문제점을 해결하기 위해서는 다음과 같이 측면에서 Identity 관리 기술을 표준화해야 한다.



  • 사용자 식별 표준화 : 서비스마다 상이한 사용자 아이디를 사용한다면, 사용자가 하나의 매쉬업 서비스를 위해서 다수의 아이디를 입력해야함. 따라서, 인터넷 서비스가 사용자를 식별하는 방법이 표준화되어야 한다.
  • 정보교환 표준화 : 사용자가 인터넷 서비스에 가입할 때마다 개인정보를 입력하는 것은 매우 비효율적이다. 따라서, 인터넷 사용자와 인터넷 서비스 간에 정보를 교환하는 방법이 표준화되어야 한다.
  • 다양한 인증수단 연동 표준화 : 인터넷 서비스마다 특정한 인증방법을 선택한다면, 사용자는 다수의 인증방법을 통해서 매쉬업 서비스를 이용해야 함. 따라서, 인터넷 서비스는 다양한 인증수단을 제공함으로써, 인터넷 사용자가 인증방법을 선택할 수 있도록 해야한다. 이를 위해서 인증방법이 표준화되어야 함.


4. 대안들



현재 다음과 같은 대안들이 적용가능하며, 이러한 대안들을 포함한 다양한 기술들을 검토하고 실행가능한 표준을 제정해야 한다.

  • 최근 URL을 사용자 아이디로 사용하는 방법이 널리 채택되고 있음. OpenID를 대표적인 예로 들 수 있음. 국내 특성 (실명확인, 아이핀, 통합ID) 들을 OpenID 2.0 표준에 반영하거나 OpenID 표준을 준수한다(현재 아이핀은 정보보호진흥원 표준, 통합ID는 OASIS SAML 표준을 따르고 있음).
  • OpenID 2.0 규격에 따라 인터넷 사용자와 인터넷 서비스가 정보교환하도록 한다. 개인정보는 OpenID 서비스 제공자 또는 개인이 직접 구축한 OpenID 서버에 저장하여 사용할 수 있도록 한다.


5. 참고 자료



  • http://openid.net/
  • http://www.openid.or.kr/

  • http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security
  • http://www.kisa.or.kr/kisa/ipin/jsp/ipin_0000.jsp
  • http://www.ddaily.co.kr/news/?fn=view&article_num=20751

2007-04-19

미투데이 초대권 필요하신 분



미투데이에 대해서 아실만한 분들은 이미 다 가입하셨을테고...

잘 모르시는 분들은 여기를 참고하세요.



언제부턴가 저에게 무한리필되는 초대권이 생겼네요...ㅋㅋ



가입을 위해서는 OpenID가 있어야하는데요, idpia.com에서 하나 만드시고, 댓글이나 연락처로 이름,이메일주소,OpenID를 남겨주세요.





2007-03-31

A Password Stretching Method with User Specific Salts



WWW2007 논문들이 공개되었습니다.

제가 제출한 논문은 쉬운 패스워드로부터 어려운 패스워드를 만들어내는 방법인 Password Stretching에 관한 것입니다.



기존의 방법들은 모두 레인보우 테이블을 사용한 공격에 약한데요, 이것을 극복하는 방법에 관한 것입니다.

관심있는 분들이 많을 지는 모르겠지만, 필요하신 분들은 참고하십시오.

2007-03-07

"웹 구조개혁의 제안"에 부쳐



공인인증서 소프트웨어를 다루고 있는 회사에 몸담고 있는 사람으로써 최근의 ActiveX와 공인인증에 대한 논의는 너무나도 민감한 사안이기 때문에 제 의견은 적지 않습니다. 다만, 김국현님의 웹 구조개혁의 제안에 있어서 바로잡아야할 '사실' 들과 제안의 현실화에 도움이 될 만한 내용들만 적습니다.



구조개혁 1에 대한 의견

  • 대안1의 버츄얼 키보드는 안전하지 않습니다.
  • 공인인증서의 안전성은 공인인증서와 한쌍을 이루는 개인키(전자서명키)를 보관하는 저장매체의 안정성에 의존합니다. 즉, 공인인증서라는 기술의 문제가 아니고 공인인증서 저장매체가 문제인 것입니다. HSM을 사용한다고 해서 공인인증서 기술을 사용하지 않는 것은 아니며, 개인키 저장방법이 변경되는 것입니다.

  • 은행에서 공인인증서를 HSM에 담아서 제공하지 않았던 것은 비용문제였는데, OTP 하드웨어를 모든 인터넷뱅킹 사용자에게 보급하기 위해서는 마찬가지의 비용문제가 있습니다. 은행들이 안전카드는 공짜로 제공하지만, 암호생성기(OTP)는 유료로 제공하고 있는 이유가 여기에 있습니다.
  • 안전한 하드웨어가 모든 전자금융/지불 사용자에게 보급되지 않는다면, 구조개혁 1의 현실성은 없어보입니다.

구조개혁 2에 대한 의견

  • SEED는 2005년에 이미 RFC4009가 되었고, TLS(SSL의 IETF 표준화 버전)에 알고리즘으로 추가하는 방법도 RFC4162가 되었습니다. 그런데도 왜 브라우저 업체들은 구현하지 않았을까요? 진정한 대안이 되려면 오픈웹 운동 같은 곳이 나서서 이 표준들을 브라우저 업체들이 구현하도록 해야합니다.

2007-03-06

WWW2007 poster accepted!



지난 번에 정보처리학회에 발표한 패스워드 강화방법을 보강해서 WWW2007에 포스터 논문을 냈는데, 오늘 accept 되었습니다.

Conference proceeding과 ACM Digital Library에 공개된다는군요. 이제 특허와 논문과의 연관도 조금은 알것 같습니다.

논문은 공개되는대로 올리겠습니다.



5월 포스터 발표겸 가족여행으로 WWW2007 다녀와야겠네요...

2007-02-15

특허자축



언젠가 소개했었던 피싱방지 방법이 특허를 획득했습니다. 2005년 열심히 특허를 냈는데 그 결과가 작년말,올해 나오고 있습니다.

올해만 3개째 특허를 획득했습니다. 제 개인적으로는 4개의 특허를 보유하게 되었네요.



이제 아이디어를 특허로 만드는 일은 80% 이상의 확율로 가능하겠다는 생각입니다.



앞으로는 특허등록한 아이디어가 성공적인 사업이 되는 확율을 높이는 일을 잘 해볼 생각입니다.

첫번째는 MOTP 였고, 개인적으로는 어느 정도 성공적인 사업이 되어가고 있다고 생각합니다. 올해는 피싱/OpenID 관련 사업을 진행해보려고 합니다. 잘 되야될텐데...ㅋ

2007-02-08

마이크로소프트, OpenID와 협력



마이크로소프트, Verisign, Janrain, Sxip 이렇게 네개 회사에서 Windows CardSpace와 OpenID간에 호환성을 유지하는데 노력하기로 합의했습니다. 국내에서도 많은 분들이 소개를 해주셨습니다.

제가 Windows CardSpace에 대해서 작성한 자료들도 참고하세요.

개인적으로는 발표에 참여한 네 개 회사의 전략에 대해서 추측해봅니다.

아뭏든, 나름대로 서로 다른 목적을 가진 네 회사의 제휴가 인터넷 Identity 기술에 도움이 되었으면 좋겠네요.

2007-01-29

Yahoo 계정 OpenID 계정으로 만들기



Yahoo의 Browser-based Authentication API와 OpenID를 사용해서 야후 계정을 OpenID 계정으로 사용할 수 있도록 만드는 서비스가 등장했습니다.

같은 개념으로 Daum 인증 API를 OpenID 계정으로 사용하는 것도 가능하겠네요.