제로보드
제로보드(Zeroboard)는 고영수가 개발한 홈페이지용 전자 게시판(BBS) 소프트웨어 또는 프레임워크이다. PHP 언어로 쓰여졌다. 1999년 말에 버전 1이 처음으로 배포되었고, 2001년 초에 버전 4가, 2002년 초에 버전 4.1이 발표되었다.
개요
제로보드의 개발 당시 대한민국 인터넷에서는 CGI 기반의 스크립트와 게시판 호스팅 서비스가 주로 사용되고 있었으나, CGI 방식의 한계점 때문에 PHP와 같은 서버 측 스크립트 언어를 사용한 게시판 프로그램에 대한 필요성이 대두되고 있었고 실제로 비슷한 소프트웨어가 많이 개발, 출시되고 있었다. 그러나 제로보드, 특히 제로보드4는 자유로운 스킨 방식 및 회원관리 기능과 같은 여러 특화된 기능을 제공해 상당한 사용자를 확보했고, 대한민국에서 PHP 기반 BBS의 대명사가 될 정도로 성장했다. 제로보드를 기반으로 한 쇼핑몰과 같은 다양한 응용이 등장하기도 했다. 그러나 제로보드4.1 이후 개발자의 개인 사정으로 개발이 계속 지연되면서 여러 문제점이 제기되기 시작했다. 일부 사용자가 비공식적으로 보안 패치를 제공했었지만 현재는 중단되었다. [1]
특징
제로보드의 형태는 댓글을 제외하면 PC통신의 게시판 형태를 거의 그대로 가져왔다. 한국은 초고속 인터넷이 다른 나라보다 빠르게 보급, 대중화되면서 인터넷의 바로 전 단계에 해당되는 PC통신이 먼저 대중화되었다. 제로보드보다 앞서 태어난 WWWBoard나 WayBoard, 워니보드 등등이 PC통신의 게시판 형태를 그대로 도입했다. 이 게시판의 보급과 인기로 인해 한국의 인터넷 게시판들은 게시물을 작성하면 그 밑으로 댓글이 달리는 형태가 주류로 자리잡게 되었다.[2]
장점
간편한 스킨(게시판의 디자인) 시스템과 회원 관리 시스템 등이 높은 인기 요인. 스킨은 구조가 간편해서, 구조를 어느 정도만 파악하고 이미지 제작 능력만 있다면 누구나 자신의 홈페이지에 맞춰서 쉽게 스킨을 새로 만들 수 있었다. 회원 관리 시스템은 동시대의 다른 게시판 프로그램에 비해 기능이 강력해서 인기가 좋았다.[2]
단점
- 코드 퀄리티
제로보드가 만들어진 당시 기준으로 코드 퀄리티가 상당히 부족하다. 중심이 되는 설계가 없고, 그때그때 원하는 기능을 덕지덕지 이어붙인 형태라 모듈화가 제대로 되어 있지 않으며, 사방에 전역 변수가 무수히 선언되어 있었다. 제로보드 4가 보안에 취약하다는 악명은 보안에 취약한 코드를 만들기 쉬운 당시 PHP의 특성과 제로보드 4의 코드 퀄리티가 빚어낸 결과이다. 제로보드 4의 강점이었던 스킨 시스템도 어떤 인터페이스를 제공하는 것이 아닌 그저 PHP코드를 집어넣는 형태로 구현되어 있다. 유저가 제작한 스킨으로 인해 보안 문제를 일으키는 경우나 제로보드가 버전업 될 때마다 동작하던 스킨이 깨지는 경우가 비일비재했다. 더 큰 문제는 제로보드 스킨 제작으로 PHP에 입문한 사람들이 많다는 것이다. 사실상 그런 사람들에게는 제로보드 4 코드가 레퍼런스인 셈인데, 코딩 습관이 제로보드 4에 맞춰지게 된다. 이로 인해 제대로 된 강좌 없이 막히는 부분이 있으면 다른 소스에서 복사 붙여넣기 하는 개발문화가 형성되었고 이들이 프로그래머로 진출하면서 비슷한 수준의 코드를 생산하게 되는 일이 많았다.
- 웹 표준 문제
웹 표준을 지키지 않아 모질라 파이어폭스 등의 타사 웹 브라우저 뿐만 아니라 인터넷 익스플로러 10 이상에서도 화면이 이상하게 나오거나 일부 기능이 작동하지 않는 등의 문제가 생긴다. 인터넷 익스플로러 10 이상에서는 소스를 수정해서 호환성 보기를 강제로 설정시켜도 되겠지만, 인터넷 익스플로러가 아니면 아무 소용 없다. 아니면 소스를 아예 웹 표준에 맞게 수정해도 되겠지만, 상술했듯이 보안 문제도 있기 때문에 다른 시스템으로 옮기는 게 좋다.
- 폐쇄적인 라이센스 정책
제로보드는 원래 라이센스 정책이 굉장히 폐쇄적이었다. 심지어 유료 버전을 사지 않으면 스킨 상에 나타나는 저작권 문구조차 못 지우게 했다. 그러나 차기 버전이 나오면서 제로보드라는 이름을 쓰지 않는 조건 하에 수정 및 재배포가 가능해졌다. 같은 시기에 저작권 문구 역시 삭제가 가능하게 바뀌었으며, 스킨 제작자에게 허락을 받았거나 자작 스킨이라면 스킨 저작권 문구도 삭제할 수 있게 바뀌었다.
- 플러그인 제작 문제
추가 플러그인 제작이 불편하다. 이 문제 때문에 사용자마다 제로보드의 소스가 다른 문제가 발생했다. 팁 게시판에 올라온 것을 바탕으로 수정해서 사용하던 사람이 많았기 때문. 4.1 버전 이후 업데이트가 안 되고 보안 업데이트도 어려웠던 이유 중 하나이기도 하다.[2]
- 보안에 취약한 구조
최신 보안패치를 적용하지 않거나 퍼미션 설정을 잘못 해두면 외부에서 악성코드를 삽입시키거나 Injection을 발생시킬수 있다. 또한 스킨 구조의 특성상 취약한 스킨을 통한 크래킹 사고가 빈번하였다.
- 개인정보 수집
회원가입시 주민등록번호를 통한 중복 가입 방지 기능이 내장되어 있어 개인정보 수집을 장려한다는 비판을 받았다. 이 기능은 기본적으로 활성화되어 있지는 않지만, 제로보드4로 제작된 홈페이지들은 이 기능을 켜놓는 경우가 많았다. 개인정보수집법이 변경되면서 주민번호 수집이 금지되자, 제로보드4 기반의 홈페이지들은 대부분 이 기능을 사용 중지시켰다.
- 일부 기능 비동작
개발 당시 웹 표준을 고려하지 않았기 때문에 인터넷 익스플로러 10 이상이나 타사 웹 브라우저에서는 스킨에 따라서 레이아웃이 잘못 표시되고 일부 기능이 정상적으로 동작하지 않는다. DTD 선언이 아예 존재하지 않기 때문에 제로보드를 사용한 게시판들은 구성 파일들을 웹 표준 코드로 수정하지 않는한 쿼크 모드로 표시된다. 제로보드4에는 ereg와 같은 함수들이 사용되었는데, 이러한 함수들은 php5.3부터 사용이 불가능하다. 제로보드4를 php5.3 이상에서 정상적으로 구동시키려면 이러한 함수들을 preg_replace등의 대체 함수로 수정하는 과정이 필요하다.
- 라이선스 정책 변경
- 제로보드4의 기본 프로그램, 즉 공식사이트에서 배포되는 프로그램에는 변경 사항이 없다.
- 단 제로보드4의 저작권 문구중 Zeroboard는 삭제 가능하도록 공지한다.
- 스킨 제작자에게 허락을 받거나 본인의 자작 스킨이라면 저작권 문구 전체를 삭제해도 된다.
- 제로보드4의 재배포도 허락한다. 단, 제로보드4의 파생품을 만들어서 배포하는 경우, 제로보드라는 명칭을 쓰지 않을것을 권장한다.[1]
각주
참고자료
같이 보기