위키 소프트웨어

위키 소프트웨어(wiki software), 위키 엔진(wiki engine) 또는 위키 애플리케이션(wiki application)은 사용자가 웹 브라우저를 통해 페이지나 항목을 생성하고 공동으로 편집할 수 있게 해주는 위키를 구동하는 협업 소프트웨어이다. 위키 시스템은 보통 하나 이상의 웹 서버에서 실행되는 웹 애플리케이션이다. 이전 판을 포함한 콘텐츠는 보통 파일 시스템이나 데이터베이스에 저장된다. 위키는 저작물 관리 시스템의 한 유형이며, 웹 호스팅 시설에서 제공하는 가장 흔한 기성 소프트웨어 중 하나이다.

현재 활발하게 유지 관리되는 위키 엔진은 수십 개에 달한다. 이들은 실행되는 플랫폼, 개발된 프로그래밍 언어, 오픈 소스인지 사유 소프트웨어인지 여부, 자연어 문자 및 관례 지원, 그리고 편집의 기술적 제어와 사회적 제어에 대한 가정 등에 따라 다양하다.

 역사 

일반적으로 인정되는 최초의 "위키" 애플리케이션인 위키위키웹은 미국의 컴퓨터 프로그래머 워드 커닝햄이 만들었으며, 1995년 c2.com에서 시작되었다.The Wiki Way. Quick collaboration on the Web, Addison-Wesley (April 2001)  "위키위키웹"은 해당 소프트웨어로 구동되는 위키의 이름이기도 했으며, 위키가 존재했던 초기 몇 년 동안은 위키의 콘텐츠와 구동 소프트웨어 사이에 큰 구분이 없었다. 이는 거의 모든 위키가 각자 맞춤 제작된 소프트웨어에서 실행되었기 때문일 수 있다.

위키 소프트웨어는 1980년대 문서화 및 소프트웨어에 사용된 초기 버전 관리 시스템에서 유래했다. 1990년대 중반까지 이들은 일반적으로 웹 브라우저 인터페이스를 갖추고 있었다. 그러나 HTML 코드를 작성하지 않고는 내부 페이지 간에 링크를 쉽게 생성하는 기능이 부족했다. 위키위키웹의 경우, HTML 코드 없이 내부 링크(다른 페이지로의 내부 하이퍼링크)를 나타내기 위해 CamelCase 명명 규칙이 사용되었다.

미디어위키가 등장할 무렵, 이 관례는 편집된 소스 코드에 이중 대괄호를 사용하여 링크를 명시적으로 표시하는 방식으로 대체되었다. 이로써 페이지 이름이 문장의 흐름을 방해하지 않게 되었고 표준 영어 대소문자 표기 관례를 따를 수 있게 되었다. 첫 글자에는 대소문자를 구분하지 않지만 이후 글자에는 구분하는 방식은 표준 영어 대소문자 관례를 지원했으며, 작성자가 평범한 영어로 페이지를 작성한 후 특정 단어나 구절을 나중에 링크할 수 있게 해주었다. 이는 평범한 저자들이 위키 페이지를 작성하고 기술 지식이 없는 사용자들이 읽을 수 있게 한 결정적인 변화임이 입증되었다. 이 정책은 다른 자연어에도 확장되어, 해당 언어의 규칙을 위반하는 기이한 텍스트나 어색한 대소문자 사용을 피할 수 있게 되었다.

이후 10년 동안 다양한 프로그래밍 언어로 작성된 더 많은 위키 애플리케이션이 등장했다. 2005년 이후에는 통합과 표준화가 진행되기 시작했다. 인기가 적은 많은 위키 애플리케이션이 점차 중단되었고, 새로운 애플리케이션은 적게 생성되었다. 현재 사용 중인 위키 엔진 중 2006년 이후에 만들어진 것은 상대적으로 적다.

마이크로소프트 셰어포인트와 같은 일부 저작물 관리 시스템도 위키와 유사한 기능을 채택했다.

 데이터 호환성 

일반적으로 새로운 위키 엔진은 기존 엔진의 데이터 형식(위키 마크업 언어)을 따르지 않았으며, 이는 기존 소프트웨어의 대규모 지식 베이스에 이미 투자한 사용자들에게 제한적인 유용성만을 제공했다. 원칙적으로 새로운 위키 프로젝트들은 기존 위키 소프트웨어 사용자 기반에서 많은 수의 사용자를 끌어들이는 데 성공하지 못했다.

