'토비Toby'에 해당되는 글 6건
- 2009/01/01 2008년 스프링의 아쉬웠던 것들, 2009년의 기대 top 5 (2)
- 2008/06/27 JEE를 위한 최고의 OSGi 플랫폼 SpringSource Application Platform 한글 프로그래머 가이드 (1)
- 2008/06/24 Spring Dynamic Modules for OSGi(tm) 한글 레퍼런스 자료 (8)
- 2008/06/11 스크린캐스트 참고정보 - OpenSeed Hibernate/OSAF
- 2008/06/10 스프링의 영원한 큰 형님 - Rod Johnson
- 2008/06/09 KSUG는 커뮤니티인가 (8)
다른 분들이 스프링의 기술 top을 발표했으니 저는 지난 해 스프링과 관련한 아쉬웠던 것들을 한번 적어봅니다.
1. 스프링소스
로드존슨이 프리랜서 시절부터 사용하던 회사명인 Interface21을 SpringSource라고 바꾸고 재작년과 작년에 두번에 걸처서 VC로부터 큰 투자를 받았습니다. 투자사가 돈을 낼 때는 큰 수익을 기대하고 있는 것이고, 대부분 기업의 수익을 통한 배당보다는 IPO나 대형 기업에 인수되어져서 큰 차익을 얻는 것이 목표입니다. 그런면에서 VC에 투자를 받은 기업이 망하지 않고 버틴다면 언젠가 JBoss, MySQL 등과 같이 합병되거나 RedHat처럼 상장을 해야합니다. 오픈소스제품을 기반으로 한 비즈니스라는 가장 힘들고 도전적인 일을 시작한 스프링개발자들도 같은 선택을 해야했고, 그 과정에서 VC의 투자는 필수적이지요. 문제는 VC의 투자 이후에 상당한 경영상의 태클이 들어온다는 것입니다. JBoss가 VC투자 이후에 Apache의 Geronimo개발팀이 JBoss코드 일부를 무단 사용했다고, 변호사를 통해서 경고서한을 보낸 것은 충격적인 일이었습니다. 오픈소스라고 해도 저작권이 있고, 지켜야 할 라이선스 조항이 있다는 것은 알고 있지만, 그렇게 거칠고 딱딱한 방법을 동원해야했나는 생각이 들어서 JBoss에 한참 정이 떨어지기도 했죠. 원인은 VC로부터의 압박이 아니었을까 생각했습니다. 마찬가지로 스프링소스 또한 VC의 투자를 받고 덩치를 키우고 관련업체들을 인수하기 시작하면서부터 VC로부터 많은 압박을 받았을게 분명합니다. 가장 중요한 것은 상장이든 인수든, 그에 필요로 하는 성장하는 수익구조를 가지고 있어야 한다는 것이죠. 스프링소스의 컨설턴트들이 스프링을 사용하는 각국의 대형프로젝트에 가서 컨설팅을 하고 그로부터 댓가를 받는 것으로는 규모를 무한하게 키우지 않는 한 큰 이익을 내기 힘듭니다. 몇년전 ThoughtWorks가 상당히 성공한 최신 IT컨설팅업체임에도 상장할만큼의 성공적인 수익을 내지 못해서, 초기 투자자들이 투자비를 회수한다고 난리를 쳤다는 얘기를 듣기도 했지요. 스프링 소스는 그에 비하면 아직 작은 업체입니다. 그렇다고 무작정 컨설턴트 숫자를 늘리면 질은 떨어지겠지요. 결국 선택은 상용제품과 지속적인 서비스를 판매하는 것입니다. 그래서 등장한 것이 Spring Tool Suite을 비롯한 Spring Enterprise입니다. 또 service subscription을 판매하는 것을 통해서 안정적인 수입을 만들어 내는 것입니다. 로드 존슨이 재작년 TSE에서 앞으로 스프링 소스의 주력 마케팅 타겟은 포츈500 기업이라고 얘기했습니다. 그를 위해서 본부를 실리콘벨리로 옮기고 로드 존슨은 주로 그 오피스에서 일을 하고 있죠. 문제는 오픈소스가 아무리 성공적으로 도입되었다고 한들, 모든 기업이 다 그 개발업체에게 상용 서비스를 받으려하지 않는 다는 것이죠. JBoss가 전체 WAS순위 4위인가 하던데.. JBoss를 도입한 업체 중, 상용 서비스를 받고 있는 곳은 7% 정도라는 얘기를 들은 적이 있습니다. 상용서버라면 아마도 90% 이상이겠죠(기한이 지나서 서비스를 갱신 안하는 곳정도를 제외하면..). 기본적인 라이선스 비용도 없는데다, 상용서비스의 비율도 사실 매우 작기 때문에 단순하게 오픈소스공개 후 상용서비스라는 공식은 사실상 이미 실패한 것이나 다름없습니다. 그래서 뭔가 오픈소스에는 없는 부가기능과 가치를 가지는 전용제품이 필요한 것이고, 그것이 바로 Spring Enterprise입니다. 과연 얼마나 많은 기업이 스프링소스로부터 서비스를 받고 있을까요? 잘 모르겠습니다만, 생각보다 그리 많지는 않아보입니다. STS같은 경우는 개인적인 사용만 무료로 허용되어있지만, 사실 회사에서도 그냥 다 쓰지요. 왠만한 기술적인 질문은 자체적인 온라인 커뮤니티나 수많은 공개된 자료에서 답을 찾을 수 있습니다. 요청하면 로드 존슨이 달려와서 해주는게 아니라면 구지 돈을 주고 조금 더 전문적인 서비스를 받을만한 절박함이 없습니다. 또 기술력이 있는 대형기업이라면 스스로 스프링을 개선하고 확장해서 사용합니다. TSE등에서 사례발표를 한 많은 대형 금융기관이나 LInkedIn등의 적용사례를 보면, 자체적인 기술력으로 스프링을 얼마든지 편리하게 사용하도록 개선하고, 관련 툴을 만들어서 적용하고 있습니다. 아직까지 스프링소스가 제공하는 상용제품과 서비스가 그런 업체들에게 줄 수 있는 특별한 부가가치가 없어보입니다. 반면에 보수적이고 덩치가 큰 기업은 안정적이고 지속적인 서포트가 관건입니다. 스프링이 구버전 호환성이 뛰어나다고 해도 구지 꼭 필요하지 않으면 신규버전으로 업그레이드 안하는 것이 보수적인 기술정책을 가진 회사들의 사고방식입니다. 얼마전까지 Spring1.x를 고집했던 atlassian과 같은 ISV도 마찬가지지요. 그러기 위해서 구버전의 지속적인 유지보수가 보장되야 하는데, 각 브랜치를 계속 디버깅하고 관리한다는 것은 오픈소스 개발업체로는 큰 부담입니다. 그만큼의 보상이 필요하죠. 그래서 스프링소스가 올해 큰 악수를 하나 둡니다. 바로 유지보수정책의 변화이죠. 구버전도 3년간 유지보수 버전을 제공하지만, 바이너리 릴리스는 상용서비스 업체에만 제공하고 오픈소스로는 맨 프로젝트 소스만 제공한다는 것이죠. 어떻게 생각하면, 상용서비스를 받는 업체에게는 그만큼의 만족감을 주고, 오픈소스로 찾는 이들에게는 조금의 수고만으로 더 안정적인 유지보수 서비스를 제공한다는 면에서 사실 윈-윈하는 정책이었습니다. 하지만, 스프링소스의 정책의 변화에 대한 친절한 홍보 부족과 스프링을 시기하는 인간들의 비열한 공격으로 스프링소스의 정체을 오해한 많은 개발자들이 생겨났고, 상처 받은 스프링의 신뢰를 회복하느라 로드 존슨이 꽤 땀을 빼야 했습니다. 연말에 열린 S1A에서 느낀 점은 그런면에서 스프링소스의 긴장감을 잘 보여줍니다. 이전과 다르게 딱딱해진 컨퍼런스도 그랬고, 많은 참석자들이 "왜 돈을 내고 와서 마케팅 발표를 들어야 하는지 모르겠다"는 푸념도 참 안타까웠습니다. 그들의 열정과, 오픈소스와 비즈니스를 동시에 지켜야 하는 현실적인 고민, 그리고 최선의 정책도 다 이해합니다만... 개발자들은 그렇게 이해심많고 착하지만은 않으니 걱정이지요.
고군분투하는 스프링소스의 비즈니스와 그에 휘둘릴지도 모르는 오픈소스 스프링을 올해의 안타까웠던 스프링관련 첫번째로 꼽습니다.
2. KSUG
KSUG는 스프링사용자들의 만남을 명분으로 한, 공개세미나 팀이었죠. 그러다 오프라인의 한계를 넘기 위해, 또 오프라인 행사준비에 점점 한계를 느끼는 운영팀의 이런 저런 핑계 때문에 올해 온라인 커뮤니티로 변신을 꾀했습니다. 원래 목표는 포럼과 블로그, 그리고 스크린캐스트의 활성화였죠. 포럼은 그럭저럭 자리를 잡고, 한동안 스프링관련 좋은 토론과 질의응답이 이어졌습니다만, 홍보의 부족으로 아직도 대부분의 스프링개발자들은 이런 공간이 있는 줄도 모르고 있는 상황이고, 쉽고 편하게 질문과 생각을 나누기에는 아직 분위기가 그렇게 잘 형성되어있지 않습니다. 반쯤의 성공이라고 봐야 할까요.
KSUG블로그는 새로운 필진의 등장으로 좋은 글들이 많이 올라옴에도 불구하고 역시 홍보의 문제 때문인지 방문자가 적고, 올라오는 글에 대한 포럼에서의 피드백과 토론이라는 기대에는 거의 부합하지 못하고 있습니다. 주제의 어려움도 한 이유이고, 근본적으로 온라인에서의 기술적인 토론이 점점 사라져가는 그런 추세 때문인지도 모르겠습니다. 어쩌면 다들 너무 마음이 바쁘기 때문일지도...
스크린캐스트는 몇분이 올려준 것을 제외하면 사실 처음 생각했던 것을 거의 진행하지 못했습니다. SpringOSGi/DM을 주제로 잡고, 일단 IBM DW에 유료(하지만 그쪽 정책에 따라 시간은 짧은 심플한) 버전을 올려서, 툴이나 운영비를 위한 수익을 만들고, 바로 뒤이어 KSUG에 길고 충분한 내용을 담은 풀 버전을 올리자는 것이 처음 계획이었습니다. 물론 못했죠. IBM DW에만 좋은 것을 제공하고 끝났습니다. 물론 순서대로 보면 안녕회 회장이 먼저 시리즈를 시작해야 하기 때문에 뒤를 따라야 하는 저는 시작도 못했다고 변명할 수 있습니다만, 어쨌든 게으름 내지는 무성의 함이 원인이었던 것 같습니다. 특히, 오프라인 세미나때 못했던 @MVC의 온라인 스크린캐스트 제공은, 별다른 관심도 받지 못한채로 그냥 흐지부지 되었습니다.
여러모로, KSUG의 올 한해는 아쉬움이 많이 남습니다. 스프링 보급이나 홍보의 시대는 지났고, 진정으로 스프링을 사용하는 사람들끼리 효과적인 교류를 가지자는 취지의 KSUG가 그냥 가까운 몇 사람들과의 친목을 다지는 수준에서 머물른 것이 아닌가 하는 아쉬움이 큽니다. 물론 KSUG를 통해서 본격적으로 등장하신 여러 분들이 있다는 면에서 보람도 있긴합니다만... 지켜지지 않는 약속을 남발한, 저를 포함한 운영진의 반성이 필히 요구되는 한해였습니다.
nhn과의 후원관계에 대한 상호 오해에서 일어난 사건은 가장 씁쓸한 기억으로 남습니다.
3. 애니프레임과 기업의 기술공개
애니프레임에 대해서는 사실 아쉬움은 없습니다. 기술적인 아쉬움이야 일정 부분 있을 수 있겠습니다만, 현장에서의 치열한 논쟁과 부딫침 속에서 어쨌든 만들어지고 사용되어진 제품을 오픈소스 프로젝트로 공개했다는 점에서 일단 90점을 먹고 들어가기에 애니프레임 공개은 2008년 스프링관련 최고의 사건이 아니었나 생각합니다. 사실 애니프레임의 공개를 바라보면서 기대했던 것은 다른 경쟁 기업이나 대형업체들이 자신들의 애플리케이션 프레임워크나 플랫폼을 덩달아 공개하지 않을까 하는 것이었습니다. 여기저기서 SDS의 그런 깜짝 공개에 놀라서, 자신들의 프레임워크도 공개하려고 추진한다는 소식도 들어왔습니다만, 작년 말까지 별다른 공개는 없었습니다. 그런면에서 애니프레임은 여전히 독보적입니다. 하지만, 스프링관련 프레임워크의 공개를 통한 경쟁과 상호발전을 기대했던 분들에게는 여전히 아쉬움이 남습니다. 세계적으로도 기업의 표준 프레임워크가 오픈소스로 공개된 예는 거의 없습니다. 스프링소스가 보유하고 있는 ROO도 몇년째 비공개 상태죠. 사실 뒤를 이어서 기선님이 주도해서 OSAF2.0의 마일스톤 버전이 공개됐습니다만, 정말 아무런 관심도 못끌고 잊혀져버렸습니다.
애니프레임과 관련해서 주변의 KSUG멤버들의 모습을 관찰해 본 결과, 대부분은 애니프레임을 제대로 공부하거나 사용해보지 않고, 겉으로 나타난 몇가지 사실만 가지고 그냥 비판만 하기에 급급하더군요. 엔지니어로서 참 안좋은 태도였던 것 같습니다. 좀 더 진지하게 공개된 오픈소스 프로젝트에 대해서 살펴보고, 부족한 부분은 제안하고, 기여하려는 마음을 가진 개발자들이 없다면, 앞으로 어떤 기업에서 어떤 프로젝트가 공개된다 할지라도 별 의미가 없지 않을까 하는 생각이 들기도 했습니다.
4. OSGi/SpringDM
1.0정식버전이 공개가 된 SpringDM이 2008년의 아쉬움의 4위입니다. 솔직히 SpringDM1.0은 1.0이 아닙니다. 적어도 엔터프라이즈 개발에서의 OSGi 적용을 명분으로 둔 SpringDM이라면 웹을 포함한 full layer의 지원을 완성하고 1.0을 릴리스했어야 한다고 생각됩니다. 하지만 1.0은 SpringMVC나 Web레이어의 지원이 없는 채로 공개되었고, 현재 1.2마일스톤 버전이 나온 지금도 아직 그 부분에서의 지원은 완벽하다고 보여지지 않습니다. 물론 기술적으로는 충분한 제공이 되긴 했지만, 부족한 문서나 샘플도 그렇고, SpringIDE에 통합되지 않은 면도 그렇고, 아직도 많은 이슈를 남겼다는 면에서 SpringDM이 진정한 OS-JEE-i를 위한 기술로 자리 잡기에는 아직도 한계가 있어 보입니다. 그 와중에 tomcat과 결합해서 손쉽게 OSGi 애플리케이션을 서버환경에서 사용하게 만들어주는 SpringDMServer가 공개되었습니다. 역시 1.0이 공개되긴 했지만, 아직도 현장에서 사용하기에는 한참 부족합니다. 핵심은 구현은 되었다고 보이지만, 사용의 편의성도 불편하고, 아직 계획만 되어있고 만들어지지 않은 기능도 엄청납니다(Rop Harrop의 키노트 발표에 보면 한 50가지 정도가 남았더군요...).
플랫폼의 변경이라는 이 커다란 변화가 쉽게 오리라고 생각하지는 않지만, 수많은 기업들이 OSGi에 뛰어들고 매진하고 있는 마당에 가장 앞서있다고 하는 SpringDM과 관련 기술이 이 정도 레벨에서 머물고 빠르게 발전하지 못하고 있는 것은 아쉬움입니다. 그나마 좋은 소식은 SpringDM 2가 OSGi의 엔터프라이즈 컴포넌트 기술의 차기 표준이 되었다는 점인데.. 그부분에 SpringDM개발팀의 여력이 많이 뺐긴 것은 아닌지 하는 의심도 좀 들긴합니다.
5. 준비안된 스프링의 도입열풍
스프링이 이제 메인스트림 기술로 완전히 자리잡은 듯 합니다. 국내의 보수적인 대형 SI들이 적극 사용하거나, 사용을 고려하고 있다는 면에서 이미 충분히 주류기술이 된 것처럼 보입니다. 하지만 이런 열기 속에서 정작 스프링을 스프링 답게 사용하지 못하는 모습이 자주 눈에 띕니다. 스프링을 2주 공부하고 책에 나온 예제 정도 배낀후, 자신이 이전에 개발하던 스타일로 나머지는 멋대로 떡칠한 코드를 가지고 고급 스프링 컨설턴트로 현장에 들어가는 사람들을 본적이 있습니다. 스프링을 도입했지만 귀찮게 새로운 기술을 공부해야 했던 것 말고 뭐가 좋은지 모르겠다는 현장의 푸념도 들려옵니다. 살펴보면 스프링을 그저 가져다 넣기만 했지, 스프링의 기본적인 개발철학조차도 이해못한 채로 엉망으로 사용을 한 경우들입니다. 주위에 그런 얘기가 너무 많이 들려옵니다. 시중에 공개된 스프링책의 어떤 것도 스프링의 진정학 개발원리와 철학, 목표를 얘기해주고 있지 못합니다. 스프링을 그저, 가져다가 넣고 예제 몇개 살펴보고, 샘플 카피해서 사용하면 되는 툴로 이해하는 경우도 많이 보았습니다. 그런 준비안된 스프링 도입, 무비판적인 수용이 결국 스프링에 대한 반감을 많이 키우기도 해서인지, 최근에는 스프링을 도입하는 것을 "감정적으로" 꺼려하는 사람들의 이야기도 들었습니다.
기술적으로 보자면, 애플릿을 제외하면 자바에서 스프링을 도입하지 않을 곳이 없다고 생각합니다. 하지만, 기술적인 적합성만으로 무엇이든 가져다 사용할 수 없는 것이 현장의 현실입니다. 충분한 학습과 전략수립 없이 사용해봐야 큰 효과를 못보는 것이 스프링입니다. 그런면에서 과열된 스프링의 인기는, 얼마 지나지 않아서 스프링에 대한 거부감 내지는 오해를 크게 불러오지 않을까 하는 우려를 낳게 합니다.
그러면에서 좋은 스프링의 교육과 가이드 서적, 안내들이 아쉬웠던 2008년 이었습니다.
다음은 내년의 스프링관련 기대종목을 꼽아봅니다.
1. Spring 3.0
누가 뭐래도 내년 스프링관련 가장 큰 소식은 Spring3.0의 발표입니다. 스프링이 처음으로 크게 진화하고 변화한 모습을 보여주는 것이 바로 3.0입니다. 지겹게 끌고 다녔던 JDK1.4도 이제 EOSL되버렸고, 스프링도 과감하게 Java5+로 변신합니다. 그동안 오래 지연했던 애노테이션의 도입도, 2.5에서 본격적으로 사용하기 시작하면서 3.0에서는 거의 애노테이션 만으로 기존의 XML에서 했던 것을 대부분 수용할 수 있는 단계로까지 발전합니다.
물론 이전 버전과의 API레벨에서의 완벽한 호환은 보장합니다. 이전 설정방법도 당연히 보존됩니다. 하지만 Controller 계층구조가 deprecate되버리는 과감한 변신이 들어갑니다. 또 웹과 관련된 부분이 대폭 지원이 되며, SWF와 JavaConfig이 core에 대거 합병되버립니다. 릴리스 일정은 아직은 올 4월입니다.
2. SpringDMServer
SpringDM/OSGi의 성공여부는 SpringDM Server에 달려있다고 생각해도 좋을 정도로 서버환경의 중요성은 매우 높습니다. 친절한 WAS가 없고 버그 투성이던 시절에의 악몽이 다시 되풀이 된다면 누구도 OSGi로 갈아타려고 하지 않을 것 같습니다. STS가 툴에서의 지원을 완벽하게 해주고, SpringDMServer가 서버로서의 안정성을 보장해 준다면, SpringDM 방식의 개발이 본격화 되지 않을까 싶습니다. 동시에 관련 서적도 빨리 등장하면 좋겠다는 기대를 해봅니다. 국내에 SpringDM 서적을 출간하려고 진행하는 분이 있다는 소식을 들었는데... 과연 어떤 내용일지 기대반 우려반입니다.
3. SpringBatch 2.0
스프링배치의 약진이 놀랍습니다. 이토록 빨리, 스프링관련 기술이 현장에 보급이 된 예는 batch말고는 없었던 것 같습니다. 그만큼 현장의 수요가 많고, 필요성이 높다는 것을 알 수 있는 것 같습니다. 누군가 배치 개발은 SI의 꽃이다라고 했던 것 같은데, 최초의 배치 프레임워크라는 캐치프레이즈와 함께 등장한 스프링배치가 그동안 빠르고 많은 변화를 거쳐서 본격적인 2.0시대로 들어갑니다. 액센추어라는 세계최고의 SI업체와의 합작으로 발전하고 있는 스프링배치 프로젝트가 좋은 결과를 가져와서, 대형 IT업체가 오픈소스 발전에 깊이있게 관여하는 것이 더욱 많아질 것을 기대해봅니다.
4. 스프링 스터디와 교육
KSUG에서 만남을 통해서 시작된 스프링관련 스터디 그룹(http://springstudyclub.tistory.com/)의 활동이 안정적인 단계에 다다른 것 같습니다. 사용자의 교류중 가장 깊이있게 지속될 수 있는게 있다면 바로 스터디그룹입니다. 하지만 바쁜 일정과 참여자의 선지식의 격차, 경험의 차이가 가져오는 한계가 있을 텐데 그것을 어떻게 잘 극복하고 효과적인 스터디 문화를 만들어 나갈지 주목해 볼만합니다. 다음 스터디 기수의 주제는 TDD라고 합니다. 스프링 스터디인데 왠 TDD? 라고 생각할지 모르겠지만, TDD는 아주 좋은 스프링스터디의 주제라고 생각합니다. 러퍼런스 매뉴얼과 책에 다 나와있는 내용을 그저 반복해서 나누는 것이 스터디가 아니라, 참여자 스스로 고민하고 발전할 수 있는 기회를 가지는 것이 스터디의 바른 모습이라고 보입니다. 더군다나 테스팅은 스프링의 백미입니다. 테스트없는 스프링은 상상도 할 수 없고, 스프링 없는 TDD 또한 생각하기도 끔찍합니다.
동시에 스프링과 관련된 고급레벨의 좋은 교육프로그램이 많이 등장하기를 기대해봅니다. 애니프레임과 같은 스프링을 적용한 실용제품에 대한 교육도 좋고, 스프링을 알고 사용하기는 하지만 스프링의 철학과 전략을 깊이 이해하기를 원하는 사람들을 위한 중고급 레벨의 교육도 등장할 때가 아닌가 생각이 됩니다. 개인적으로 생각하고 있는 것이 있기는 한데, 여러가지 여건상 때가 되면 공개를 해보겠습니다.
5. 스프링 서적
이건 순전히 개인적인 기대입니다만.. 올해는 스프링의 철학과 개념에 충실하면서, 스프링의 다양성을 이해하고 전략적인 접근을 할 수 있도록 도와주는 멋진 책이 출간될 것 같습니다. :)
기타 탈락한 후보들...
- Grails : 다른 분들의 기대와 다르게 저는 Grails가 올해 크게 주목받을 기술이라고 생각하지 않습니다. 물론 Grails가 얼마나 뛰어난 제품이고 스프링과 잘 접목된다는 것을 알지만, 언어가 바뀐 다는 것이 주는 갭은 생각보다 크고, 그것을 뛰어넘기에는 아직은 충분한 준비가 되어있지 않습니다. 그런면에서 Grails는 찻잔 속의 돌풍으로 끝나지 않을까 하는 우려가 있습니다. RoR조차도 기대와 다르게 확산되고 있지 못하는게 현실이죠.
Grails가 성공하려면 Groovy라는 언어가 먼저 빠르게 자바 개발자들에게 확신이 되는 것이 우선이라고 봅니다. 또한 현재는 형편없는 툴의 지원이 확실하게 발전해야 하겠죠. 그만큼의 발전이 빠르게 일어날 수 있을 만큼의 커뮤니티가 형성되는 것이 관건으로 보입니다. 오라클이 Grails를 지원하겠다는 발표를 했다고 하는데.. 글세요.
- KSUG: 큰 변화는 없을 것이라고 생각됩니다. 웨비나 얘기가 오고 가기는 하는데, 비용문제도 그렇고 헌신적으로 발표할 사람도 그렇고, 사실 아직은 부정적입니다. 그래도 포럼이 서서히 알려지고 커뮤니티로서의 기능은 꾸준히 올라갈 것 같습니다.
휴.. 이제 끌입니다.
1. 스프링소스
로드존슨이 프리랜서 시절부터 사용하던 회사명인 Interface21을 SpringSource라고 바꾸고 재작년과 작년에 두번에 걸처서 VC로부터 큰 투자를 받았습니다. 투자사가 돈을 낼 때는 큰 수익을 기대하고 있는 것이고, 대부분 기업의 수익을 통한 배당보다는 IPO나 대형 기업에 인수되어져서 큰 차익을 얻는 것이 목표입니다. 그런면에서 VC에 투자를 받은 기업이 망하지 않고 버틴다면 언젠가 JBoss, MySQL 등과 같이 합병되거나 RedHat처럼 상장을 해야합니다. 오픈소스제품을 기반으로 한 비즈니스라는 가장 힘들고 도전적인 일을 시작한 스프링개발자들도 같은 선택을 해야했고, 그 과정에서 VC의 투자는 필수적이지요. 문제는 VC의 투자 이후에 상당한 경영상의 태클이 들어온다는 것입니다. JBoss가 VC투자 이후에 Apache의 Geronimo개발팀이 JBoss코드 일부를 무단 사용했다고, 변호사를 통해서 경고서한을 보낸 것은 충격적인 일이었습니다. 오픈소스라고 해도 저작권이 있고, 지켜야 할 라이선스 조항이 있다는 것은 알고 있지만, 그렇게 거칠고 딱딱한 방법을 동원해야했나는 생각이 들어서 JBoss에 한참 정이 떨어지기도 했죠. 원인은 VC로부터의 압박이 아니었을까 생각했습니다. 마찬가지로 스프링소스 또한 VC의 투자를 받고 덩치를 키우고 관련업체들을 인수하기 시작하면서부터 VC로부터 많은 압박을 받았을게 분명합니다. 가장 중요한 것은 상장이든 인수든, 그에 필요로 하는 성장하는 수익구조를 가지고 있어야 한다는 것이죠. 스프링소스의 컨설턴트들이 스프링을 사용하는 각국의 대형프로젝트에 가서 컨설팅을 하고 그로부터 댓가를 받는 것으로는 규모를 무한하게 키우지 않는 한 큰 이익을 내기 힘듭니다. 몇년전 ThoughtWorks가 상당히 성공한 최신 IT컨설팅업체임에도 상장할만큼의 성공적인 수익을 내지 못해서, 초기 투자자들이 투자비를 회수한다고 난리를 쳤다는 얘기를 듣기도 했지요. 스프링 소스는 그에 비하면 아직 작은 업체입니다. 그렇다고 무작정 컨설턴트 숫자를 늘리면 질은 떨어지겠지요. 결국 선택은 상용제품과 지속적인 서비스를 판매하는 것입니다. 그래서 등장한 것이 Spring Tool Suite을 비롯한 Spring Enterprise입니다. 또 service subscription을 판매하는 것을 통해서 안정적인 수입을 만들어 내는 것입니다. 로드 존슨이 재작년 TSE에서 앞으로 스프링 소스의 주력 마케팅 타겟은 포츈500 기업이라고 얘기했습니다. 그를 위해서 본부를 실리콘벨리로 옮기고 로드 존슨은 주로 그 오피스에서 일을 하고 있죠. 문제는 오픈소스가 아무리 성공적으로 도입되었다고 한들, 모든 기업이 다 그 개발업체에게 상용 서비스를 받으려하지 않는 다는 것이죠. JBoss가 전체 WAS순위 4위인가 하던데.. JBoss를 도입한 업체 중, 상용 서비스를 받고 있는 곳은 7% 정도라는 얘기를 들은 적이 있습니다. 상용서버라면 아마도 90% 이상이겠죠(기한이 지나서 서비스를 갱신 안하는 곳정도를 제외하면..). 기본적인 라이선스 비용도 없는데다, 상용서비스의 비율도 사실 매우 작기 때문에 단순하게 오픈소스공개 후 상용서비스라는 공식은 사실상 이미 실패한 것이나 다름없습니다. 그래서 뭔가 오픈소스에는 없는 부가기능과 가치를 가지는 전용제품이 필요한 것이고, 그것이 바로 Spring Enterprise입니다. 과연 얼마나 많은 기업이 스프링소스로부터 서비스를 받고 있을까요? 잘 모르겠습니다만, 생각보다 그리 많지는 않아보입니다. STS같은 경우는 개인적인 사용만 무료로 허용되어있지만, 사실 회사에서도 그냥 다 쓰지요. 왠만한 기술적인 질문은 자체적인 온라인 커뮤니티나 수많은 공개된 자료에서 답을 찾을 수 있습니다. 요청하면 로드 존슨이 달려와서 해주는게 아니라면 구지 돈을 주고 조금 더 전문적인 서비스를 받을만한 절박함이 없습니다. 또 기술력이 있는 대형기업이라면 스스로 스프링을 개선하고 확장해서 사용합니다. TSE등에서 사례발표를 한 많은 대형 금융기관이나 LInkedIn등의 적용사례를 보면, 자체적인 기술력으로 스프링을 얼마든지 편리하게 사용하도록 개선하고, 관련 툴을 만들어서 적용하고 있습니다. 아직까지 스프링소스가 제공하는 상용제품과 서비스가 그런 업체들에게 줄 수 있는 특별한 부가가치가 없어보입니다. 반면에 보수적이고 덩치가 큰 기업은 안정적이고 지속적인 서포트가 관건입니다. 스프링이 구버전 호환성이 뛰어나다고 해도 구지 꼭 필요하지 않으면 신규버전으로 업그레이드 안하는 것이 보수적인 기술정책을 가진 회사들의 사고방식입니다. 얼마전까지 Spring1.x를 고집했던 atlassian과 같은 ISV도 마찬가지지요. 그러기 위해서 구버전의 지속적인 유지보수가 보장되야 하는데, 각 브랜치를 계속 디버깅하고 관리한다는 것은 오픈소스 개발업체로는 큰 부담입니다. 그만큼의 보상이 필요하죠. 그래서 스프링소스가 올해 큰 악수를 하나 둡니다. 바로 유지보수정책의 변화이죠. 구버전도 3년간 유지보수 버전을 제공하지만, 바이너리 릴리스는 상용서비스 업체에만 제공하고 오픈소스로는 맨 프로젝트 소스만 제공한다는 것이죠. 어떻게 생각하면, 상용서비스를 받는 업체에게는 그만큼의 만족감을 주고, 오픈소스로 찾는 이들에게는 조금의 수고만으로 더 안정적인 유지보수 서비스를 제공한다는 면에서 사실 윈-윈하는 정책이었습니다. 하지만, 스프링소스의 정책의 변화에 대한 친절한 홍보 부족과 스프링을 시기하는 인간들의 비열한 공격으로 스프링소스의 정체을 오해한 많은 개발자들이 생겨났고, 상처 받은 스프링의 신뢰를 회복하느라 로드 존슨이 꽤 땀을 빼야 했습니다. 연말에 열린 S1A에서 느낀 점은 그런면에서 스프링소스의 긴장감을 잘 보여줍니다. 이전과 다르게 딱딱해진 컨퍼런스도 그랬고, 많은 참석자들이 "왜 돈을 내고 와서 마케팅 발표를 들어야 하는지 모르겠다"는 푸념도 참 안타까웠습니다. 그들의 열정과, 오픈소스와 비즈니스를 동시에 지켜야 하는 현실적인 고민, 그리고 최선의 정책도 다 이해합니다만... 개발자들은 그렇게 이해심많고 착하지만은 않으니 걱정이지요.
고군분투하는 스프링소스의 비즈니스와 그에 휘둘릴지도 모르는 오픈소스 스프링을 올해의 안타까웠던 스프링관련 첫번째로 꼽습니다.
2. KSUG
KSUG는 스프링사용자들의 만남을 명분으로 한, 공개세미나 팀이었죠. 그러다 오프라인의 한계를 넘기 위해, 또 오프라인 행사준비에 점점 한계를 느끼는 운영팀의 이런 저런 핑계 때문에 올해 온라인 커뮤니티로 변신을 꾀했습니다. 원래 목표는 포럼과 블로그, 그리고 스크린캐스트의 활성화였죠. 포럼은 그럭저럭 자리를 잡고, 한동안 스프링관련 좋은 토론과 질의응답이 이어졌습니다만, 홍보의 부족으로 아직도 대부분의 스프링개발자들은 이런 공간이 있는 줄도 모르고 있는 상황이고, 쉽고 편하게 질문과 생각을 나누기에는 아직 분위기가 그렇게 잘 형성되어있지 않습니다. 반쯤의 성공이라고 봐야 할까요.
KSUG블로그는 새로운 필진의 등장으로 좋은 글들이 많이 올라옴에도 불구하고 역시 홍보의 문제 때문인지 방문자가 적고, 올라오는 글에 대한 포럼에서의 피드백과 토론이라는 기대에는 거의 부합하지 못하고 있습니다. 주제의 어려움도 한 이유이고, 근본적으로 온라인에서의 기술적인 토론이 점점 사라져가는 그런 추세 때문인지도 모르겠습니다. 어쩌면 다들 너무 마음이 바쁘기 때문일지도...
스크린캐스트는 몇분이 올려준 것을 제외하면 사실 처음 생각했던 것을 거의 진행하지 못했습니다. SpringOSGi/DM을 주제로 잡고, 일단 IBM DW에 유료(하지만 그쪽 정책에 따라 시간은 짧은 심플한) 버전을 올려서, 툴이나 운영비를 위한 수익을 만들고, 바로 뒤이어 KSUG에 길고 충분한 내용을 담은 풀 버전을 올리자는 것이 처음 계획이었습니다. 물론 못했죠. IBM DW에만 좋은 것을 제공하고 끝났습니다. 물론 순서대로 보면 안녕회 회장이 먼저 시리즈를 시작해야 하기 때문에 뒤를 따라야 하는 저는 시작도 못했다고 변명할 수 있습니다만, 어쨌든 게으름 내지는 무성의 함이 원인이었던 것 같습니다. 특히, 오프라인 세미나때 못했던 @MVC의 온라인 스크린캐스트 제공은, 별다른 관심도 받지 못한채로 그냥 흐지부지 되었습니다.
여러모로, KSUG의 올 한해는 아쉬움이 많이 남습니다. 스프링 보급이나 홍보의 시대는 지났고, 진정으로 스프링을 사용하는 사람들끼리 효과적인 교류를 가지자는 취지의 KSUG가 그냥 가까운 몇 사람들과의 친목을 다지는 수준에서 머물른 것이 아닌가 하는 아쉬움이 큽니다. 물론 KSUG를 통해서 본격적으로 등장하신 여러 분들이 있다는 면에서 보람도 있긴합니다만... 지켜지지 않는 약속을 남발한, 저를 포함한 운영진의 반성이 필히 요구되는 한해였습니다.
nhn과의 후원관계에 대한 상호 오해에서 일어난 사건은 가장 씁쓸한 기억으로 남습니다.
3. 애니프레임과 기업의 기술공개
애니프레임에 대해서는 사실 아쉬움은 없습니다. 기술적인 아쉬움이야 일정 부분 있을 수 있겠습니다만, 현장에서의 치열한 논쟁과 부딫침 속에서 어쨌든 만들어지고 사용되어진 제품을 오픈소스 프로젝트로 공개했다는 점에서 일단 90점을 먹고 들어가기에 애니프레임 공개은 2008년 스프링관련 최고의 사건이 아니었나 생각합니다. 사실 애니프레임의 공개를 바라보면서 기대했던 것은 다른 경쟁 기업이나 대형업체들이 자신들의 애플리케이션 프레임워크나 플랫폼을 덩달아 공개하지 않을까 하는 것이었습니다. 여기저기서 SDS의 그런 깜짝 공개에 놀라서, 자신들의 프레임워크도 공개하려고 추진한다는 소식도 들어왔습니다만, 작년 말까지 별다른 공개는 없었습니다. 그런면에서 애니프레임은 여전히 독보적입니다. 하지만, 스프링관련 프레임워크의 공개를 통한 경쟁과 상호발전을 기대했던 분들에게는 여전히 아쉬움이 남습니다. 세계적으로도 기업의 표준 프레임워크가 오픈소스로 공개된 예는 거의 없습니다. 스프링소스가 보유하고 있는 ROO도 몇년째 비공개 상태죠. 사실 뒤를 이어서 기선님이 주도해서 OSAF2.0의 마일스톤 버전이 공개됐습니다만, 정말 아무런 관심도 못끌고 잊혀져버렸습니다.
애니프레임과 관련해서 주변의 KSUG멤버들의 모습을 관찰해 본 결과, 대부분은 애니프레임을 제대로 공부하거나 사용해보지 않고, 겉으로 나타난 몇가지 사실만 가지고 그냥 비판만 하기에 급급하더군요. 엔지니어로서 참 안좋은 태도였던 것 같습니다. 좀 더 진지하게 공개된 오픈소스 프로젝트에 대해서 살펴보고, 부족한 부분은 제안하고, 기여하려는 마음을 가진 개발자들이 없다면, 앞으로 어떤 기업에서 어떤 프로젝트가 공개된다 할지라도 별 의미가 없지 않을까 하는 생각이 들기도 했습니다.
4. OSGi/SpringDM
1.0정식버전이 공개가 된 SpringDM이 2008년의 아쉬움의 4위입니다. 솔직히 SpringDM1.0은 1.0이 아닙니다. 적어도 엔터프라이즈 개발에서의 OSGi 적용을 명분으로 둔 SpringDM이라면 웹을 포함한 full layer의 지원을 완성하고 1.0을 릴리스했어야 한다고 생각됩니다. 하지만 1.0은 SpringMVC나 Web레이어의 지원이 없는 채로 공개되었고, 현재 1.2마일스톤 버전이 나온 지금도 아직 그 부분에서의 지원은 완벽하다고 보여지지 않습니다. 물론 기술적으로는 충분한 제공이 되긴 했지만, 부족한 문서나 샘플도 그렇고, SpringIDE에 통합되지 않은 면도 그렇고, 아직도 많은 이슈를 남겼다는 면에서 SpringDM이 진정한 OS-JEE-i를 위한 기술로 자리 잡기에는 아직도 한계가 있어 보입니다. 그 와중에 tomcat과 결합해서 손쉽게 OSGi 애플리케이션을 서버환경에서 사용하게 만들어주는 SpringDMServer가 공개되었습니다. 역시 1.0이 공개되긴 했지만, 아직도 현장에서 사용하기에는 한참 부족합니다. 핵심은 구현은 되었다고 보이지만, 사용의 편의성도 불편하고, 아직 계획만 되어있고 만들어지지 않은 기능도 엄청납니다(Rop Harrop의 키노트 발표에 보면 한 50가지 정도가 남았더군요...).
플랫폼의 변경이라는 이 커다란 변화가 쉽게 오리라고 생각하지는 않지만, 수많은 기업들이 OSGi에 뛰어들고 매진하고 있는 마당에 가장 앞서있다고 하는 SpringDM과 관련 기술이 이 정도 레벨에서 머물고 빠르게 발전하지 못하고 있는 것은 아쉬움입니다. 그나마 좋은 소식은 SpringDM 2가 OSGi의 엔터프라이즈 컴포넌트 기술의 차기 표준이 되었다는 점인데.. 그부분에 SpringDM개발팀의 여력이 많이 뺐긴 것은 아닌지 하는 의심도 좀 들긴합니다.
5. 준비안된 스프링의 도입열풍
스프링이 이제 메인스트림 기술로 완전히 자리잡은 듯 합니다. 국내의 보수적인 대형 SI들이 적극 사용하거나, 사용을 고려하고 있다는 면에서 이미 충분히 주류기술이 된 것처럼 보입니다. 하지만 이런 열기 속에서 정작 스프링을 스프링 답게 사용하지 못하는 모습이 자주 눈에 띕니다. 스프링을 2주 공부하고 책에 나온 예제 정도 배낀후, 자신이 이전에 개발하던 스타일로 나머지는 멋대로 떡칠한 코드를 가지고 고급 스프링 컨설턴트로 현장에 들어가는 사람들을 본적이 있습니다. 스프링을 도입했지만 귀찮게 새로운 기술을 공부해야 했던 것 말고 뭐가 좋은지 모르겠다는 현장의 푸념도 들려옵니다. 살펴보면 스프링을 그저 가져다 넣기만 했지, 스프링의 기본적인 개발철학조차도 이해못한 채로 엉망으로 사용을 한 경우들입니다. 주위에 그런 얘기가 너무 많이 들려옵니다. 시중에 공개된 스프링책의 어떤 것도 스프링의 진정학 개발원리와 철학, 목표를 얘기해주고 있지 못합니다. 스프링을 그저, 가져다가 넣고 예제 몇개 살펴보고, 샘플 카피해서 사용하면 되는 툴로 이해하는 경우도 많이 보았습니다. 그런 준비안된 스프링 도입, 무비판적인 수용이 결국 스프링에 대한 반감을 많이 키우기도 해서인지, 최근에는 스프링을 도입하는 것을 "감정적으로" 꺼려하는 사람들의 이야기도 들었습니다.
기술적으로 보자면, 애플릿을 제외하면 자바에서 스프링을 도입하지 않을 곳이 없다고 생각합니다. 하지만, 기술적인 적합성만으로 무엇이든 가져다 사용할 수 없는 것이 현장의 현실입니다. 충분한 학습과 전략수립 없이 사용해봐야 큰 효과를 못보는 것이 스프링입니다. 그런면에서 과열된 스프링의 인기는, 얼마 지나지 않아서 스프링에 대한 거부감 내지는 오해를 크게 불러오지 않을까 하는 우려를 낳게 합니다.
그러면에서 좋은 스프링의 교육과 가이드 서적, 안내들이 아쉬웠던 2008년 이었습니다.
다음은 내년의 스프링관련 기대종목을 꼽아봅니다.
1. Spring 3.0
누가 뭐래도 내년 스프링관련 가장 큰 소식은 Spring3.0의 발표입니다. 스프링이 처음으로 크게 진화하고 변화한 모습을 보여주는 것이 바로 3.0입니다. 지겹게 끌고 다녔던 JDK1.4도 이제 EOSL되버렸고, 스프링도 과감하게 Java5+로 변신합니다. 그동안 오래 지연했던 애노테이션의 도입도, 2.5에서 본격적으로 사용하기 시작하면서 3.0에서는 거의 애노테이션 만으로 기존의 XML에서 했던 것을 대부분 수용할 수 있는 단계로까지 발전합니다.
물론 이전 버전과의 API레벨에서의 완벽한 호환은 보장합니다. 이전 설정방법도 당연히 보존됩니다. 하지만 Controller 계층구조가 deprecate되버리는 과감한 변신이 들어갑니다. 또 웹과 관련된 부분이 대폭 지원이 되며, SWF와 JavaConfig이 core에 대거 합병되버립니다. 릴리스 일정은 아직은 올 4월입니다.
2. SpringDMServer
SpringDM/OSGi의 성공여부는 SpringDM Server에 달려있다고 생각해도 좋을 정도로 서버환경의 중요성은 매우 높습니다. 친절한 WAS가 없고 버그 투성이던 시절에의 악몽이 다시 되풀이 된다면 누구도 OSGi로 갈아타려고 하지 않을 것 같습니다. STS가 툴에서의 지원을 완벽하게 해주고, SpringDMServer가 서버로서의 안정성을 보장해 준다면, SpringDM 방식의 개발이 본격화 되지 않을까 싶습니다. 동시에 관련 서적도 빨리 등장하면 좋겠다는 기대를 해봅니다. 국내에 SpringDM 서적을 출간하려고 진행하는 분이 있다는 소식을 들었는데... 과연 어떤 내용일지 기대반 우려반입니다.
3. SpringBatch 2.0
스프링배치의 약진이 놀랍습니다. 이토록 빨리, 스프링관련 기술이 현장에 보급이 된 예는 batch말고는 없었던 것 같습니다. 그만큼 현장의 수요가 많고, 필요성이 높다는 것을 알 수 있는 것 같습니다. 누군가 배치 개발은 SI의 꽃이다라고 했던 것 같은데, 최초의 배치 프레임워크라는 캐치프레이즈와 함께 등장한 스프링배치가 그동안 빠르고 많은 변화를 거쳐서 본격적인 2.0시대로 들어갑니다. 액센추어라는 세계최고의 SI업체와의 합작으로 발전하고 있는 스프링배치 프로젝트가 좋은 결과를 가져와서, 대형 IT업체가 오픈소스 발전에 깊이있게 관여하는 것이 더욱 많아질 것을 기대해봅니다.
4. 스프링 스터디와 교육
KSUG에서 만남을 통해서 시작된 스프링관련 스터디 그룹(http://springstudyclub.tistory.com/)의 활동이 안정적인 단계에 다다른 것 같습니다. 사용자의 교류중 가장 깊이있게 지속될 수 있는게 있다면 바로 스터디그룹입니다. 하지만 바쁜 일정과 참여자의 선지식의 격차, 경험의 차이가 가져오는 한계가 있을 텐데 그것을 어떻게 잘 극복하고 효과적인 스터디 문화를 만들어 나갈지 주목해 볼만합니다. 다음 스터디 기수의 주제는 TDD라고 합니다. 스프링 스터디인데 왠 TDD? 라고 생각할지 모르겠지만, TDD는 아주 좋은 스프링스터디의 주제라고 생각합니다. 러퍼런스 매뉴얼과 책에 다 나와있는 내용을 그저 반복해서 나누는 것이 스터디가 아니라, 참여자 스스로 고민하고 발전할 수 있는 기회를 가지는 것이 스터디의 바른 모습이라고 보입니다. 더군다나 테스팅은 스프링의 백미입니다. 테스트없는 스프링은 상상도 할 수 없고, 스프링 없는 TDD 또한 생각하기도 끔찍합니다.
동시에 스프링과 관련된 고급레벨의 좋은 교육프로그램이 많이 등장하기를 기대해봅니다. 애니프레임과 같은 스프링을 적용한 실용제품에 대한 교육도 좋고, 스프링을 알고 사용하기는 하지만 스프링의 철학과 전략을 깊이 이해하기를 원하는 사람들을 위한 중고급 레벨의 교육도 등장할 때가 아닌가 생각이 됩니다. 개인적으로 생각하고 있는 것이 있기는 한데, 여러가지 여건상 때가 되면 공개를 해보겠습니다.
5. 스프링 서적
이건 순전히 개인적인 기대입니다만.. 올해는 스프링의 철학과 개념에 충실하면서, 스프링의 다양성을 이해하고 전략적인 접근을 할 수 있도록 도와주는 멋진 책이 출간될 것 같습니다. :)
기타 탈락한 후보들...
- Grails : 다른 분들의 기대와 다르게 저는 Grails가 올해 크게 주목받을 기술이라고 생각하지 않습니다. 물론 Grails가 얼마나 뛰어난 제품이고 스프링과 잘 접목된다는 것을 알지만, 언어가 바뀐 다는 것이 주는 갭은 생각보다 크고, 그것을 뛰어넘기에는 아직은 충분한 준비가 되어있지 않습니다. 그런면에서 Grails는 찻잔 속의 돌풍으로 끝나지 않을까 하는 우려가 있습니다. RoR조차도 기대와 다르게 확산되고 있지 못하는게 현실이죠.
Grails가 성공하려면 Groovy라는 언어가 먼저 빠르게 자바 개발자들에게 확신이 되는 것이 우선이라고 봅니다. 또한 현재는 형편없는 툴의 지원이 확실하게 발전해야 하겠죠. 그만큼의 발전이 빠르게 일어날 수 있을 만큼의 커뮤니티가 형성되는 것이 관건으로 보입니다. 오라클이 Grails를 지원하겠다는 발표를 했다고 하는데.. 글세요.
- KSUG: 큰 변화는 없을 것이라고 생각됩니다. 웨비나 얘기가 오고 가기는 하는데, 비용문제도 그렇고 헌신적으로 발표할 사람도 그렇고, 사실 아직은 부정적입니다. 그래도 포럼이 서서히 알려지고 커뮤니티로서의 기능은 꾸준히 올라갈 것 같습니다.
휴.. 이제 끌입니다.
2008/06/27 20:57
JEE를 위한 최고의 OSGi 플랫폼 SpringSource Application Platform 한글 프로그래머 가이드
2008/06/27 20:57 in 토비Toby

