🍳머리말
PR을 날리는 경우 DCO에 막혀 안되는 경우가 있습니다. 이건 무엇일까요?
📕DCO
📔 정의
개발자가 어떤 project에 기여했을 때 이를 보고 해당 변경사항에 동의하여 서명했음을 나타내는 것입니다.
📔 배경
DCO를 표시한다는 것은 개발자가 기여한 code에 대한 책임이 있고 기여가 Apache 라이선스 조건에 따른다는 것을 이해함을 나타내기도 합니다. 이는 CLA와 동일한 목적입니다. github에서는 commit message에"Signed-off-by:" 를 포함함으로써 표시됩니다.
Open source Project에서 여러 개발자가 특정 code를 토론 같은 방식을 통해 공동으로 작성하거나 code를 짜지는 않았지만 기여에 도움을 준 타 개발자도 자신의 증명을 추가함으로써 성과를 나타내는 경우가 있습니다. 때문에 기여의 commit message에 DCO에 동의처리해 나타냅니다.
규모있는 project의 git log를 보면 이런 message들을 자주 볼 수 있습니다.
Author: Nathen Harvey <nharvey@chef.io>
Committer: Adam Jacob <adam@chef.io>
Sprinkle extra delight on our DSL
Due to an oversight, we were only 96% delightful. Ensure the
delight now goes to 11.
Signed-off-by: Nathen Harvey <nharvey@chef.io>
Signed-off-by: Julia Cook <julia@ourcompany.com>
Signed-off-by: Adam Jacob <adam@chef.io>
Author는 원래 code를 작성한 사람입니다. Committer는 원작자를 대신해 commit을 한 사람으로 간주됩니다. message내용 하단에 Signed-off-by가 되어 있는 것을 볼 수 있습니다. 이 부분이 DCO에 동의를 했고 해당 commit에 기여한 개발자를 의미합니다.
📑 관련 link
https://developercertificate.org/
📔 예시
제 경우는 구멍가게 project에서 진행했던 경험이 있기에 본인이 DCO에 동의해 commit을 작성하게 되었습니다. staged된 file에 대해 git commit -s 명령어를 사용하면 특정 형식을 가진 file이 생성되며 자동 Signed-off-by문이 추가되게 됩니다.
해당 file 최상단에 message를 적고 file 쓰기를 진행 후 git log를 출력해보면 다음 처럼 나타나게 됩니다.
📕참조
https://www.chef.io/blog/introducing-developer-certificate-of-origin
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Git > Github' 카테고리의 다른 글
Apache-2.0 (0) | 2023.03.25 |
---|---|
코드 리뷰 피라미드 (0) | 2022.05.26 |
(Github) - 내가 속한 organization 노출하기 (0) | 2022.01.11 |
Github - 꾸미기(WakaTime) (2) | 2021.08.17 |
(Github) - git commit log 조작하기 (0) | 2021.06.14 |