가장 잘 알려진 데이터 형식은 단연 미디어위키의 형식이며, 이에 따라 다른 위키에서도 재구현되었다:
 워드프레스에는 미디어위키 형식의 페이지를 표시하고 편집하며 미디어위키를 프레임으로 가져오는 확장 기능이 있다.
 Jamwiki는 자바로 만든 미디어위키 클론으로, 미디어위키 형식의 페이지는 지원하지만 확장 기능은 지원하지 않는다.
 다른 상업용 프로젝트나 클론들도 종종 미디어위키 형식을 따르거나 따랐다. 블루스페이스 미디어위키는 무료 버전을 제공하는 유일한 소프트웨어이다.

이러한 대안 중 어느 것도 표준 미디어위키에서 사용 가능한 확장 기능을 지원하지 않으며, 일부 확장 기능은 데이터 형식을 확장하거나 변경하기도 한다.

2007년에 위키를 위한 표준화된 마크업 언어를 만들기 위한 (위키)Creole 프로젝트가 완료되었다. 2022년 기준 이 노력은 많은 엔진에서 구현되어 상당한 기술적 성공을 거두었으나, 여전히 상대적으로 사용되지 않고 알려지지 않았으며, 기존 지식 베이스를 이 형식으로 이전하기 위한 교차 마크업 변환 도구도 거의 없고, 이를 기본 마크업 구문으로 사용하는 주요 엔진도 없어 사회적 성공은 제한적이다.

 사용 유형 
위키 소프트웨어의 사용 유형은 기본적으로 세 가지가 있다. 잠재적으로 큰 독자 및 편집자 커뮤니티가 있는 공개 위키, 기업 및 기타 조직의 데이터 관리를 위한 비공개 엔터프라이즈 위키, 그리고 개인이 메모를 관리하기 위해 주로 데스크톱 컴퓨터에서 사용하는 개인 위키이다. 일부 위키 소프트웨어는 이러한 사용 유형 중 하나를 위해 특별히 설계된 반면, 다른 소프트웨어는 세 가지 모두에 사용될 수 있지만 핵심 기능이나 플러그인을 통해 특정 사용 유형을 돕는 기능을 포함한다.

 공개 위키 

공개 위키는 대개 일반인이 각 위키의 일부 또는 전체 문서 공간을 읽고 편집하고 의견을 남길 수 있도록 개방되어 있다. 많은 위키가 사용자에게 추가적인 접근 권한과 제어 기능을 제공하기 위해 등록 기능을 제공하며, 인기 있는 위키 농장인 팬덤과 같이 부분적으로 상업화된 측면이나 추가 접근 권한을 가진 경우도 있다.

미디어위키는 압도적으로 지배적인 소프트웨어로, 가장 방문자가 많은 공개 위키인 위키백과를 구동하고 있으며, 다른 많은 공개 위키들도 구동한다. 공개 위키에 정기적으로 사용되는 다른 위키 엔진으로는 모인모인과 피엠위키, 그리고 그 외 다수가 있다.

위키 소프트웨어를 기반으로 한 다른 인터넷 웹사이트로는 Sensei's Library, Parlia, 위키트리와 같은 백과사전 등이 있다.

 엔터프라이즈 위키 

엔터프라이즈 위키 소프트웨어는 기업(또는 조직) 환경에서 사용하기 위한 소프트웨어로,"Year of the enterprise Wiki: Lightweight Web collaboration gets down to business", Jon Udell, 인포월드, December 30, 2004. 특히 내부 지식 공유를 강화하기 위해 사용된다. 접근 제어, 다른 소프트웨어와의 통합, 문서 관리 시스템과 같은 기능에 더 큰 비중을 두는 경향이 있다. 대부분의 사유 위키 애플리케이션은 Socialtext, Jive, Traction TeamPage, 노션과 같이 자신들을 엔터프라이즈 솔루션으로 마케팅한다.

최근에는 '위키'라는 이름을 사용하지만 컨플루언스(2018년 이후)와 같은 위키 마크업 및 링크 우선 워크플로, 마이크로소프트 팀즈와 같은 전문 검색, 또는 버전 관리와 같은 기존 위키의 공통적인 기본 요소를 제공하지 않는 서비스들이 등장하고 있다.

또한 XWiki, Foswiki,"Foswiki - The free enterprise collaboration platform". 트위키,"TWiki - the Open Source Enterprise Wiki and Web Application Platform". 블루스페이스 미디어위키"BlueSpice - The Wiki and Knowledge Base Software".와 같은 일부 오픈 소스 위키 애플리케이션들도 스스로를 엔터프라이즈 솔루션으로 설명한다. 특정하게 엔터프라이즈 솔루션으로 표방하지 않더라도 티키 위키 CMS 그룹웨어나 미디어위키처럼 엔터프라이즈 사용자를 겨냥한 마케팅 자료를 갖춘 오픈 소스 위키 애플리케이션들도 있다. 다른 많은 위키 애플리케이션들도 기업 내부에서 사용되어 왔다.