SpringSource가 야심차게 내놓은 SpringSource Application Platform의 프로그래머 가이드 한글 편역본이 공개됐습니다. 찬욱님이 수고해주셨고요. 국내에도 OSGi기반의 JEE에 대한 인기가 날로 뜨거워져 가는 것 같습니다. 다음 달부터는 KSUG 안영회 대표가 코드네임 "OSGi는 안녕해"로 준비하고 있는 스크린캐스트 동영상 시리즈가 공개될 것입니다. OSGi의 기초개념부터 차근 차근 배우며, 하나씩 그대로 따라서 실습도 가능한 좋은 학습자료가 될 것입니다. 기대해 주세요.
백기선님이 제공해주신 Spring Dynamic Modules for OSGi(tm)의 레퍼런스 자료 편역본입니다. 편역이라고는 하지만 55페이가 넘는 많은 내용이 잘 정리되어있습니다. Spring을 이용한 OSGi기술에 관심있는 분들은 참조하시기 바랍니다. 이 문서는 상업적인 용도로 사용하지 않는다면 제한없이 사용 및 배포 가능합니다.
앞으로 KSUG의 주요 기술컨텐트 제작에 사용하려고 하는 스크린캐스트 기술에 대한 좋은 샘플을 소개합니다. 오래전에 OpenSeed에 공개됐던 김승권님 제작의 Hibernate와 OSAF(OpenSeed App. Framework)에 관한 내용입니다. 참고해서 보시면 앞으로 KSUG의 스크린캐스트가 어떤 스타일일지 대충 짐작하실 수 있을 것입니다.
더불어, 스크린캐스트에서 다룰만한 주제나 관심있는 내용 또는 스타일에 관한 아이디어를 공모합니다. 좋은 아이디어를 제공해 주신 분은 스크린캐스트 의 크레딧에 들어갈 thanks to 에 이름을 넣어드리독 하겠습니다. 아.. 물론 대표가 열심히 KSUG의 후원과 협찬을 위해서 발벗고 나서고 있으니 다른 선물도 드릴 것으로 기대합니다.
더불어 스크린캐스트 제작에 직접 참여하고 싶으시거나, KSUG에 스프링관련 글을 쓰고 싶으신 분이 있다면 언제든지 신청해주시기 바랍니다. 문은 활짝 열려있습니다.
더불어, 스크린캐스트에서 다룰만한 주제나 관심있는 내용 또는 스타일에 관한 아이디어를 공모합니다. 좋은 아이디어를 제공해 주신 분은 스크린캐스트 의 크레딧에 들어갈 thanks to 에 이름을 넣어드리독 하겠습니다. 아.. 물론 대표가 열심히 KSUG의 후원과 협찬을 위해서 발벗고 나서고 있으니 다른 선물도 드릴 것으로 기대합니다.
더불어 스크린캐스트 제작에 직접 참여하고 싶으시거나, KSUG에 스프링관련 글을 쓰고 싶으신 분이 있다면 언제든지 신청해주시기 바랍니다. 문은 활짝 열려있습니다.
작년 TSE에서 받은 Rod Johnson의 bobble head 인형. 저 유명한 포즈는 바로 스프링의 기원인 Expert One-on-One J2EE Design and Development의 표지사진이다. 책상 위에 있는 바로 그 빨간 책.

