이 문서는 커뮤니티에 의해 번역되었어요. 번역 제출은 Crowdin에서 할 수 있어요. 많은 도움 부탁드려요 🙏
Misskey 포크 커스터마이징 시 주의 사항
Misskey가 채택하고 있는 GNU Affero General Public License v3.0(AGPL-3.0)은 Misskey의 소스코드를 변경한 경우, 그 변경 사항을 공개할 것을 의무화하고 있습니다.
Misskey v2024.2.0 이상에서는 이 라이선스를 쉽게 적용할 수 있는 기능을 구현했습니다.여기서는 그 설정 방법을 소개합니다.
물론 그 이전 버전을 기반으로 하는 경우에도 라이선스를 준수하기 위한 조치를 취해야 합니다.
Misskey를 그대로 사용하는 경우
Misskey의 코드베이스를 전혀 변경하지 않고 내장된 기능만 사용하는 경우, 별도의 작업을 할 필요가 없습니다.
Misskey의 코드를 수정하고 그 수정된 버전을 GitHub 등에 공개하는 경우
Misskey의 코드를 수정하고, 그 수정된 버전을 GitHub 등에 공개할 경우, 다음 사항을 확인해야 합니다.
- 리포지토리를 공개할 것(접근 제한 등을 두지 않고 누구나 접근할 수 있도록 할 것)
그럼 지금부터 바로 설정해 보겠습니다.
- 수정된 버전의 Misskey를 빌드하고 프로덕션 환경에서 실행합니다.
- Admin 계정으로 로그인한 상태에서 관리자 화면을 엽니다.
- '저장소 URL'란에 Misskey의 저장소 URL을 입력합니다.
Misskey의 코드를 어떤 식으로든 변경하지만, 그 변경된 버전을 GitHub 등에 공개하지 않는 경우(할 수 없는 경우)
이 경우에도 소스 코드를 Misskey의 인터페이스에서 직접 접근할 수 있도록 해야 합니다. Misskey v2024.2.0 이상에서는 빌드 시 자동으로 소스 코드를 서고 파일에 정리하는 기능이 구현되어 있습니다.
또한 소스코드를 요청이 있을 때만 공개하는 조치는 라이선스 이행에 불충분한 것으로 간주됩니다.
Misskey에 내장된 소스 코드 제공 기능을 사용하지 않더라도, 어떤 식으로든 Misskey 웹 인터페이스에서 Misskey의 작동 중인 버전의 소스 코드에 대한 링크를 직접 액세스할 수 있도록 해야 합니다.
그럼 지금부터 바로 설정해 보겠습니다.
- Misskey의 설정 파일(기본값은
.config/default.yml
)을 엽니다. publishTarballInsteadOfProvideRepositoryUrl
을true
로 설정한다(설정 파일에서 지정한 주석 처리된 부분만 제거하면 됩니다).- Misskey를 빌드합니다(이 때 소스 코드 tarball이 생성됩니다).
- 생성된 서고 파일을 열고 토큰 등 기밀 정보가 배포용 소스코드에 포함되어 있지 않은지 확인합니다.
- 기밀 정보가 포함된 경우
scripts/tarball.mjs
를 편집하여 해당 정보를 제외하도록 합니다.
소스 코드의 서고 파일 생성은 빌드 시점에 이루어집니다.scripts/tarball.mjs
를 변경한 경우 반드시 다시 빌드해야 합니다.