내부적으로 위키를 사용하는 많은 기업 및 정부 기관 중에는 인텔, 마이크로소프트, 미국 정보 공동체 등이 있다.

조직 내에서 위키는 중앙 집중식으로 관리되는 저작물 관리 시스템을 보완하거나 대체할 수 있다. 위키의 분산된 특성은 원칙적으로 중앙 제어형 지식 저장소보다 조직 전체에 필요한 정보를 더 빠르고 저렴하게 전파할 수 있게 해준다. 위키는 문서 관리, 프로젝트 관리, 고객 관계 관리, 전사적 자원 관리 및 기타 다양한 종류의 데이터 관리에도 사용될 수 있다.

기업에 도움이 될 수 있는 위키의 기능은 다음과 같다:
 인명부, CMS, 애플리케이션과 같은 다른 기업 정보 시스템으로의 하이퍼링크를 포함하여 빠르고 쉽게 생성할 수 있는 페이지에 정보를 입력함으로써 유용한 지식 베이스 구축을 용이하게 한다.
 이메일 과부하를 줄인다. 위키는 특정 프로젝트에서 일하는 사람들이 모든 관련 정보를 공유할 수 있게 한다. 반대로, 수많은 메시지로 구독자에게 부담을 줄 수 있는 트래픽 많은 메일링 리스트와 달리, 해당 프로젝트에 관심이 있는 위키 사용자만 관련 위키 페이지를 보면 된다. 또한 프로젝트 매니저가 모든 커뮤니케이션을 한 곳에 저장하여 모든 조치에 대한 책임을 특정 팀원과 연결할 수 있다는 점에서도 매우 유용하다.
 정보를 조직화한다. 위키는 사용자가 정보를 발견 가능하고 검색 가능한 카테고리로 구조화하도록 돕는다. 이는 사용자들에 의해 상향식(bottom-up) 방식으로 발생할 수 있다. 사용자는 목록, 표, 타임라인 및 기타 순서를 표현하는 방식을 만들 수 있다.
 합의를 구축한다. 위키는 저자들이 고려 중인 주제에 대한 의견 표명을 동일한 페이지 내에서 구조화할 수 있게 한다. 이 기능은 문서를 작성하거나 발표를 준비할 때, 또는 저자들의 의견이 다를 때 매우 유용하다.
 권한 및 역할별 접근 수준. 조직 내 부서나 역할에 따라 특정 페이지를 보거나 편집하는 접근 권한을 제한할 수 있다.
 종합적인 검색을 통한 지식 관리. 여기에는 직원의 이직이나 퇴직 시 유용한 문서 관리, 프로젝트 관리 및 지식 저장소가 포함된다.

 개인 위키 
개인 위키를 구동하기 위해 특별히 설계된 소프트웨어로는 피엠위키, 톰보이, ConnectedText(현재 중단됨) 등이 있다. 더 일반적인 다른 위키 애플리케이션들도 ("DesktopEdition"을 제공하는 모인모인 등) 개별 사용자를 위한 구성 요소를 갖추고 있으며, 티들리위키도 이에 해당한다.

 편집 

대부분의 위키 소프트웨어는 사용자가 HTML을 입력하는 대신 텍스트 형식을 지정할 수 있도록 위키 마크업이라는 특수 구문을 사용한다. 일부 위키 애플리케이션은 위키 마크업 편집 대신 또는 그와 함께 위지위그 편집기를 포함하기도 한다.

데이터베이스 시스템의 원자성 속성에 기초하여, 모든 편집은 추적되어야 한다. 위키 소프트웨어에서 특정 문서의 편집 연대학(예: 인터넷 사용자가 게시한 것)은 관리자 권한을 가진 사람에 의해 공통 .xml 파일 확장자로 로컬에 저장될 수 있다.

 호스팅 애플리케이션 

서버에서 사용자의 위키를 호스팅하는 다양한 위키 호스팅 서비스(위키 농장이라고도 함)가 있다. 일부 위키 소프트웨어는 호스팅 형태로만 제공된다. PBworks, Wetpaint, Wikispaces는 모두 해당 사이트에서만 사용 가능한 코드로 실행되는 위키 호스팅 서비스의 예이다. 다른 위키 소프트웨어는 컨플루언스, Socialtext, 미디어위키, XWiki와 같이 호스팅 형태와 다운로드 형태 모두로 제공된다.

 추가 기능 

 콘텐츠 관리 기능 

위키 소프트웨어에는 달력, 할 일 목록, 블로그, 토론 포럼과 같은 전통적인 저작물 관리 시스템의 기능이 포함될 수 있다. 이 모든 기능은 버전이 관리되는 위키 페이지를 통해 저장되거나 단순히 별도의 기능 조각일 수 있다. 위키 방식의 편집과 버전 관리를 지원하는 블로그 소프트웨어는 때때로 "블리키"(bliki) 소프트웨어로 알려져 있다.