KSUG라는 이름을 달고 시간을 보낸지 일년이 넘게 시간이 흘렀다. 처음엔 실험적으로 시작했던 스프링 관련 비즈니스의 하나의 대외 활동으로 Epril세미나를 주최하면서 장난 비슷하게 우리도 한국스프링사용자모임 같은 것이 있어야 하지 않겠나 얘기했던 것이 발단이 되었다. 사실 springframework.org에 올라오는 여러나라의 스프링유저그룹의 소식을 보고 좀 부러웠는지도 모르겠다.
일년이 넘게 지난 지금 KSUG는 유명무실하게 별 활동 없이 폼나는 이름만 남아있는 상황이다. 별다른 오프라인 활동도, 온라인 활동도 없다. 많지는 않지만 외부의 지원도 받는 입장에서 KSUG의 공동설립자 겸 기술고문(별로 맘에 안드는데 영회가 일방적으로 지정해버렸다)이라는 타이틀이 사실 부끄러울 따름이다.
대표인 영회는 후원받은 서버에서 돌고 있는 KSUG의 워드프레스 블로그를 없애고, 티스토리로 이전시켜버렸다. 그러면서 한 말이 정곡을 찌른다. "생업으로 바빠죽겠는데, 설치형 블로그는 관리하기도 귀찮아서..."
이쯤에서 솔직하게 KSUG에 대한 나의 생각을 정리까지는 아니더라도 대충이라도 늘어놓기는 해야 할 것 같다.
먼저 커뮤니티에 대해서 생각해보자.
국내의 대표적인 자바관련 커뮤니티라고 주장하고 있는 JCO의 최신 소개를 한번 살펴보자.
사실 세번째 정의는 좀 이상한 것이 교류라는 것이 쌍방으로 움직이는 것인데 그것을 통해서 최신소식을 전달하겠다는 것이니 교류라기 보다는 "접촉" 내지는 "도움을 받아"라고 하는 것이 낫지 않을까 싶다. 어쩌면 "JCO의 대표진 또는 참가후원을 받는 사람들이 JavaOne에 다녀와서"라고 하는 것으로도 해석 해도 될지 모르겠다. 결국 최신 정보제공이니 첫번째 소개에 넣어도 무방하겠다.
그럼 결국 JCO의 존재 목적은 두가지 이다. 첫째는 기술정보제공 둘째는 회원(또는 회원단체)상호간의 교류지원.
JCO가 커뮤니티일 수있는 근거는 무엇인가?
기술정보제공을 하는 것이 커뮤니티인가? 일단 답을 하지말고, 다음으로 넘어가자.
회원간의 상호교류를 하도록 하는 것이 커뮤니티인가? 이에 대해서는 그렇다고 대답할 수 있다. (JCO가 실제 상호교류를 하게 해주는지에 대해서는 더 이상 얘기하지 말자) 커뮤니티의 핵심은 일단 "모인다"는 것이다. 원래 커뮤니티라는 말이 같은 지역에 사는 사람들이라는 뜻이니 일단 모인다는 것이 중요하다. 하지만 지리적으로 같은 위치에 있어서 커뮤니티가 되는 것은 아니다. 더 중요한 것은 공동의 관심사 또는 어떤 것을 가지고 있어야 한다. 그렇다면 공동의 관심만 가지고 모여있으면 커뮤니티가 되는 것인가?
아니다. 아닌 이유는 공동의 관심만 가지고는 지속적으로 모여있을 수 없기 때문이다. 그 안에 교류, 흐름이 있어야 한다. 그것이 기술정보이든, 인간관계의 발전이든, 비즈니스 네트워킹 형성이든, 돈 벌이든 상관없이 커뮤니티 구성원 상호간에 어떤 흐름이 필요한 것이다.
모든 관계는 mutual 하지 않으면 발전하지 않는다. 일방적인 관계는 지속될 수 없다.
다시 첫번째 정의로 돌아오자. 정보제공이 커뮤니티의 존재목적 내지는 존재근거가 될 수 있는가? 엄밀히 말해서 아니다. 아닌 이유는 정의가 애매하기 때문이다. 누가 정보를 제공하느냐가 문제라는 것이다. 커뮤니티의 운영진 또는 일부 정보제공자를 통해서 정보가 제공되어야 한다고 하면 일단 그것이 존재목적이 분명히 아니라고 얘기하고 싶다. 그것은 컨텐트 제공자이거나 다른 목적을 가진 존재여도 얼마든지 가능할 뿐더러, 커뮤니티라는 성격에 직접 부합되지 않기 때문이다. 커뮤니티는 mutual 해야 한다. 일방적인 흐름만 존재하는 커뮤니티는 더 이상 커뮤니티가 아니다. 진정한 커뮤니티는 구성원 상호간의 (좀 비율에 있어서 균형적이지 않더라도) 상호 흐름이 있어야 한다. 한쪽에서 정보를 제공하면, 다른 쪽에서 피드백이 오고, 또는 자신이 알고 있는 또 다른 정보를 꺼내놓아야 한다. 제공자이면서 수혜자여야만 커뮤니티로서 생명력이 있는 것이다.
한국의 수많은 온라인 기술 커뮤니티, 특히 자바커뮤니티들이 왜 대부분 퇴락의 길을 걷고 있는지, 유명무실한 단체가 되었는지 생각해보면 그 대답은 간단하다. 그 커뮤니티들은 언제부터인가 진정한 커뮤니티가 아니었기 때문이다.
사실 JCO의 첫번째 소개에 나온 정보제공은 사실 대부분의 커뮤니티에 꼭 필요하다. 이유는 간단하다. 공동의 관심사와 교류를 일으키게 해줄만한 스파크가 필요하기 때문이다. 모이게 하는 미끼, 낚시질이 필요하기 때문이다. 그렇기 때문에 일정기간 동안에는 또는 그 이후에도 운영진 내지는 커뮤니티를 활성화하고자하는 열성회원들을 통해서 자기희생적인 정보생성 내지는 공유의 수고가 반드시 필요하다. 사람은 같은 공간에 몰아넣고 함께 일을 시켜도 동기가 없으면 커뮤니티를 형성하지 않는다. 하물며 다른 곳에서 얼굴을 마주대할 일도 없이 모르게 살아가는 사람들에게 단지 같은 기술에 관심이 좀 있다고 해서 모여서 함께 자신의 것을 나누고, 열심히 활동하라는 것은 정말이지 기적이다. 따라서 누군가에게 감동을 줄 필요도 있고, 자극을 줄 필요도 있다. 그러기 위해서 하는 것이 바로 일정부분 책임감을 가지고 있는 사람들을 통한 일방적인 정보제공이다.
문제는 그 일방적인 정보제공은 오래가지 못한다는 것이다. 정말 희생적이거나 아니면 시간이 남아도는 사람이 아니고서는 지속적으로 별다른 댓가없이 정보를 생성해내고, 피드백도 거의 없는 활동을 한다는 것은 반쯤 미친 짓이기 때문이다.
그래서 초기의 그런 미끼성 정보제공이 어느 순간엔가 많은 사람들을 끌어모으고, 자기 것을 내놓게 하기 시작하고, 참여하게 하고, 관심을 가지게 하고, 열정을 불러 일으키기 시작하면 그때부터 진정한 커뮤니티로 변모하는 것이고, 그렇지 않으면 짧으면 몇달 길어야 1-2년 사이에 운영진은 지쳐떨어지고, 별다른 활동이 없는 유령커뮤니티로 전락하는 것이다. 이 부분에 관혀서는 국내 스프링 소개와 관련 커뮤니티 운영을 엄청난 열정을 가지고 해오다가 완전 탈진해서 뻗어버리고 지금은 재야로 숨어버린 물개가 산 증인이다. 옆에서 계속 지켜보면서 정말 대단한 열정을 가지고 있구나라고 존경스러운 눈으로 바라보았는데, 결국 자신을 홀랑 다 태워버리고 쓸쓸히 물러가버렸다.
장황하게 이런 커뮤니티론을 늘어놓는 이유는 간단하다.
KSUG가 바로 딱 그 상태에 들어가기 직전에 있기 때문이다. 영회나 나나 또 처음에 모였던 주도적인 사람들 대부분 그런 커뮤니티의 특성을 잘 알고 있는 사람들이다. 그래서 결과가 뻔한 온라인 커뮤니티는 하지 말자고 했다. 대신 해외의 각종 유저그룹들 처럼 정기적인 모임(meetup)을 가지고, 그 모임에 참석하게 유도할 만한 강의 내지는 세미나 등을 주최하고 그리고 그 모임을 통해서 버추얼한 커뮤니티를 형성해보자는 것이 나름 아이디어였다.
즉, 세미나는 미끼였고, 사실 그 전후의 만남을 통해서 스프링을 사용하는 개발자들의 친목 내지는 관계형성이 목적이었던 것이다. 그러다보면 온라인에서도 어떤 파생물이 나오지 않을까 생각한 것이다. 물론 순수하게 세미나를 통한 스프링의 소개나 정보제공도 중요한 측면으로 생각했다. 이제는 완전히 주류기술이 되었다지만, 작년 초만 해도 아직 스프링을 도입하기를 꺼려하거나 잘 모르는 사람들이 많이 있다고 생각했기 때문에, 스프링의 보급이라는 측면의 약간의 사명도 없었던 것은 아니다.
하지만 생각과 달리, meetup은 성공적이지 못했다. 세미나에는 많은 사람들이 왔지만, 모임 전후로의 상호교류는 거의 없었다. 뒷풀이가 있었지만 참석자는 적었고, 모여도 이미 아는 사람들이 대부분이었거나, 별다른 관계형성 내지는 상호간의 교류를 강하게 일으킬만한 기회도 거의 없었다.
결국 KSUG는 일년간 무료세미나(몇번 인쇄물을 돈을 받고 제공한 적은 있지만 개인 편의를 위한 실비제공이니만큼 유료라고 부르기는 어렵다) 주관단체 비슷하게 되어버렸고, 결국 일년만에 초기 모임을 주도하고 열심히 활동했던 자원봉사자들(커뮤니티 내에서 자봉이라는 말자체가 사실 우습긴하지만)과 운영진 모두가 지쳐버렸다.
올해들어 나는 다시 호주로 돌아오면서 사실상 KSUG에 속해있다고 말하기도 민망해진 상태다. ASUG로 가야하는게 아닌가 싶다. -_-; 대표인 영회도 점점 KSUG활동에 열정이 식어갔다. 나름 자신의 비즈니스와 연관시켜서 무엇인가 큰 그림을 그리는가 싶더니, 이내 "생업"에 바쁜 나머지 그나마도 별 진척된게 없다.
결국 올해는 한두차례 세미나와 기업의 후원을 빠방하게 받아서 컨퍼런스를 열자는 아이디어를 꺼내놓기만 한 상태로 여기까지 왔다. 그나마도 실현 가능성은 그렇게 많아보이지는 않는다.
잠깐 JCO의 이야기로 돌아가서, JCO홈페이지의 첫 페이지에 나와있는 깔끔한 소개와 달리 About-목적 메뉴로 들어가면 얼토당토 않게도 "한국자바개발자컨퍼런스"가 떡하니 나온다. 웹마스터의 실수가 아니라면(실수가 몇년씩 갈리도 없고), 이 것을 보면 사실 JCO의 목적은 "컨퍼런스" 주관이다. 솔직이 말해서 별다른 온라인 커뮤니티성 활동이 없는 JCO의 존재가치는 사실 JCO컨퍼런스인 것이 사실이다. 그런 대형 컨퍼런스 하나(또는 두개)를 잘 주관하는 것만으로도 사실 JCO의 존재의미는 충분하다고 본다.
한동안 JCO는 커뮤니티라면서, 컨퍼런스만 하고 막상 온라인 커뮤니티활동(또는 지원)은 없이 뭘하는 거냐는 이야기도 적지 않았다. 하지만 KSUG도 이제 별 다를바 없을지도 모르겠다.
KSUG가 국내의 스프링 개발자들의 교류와 정보나눔을 위한 커뮤니티로서의 자리매김은 지금까지는 완전히 실패했다. 누구도 스프링하면 KSUG를 찾아라라는 얘기를 하지 않는다. 온라인의 활동, 나눔공간이 전혀 없기 때문이다. 오프라인 세미나도 이전처럼 진행될 가능성은 거의 없다. 나는 일년에 한두차례 한국을 방문하는 것이 전부일 것이고 그때마다 세미나를 진행하거나 컨퍼런스에서 (만약 개최된다면) 발표를 할 수는 있겠지만 그게 전부이거나 아니면 그나마도 못할지 모른다. 그 외에 다른 발표자들이 계속 나서서 세미나를 유지할 수도 있겠지만, 현재로서는 대표인 영회도 그렇고 별다른 그런 의지를 가진 사람이 보이지 않는다.
여기까지가 지끔까지 KSUG에 대한 내 평가이다.
사실 세계적으로도 성공한 자바기술관련 커뮤니티는 많지 않다. 한동안 절대적인 위치를 차지했던 TSS도 내심 따지고 보면 그 활발했던 시기에도 전체 회원의 1/1000도 제대로 토론에 참여하지 않았던 것이 사실이다. 만명쯤 회원이 되봐야 열명이 활발한 참여를 하는 국내 사이트보다 크게 나을 것도 없다는 얘기다. 그나마도 지금은 대표적인 커뮤니티로서의 명성을 거의 잃어버렸다. TSS운영자가 독립해서 시작한 InfoQ는 처음부터 정보제공 미디어와 컨퍼런스 주관단체로 성격을 정하고 그것을 밀고 나가고 있다. 따라서 InfoQ는 커뮤니티로 볼 수 없다.
게다가 블로그의 유행 덕분에 지금은 모두들 자기의 블로그에 글을 쓰고, 홍보하는데 바쁘다. KSUG에는 거의 글을 쓰지 않는 영회도 자신의 블로그를 요즘 글쓰는 주제는 좀 다르지만 국내 최고의 IT블로그로 발전시키는데 열심이고, 그런 면에서 크게 성공했다.
사실 블로그의 발전은 커뮤니티 형성 측면에서 좋을게 없다. 블로그는 열린공간 어쩌고 하지만, 기술적 정보교류 입장에서는 사실 꽉 막힌 공간이다. 링크가 있지만 상호교류가 거의 없고, 세계적인 유명 자바개발자 블로그에 꽤 민감하고 흥미로운 글이 올라와바야 댓글은 기껏 4-5개 붙기도 힘들다. 컨텐트를 모아서 보기도 어려우며, 토론이 일어나는 것도 거의 불가능하다. 가뜩이나 교류에 약한 개발자들에게는 그나마 미약하게나마 존재했던 기존 커뮤니티 만도 못하다. 단지 블로그의 발전은 일부 인기있는 블로거들의 개인브랜드(또는 명성)를 얻게 해서 그 재미 때문에 또는 떨어지는 다른 이익때문에, 좀 더 나은 정보를 제공하게 만드는 딱 그정도에 가치가 있다. 그나마도 사실 바쁘고, 작성자로서는 허탈할 때가 많을 것이 현실이다. 그런면에서 Web 2.0블로그의 발전은 커뮤니티의 발전 입장에서는 좋은 현상이 아니다.
지금까지 대부분 부정적인 얘기만 했는데.. 시리즈로 멋진 스프링관련 글을 쓰라는 영회의 압력이 있었지만 엉뚱하게 이런 글을 남긴 이유는 사실 솔직하게 (이미 다들 알고 있지만) 현실을 좀 얘기하자는 것이다. 뒤에서는 다들 한국에는 쓸만한 자바커뮤니티가 없다는 둥, 무슨 무슨 사이트는 활동도 없고 개판이라는 둥 욕은 많이들 한다. 대부분 맞는 말이다. 하지만 거기에 아직도 깨어지지 않은 몽상적인 기대가 남아있기 때문이라는 전제가 있다면 이제는 그만 그런 생각을 했으면 좋겠다.
기술관련 커뮤니티의 존재가치는 사실 엄청나다. 솔직이 KLDP같은 사이트를 보면(비록 쓸만한 기술관련 글과 그에 따른 활기찬 토론은 요즘엔 거의 없는 것 처럼 보이지만) 그만한 커뮤니티를 가지고 있다는 것이, 그리고 꾸준히 모이고 자신의 생각(비록 광우병관련 논쟁이나, 스토커에 대한 비아냥일지라도)을 거기서 나눌 수 있다는 것이 정말 부럽다. 스프링소스에 투자한 어느 세계적인 VC가 한 말이 있다. 스프링소스(그때는 interface21)의 진정한 가치는 그 커뮤니티에 있다고 했다. 개발자와 사용자가 매우 길밀하고 활발하게 활동하는 스프링 커뮤니티는 오픈소스 개발관련 커뮤니티 중에서도 최고의 수준에 다다른 매우 모범적이고 이상적인 곳이다. 많고 다양한 피드백, 아이디어들이 빠르게 스프링 개발에 적용되고, 반대로 개발자의 생각과 의도가 명확이 공유되어지고 그것이 함께 동력이 되어서 스프링을 이처럼 성공적인 프레임워크로 발전시켜왔는지를 보면 그곳을 방문할 때마다
감탄하게 된다.
결론이다.
KSUG 그런 멋진 커뮤니티로 발전할 수 있을지에 대해서는 의문이다. 사실 부정적으로 생각한다. 나부터 이기적이라 사실 실질적인 댓가도 없이, 별다른 명예나 만족감을 느낄 가능성도 적은 KSUG를 위해서 몸바쳐 뛰어보겠다는 생각은 없다. 그것은 대표인 영회도 마찬가지이다. 하지만 미약하지만 남은 스프링에 대한 열정 또는 그 기원에 대한 감동과 그것을 쓰면서 받은 많은 혜택들의 작은 일부라도 다시 나누고 싶은 마음은 있다.
대신 효율적이어야 할 것이다. 본전생각나면 그때 부터 끝장이다.
영회는 앞으로 참여하는 사람에게 무슨 댓가를 주도록 해야한다고 얘기한다. 뭐 그것도 좋은 생각이다.
그보다 제일 중요한 것은 교류든, 장기적인 교류를 유도해 내기위한 일단의 정보제공이든 그 방법이 편해야 한다. 사실 몇페이지짜리 간단한 기술아티클을 하나 만들려면 반나절쯤은 금방 간다. 회사에서 일 안하고 널널하게 글이나 쓰면서 시간보낼 수 있는 사람이 아니고, 가족과 함께 보내거나 공부를 하고 여유를 즐길 수 있는 저녁시간, 주말시간을 그렇게 희생하면서 무엇인가 만들어 내야 한다는 것은 큰 부담이다.
차라리 그보다는 나는 짧은 시간의 스크린캐스팅이 났다고 본다. 스크린캐스팅은 컴퓨터화면을 저장한 동영상이다. 사실 동영상이 만들기가 더 쉽고, 빠르다. 글로 3시간 쓸 내용이면 동영상이면 15분이면 충분하다. 게다가 화면에 액티브하게 나오는 컨텐트는 주위에 보면서 배울만한 사람이 많지 않은 개발자들에게는 귀한 자원이다. 만드는 사람도 낫고, 보는 사람도 나은 그런 것이기 때문에 나는 스크린캐스트가 KSUG를 통해서 나눠지는 것을 기대한다.
시작은 아마 영회나 내가 되겠지만, 이후에는 다른 회원들도 작은 팁 하나라도 그렇게 나누면 좋지 않을까 기대해본다.
두번째는 온라인 포럼의 필요성이다. 스프링에 관한 질문이 생기면 가서 물어볼 곳이 많지 않다. 스프링이 중심이 된 전문적인 질문을 할 곳도 없는 것으로 알고 있다. 사실 기술적인 질문에 대해서 간단한 답변을 달아주는 것은 어려운 일이 아니다 또 크게 시간을 쓰지 않을 수 있다. 가끔 흥미로운 질문이 올라오면 빠르게 답을 해줄 수도 있다. 그래서 포럼을 설치하자고 줄곳 얘기해왔지만 영회는 설치하는 게 귀찮다고 차일피일 미루기만 한다. 누가 간단한 phpbb라도 설치해준다면 좋을텐데.
결국 KSUG의 미래는 대충 세가지이다. 가끔(일년에 한두번) 얼굴도 볼겸 여는 오프라인 세미나(또는 컨퍼런스) 주최. 동영상 스크린캐스트를 통한 기술나눔. 그리고 스프링관련 질의응답이 가능한 포럼운영.
이렇게 모든 것을 공개하는 이유는 관심이 있다면 압력을 좀 넣어달라는 거다. 또는 자발적인 참여도 있으면 좋겠다. 그래야 기껏 세미나 한 8번 하고 나가 떨어진 영회와 내가 좀 힘을 얻어서 다시한번 달려볼 수 있지 않을까 싶기 때문이다. 혹은 공개적으로 얘기한 것에 대해서 사람들이 자꾸 지적하면 쪽팔려서라도 뭔가 하지 않겠는가. 이래도 반응이 없다면 그 다음은 나도 모르겠다.
일년이 넘게 지난 지금 KSUG는 유명무실하게 별 활동 없이 폼나는 이름만 남아있는 상황이다. 별다른 오프라인 활동도, 온라인 활동도 없다. 많지는 않지만 외부의 지원도 받는 입장에서 KSUG의 공동설립자 겸 기술고문(별로 맘에 안드는데 영회가 일방적으로 지정해버렸다)이라는 타이틀이 사실 부끄러울 따름이다.
대표인 영회는 후원받은 서버에서 돌고 있는 KSUG의 워드프레스 블로그를 없애고, 티스토리로 이전시켜버렸다. 그러면서 한 말이 정곡을 찌른다. "생업으로 바빠죽겠는데, 설치형 블로그는 관리하기도 귀찮아서..."
이쯤에서 솔직하게 KSUG에 대한 나의 생각을 정리까지는 아니더라도 대충이라도 늘어놓기는 해야 할 것 같다.
먼저 커뮤니티에 대해서 생각해보자.
국내의 대표적인 자바관련 커뮤니티라고 주장하고 있는 JCO의 최신 소개를 한번 살펴보자.
"JCO는 국내 자바개발자들에게 최신 기술정보, 트랜드를 전달하고 함께 공유할 수 있는 장을 마련하는 단체이고, 외국 벤더와 외국 커뮤니티와의 교류를 통해서 국내 개발자들에게 최신 자바 소식을 전달해주는 역할을 수행하는 단체입니다"JCO의 소개는 3가지로 압축이 된다. 첫째는 정보전달, 둘째는 공유의 틀 제공, 셋째는 외국단체와의 교류이다.
사실 세번째 정의는 좀 이상한 것이 교류라는 것이 쌍방으로 움직이는 것인데 그것을 통해서 최신소식을 전달하겠다는 것이니 교류라기 보다는 "접촉" 내지는 "도움을 받아"라고 하는 것이 낫지 않을까 싶다. 어쩌면 "JCO의 대표진 또는 참가후원을 받는 사람들이 JavaOne에 다녀와서"라고 하는 것으로도 해석 해도 될지 모르겠다. 결국 최신 정보제공이니 첫번째 소개에 넣어도 무방하겠다.
그럼 결국 JCO의 존재 목적은 두가지 이다. 첫째는 기술정보제공 둘째는 회원(또는 회원단체)상호간의 교류지원.
JCO가 커뮤니티일 수있는 근거는 무엇인가?
기술정보제공을 하는 것이 커뮤니티인가? 일단 답을 하지말고, 다음으로 넘어가자.
회원간의 상호교류를 하도록 하는 것이 커뮤니티인가? 이에 대해서는 그렇다고 대답할 수 있다. (JCO가 실제 상호교류를 하게 해주는지에 대해서는 더 이상 얘기하지 말자) 커뮤니티의 핵심은 일단 "모인다"는 것이다. 원래 커뮤니티라는 말이 같은 지역에 사는 사람들이라는 뜻이니 일단 모인다는 것이 중요하다. 하지만 지리적으로 같은 위치에 있어서 커뮤니티가 되는 것은 아니다. 더 중요한 것은 공동의 관심사 또는 어떤 것을 가지고 있어야 한다. 그렇다면 공동의 관심만 가지고 모여있으면 커뮤니티가 되는 것인가?
아니다. 아닌 이유는 공동의 관심만 가지고는 지속적으로 모여있을 수 없기 때문이다. 그 안에 교류, 흐름이 있어야 한다. 그것이 기술정보이든, 인간관계의 발전이든, 비즈니스 네트워킹 형성이든, 돈 벌이든 상관없이 커뮤니티 구성원 상호간에 어떤 흐름이 필요한 것이다.
모든 관계는 mutual 하지 않으면 발전하지 않는다. 일방적인 관계는 지속될 수 없다.
다시 첫번째 정의로 돌아오자. 정보제공이 커뮤니티의 존재목적 내지는 존재근거가 될 수 있는가? 엄밀히 말해서 아니다. 아닌 이유는 정의가 애매하기 때문이다. 누가 정보를 제공하느냐가 문제라는 것이다. 커뮤니티의 운영진 또는 일부 정보제공자를 통해서 정보가 제공되어야 한다고 하면 일단 그것이 존재목적이 분명히 아니라고 얘기하고 싶다. 그것은 컨텐트 제공자이거나 다른 목적을 가진 존재여도 얼마든지 가능할 뿐더러, 커뮤니티라는 성격에 직접 부합되지 않기 때문이다. 커뮤니티는 mutual 해야 한다. 일방적인 흐름만 존재하는 커뮤니티는 더 이상 커뮤니티가 아니다. 진정한 커뮤니티는 구성원 상호간의 (좀 비율에 있어서 균형적이지 않더라도) 상호 흐름이 있어야 한다. 한쪽에서 정보를 제공하면, 다른 쪽에서 피드백이 오고, 또는 자신이 알고 있는 또 다른 정보를 꺼내놓아야 한다. 제공자이면서 수혜자여야만 커뮤니티로서 생명력이 있는 것이다.
한국의 수많은 온라인 기술 커뮤니티, 특히 자바커뮤니티들이 왜 대부분 퇴락의 길을 걷고 있는지, 유명무실한 단체가 되었는지 생각해보면 그 대답은 간단하다. 그 커뮤니티들은 언제부터인가 진정한 커뮤니티가 아니었기 때문이다.
사실 JCO의 첫번째 소개에 나온 정보제공은 사실 대부분의 커뮤니티에 꼭 필요하다. 이유는 간단하다. 공동의 관심사와 교류를 일으키게 해줄만한 스파크가 필요하기 때문이다. 모이게 하는 미끼, 낚시질이 필요하기 때문이다. 그렇기 때문에 일정기간 동안에는 또는 그 이후에도 운영진 내지는 커뮤니티를 활성화하고자하는 열성회원들을 통해서 자기희생적인 정보생성 내지는 공유의 수고가 반드시 필요하다. 사람은 같은 공간에 몰아넣고 함께 일을 시켜도 동기가 없으면 커뮤니티를 형성하지 않는다. 하물며 다른 곳에서 얼굴을 마주대할 일도 없이 모르게 살아가는 사람들에게 단지 같은 기술에 관심이 좀 있다고 해서 모여서 함께 자신의 것을 나누고, 열심히 활동하라는 것은 정말이지 기적이다. 따라서 누군가에게 감동을 줄 필요도 있고, 자극을 줄 필요도 있다. 그러기 위해서 하는 것이 바로 일정부분 책임감을 가지고 있는 사람들을 통한 일방적인 정보제공이다.
문제는 그 일방적인 정보제공은 오래가지 못한다는 것이다. 정말 희생적이거나 아니면 시간이 남아도는 사람이 아니고서는 지속적으로 별다른 댓가없이 정보를 생성해내고, 피드백도 거의 없는 활동을 한다는 것은 반쯤 미친 짓이기 때문이다.
그래서 초기의 그런 미끼성 정보제공이 어느 순간엔가 많은 사람들을 끌어모으고, 자기 것을 내놓게 하기 시작하고, 참여하게 하고, 관심을 가지게 하고, 열정을 불러 일으키기 시작하면 그때부터 진정한 커뮤니티로 변모하는 것이고, 그렇지 않으면 짧으면 몇달 길어야 1-2년 사이에 운영진은 지쳐떨어지고, 별다른 활동이 없는 유령커뮤니티로 전락하는 것이다. 이 부분에 관혀서는 국내 스프링 소개와 관련 커뮤니티 운영을 엄청난 열정을 가지고 해오다가 완전 탈진해서 뻗어버리고 지금은 재야로 숨어버린 물개가 산 증인이다. 옆에서 계속 지켜보면서 정말 대단한 열정을 가지고 있구나라고 존경스러운 눈으로 바라보았는데, 결국 자신을 홀랑 다 태워버리고 쓸쓸히 물러가버렸다.
장황하게 이런 커뮤니티론을 늘어놓는 이유는 간단하다.
KSUG가 바로 딱 그 상태에 들어가기 직전에 있기 때문이다. 영회나 나나 또 처음에 모였던 주도적인 사람들 대부분 그런 커뮤니티의 특성을 잘 알고 있는 사람들이다. 그래서 결과가 뻔한 온라인 커뮤니티는 하지 말자고 했다. 대신 해외의 각종 유저그룹들 처럼 정기적인 모임(meetup)을 가지고, 그 모임에 참석하게 유도할 만한 강의 내지는 세미나 등을 주최하고 그리고 그 모임을 통해서 버추얼한 커뮤니티를 형성해보자는 것이 나름 아이디어였다.
즉, 세미나는 미끼였고, 사실 그 전후의 만남을 통해서 스프링을 사용하는 개발자들의 친목 내지는 관계형성이 목적이었던 것이다. 그러다보면 온라인에서도 어떤 파생물이 나오지 않을까 생각한 것이다. 물론 순수하게 세미나를 통한 스프링의 소개나 정보제공도 중요한 측면으로 생각했다. 이제는 완전히 주류기술이 되었다지만, 작년 초만 해도 아직 스프링을 도입하기를 꺼려하거나 잘 모르는 사람들이 많이 있다고 생각했기 때문에, 스프링의 보급이라는 측면의 약간의 사명도 없었던 것은 아니다.
하지만 생각과 달리, meetup은 성공적이지 못했다. 세미나에는 많은 사람들이 왔지만, 모임 전후로의 상호교류는 거의 없었다. 뒷풀이가 있었지만 참석자는 적었고, 모여도 이미 아는 사람들이 대부분이었거나, 별다른 관계형성 내지는 상호간의 교류를 강하게 일으킬만한 기회도 거의 없었다.
결국 KSUG는 일년간 무료세미나(몇번 인쇄물을 돈을 받고 제공한 적은 있지만 개인 편의를 위한 실비제공이니만큼 유료라고 부르기는 어렵다) 주관단체 비슷하게 되어버렸고, 결국 일년만에 초기 모임을 주도하고 열심히 활동했던 자원봉사자들(커뮤니티 내에서 자봉이라는 말자체가 사실 우습긴하지만)과 운영진 모두가 지쳐버렸다.
올해들어 나는 다시 호주로 돌아오면서 사실상 KSUG에 속해있다고 말하기도 민망해진 상태다. ASUG로 가야하는게 아닌가 싶다. -_-; 대표인 영회도 점점 KSUG활동에 열정이 식어갔다. 나름 자신의 비즈니스와 연관시켜서 무엇인가 큰 그림을 그리는가 싶더니, 이내 "생업"에 바쁜 나머지 그나마도 별 진척된게 없다.
결국 올해는 한두차례 세미나와 기업의 후원을 빠방하게 받아서 컨퍼런스를 열자는 아이디어를 꺼내놓기만 한 상태로 여기까지 왔다. 그나마도 실현 가능성은 그렇게 많아보이지는 않는다.
잠깐 JCO의 이야기로 돌아가서, JCO홈페이지의 첫 페이지에 나와있는 깔끔한 소개와 달리 About-목적 메뉴로 들어가면 얼토당토 않게도 "한국자바개발자컨퍼런스"가 떡하니 나온다. 웹마스터의 실수가 아니라면(실수가 몇년씩 갈리도 없고), 이 것을 보면 사실 JCO의 목적은 "컨퍼런스" 주관이다. 솔직이 말해서 별다른 온라인 커뮤니티성 활동이 없는 JCO의 존재가치는 사실 JCO컨퍼런스인 것이 사실이다. 그런 대형 컨퍼런스 하나(또는 두개)를 잘 주관하는 것만으로도 사실 JCO의 존재의미는 충분하다고 본다.
한동안 JCO는 커뮤니티라면서, 컨퍼런스만 하고 막상 온라인 커뮤니티활동(또는 지원)은 없이 뭘하는 거냐는 이야기도 적지 않았다. 하지만 KSUG도 이제 별 다를바 없을지도 모르겠다.
KSUG가 국내의 스프링 개발자들의 교류와 정보나눔을 위한 커뮤니티로서의 자리매김은 지금까지는 완전히 실패했다. 누구도 스프링하면 KSUG를 찾아라라는 얘기를 하지 않는다. 온라인의 활동, 나눔공간이 전혀 없기 때문이다. 오프라인 세미나도 이전처럼 진행될 가능성은 거의 없다. 나는 일년에 한두차례 한국을 방문하는 것이 전부일 것이고 그때마다 세미나를 진행하거나 컨퍼런스에서 (만약 개최된다면) 발표를 할 수는 있겠지만 그게 전부이거나 아니면 그나마도 못할지 모른다. 그 외에 다른 발표자들이 계속 나서서 세미나를 유지할 수도 있겠지만, 현재로서는 대표인 영회도 그렇고 별다른 그런 의지를 가진 사람이 보이지 않는다.
여기까지가 지끔까지 KSUG에 대한 내 평가이다.
사실 세계적으로도 성공한 자바기술관련 커뮤니티는 많지 않다. 한동안 절대적인 위치를 차지했던 TSS도 내심 따지고 보면 그 활발했던 시기에도 전체 회원의 1/1000도 제대로 토론에 참여하지 않았던 것이 사실이다. 만명쯤 회원이 되봐야 열명이 활발한 참여를 하는 국내 사이트보다 크게 나을 것도 없다는 얘기다. 그나마도 지금은 대표적인 커뮤니티로서의 명성을 거의 잃어버렸다. TSS운영자가 독립해서 시작한 InfoQ는 처음부터 정보제공 미디어와 컨퍼런스 주관단체로 성격을 정하고 그것을 밀고 나가고 있다. 따라서 InfoQ는 커뮤니티로 볼 수 없다.
게다가 블로그의 유행 덕분에 지금은 모두들 자기의 블로그에 글을 쓰고, 홍보하는데 바쁘다. KSUG에는 거의 글을 쓰지 않는 영회도 자신의 블로그를 요즘 글쓰는 주제는 좀 다르지만 국내 최고의 IT블로그로 발전시키는데 열심이고, 그런 면에서 크게 성공했다.
사실 블로그의 발전은 커뮤니티 형성 측면에서 좋을게 없다. 블로그는 열린공간 어쩌고 하지만, 기술적 정보교류 입장에서는 사실 꽉 막힌 공간이다. 링크가 있지만 상호교류가 거의 없고, 세계적인 유명 자바개발자 블로그에 꽤 민감하고 흥미로운 글이 올라와바야 댓글은 기껏 4-5개 붙기도 힘들다. 컨텐트를 모아서 보기도 어려우며, 토론이 일어나는 것도 거의 불가능하다. 가뜩이나 교류에 약한 개발자들에게는 그나마 미약하게나마 존재했던 기존 커뮤니티 만도 못하다. 단지 블로그의 발전은 일부 인기있는 블로거들의 개인브랜드(또는 명성)를 얻게 해서 그 재미 때문에 또는 떨어지는 다른 이익때문에, 좀 더 나은 정보를 제공하게 만드는 딱 그정도에 가치가 있다. 그나마도 사실 바쁘고, 작성자로서는 허탈할 때가 많을 것이 현실이다. 그런면에서 Web 2.0블로그의 발전은 커뮤니티의 발전 입장에서는 좋은 현상이 아니다.
지금까지 대부분 부정적인 얘기만 했는데.. 시리즈로 멋진 스프링관련 글을 쓰라는 영회의 압력이 있었지만 엉뚱하게 이런 글을 남긴 이유는 사실 솔직하게 (이미 다들 알고 있지만) 현실을 좀 얘기하자는 것이다. 뒤에서는 다들 한국에는 쓸만한 자바커뮤니티가 없다는 둥, 무슨 무슨 사이트는 활동도 없고 개판이라는 둥 욕은 많이들 한다. 대부분 맞는 말이다. 하지만 거기에 아직도 깨어지지 않은 몽상적인 기대가 남아있기 때문이라는 전제가 있다면 이제는 그만 그런 생각을 했으면 좋겠다.
기술관련 커뮤니티의 존재가치는 사실 엄청나다. 솔직이 KLDP같은 사이트를 보면(비록 쓸만한 기술관련 글과 그에 따른 활기찬 토론은 요즘엔 거의 없는 것 처럼 보이지만) 그만한 커뮤니티를 가지고 있다는 것이, 그리고 꾸준히 모이고 자신의 생각(비록 광우병관련 논쟁이나, 스토커에 대한 비아냥일지라도)을 거기서 나눌 수 있다는 것이 정말 부럽다. 스프링소스에 투자한 어느 세계적인 VC가 한 말이 있다. 스프링소스(그때는 interface21)의 진정한 가치는 그 커뮤니티에 있다고 했다. 개발자와 사용자가 매우 길밀하고 활발하게 활동하는 스프링 커뮤니티는 오픈소스 개발관련 커뮤니티 중에서도 최고의 수준에 다다른 매우 모범적이고 이상적인 곳이다. 많고 다양한 피드백, 아이디어들이 빠르게 스프링 개발에 적용되고, 반대로 개발자의 생각과 의도가 명확이 공유되어지고 그것이 함께 동력이 되어서 스프링을 이처럼 성공적인 프레임워크로 발전시켜왔는지를 보면 그곳을 방문할 때마다
감탄하게 된다.
결론이다.
KSUG 그런 멋진 커뮤니티로 발전할 수 있을지에 대해서는 의문이다. 사실 부정적으로 생각한다. 나부터 이기적이라 사실 실질적인 댓가도 없이, 별다른 명예나 만족감을 느낄 가능성도 적은 KSUG를 위해서 몸바쳐 뛰어보겠다는 생각은 없다. 그것은 대표인 영회도 마찬가지이다. 하지만 미약하지만 남은 스프링에 대한 열정 또는 그 기원에 대한 감동과 그것을 쓰면서 받은 많은 혜택들의 작은 일부라도 다시 나누고 싶은 마음은 있다.
대신 효율적이어야 할 것이다. 본전생각나면 그때 부터 끝장이다.
영회는 앞으로 참여하는 사람에게 무슨 댓가를 주도록 해야한다고 얘기한다. 뭐 그것도 좋은 생각이다.
그보다 제일 중요한 것은 교류든, 장기적인 교류를 유도해 내기위한 일단의 정보제공이든 그 방법이 편해야 한다. 사실 몇페이지짜리 간단한 기술아티클을 하나 만들려면 반나절쯤은 금방 간다. 회사에서 일 안하고 널널하게 글이나 쓰면서 시간보낼 수 있는 사람이 아니고, 가족과 함께 보내거나 공부를 하고 여유를 즐길 수 있는 저녁시간, 주말시간을 그렇게 희생하면서 무엇인가 만들어 내야 한다는 것은 큰 부담이다.
차라리 그보다는 나는 짧은 시간의 스크린캐스팅이 났다고 본다. 스크린캐스팅은 컴퓨터화면을 저장한 동영상이다. 사실 동영상이 만들기가 더 쉽고, 빠르다. 글로 3시간 쓸 내용이면 동영상이면 15분이면 충분하다. 게다가 화면에 액티브하게 나오는 컨텐트는 주위에 보면서 배울만한 사람이 많지 않은 개발자들에게는 귀한 자원이다. 만드는 사람도 낫고, 보는 사람도 나은 그런 것이기 때문에 나는 스크린캐스트가 KSUG를 통해서 나눠지는 것을 기대한다.
시작은 아마 영회나 내가 되겠지만, 이후에는 다른 회원들도 작은 팁 하나라도 그렇게 나누면 좋지 않을까 기대해본다.
두번째는 온라인 포럼의 필요성이다. 스프링에 관한 질문이 생기면 가서 물어볼 곳이 많지 않다. 스프링이 중심이 된 전문적인 질문을 할 곳도 없는 것으로 알고 있다. 사실 기술적인 질문에 대해서 간단한 답변을 달아주는 것은 어려운 일이 아니다 또 크게 시간을 쓰지 않을 수 있다. 가끔 흥미로운 질문이 올라오면 빠르게 답을 해줄 수도 있다. 그래서 포럼을 설치하자고 줄곳 얘기해왔지만 영회는 설치하는 게 귀찮다고 차일피일 미루기만 한다. 누가 간단한 phpbb라도 설치해준다면 좋을텐데.
결국 KSUG의 미래는 대충 세가지이다. 가끔(일년에 한두번) 얼굴도 볼겸 여는 오프라인 세미나(또는 컨퍼런스) 주최. 동영상 스크린캐스트를 통한 기술나눔. 그리고 스프링관련 질의응답이 가능한 포럼운영.
이렇게 모든 것을 공개하는 이유는 관심이 있다면 압력을 좀 넣어달라는 거다. 또는 자발적인 참여도 있으면 좋겠다. 그래야 기껏 세미나 한 8번 하고 나가 떨어진 영회와 내가 좀 힘을 얻어서 다시한번 달려볼 수 있지 않을까 싶기 때문이다. 혹은 공개적으로 얘기한 것에 대해서 사람들이 자꾸 지적하면 쪽팔려서라도 뭔가 하지 않겠는가. 이래도 반응이 없다면 그 다음은 나도 모르겠다.
Spring DM 레퍼런스 편역.pdf
Prev



Rss Feed