Learn
이 페이지는 HSF에 대해 알고싶었지만 질문하기 어려웠던 모든 것들에 대한 개요를 제공합니다.
Handong Software Foundation이 무엇인가요?
HSF의 구조는 어떻게 되어있나요?
HSF 사용자의 구체적인 역할은 어떻게 되나요?
프로젝트의 관리 및 협업은 어떻게 하나요?
HSF의 모든 작업은 어떻게 구성 되어있나요?
The Handong Way가 무엇인가요?
FAQ
Handong Software Foundation이 무엇인가요?
HSF는 한동대학교에서 시작된 오픈소스 프로젝트 플랫폼입니다.
소프트웨어에 적용된 Handong 브랜드를 통해 다른 조직에 의해 남용되지 않도록 프로젝트를 보호합니다.
HSF의 구조는 어떻게 되어있나요?
HSF는 하나의 단일 문화를 강요하는 것보다 마찰을 줄이고 다양성이 나타날 수 있도록 각각의 프로젝트를 의사 결정 조직으로 인정합니다.
각 프로젝트는 소프트웨어 개발에 대한 권한을 가지며 자체 기술 헌장 및 관리 규칙을 설계하는 권한도 가지게 됩니다.
하지만 HSF 내부의 프로젝트들은 모두가 비슷한 유사성을 띄고, HSF 플랫폼 자체의 문화를 따릅니다.
HSF의 운영 구조는 다음과 같습니다.
HSF는 HSF 운영팀, PMC(Project Management Committee), 그리고 Contributor로 구성됩니다.
HSF 운영팀
HSF 운영팀은 HSF 플랫폼이 보다 더 활발하게 진행될 수 있도록 돕는 팀입니다. 주로 새로운 프로젝트를 돕거나, 보안 문제를 관리하고, Committer를 관리합니다.
PMC
PMC는 하나의 프로젝트에 대한 몇 선출된 Committer들의 모임입니다. PMC의 주된 역할은 감독입니다.
코드를 작성하는 것이 아니라, 커뮤니티가 HSF의 절차를 따르도록 하고 각각의 배포 버전이 커뮤니티 전체의 결과가 되도록 하는 것입니다.
또한, HSF의 발전을 위해 균형있고 광범위한 동료 검토와 협력이 이루어지도록 보장해야 합니다.
HSF는 검토 없이 진행되는 개발이 품질, 안정성 및 견고성에 해롭다고 생각합니다.
Contributor
Contributor는 HSF의 발전에 어떠한 형식으로든지 참여하는 사람을 의미합니다. 이들의 역할은 Committer의 운영에 따라 프로젝트의 발전을 도와야 합니다.
HSF 사용자의 구체적인 역할은 어떻게 되나요?
HSF는 운영팀, PMC, Contributor보다 더 자세한 분류로 나뉩니다.
User
User
사용자는 HSF의 소프트웨어를 실제로 사용하는 사람들을 의미합니다. 버그 보고서 및 기능 제안의 형태로 개발자에게 피드백을 제공하여 HSF 프로젝트에 기여합니다.
사용자는 메일링 목록 및 사용자 지원 문서에서 다른 사용자를 도와 HSF 커뮤니티에 참여할 수 있습니다.
Developer
개발자는 코드나 문서의 형태로 프로젝트에 기여하는 사람들을 의미합니다.
프로젝트에 참여하기 위해 추가 조치를 취하고, 개발자 메일링 리스트에서 활발히 활동하고, 토론, 패치, 문서, 제안 및 비평을 제공합니다.
개발자는 Contributor로도 알려져 있습니다.
Committer
커미터는 코드 repository에 대한 권한이 있는 개발자를 의미합니다.
코드나 문서에 대한 패치를 만들기 위해 다른 사람에게 의존할 필요 없이, 실제로 프로젝트에 대한 단기적인 결정을 내릴 수 있습니다.
이러한 결정에 PMC는 암묵적으로 동의하고 영구적으로 승인하거나 거부할 수 있습니다. 개별 커미터가 아닌, PMC가 최종 결정을 내리게 됩니다.
PMC Member
PMC 회원은 해당 프로젝트의 커미터 중 선출된 커미터입니다.
코드 repository에 대한 모든 권한 및 커뮤니티 관련 결정에 투표할 권리, 커미터를 위해 다른 활동적인 Contributor를 제안할 권리를 갖습니다.
전체적으로 PMC는 다른 누구도 아닌 프로젝트를 제어하는 주체입니다. PMC는 소프트웨어의 릴리스를 승인하기 위해 투표를 해야할 의무도 있습니다.
PMC Chair
HSF 운영팀은 PMC 회원 중에서 PMC 의장을 임명합니다.
프로젝트를 전체적으로 주관하는 PMC와 HSF 운영팀 사이의 인터페이스의 역할을 수행해야 합니다.
프로젝트의 관리 및 협업은 어떻게 하나요?
HSF 프로젝트는 계층 구조를 가지고 있지 않고, 공동 합의 기반의 프로세스를 사용하여 관리됩니다.
다양한 Contributor는 각자의 그룹 내에서 서로 다른 권리와 책임을 가집니다.
임명된 PMC는 프로젝트의 규정을 만들 수 있는 권한을 가지고 있기 때문에 PMC가 프로젝트를 운영하고 키워가는지에 대한 단일한 비전은 없습니다.
의사소통
HSF 생태계 내의 모든 프로젝트는 Mailing List를 통해서 의사소통이 이루어지게 됩니다.
Mailing List를 통해 프로젝트 내부에서 의사소통이 이루어지고, HSF 운영팀은 PMC와 의사소통을 하여 HSF를 운영해나갑니다.
Documentation
각 프로젝트는 각자의 repository에 프로젝트의 설명, 구조, 규칙 등에 대한 문서를 작성해야 합니다.
이 문서를 통해 새로 유입되는 개발자들은 더욱 빠르게 프로젝트에 합류할 수 있습니다.
의사결정
프로젝트는 일반적으로 각 프로젝트의 참여자들과 Committer들의 협의로 의사결정을 이루게 됩니다.
모든 투표는 숫자로 진행이 됩니다. +1은 긍정적인 투표, 0은 기권, -1은 반대 투표에 해당합니다.
-1의 반대 투표를 등록할 경우, 대안 제안이나 반대하는 이유에 대한 자세한 설명을 포함해야 합니다.
HSF를 관통하는 키워드는 무엇인가요?
HSF의 공식적인 목록은 없지만, 다음 5가지 원칙을 핵심 키워드로 사용합니다.
협업 소프트웨어 개발
지속적인 고품질 소프트웨어
상호 존중하고 정직한 기술 기반의 상호작용
HSF 표준의 충실한 이행
보안
모든 HSF 프로젝트는 이러한 원칙을 공유합니다.
HSF의 모든 작업은 어떻게 구성 되어있나요?
HSF 프로젝트의 모든 참가자는 봉사자입니다. 그 누구도 HSF 팀으로부터 직접 급여를 받지 않습니다.
개인이 HSF를 구성합니다.
HSF팀, PMC, Committer, Developer 등 HSF 구성원 모두가 개인으로 참여하고 있습니다.
이것은 HSF의 장점 중 하나입니다. 개인적인 소속이 개인의 기여를 흐리지 않고, 언제든 새로운 참여자를 받을 수 있습니다.
HSF 참여자가 특별히 명시하지 않는 이상 메일링 리스트에 게시하는 것은 그 자체로 수행됩니다. 이는 개인의 관점으로 진행되는 것이고, 직책과는 상관없이 이루어집니다.
하지만 정책과 관련하여 이야기를 하거나 본인의 직책과 관련한 얘기를 하기 위해서는 자신이 개인이 아닌 특별한 자격으로 이야기 하고 있다고 명시해야 합니다. 하지만 대부분의 경우에는 개인적인 의견이 잘 작동하기 때문에 이것이 필요하지 않습니다.
기밀성과 공개 토론의 균형을 유지해야 합니다.
HSF는 최대한 공개적으로 많은 논의를 진행하기 위해서 노력합니다. 개방성을 장려하고 공개 기록을 제공하고 더 넓은 커뮤니티를 지향합니다.
하지만 프로젝트와 관련하여 개인 메일이 필요할 수 있습니다. 이러한 경우에는 절대 허가 없이 진행을 해서는 안됩니다.
PMC의 결정 이후에 진행할 수 있고, 정보의 공개도 PMC의 결정이 필요합니다.