티키 위키 CMS 그룹웨어는 핵심 기능으로 이러한 기능을 지원하도록 설계된 위키 소프트웨어의 예이다. 트위키, 컨플루언스, 셰어포인트와 같은 많은 엔터프라이즈 위키 애플리케이션과 미디어위키, XWiki 같은 오픈 소스 애플리케이션도 플러그인을 통해 이러한 기능을 지원한다.

 스크립팅 

일부 위키 애플리케이션은 사용자가 위키 페이지에 스크립트 언어 스타일의 호출을 삽입할 수 있게 하며, 이는 위키의 파서에 의해 처리되어 페이지가 저장될 때 또는 표시될 때 실행된다. XWiki와 미디어위키가 그러한 애플리케이션의 예이다.

특히 XWiki는 루비, 파이썬, PHP 또는 더 일반적으로는 모든 JSR223 스크립트 언어를 지원한다.

 시맨틱 주석 

위키 소프트웨어는 사용자가 위키를 통해 데이터를 저장하고, 이를 시맨틱 웹을 통해 내보내거나 위키 내에서 내부적으로 쿼리할 수 있는 기능을 제공할 수 있다. 이러한 주석을 허용하는 위키를 시맨틱 위키라고 한다. 현재 가장 잘 알려진 시맨틱 위키 소프트웨어는 미디어위키의 플러그인인 시맨틱 미디어위키이다.

 모바일 접속 

일부 위키 소프트웨어는 휴대 전화와 같은 모바일 기기에서의 접속을 위한 특별한 처리를 한다. 이는 대개 보수적인 HTML 코딩을 표시함으로써 이루어진다.Socialtext Optimizes Wiki for Mobile Users , CIO Magazine, April 5, 2006, retrieved 2008-09-20

 오프라인 보기 및 편집 

사용자가 온라인 상태가 아닐 때 위키 기능을 제공하기 위한 다양한 접근 방식이 시도되었다. 오프라인에서 단순히 위키의 콘텐츠를 읽어야 하는 사용자를 위해 콘텐츠의 사본을 쉽게 만들 수 있는 경우가 많다. 위키백과의 경우 콘텐츠 일부가 CD-ROM이나 인쇄물 버전으로 제작되기도 했다.

그러나 오프라인 편집(사용자가 다시 온라인이 되었을 때 변경 사항을 동기화하는 방식)을 허용하는 것은 훨씬 더 어려운 과정이다. 이를 위한 한 가지 방법은 P2P 방식으로 위키의 백엔드로서 분산 버전 관리 시스템을 사용하는 것이다. 이 접근 방식에서는 위키 콘텐츠의 중앙 저장소가 없으며, 대신 모든 사용자가 로컬에 위키의 전체 사본을 유지하고 소프트웨어가 변경 사항이 발생했을 때 이를 병합하고 전파하는 작업을 처리한다. 이는 (분산 버전 관리 시스템인 Git을 백엔드로 사용할 수 있는) ikiwiki 엔진과 Code Co-op(위키 구성 요소를 포함하는 분산 버전 관리 시스템)이 취한 방식이다.

 분산 및 탈중앙화 

위키 소프트웨어는 분산될 수 있다. 예로는 XWiki, Smallest Federated Wiki 및 Ibis가 있다. 위키백과를 탈중앙화 위키로 운영할 수 있게 하려는 연구도 진행된 바 있다.A Decentralized Wiki Engine for Collaborative Wikipedia Hosting, Guido Urdaneta, Guillaume Pierre and Maarten van Steen, Proceedings of the 3rd International Conference on Web Information Systems and Technology (Webist), March 2007Wikipedia Workload Analysis for Decentralized Hosting, Guido Urdaneta, Guillaume Pierre, Maarten van Steen, Elsevier Computer Networks 53(11), pp. 1830–1845, July 2009

 같이 보기 
 협업 편집
 위키 소프트웨어 비교
 엔터프라이즈 포털
 엔터프라이즈 소셜 소프트웨어
 협업 소프트웨어 목록
 위키 소프트웨어 목록

 각주 

 참고 문헌 

 Andersen, Espen (2005). Using Wikis in a Corporate Context. In Handbuch E-Learning. A. Hohenstein and K. Wilbers (eds). Cologne, WoltersKluwer. 5.8: 15.
 Guy, Marieke (2006). Wiki or Won't He? A Tale of Public Sector Wikis . Ariadne Issue 49.
 Grzeganek, K.; Frost, I.; Gross, D (2011). Spoilt for Choice - Wiki Software for Knowledge Management in Organisations. Community of Knowledge.


분류:정보 기술 관리
분류:포털 사이트