XpressEngine

width=100%
개발자김예솔,[1] 오승훈, 조정현, 홍경원,
홍성범, 이윤구, 장경순, 홍보람, 최승만
기여자기여자 명단
발표일2008년 2월 28일
라이선스1.4 이전: GPL v2
1.4 이후: LGPL v2
홈페이지공식 홈페이지/XE3 홈페이지

1 개요

한 시대를 풍미한 인터넷 게시판 프로그램 제로보드를 개발했던 프로그래머 고영수가 네이버의 지원을 받아 제작하고 있 웹사이트 빌더 프로그램(CMS). 현재는 네이버에서 XE 커뮤니티 개발팀을 만들어 운영 중이다. 참고로 고영수씨는 XE가 점차 활성화될 무렵 PM을 그만두고 네이버 재팬으로 근무지를 옮겼다. 그의 현재 소속은 Line Corp.

2 상세

고영수가 네이버에 들어가면서 네이버의 지원을 받아, 2008년부터 오픈소스 프로그램으로 개발되고 있다. 프로그램 자체의 라이선스는 LGPL이고, 스킨이나 모듈, 위젯, 애드온 등은 별도의 라이선스를 사용할 수 있도록 되어 있다. 2008년 1.0이 나온 이후, 계속해서 버전업되어 1.8대 버전까지 왔다.

원래는 제로보드의 판올림인 '제로보드 5'라는 이름으로 개발되었다. 그러다 제로보드 5 개발을 갈아엎고 '제로보드 XE'[2]라는 이름으로 아예 개발을 새롭게 시작했으며, 고영수가 네이버에 들어간 이후에는 아예 이름을 현재의 'XpressEngine'으로 바꾸어 제로보드와는 다른 프로그램이 되었다.

구조는 기본 프로그램인 XE Core가 있고, 거기에 모듈이나 위젯, 애드온 등의 추가 프로그램을 올리는 방식이다. 덕분에 제로보드의 단점이었던 확장성은 크게 발전하였다. 예전처럼 소스를 수정하는 것이 아닌, 모듈이나 위젯, 애드온을 제작해서 코어에 연동시키면 되기 때문.

게시판만 지원했던 제로보드와는 달리 웹사이트 하나를 통째로 구축할 수 있는 사이트 빌더의 개념으로 발전했다. 스킨의 경우에도 달랑 게시판 스킨이나 최근 게시물 스킨 정도밖에 없던 제로보드와 달리, 사이트 자체의 스킨인 레이아웃과 각 모듈이나 위젯의 스킨으로 다양화되었다.

3 XE HUB 개소와 XE 활성화

1.7.3.1 이후 소식이 거의 없었던 XE에 DEVIEW 2013 키노트에서 발표한 XE 활성화 정책 중 하나인 XpressEngine 오픈오피스 XE HUB 개소식이 있었다.(참조)

그 이후 XE는 구글 프로젝트 호스팅에서 GitHub로 이전되었다.(참조)

4 문제점

단순히 게시판만 만들어주는 프로그램이 아닌 웹사이트 전체를 통합 관리할수 있는 형태의 CMS로 설계되어 개념 자체가 완전히 바뀌었기 때문에 제로보드 시절의 개념으로 홈페이지를 만들던 사용자들에게는 상당한 혼란이 발생했다. 제로보드 사용자들이 XE로 쉽게 이전하지 못하는 장벽 중 하나.

또한 XE Core가 업데이트되면서 잘 쓰던 모듈·위젯·애드온이 안 되는 빈도가 높다는 것. 이 때문에 모듈·위젯·애드온 제작자들에게는 원성을 사고 있다. 그리고 문서화가 더디다는 것. 2011년이 되어서야 레이아웃 및 게시판 스킨의 제작 문서가 나왔다. 그리고 공식 홈페이지가 몇 차례 개편되면서 예전 내용을 찾기 힘들어지는 문제도 있는 등, 넘어야 할 산이 많은 편. 또한 속도 문제도 발목을 잡는다. 제로보드보다 느리고 서버 자원을 많이 잡아먹는 면이 많다.

1.5가 나왔을 때는 호환성 관련 문제가 심각했다. 1.5로 업그레이드를 했더니 갖가지 버그가 창궐하면서, 그동안 참고 지내오던 사용자들도 본격적으로 불만을 표현했다. 자세한 것은 아래 버전의 1.5 항목 참조.

