커뮤니티 기여 가이드
Apache Doris는 전 세계의 개발자, 사용자, 기술 문서 작성자, 발표자, 커뮤니티 운영자를 환영합니다. 코드 개발, 콘텐츠 제작, 커뮤니티 활동을 통해 기여할 수 있습니다. 어떤 방식으로 참여하든 프로젝트의 성장에 도움이 되며, 기여자에게는 오픈 소스 협업에 참여한 공개 기록이 남습니다.
코드 개발
추천 대상: Doris 개발에 직접 참여하고 싶은 기여자.
- 버그를 수정하고 새로운 기능을 개발합니다.
- 성능, 안정성, 관측 가능성을 개선합니다.
- 단위 테스트, 회귀 테스트, 통합 테스트를 추가합니다.
- 빌드, CI, 릴리스, 개발 도구, 엔지니어링 작업 흐름을 개선합니다.
- PR을 검토하고 기술 문서, 사용자 문서, 예제를 추가합니다.
기여한 내용이 병합되면 Apache Doris Contributor가 됩니다.
콘텐츠 제작
추천 대상: Doris 활용 사례를 알고 실무 경험을 공유하고 싶은 기여자.
- 기술 블로그 글과 프로덕션 환경 사례 연구를 작성합니다.
- 시작하기 튜토리얼과 모범 사례를 만듭니다.
- 기능, 배포, 튜닝, 문제 해결에 관한 영상을 제작합니다.
- 밋업, 웨비나, 콘퍼런스에서 발표합니다.
- 문서, 블로그 글, 행사 자료, 영상 자막을 번역합니다.
양질의 콘텐츠를 기여하면 감사의 뜻으로 커뮤니티 기념품을 드립니다.
커뮤니티 활동
추천 대상: 사용자의 요구를 이해하고 사람들과 함께하는 일을 즐기는 기여자.
- Slack, GitHub, 메일링 리스트에서 질문에 답합니다.
- 새로운 사용자가 적절한 문서, 예제, 커뮤니티 채널을 찾도록 돕습니다.
- 온·오프라인 밋업, 워크숍, 질의응답 시간, 사용자 발표를 기획합니다.
- 사용자가 프로덕션 환경 운영 경험과 마이그레이션 사례를 공유하도록 초대합니다.
- 사용자 의견을 수집해 공개 커뮤니티 채널에 공유합니다.
적극적으로 참여하는 커뮤니티 구성원에게는 감사의 뜻으로 커뮤니티 기념품을 드립니다.
기여 혜택
기여의 종류, 품질, 지속성에 따라 다음과 같은 혜택을 받을 수 있습니다.
- Apache Doris 커뮤니티 채널에서 공개적으로 기여를 인정받을 수 있습니다.
- 기여자 목록, 커뮤니티 감사 인사, 행사 후기에서 기여를 소개받을 수 있습니다.
- Apache Doris 웹사이트, 블로그, 소셜 채널, 영상 채널에 콘텐츠를 게시할 기회를 얻을 수 있습니다.
- 커뮤니티 행사에서 발표할 기회를 얻을 수 있습니다.
- Maintainer, Committer, PMC 구성원, 경험 많은 사용자와 교류할 기회가 늘어납니다.
- 일부 밋업, 웨비나, 콘퍼런스 세션 또는 다른 커뮤니티 프로그램에 우선 참여할 수 있습니다.
- 기술 기여와 개인적 성과에 관한 공개 기록을 남길 수 있습니다.
- 커뮤니티 기념품이나 특별 선물을 받을 수 있습니다.
높은 수준의 기술 기여를 꾸준히 이어 온 구성원은 Apache 거버넌스 절차를 거쳐 Apache Doris Committer 또는 PMC 구성원으로 초대받을 수 있습니다. Doris Summit은 매년 주목할 만한 기여를 한 사용자, 개발자, 커뮤니티 활동가에게 감사를 전하기 위해 Outstanding Community Heroes를 선정합니다.
커뮤니티 참여 가이드
아래에서 각 참여 방식의 시작 방법을 설명합니다.
커뮤니티 절차가 발전함에 따라 이 가이드는 변경될 수 있습니다. 최신 소식은 Apache Doris Slack 커뮤니티에서 확인하세요.
- 코드 개발 가이드
- 콘텐츠 제작 가이드
- 커뮤니티 활동 가이드
기여할 작업을 찾는 곳
다음 채널에서 기여할 기회를 찾을 수 있습니다.
- Slack: 질문하거나 토론을 시작하고, 배경 정보를 확인하거나, 대화할 담당자를 찾을 수 있습니다.
- Apache Doris GitHub Issues: 버그, 기능 요청, 개선 아이디어, 진행할 작업을 찾기에 좋습니다.
- Apache Doris GitHub Discussions: 기술 토론, 사용 관련 질문, 설계 제안에 적합합니다.
- 로드맵: 장기적인 기술 작업을 찾기에 좋습니다. 보통 GitHub Issues 페이지에 고정된 Issue에서 확인할 수 있습니다.
- 기존 PR: 검토, 테스트, 검증에 참여하거나 변경 사항이 진행되도록 돕기에 좋습니다.
처음 기여한다면 문서 수정, 테스트 추가, 간단한 버그 수정, Issue 재현, 오류 메시지 개선, 예제 정리처럼 범위가 작고 명확한 작업부터 시작할 수 있습니다. 규모가 큰 기능이나 동작 변경은 Apache Doris Slack의 #dev 채널에서 토론을 시작하고 Core Maintainer에게 배경 정보를 물어보세요.
코드 기여 시 지켜야 할 사항
코드를 제출하기 전에 다음 사항을 확인하세요.
apache/doris저장소를 포크하고 최신 main 브랜치에서 별도 브랜치를 만듭니다.- 각 PR은 하나의 명확한 문제에 집중합니다. 관련 없는 변경 사항을 한 PR에 섞지 않습니다.
- PR 제목과 설명에 목표, 범위, 검증 결과를 적습니다.
- 관련 Issue, Discussion 또는 메일링 리스트 대화를 연결합니다.
- 필요한 단위 테스트, 회귀 테스트 또는 수동 검증 절차를 추가합니다.
- 변경 사항이 사용자 동작, 설정, SQL 의미 체계, 오류 메시지 또는 호환성에 영향을 주면 문서를 업데이트합니다.
- 호환성, 성능, 안정성 또는 동작에 관한 위험을 PR 설명에 명시합니다.
좋은 PR에는 일반적으로 다음 내용이 포함됩니다.
- 배경: 변경이 필요한 이유.
- 접근 방식: 무엇을 왜 변경했는지.
- 테스트: 실행한 테스트나 검증 절차와 그 결과.
- 위험: 변경 사항이 호환성, 성능, 안정성 또는 사용자 동작에 영향을 주는지.
- 문서: 문서 업데이트가 필요한지, 필요하다면 어디를 업데이트했는지.
커뮤니티는 코딩, 디버깅, 검토에 AI를 활용하는 것을 지원하지만, 기여자는 다음 규칙을 따라야 합니다.
- 개발, 디버깅, 검토에는 충분한 성능을 갖춘 모델을 사용합니다. 중요한 변경 사항에 품질이 낮은 생성 코드에 의존하지 않습니다.
- 제출한 코드에 대한 책임은 제출자에게 있습니다. 커뮤니티는 사람이 책임지지 않는 AI 생성 코드를 받지 않습니다.
표준 병합 절차
코드 변경은 일반적으로 다음 절차를 거칩니다.
- 기여자가 Pull Request를 엽니다.
- Committer 또는 그보다 높은 권한을 가진 사람이 CI와 AI Review를 실행합니다. 도움이 필요하면 Slack
#dev채널에서 요청할 수 있습니다. - 기여자가 CI와 검토에서 보고된 빌드, 테스트, 형식 문제를 수정합니다. AI 피드백도 검토 과정의 일부입니다. 유용한 제안은 반영하고, 적용할 수 없는 제안은 PR에서 이유를 설명합니다.
- 필요한 경우 기여자가 최신 main 브랜치에 맞춰 리베이스하고 충돌을 해결합니다.
- 필수 CI 검사를 모두 통과합니다.
- Reviewer가 PR을 승인합니다.
- Committer가 병합을 완료합니다.
PR을 병합하려면 필수 CI 검사를 통과해야 합니다. 필수가 아닌 검사는 병합을 막지 않습니다.
검토를 진행하는 방법
기여자는 Reviewer를 기다리기만 하지 말고 자신의 PR이 진행되도록 적극적으로 도와야 합니다. Apache Doris 기여 가이드에서도 기여자가 자신의 PR에서 Moderator 역할을 맡아 제출부터 병합까지 진행하는 것을 권장합니다.
권장 사항은 다음과 같습니다.
- PR 설명에 Reviewer에게 필요한 배경 정보를 충분히 제공합니다.
- Slack
#dev채널에 PR 링크를 공유하고 Reviewer를 요청합니다. - 검토 의견에 신속히 답합니다.
- 지적된 사항을 처리한 뒤 해결됨으로 표시합니다.
- 의견에 동의하지 않을 때는 기술적 근거를 설명합니다.
- 충돌이 오래 누적되지 않도록 정기적으로 리베이스합니다.
- PR 진행이 멈췄다면 관련 Reviewer에게 PR에서 정중하게 다시 확인을 요청합니다.
- 누가 PR을 검토해야 할지 모르겠다면 Slack에서 적절한 모듈 담당자를 찾는 데 도움을 요청합니다.
적절한 Reviewer를 찾는 방법은 다음과 같습니다.
- 같은 모듈에서 최근 병합된 PR을 살펴봅니다.
- 관련 파일의 커밋 기록을 확인합니다.
- 사용할 수 있다면 GitHub에서 추천하는 Reviewer나 CODEOWNERS를 확인합니다.
- Slack에서 적절한 Reviewer를 찾는 데 도움을 요청하되, 중요한 기술적 결론은 GitHub나 메일링 리스트에도 공유합니다.
제출할 콘텐츠와 제출 방법
블로그 글
다음과 같은 주제가 좋습니다.
- Doris 기능 심층 분석.
- 쿼리 최적화, 데이터 적재 최적화, 운영 튜닝, 문제 해결.
- Lakehouse, 실시간 데이터 웨어하우스, 로그 분석, 사용자 행동 분석 등 실용적인 활용 사례.
- Elasticsearch, ClickHouse, Hive, Trino 또는 다른 시스템에서 Doris로 마이그레이션한 경험.
- 프로덕션 환경의 문제 해결과 성능 튜닝 경험을 정리한 글.
- 새 릴리스의 기능 개요와 활용 조언.
제출 방법:
- Slack
#dev채널에서 토론을 시작합니다. apache/doris-website저장소의/blog디렉터리에 Markdown 파일을 제출합니다. 필요하면 Doris Maintainer가 도와줄 수 있습니다.
사례 연구
좋은 사례 연구에는 다음 내용이 포함됩니다.
- 회사나 팀의 비즈니스 배경.
- 팀이 Apache Doris를 선택한 이유.
- 시스템 아키텍처와 데이터 흐름.
- 데이터 규모, 쿼리 패턴, 성능 목표.
- 마이그레이션이나 도입 과정에서 발견한 문제.
- 실제 운영을 시작한 뒤 얻은 결과, 이점, 교훈.
제출 방법:
- 콘텐츠에 회사 이름, 비즈니스 데이터 또는 아키텍처 다이어그램이 포함되어 있다면 먼저 내부 승인을 받거나 민감한 정보를 제거합니다.
- Slack
#dev채널에서 토론을 시작합니다. 커뮤니티에서 사례 연구의 편집, 번역, 게시를 도와줄 수 있습니다.
튜토리얼
다음과 같은 튜토리얼 주제가 좋습니다.
- 시작하기.
- 배포와 업그레이드.
- 데이터 적재.
- 쿼리 튜닝.
- 구체화된 뷰.
- 역인덱스.
- 컴퓨팅과 스토리지 분리.
- Lakehouse 쿼리.
- 로그 분석과 관측 가능성 활용 사례.
제출 방법:
- Slack
#dev채널에서 토론을 시작합니다. - 시간이 지나도 정확성이 유지되는 일반적인 내용은 보통 공식 문서에 적합합니다.
- 실용적인 시나리오 중심의 내용이나 특정 버전에 관한 내용은 보통 블로그 글에 더 적합합니다.
- 가능한 경우 예제 코드, 스크립트, 설정을 재현할 수 있도록 작성합니다.
영상
다음과 같은 영상 주제가 좋습니다.
- 일 분에서 오 분 길이의 기능 데모.
- 설치와 배포 과정을 보여주는 안내 영상.
- 모범 사례 설명 영상.
- 시나리오 기반 데모.
- 밋업 또는 웨비나 녹화 영상.
- 사용자 인터뷰 또는 사례 연구 발표.
제출 방법:
- Slack
#dev채널에서 토론을 시작합니다. - 먼저 커뮤니티와 주제, 대본 또는 개요를 확인합니다.
- 영상이 준비되면 커뮤니티에서 YouTube, Bilibili 또는 다른 공식 영상 채널에 게시하는 일을 도와줄 수 있습니다.
- 영상에 회사 이름, 고객 이름, 성능 데이터 또는 내부 시스템 화면이 포함되어 있다면 먼저 승인을 받거나 민감한 정보를 제거합니다.
발표
다음과 같은 형식이 좋습니다.
- 밋업 발표.
- 웨비나 발표.
- 콘퍼런스 발표.
- 릴리스 기능 소개.
- 신규 기여자 온보딩 세션.
- 사용자 사례 세션.
제출 방법:
- Slack
#dev채널에서 토론을 시작합니다. - 주제, 발표 개요, 대상 청중, 발표 언어, 예상 시간, 발표자 정보를 커뮤니티에 공유합니다.
- 커뮤니티에서 주제를 다듬고, 기술 내용을 검토하고, 세션을 홍보하고, 등록 페이지를 지원할 수 있습니다. 필요한 경우 자금이나 장소 지원도 가능할 수 있습니다.
번역
다음과 같은 번역 작업이 좋습니다.
- 공식 문서.
- 블로그 글.
- 행사 후기.
- 영상 자막.
- 튜토리얼과 모범 사례.
제출 방법:
- 문서 번역은
apache/doris-website에 PR을 제출합니다. - 블로그 글이나 행사 자료를 번역할 때는 먼저 커뮤니티와 대상 페이지 및 게시 채널을 확인합니다.
- 기술적 의미를 정확하게 유지합니다. 홍보 문구를 위해 의미를 바꾸지 않습니다.
게시 채널
콘텐츠의 종류와 검토 결과에 따라 다음 채널에 게시될 수 있습니다.
- Apache Doris 공식 웹사이트.
- Apache Doris 공식 블로그.
- Apache Doris Medium.
- Apache Doris YouTube.
- Apache Doris LinkedIn.
- Apache Doris X/Twitter.
- Apache Doris Slack.
- 커뮤니티 뉴스레터, 행사 후기 또는 릴리스 주제 페이지.
콘텐츠는 게시 전에 일반적으로 기술적 정확성 검토를 받아야 합니다. 성능 데이터, 상업적 사례 연구, 고객 이름 또는 회사 정보가 포함된 콘텐츠에는 별도 승인도 필요합니다.
참여 방법
커뮤니티 기여자는 다음과 같은 활동에 참여하거나 직접 기획할 수 있습니다.
- 온라인 밋업: 전 세계 사용자를 대상으로 특정 주제를 온라인에서 공유하는 모임.
- 오프라인 밋업: 도시나 지역 단위로 직접 만나 토론하는 모임.
- 웨비나: 기능, 활용 사례 또는 릴리스에 관한 온라인 세션.
- 워크숍: 배포, 데이터 적재, 튜닝 또는 사례 실습을 직접 해 보는 세션.
- 질의응답 시간: 사용자 질문에 답하는 정기 세션.
- 사용자 사례 세션: 실제 사용자가 프로덕션 환경에서의 경험을 공유하는 발표.
- 릴리스 소개: 새로운 기능과 업그레이드 조언을 다루는 세션.
- 신규 기여자 온보딩: 새 기여자가 코드베이스, 절차, 커뮤니티 작업 흐름을 이해하도록 돕는 세션.
- 지역 커뮤니티 행사: 특정 언어나 지역을 위한 현지 행사.
- 해커톤 또는 집중 기여 행사: Issue, 문서, 테스트 또는 도구에 집중해 기여하는 활동.
행사를 제안하는 방법
행사 기획자는 다음 내용을 준비해야 합니다.
- 행사 주제.
- 대상 청중.
- 행사 형식.
- 행사 언어.
- 시간과 시간대.
- 발표자 또는 진행자.
- 예상 소요 시간.
- 커뮤니티에서 필요한 지원.
- 홍보 계획.
- 행사에서 발표 자료, 녹화 영상, 블로그 글 또는 후기를 만들 예정인지.
먼저 Slack #dev 채널에서 논의를 시작하세요. 그러면 더 많은 커뮤니티 구성원이 참여할 수 있고 절차도 공개적으로 진행됩니다. 이는 Apache 커뮤니티의 운영 방식에 부합합니다.
커뮤니티의 지원
행사의 종류와 품질, 사용 가능한 자원에 따라 커뮤니티에서 다음을 도와줄 수 있습니다.
- 공식 미디어 채널을 통한 홍보.
- 주제 기획.
- 발표자 추천.
- 발표 자료나 데모의 기술 검토.
- 등록 페이지 또는 행사 페이지 지원.
- 녹화와 다시 보기 영상 배포.
- 소셜 미디어 홍보.
- 커뮤니티 기념품.
- 장소, 자료, 다과 또는 기본 운영비 등 제한적인 행사 예산.
- 행사 후기 게시.
자금, 선물, 출장, 장소, 후원 지원은 커뮤니티와 논의할 수 있습니다. 행사 기획자는 예산의 사용처, 예상 효과, 결과물을 미리 설명해야 합니다.
커뮤니티 행동 강령
모든 기여자는 다음 원칙을 따라야 합니다.
- 다른 사람을 존중하고 전문적이며 친절하고 건설적으로 소통합니다.
- 중요한 기술 토론과 커뮤니티 결정은 가능하면 공개 채널에서 진행합니다.
- 코드, 문서, 콘텐츠에 대한 검토 의견을 열린 마음으로 받아들입니다.
- 검토 의견에 동의하지 않을 때는 기술적 근거를 명확히 설명합니다.
- 공개적으로 논의해야 할 커뮤니티 사안을 비공개로 결정하지 않습니다.
- 직접 만든 콘텐츠를 제출하고, 인용하거나 참고한 자료는 출처를 명확히 밝힙니다.
- 과장되거나 검증할 수 없거나 오해를 부르는 성능 및 비즈니스 관련 주장을 피합니다.
- 가능한 경우 코드 변경에 대한 테스트를 추가합니다.
- 변경 사항이 사용자에게 보이는 동작에 영향을 주면 문서를 업데이트합니다.
- 사용자의 개인정보, 고객의 민감한 정보 또는 회사의 기밀 정보를 공개하지 않습니다.
- 보안 문제는 책임 있는 공개 절차를 따릅니다. 문제가 처리되기 전에 공개 채널에 세부 사항을 게시하지 않습니다.
- Apache 커뮤니티의 가치와 ASF Code of Conduct를 존중합니다.
기여자는 오픈 소스 커뮤니티의 구성원으로 참여합니다. 일부 활동에서 회사를 대표한다면 필요한 경우 그 사실을 밝히세요. 기여 활동 자체는 기여를 중시하는 Apache의 개방적이고 투명한 협업 방식을 따라야 합니다.