XE의 정체가 뭘까 도대체...

lawch의 이미지

XE란?

다음은 작년 11월 XE 1.1.0의 발표때 제로님이 남긴 공지 내용.

"제로보드는 말 그대로 보드 즉 게시판 프로그램이였습니다...
하지만 시간은 흘러 흘러 ...블로그가 대세를 이루게 되었습니다...
저는 [블로그가 되었던 뭐가 되었던 형식적인 것에 집착하지않고]
...컨텐츠 즉 정보의 생산과 발행 그리고 유통에 대해서 고민을 하였습니다.
그 결과...컨텐츠를 쉽고 강력하게 생산, 발행, 유통시킬 수 있는
CMS (Content Management System)을 만들기 시작하였고..."

이런 연유에서 "표현을 잘하도록 하는 강력한 힘을 발휘하는 프로그램(기계)"이란 의미의
Xpress Engine이란 명칭을 갖게 되었다고 한다.

계속해서 제로님의 포부를 통해서 XE가 갈 방향을 점쳐보면

"XE 1회 모임때에도 이야기했지만 XE는 하나의 프레임웍 또는
최소 사양의 필수 프로그램으로 보는 것이 맞습니다. [예를 들면]
zeroboardXE는 이 XE 위에 게시판 모듈과 홈페이지 운영시
꼭 필수적인 부가 프로그램을 탑재하여
홈페이지 운영을 위해 배포하는 하나의 패키지명으로 이어져야 하구요.
차 후 블로그 전용 모듈이 나오면 그 모듈을 바탕으로
blogXE(가칭) 패키지를 배포할 예정이고...

이게 작년에 나온 말인데, 현재 그 약속대로 프로젝트가 진행되고 있다.
다음 그림은 공식 홈페이지에 올라온 XE의 가상도.

잘보면 패키지와 모듈이라는 구분으로 여러 내용들을 볼 수가 있는데,
일단 현재 개발되었거나 나올 패키지로는 다음과 같은 것들이 있다.

* 블로그 패키지
* 홈페이지 패키지 (카페나 클럽 등의 서비스. 앞으로 이름이 Cafe로 변경될 예정)
* 플래닛 패키지 (미투데이같은 마이크로 블로그 서비스)
* 프로젝트 패키지 (nforge.nhncorp.com과 같은 프로젝트 호스팅 서비스용)

각 패키지는 모듈의 조합에 각 패키지 고유의 부가 프로그램으로 구성되는 듯 하다.
작년 초까지는 패키지라는 개념이 없었던 것으로 생각되는데
사용자의 편이를 도모하기 위한 방편으로 생각된다.

모듈은 XE의 핵심 요소로서 여겨지던 것이었으나 개발자가 아닌
순수 사용자들에게는 쉽지 않은 개념이었던 것으로 보인다.
그럼 모듈이란 도대체 뭔가?

제로님과 함께 프로젝트 매니저를 담당하고 있는 하늘님의 작년 여름 발표를 보면,
많은 시간을 모듈, 위젯, 애드온에 대해서 설명하고 있다.
(동영상이 모임 게시판에 올라와 있었는데...)

* 모듈: 기능 단위 (게시판, 문서, 댓글, 트랙백, 쇼핑몰, 위키, 프로젝트 관리 등)
* 위젯: 화면에 표시되는 작은 프로그램 (현재 접속자, 카운터, 최근 댓글 표시 등)
* 애드온: 모듈의 실행 전,후에 실행되는 추가적인 기능 (스팸 필터, 댓글 알리미 등)

예를 들면, XE 프로젝트는 TRAC 시스템의 로드맵/티켓 기능으로 운영되다가
현재는 IssueTracker라는 것을 사용하는데 이게 XE 모듈이다.
내 생각으론 이 모듈과 다른 모듈을 조합하면 일정 관리 패키지같은 것이
나올 수 있다고 본다. 이런 의미에서 XE는 모듈로 구성된 프레임웍이 되는 것일게다.

현재 개발자로 활동하는 misol님은
다음같은 글[제 멋대로 쬐금 수정했어요, 미안합니다 misol님]을 남겼다.

"XE를 WOS(Website Operating System)라는 분류에 넣는게 좋지 않나 생각합니다.
admin모듈은 Windows의 제어판 격이고,
컨텐츠 관리는 XE의 기본 '모듈'들인 document 모듈, file모듈이 하는데
이런 모듈들이 OS 위에서 돌아가는 응용프로그램과 같은 역할을 합니다.
XE의 코어는 그 모듈이 잘 작동하게 한다는 의미에서 WOS지요.

어떻게 보건 XE는 여러 모듈로 구성된 프레임웍으로 개발되고 있고
사용자들에게는 모듈의 조합인 패키지로 제공된다. 그게 현재 XE의 모습.