다행히 1.7로 올라갔을 때는 1.5와의 호환성 문제는 많이 발생하지 않고 있다.

5 버전

5.1 1.0

2008년 2월 28일에 나온 첫 정식버전. 모듈·위젯·애드온의 개념은 이 때부터 있었다. 1년 동안 오픈베타를 거쳐서 안정화 기간을 거쳤기에 상당히 안정적이었고, 게시판 모듈과 몇 가지 위젯이 같이 배포되었고, 이때는 블로그를 만들기는 어려웠다. 마이너 업데이트는 1.0.6까지 진행되었다.

5.2 1.1

2008년 11월 20일에 나온 메이저 업데이트. 마이크로 블로그인 플래닛이 추가되었다. 원래 이때 2.0 버전에 대한 계획이 같이 나왔는데, 개발이 진행되면서 무기한 연기된 상태.

5.3 1.2

2009년 3월 12일에 배포된 두 번째 메이저 업데이트. 이때부터 이름이 "XE"로 고정된다.

관리자 페이지 UI가 전면적으로 개편되어 쓰기 편해졌고, 확장변수를 마음대로 지정해서 쓸 수 있게 되었다. 레이아웃도 웹상에서 에디터를 이용하여 수정할 수 있도록 변경되었다. 컨텐츠 통합 위젯이 나온 것도 이 1.2가 처음. 한 XE에서 여러 개의 사이트를 만들 수 있는 CafeXE 모듈, 위키를 만들 수 있는 위키 모듈 등이 이때 나왔다. XE가 가장 크게 발전했던 리즈 시절이다.

꽤 많은 것이 변경되었기 때문에 테스트 버전이 먼저 배포된 뒤에 일반 버전으로 넘어갔다.

5.4 1.3

2009년 11월 11일에 배포된 메이저 업데이트. 블로그 모듈인 텍스타일 1.0이 이때 같이 정식 배포되었다. 가장 큰 변경점. XE 공식홈 자료실과 연동하여 바로바로 모듈이나 스킨을 설치할 수 있는 쉬운설치 기능도 이때 생겼다.

5.5 1.4

2010년 1월 20일에 배포된 메이저 업데이트. 라이선스가 GPL에서 LGPL로 변경되었다. 1.4 업데이트 자체는 1.3까지 산적했던 버그를 상당수 잡고, 내부 프로그램 구조를 많이 고쳐서 꽤 안정화시킨 버전이다. 이 때문에 외형상으로는 큰 변경점은 없었다.

마이너 업데이트가 되면서 기능이 추가되었는데, 1.4.3에서 모바일 레이아웃·스킨을 공식 지원하기 시작했다. 2011년 8월 11일 1.4.5.9 버전을 마지막으로 배포했다.

2012년 이 버전은 한 유저가 Xzet이라는 이름으로 보안 업데이트를 계속 진행하고 있었다. 1.5 보안 업데이트가 나온 지 며칠만에 패치가 되는 등 업데이트 속도는 빠른 편이였으나 언젠가부터 업데이트가 더 이상 나오고 있지 않다.(...)

5.6 1.5

1.4 잘쓰던 유저에게 빅엿을 먹인 패치.

2011년 9월 28일 베타 버전을 배포하고, 10월 27일에 1.5.0.8 버전을 정식 버전으로 배포했다.

그리고 XE 사용자들에게 헬게이트가 열렸다.

속도를 개선하고 관리자 UI를 개편하는 등, XE의 구조 자체를 전면적으로 뜯어고치는 패치였는데 대단히 많은 문제를 드러냈다.

베타 버전을 정식 업데이트로 포함시키는 바람에 1.4를 아무 문제없이 쓰던 유저들이 1.5로 업데이트했다가 속출하는 버그에 골치를 꽤나 썩였다. 결국 베타 버전 배포를 분리시켰지만 이미 업데이트 한 사람은….결국 공식홈 팁 게시판에 1.4로 롤백하는 방법에 대한 팁이 떴다.(…)

거기다 구조 자체를 전면적으로 뜯어고치다 보니 각종 스킨과 모듈·위젯·애드온의 상당수가 1.5에서는 작동되지 않았다. 1.4에서 너무 오래 머물러 있다 보니 이들 모듈의 경우 업데이트가 중단된 것도 많았고, 이 문제는 계속해서 현재 진행중이다. 업데이트를 안 하고 1.4에서 그대로 머물러 있는 사용자도 많은 편.

