페미위키:포크 프로젝트/리브레 위키/포크 (소프트웨어 개발)

최근 편집: 2021년 11월 8일 (월) 14:03
포크된 리눅스 배포판 타임라인

틀:다른 뜻 넘어옴 이 문서는 암묵의 룰에 의해 한국어 위키백과에서 분기되어 만들어졌다.

개요

소프트웨어 개발 포크(project fork)는 한 소프트웨어 패키지의 소스 코드에서 분기하여 다른 독립적인 소프트웨어를 개발하는 것이다. 자유 소프트웨어오픈 소스 소프트웨어에서, 라이선스, 원작자의 허가 없이 포크가 가능하다.

분기

많은 프로젝트는 버그 픽스만 이루어지는 ‘안정화 버전'(stable version) 또는 ‘릴리즈’(release version)와 새로운 기능을 통합한 ‘개발 버전’(development version)을 따로 마련하고 있다. 이것도 포크의 일종이다. 이러한 포크는 ‘브랜치’(branch) 또는 ‘분기’라고 하는데, 이는 ‘포크’(fork)라는 말이 부정적인 뉘앙스를 풍기고 있으며, 이러한 방법이 소프트웨어 공학의 ‘브랜칭’(branching)을 닮았기 때문이다.

자유 소프트웨어

자유 소프트웨어의 포크 원인은 목표의 불일치 및 개인 대립 등이 있다. 포크가 발생하는 경우 개발 그룹이 거의 같은 내용의 코드 기반으로 사용하지만, 소프트웨어의 원래 이름과 사용자 커뮤니티 내용은 대부분의 경우 큰 그룹 (또는 원래 설계자의 소속 그룹)이 인수하게 된다. 따라서, 포크 소프트웨어의 평판 식으로 불이익이 된다. 분기한 개발팀 간의 관계는 대체로 양호하지만(예 : 우분투데비안 ), 충돌하고 있거나 (예 : X.Org ServerXFree86, cdrtools 과 cdrkit ), 전혀 교류가 없는(예 : 리눅스 배포판의 대부분) 경우 등 다양하다.

포크는 자유 소프트웨어로 인한 자유의 일종으로 간주할 수도 있지만, 중복된 개발로 인해 이용자가 어떤 것을 사용해야 할 지 고민을 던져주는 나쁜 점도 있다. 각 그룹이 협력하여 자원을 공유할 수는 있지만, 무료 소프트웨어 라이선스로는 이 점에 대해서는 규정이 없어 합의가 된 경우에만 행해지지 않는다. 따라서 개발 작업은 다른 포크와의 차별화에 중점을 두고 행해지는 경우가 많다.

바깥 고리