다음번엔 하늘님의 자료에 따라서 모듈 생성하기 놀이를 해보련다.

p.s. "XE의 현재 그리고 미래 중에서"란 제로님의 발표 중에서 인상에 남는 말 하나.

"오픈 소스 프로젝트는 어려운게 아니라 생소하고 피곤한 것"

난...피곤할 뿐이고...=.=

댓글

아빠곰의 이미지

마지막 사진이 멋진데요 :)

생소하고 피곤하다는 말은... 익숙하지 않다는 뜻이겠죠? 오픈소스로부터 얻는 이점이 아무리 크다고 해도, 약간의 불편함이 있다면 그리 좋지 않게 느껴질 수도 있을겁니다. 오픈소스에 익숙하지 않은 개발자에게라면요..

----
아발발다빠따반반나다발딸발발다빠따따맣밤밤따받따발발다따밝다발발다빠따따밤반다빠따다맣밥발
발다따밥다발발다따박다발발다빠따따밞밭밭다따다맣아희

----
아발발다빠따반반나다발딸발발다빠따따맣밤밤따받따발발다따밝다발발다빠따따밤반다빠따다맣밥발
발다따밥다발발다따박다발발다빠따따밞밭밭다따다맣아희

lawch의 이미지

제 경우에 비추어보면 익숙하지 않다는 것엔 두 가지 면이 있겠군요.
- 오랫동안 개발자였지만, 오픈소스 방식에는 익숙하지 않다.
- 오랫동안 제로보드를 수정해 써왔지만, XE 프로그램에는 익숙하지 않다.

그렇다면 두 가지 방향에서의 노력이 필요하겠단 생각이 듭니다.
- 오픈소스 방식에 익숙해지기
- XE 프로그램에 익숙해지기

처음엔 XE 프로젝트를 통해서 쉽게 오픈소스 방식에 익숙해질 수 있기를 바랬는데
그러기엔 XE 프로젝트 자체를 이해하기도 힘들군요.
일반적인 "오픈소스 방식"에 대한 개념부터 좀 잡아놔야야겠다는 생각이 듭니다.

좋은 의견에 감사합니다.

system77의 이미지

예전에 수많았던 웹사이트 빌더들도 생소한 용어인 WOS인가요? ^^
UI 컨트롤이나 기능들을 모듈화 해서 만들고 붙이는건 웹이든 응용 프로그램이든 원래 있던 개념이잖아요?

오픈소스라는 것 빼곤 신선하거나 놀라운건 아닌것같아요..
차라리 위키 사이트같은 재치있고 신선한 아이디어 있는 웹개념이 좋네요

송효진의 이미지

꼭 신선하거나 놀라울필요는 없겠죠.
목표대로만 된다면 거의 그대로 써도 완성도 높은 홈페이지가 나오는 프레임웤이 탄생하는거죠.
프레임웤답게 개념잡힌 구조라면 소스를 뜯어고치는게 아닌 플러그인 같은 개념으로 기능추가가 될거고요.

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~
http://xenosi.de/

lawch의 이미지

원래 응용프로그램에 있던 개념과 비슷해지니까 붙여본것으로 생각됩니다.
사실은 오픈소스라는 것도 신선하거나 놀라운 것은 아니죠...-_-;;;

제가 재밌게 생각한 것은 자주 쓰일만할 기능들을 모듈이라는 개념으로
묶어두고 그 조합으로 새로운 패키지를 만든다는 점이었는데
(모듈이 응용프로그램이어야한다면
XE의 기본 기능을 이용해서 모듈을 만든다는 표현으로 이해해주세요)
이게 윈도우즈에서 API를 사용해서 응용프로그램을 만드는 것과 유사해서
XE가 플래폼으로 발전하는 것이 아니냐하는 점이었답니다.

덧붙여 XE 플랫폼은 인터넷상에서 동작하니 모듈(혹은 API)을 원격에서
접근할 수 있게 하면 흔히들 말하는 OpenAPI가 되는 것이죠.
그 예를 SOL군님이 여기에서 보이셨죠.

잘되면 위키처럼 신선한 아이디어를 보다 쉽게 만들 수 있는
플랫폼을 XE가 제공할 수 있지않을까 꿈꿔봅니다.

근데, 위키사이트를 처음 봤을 때는 그런가 했는데
syntax highlight 기능, tex 수식 표현 등을 포함해서
linux에서 쓰던 거의 모든 프로그램을 붙여 사용하다보니
이거 물건인데라고 생각했던 일이 생각납니다.
저는 컴파일러를 연결해서 웹상에서 프로그램 결과를 빠르게 확인할때 주로 썼답니다.
말씀하신대로 "재치있다"는 표현이 딱 정답입니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.