변경된 관리자 화면도 비판을 많이 받았다. 메뉴 지정이 사이트맵 개념으로 변경되다 보니 사용자들에게 혼란을 준 것도 있고, 1.4에 비해 너무 밋밋한 텍스트 위주의 구성도 비판을 많이 받았다. 결국 한 사용자에 의해 관리자 화면만 1.4로 되돌리는 스킨이 나오고야 말았다.

속도가 빨라진 건 사실이지만 그 증가폭이 미미했기 때문에 여전히 무거운 CMS라는 인식은 사라지지 않았다.

위에 열거된 이런저런 문제와 함께 계속 수정되지 않고 있던 XE의 글 작성 에디터에 산적해 있던 버그[3] 문제까지 나오고, XE의 사용자 게시판은 XE의 개발진에 대한 비판으로 그 어느 때보다 뜨겁게 달아오르고 있다.

결국 비판에 지친 사용자들은 하나 둘 나서서 해당 문제를 수정한 패치를 버그 신고 사이트에 제출하고 모듈을 만들어내는 등 자체적으로 문제 해결에 나서고 있다.[4]

2012년 3월 20일에 1.5.2 버전이 나왔다. 사용자들의 패치와 버그 신고를 적극적으로 받아들여 꽤 많은 버그를 수정했다. 사용자들은 아직 작은 버그는 좀 있지만 상당히 안정화 되었다는 평을 내놓고 있다.

2013년 3월 8일 기준 1.5.4.3 버전이 마지막이다.

2015년 현재 이 버전은 한 유저가 다올 CMS이라는 이름으로 보안 업데이트를 계속 진행하고 있다.

5.7 1.6

1.6 개발이 취소되고 1.7로 건너뛴다고 한다.(참조)

예정된 가장 큰 변경점은 드디어 에디터가 바뀐다는 점이였다. 해외에서 사용되는 오픈소스 에디터 중 하나인 tinyMCE를 붙일 예정이었다. 하지만 정작 1.7에서는 적용되지 않았다

5.8 1.7

현재 개발팀의 공식적인 입장으론 1.6을 건너 뛰어서 1.7을 출시할 것이라고 한다. 트위터 Bootstrap 스킨을 적용하였고, 1.6에서 예정되었던 많은 기능들은 취소되거나 1.8로 연기되었다.

2013년 1월 29일부터 2월 7일까지 베타 테스트가 진행된다. 테스터들의 평은 대체적으로 괜찮다는 반응.

그리고 2013년 3월 14일 1.7.3.0 버전으로 정식 출시되었다. 호환성이 괜찮아서 1.5에서 되던 모듈이나 애드온은 1.7에서 정상적으로 작동되는 것이 많다. 밋밋했던 관리자 화면도 개선되는 등 1.5보다는 긍정적인 변화가 많다.

그러나 단점도 있는데, 사이트맵 구조가 바뀌면서 모듈이나 페이지를 단독으로 추가할 수 없고, 메뉴와 같이 추가하거나 삭제해야 하게 되었다. 이 때문에 사용법이 확 달라져서 사용자들이 혼란을 겪는 중이다.

2015년 5월 2일 기준 1.7.13 버전이 마지막이다.

2015년 현재 이 버전은 한 유저가 YJSoft EX이라는 이름으로 보안 업데이트를 계속 진행하고 있다.

누리CMS로 fork되었으나, 현재 사라졌다. 관련 site는 nuricms.org

5.9 1.8

에디터 교체, 파일 업로드 변경, 비밀번호 암호화 개선 등을 목표로 개발되었다. 2015년 4월 14일에 정식 버전이 공개되었다.

에디터는 CKEditor가 메인이 되었고, 기존에 쓰던 에디터도 계속 쓸 수 있다. 에디터 교체와 함께 파일 업로더도 플래시 기반에서 HTML5 기반으로 변경되었다.

