포럼
코어에서 포인트 모듈 삭제 청원에 대한 두번째 글
2011.12.02 14:58
예전에 쓴 포인트 모듈의 기본 코어 수록을 폐지하자는 글이 나름 큰 반향을 얻어서 많은 분들이 리플을 달아주셨는데,
제가 생각하는 방향과 많은 부분에서 교감이 이루어지지 않은거 같아서 글을 한가지 더 남겨봅니다.
포인트 모듈의 코어 기본 포함을 폐지하자는 의견은 다음과 같은 장점을 노리고 있습니다.
1. 개발팀의 개발 부문의 축소로 인한 코어 효율 강화
2. 포인트 모듈을 사용하지 않는 사이트에서의 쓸모없는 트리거등의 감소로 코어 효율 증대
3. 포인트 등의 개념을 차용한 서드파티 모듈의 개발 촉진
자 그럼 하나씩 찝어서 왜 저러한 장점이 있는지 이야기 해보도록 하겠습니다.
1. 개발팀의 개발 부문의 축소로 인한 코어 효율 강화
기본적으로 포인트 모듈등의 유지보수에 투입될 인력, 이슈등의 보고등을 다른 방향으로 돌릴수 있으므로 코어 효율이 강화되는건 일목 요연한 일이라고 생각합니다. 한정된 개발 인원, 한정된 공헌자나 커미터를 생각할때, 가능한 적은 분야에 집중해서
XE 의 기본적 토대가 되는 코어의 안정성을 올리는데 기여할수 있을것이라고 생각합니다.
2. 포인트 모듈을 사용하지 않는 사이트에서의 쓸모없는 트리거등의 감소로 코어 효율 증대
현재는 기본적으로 포인트 모듈을 포함하고 있음으로써, 포인트 기능을 사용하지 않는 사이트 에서도 포인트 모듈에 포함된 트리거등이 작동되고 있습니다. 이는 글, 리플 작성 그외 기타 액션등에서 부하를 야기하고 있으며, XE 전체의 속도 감소 효과를 유발하고 있지요. 추가로, 포인트 캐시등으로 불필요한 파일을 생성하고, 데이터베이스 등에서 불필요한 공간을 강요하고 있습니다,
가능한 작은 구조, 적은 기능이 퍼포먼스에 영향을 끼친다는것을 생각하면, 포인트 모듈을 코어에 강요하는것은 비효율적이라 할수있겠지요.
3. 포인트 등의 개념을 차용한 서드파티 모듈의 개발 촉진
첫번째 글에 작성하지 않았던 내용인데 이 부분이 이 글의 하이라이트라고 할수 있습니다. 잘 읽어주세요.
현재 포인트 모듈이 코어에 포함되 있음으로써, 가장 큰 피해는 개발팀의 업무 과중도, 불필요한 모듈로 인한 속도 향상도 아닌 서드파티의 포인트 계열 관련 모듈등의 개발을 봉쇄하고 있는 점이라고 생각합니다.
예를들어서, 단순히 레벨위주의 시스템을 구축했다고 해봅시다. 저같은 경우는, 이러한 시스템을 기존의 포인트 모듈을 개조해서 경험치 계산등을 좀더 다양화된 방식을 통해서 계산하고, 회원 레벨을 XE 에서 제공하는 레벨이 아닌 별도의 구조로 구현해 두었습니다.
그런데 이러한 시스템은, 기존에 존재하는 포인트 모듈과 충돌하기때문에,
해당 모듈의 기능을 충돌없이 사용하기 위해서는 기존의 포인트 모듈을, 제거하거나 기존의 포인트 모듈의 코드를 무력화 시켜야합니다.
물론, 이러한 모듈을 배포할때 기존의 포인트 모듈을 삭제하고 적용하라고 할수도 있겠지요. 그러나
쉬운설치등에 포인트 모듈이 같이 기본으로 배포됨으로 인해서, 기존의 포인트 모듈과 충돌될 가능성이 여전히 남아있습니다.
이러한 복잡해보이는 상황에서 과연 누가 포인트 관련 모듈을 만들었다고, XE 에 배포하려고 할까요?
포인트 모듈이 기본에 포함되 있음으로써, 포인트라는 소재를 이용한 무궁무진한 서드파티 모듈등이 빛을 바래고 있는겁니다.
게시판에 보면, 포인트 관련 기능에 대한 개발 요구가 상당히 많은 편입니다.
포인트를 이용해서 뭔가 할수있는걸 추가해주세요 등등의.
근데 그걸 XE 개발팀들이 작업할수도 없는일이고, 포인트를 이용한 컨텐츠를 코어에 포함시킨다는건 더욱더 어불성설입니다.
그렇다면 결국 누군가가 서드파티차원에서 만들수밖에 없는데,
포인트 관련 모듈을 제작해서 배포하려면 코어에 기본 포함된 포인트 모듈이 결국 문제가 된다는거지요.
--
이러한 장점들 때문에, 포인트 모듈이 코어에서 제외되고
개발팀의 공식적인 개발로 인한 공식 모듈화도 지양하는 것이 낫다고 생각합니다.
공식 개발로 인해서 참여되는 모듈의 경우, 해당 모듈을 개변한 모듈등을 내놓기가 그만큼 부담되니까요,
Board 를 개선한 모듈이 별로 없다는걸 생각해보시면 충분히 연상하실수 있을꺼라고 생각합니다.
물론 XE 의 전략차원에서 Board 등은 반드시 필요하기때문에 Board 의 공식 개발은 인정할수 있지만,
포인트는 그러한 문제랑은 별개라고 생각합니다.
또한 이러한 서드파티의 강화는, 오픈소스 프로젝트로써 XE 가 나아가야할 길을 제시하는데도 큰 도움이 될것이라고 생각합니다.