비밀번호 암호화는 원래 쓰던 MD5에서 MD5, MD5+SHA1+MD5, PBKDF2(PKCS#5 v2 표준, SHA256 기반), Bcrypt로 여러 가지를 사용할 수 있도록 변경되었다.

PHP 버전 요구사항이 5.3으로 올라가서 아직 PHP 5.2를 많이 쓰는 국내 웹호스팅에서는 설치가 어려운 점이 있다. 덕분에 호스팅사들이 PHP 5.3을 지원하기 시작했다.[5]

5.10 3.0

XE3 사이트

2015년 11월 14일 XECon 2015 개최와 함께 개발 버전이 나왔다. 정식 버전은 2016년 상반기 예정이었으나 연기된 듯.

기존과는 달리 Laravel이라는 PHP 프레임워크 기반이다.

기존의 합쳐져있던 몇몇 기능이 분리된 모듈 형태로 나오고, 기존의 XE와는 형태가 판이하게 다르다. 하지만 그와 동시에 많은 확장성을 가지고 있으며 별도의 모듈이 필요했던 기존 XE와 달리, 구글 캡챠나 소셜로그인, SEO 등이 기본 지원된다.

구조가 아예 판이하게 달라져서 1.X대 버전에서 나온 각종 모듈, 스킨등이 호환되지 않는다. 이 때문에 XE1과 3의 공식 홈페이지는 별도로 운영되고, XE3이 나오더라도 1의 유지보수는 계속된다.

6 기타

XpressEngine을 기반으로 돌린 일베저장소는 뭔 짓을 했는지 아무리 서버를 좋은 것을 쓴다 한들, 빠른 속도를 유지하면서 XE 기반으로 동접 몇만명을 견디는 데다 공격을 아무리 받아도 터지지 않는 신급의 최적화를 자랑하고 있어 정부 지원등의 음모론이 돌기도 했다. xml 파일을 뜯어보면 상당히 혹독하게 줄여낸 걸 알 수 있는데, 웹 프로그래머들 사이에서 이를 참고하거나 도용한 최적화 팁이 퍼지기도 했다.

한 때 XE 홈페이지에 일베저장소가 쇼케이스로 나온 적이 있는데, 당연히 댓글에는 반(反) 일베 네티즌들과 일베 이용자들의 병림픽이 펼쳐졌다. 결국 일주일여만에 해당 글은 삭제되었다.

많이 사용되는 웹제작 프로그램이지만, 문제는 마켓 활성화에 실패하여, 쓸만한 유료 테마나 플러그인을 구하기가 힘들다. 워드프레스처럼 본인이 원하는 모듈을 적절한 가격에 구할 수 있는 시장이 없어서 프리랜서나 전문 업체에게 맡겨야 하는데, 개인의 특수한 용도를 위해 제작하게 되므로 기능에 비해 비싼 가격과 유지보수 면에서 상당이 부담이 된다.

현재 XE의 버그, 유저 PR[6], 2015년 12월 이후 새로 나온 PHP7 지원을 포함한 XE Core가 XE 커뮤니티인 XETOWN 오픈소스 프로젝트로 열심히 개발 중에 있다! XE개발팀이 XE3 공개 이후 감감 무소식이여서, 추후 XE 1.X 버전은 보안 취약점을 해결한 버전만 배포될 것이란 소문이 무성해지고 있는 가운데 시작된 프로젝트다. 해당 프로젝트를 시작한 CONORY는 원래 XE개발팀의 늑장대응에 지쳐서 쓸만한 PR을 Merge할려고 한 것이었는데, 일이 커져버려 XE의 파생 버전으로의 방향으로 진행되고 있다고 하는데...# 참고로 원래는 XETOWN Core, XETOWN Fork 등으로 불리고 있었고 딱히 정확한 명칭은 없었으나, 2016년 1월 12일 이후로 Rhymix(라이믹스)리믹스로 최종 결정된 듯 보인다. 해당 프로젝트의 깃허브를 방문하려면 여기로.
  1. 옛 XE 개발팀 팀장. 카카오로 이직함에 따라 개발팀에서 빠졌다.
  2. 이때 XE는 eXtra Edition의 약자였다.
  3. 원래 1.4에서 SEED라는 이름의 새로운 에디터를 제작하고 있었는데 베타까지 나오고 개발이 중지되었다.
  4. 사실 이렇게 나가는 것이 맞을지도 모른다. 오픈소스는 유저 참여로 발전하기 때문이다.
  5. 실제로 XE의 영향력은 상당하기에 기업이 받을 타격을 생각하여 PHP 버전 업그레이드를 시작하였다. XE의 결정으로 몇년째 버티다 부랴부랴 업그레이드하는 모습이 정말 통쾌하다
  6. PR은 Pull Request의 줄임말로, 깃허브에서 도움되는 기능 추가 혹은 개선해달라고 요청하는 것이라 보면 된다.