Bitwarden 3분 소요

코드는 공개, 설치한 앱은 상용? Bitwarden으로 보는 오픈소스의 경계

핵심 요약

  • 소스코드를 볼 수 있다고 해서 수정과 재배포 권리까지 보장되지는 않습니다.
  • GPLv3는 상업적 이용을 허용하므로, 상용이라는 말 자체가 오픈소스와 충돌하지는 않습니다.
  • 듀얼 라이선스는 필요한 권리를 확보한 주체가 같은 코드를 서로 다른 라이선스로 제공하는 방식입니다.
  • 공개 코드와 배포 앱의 관계를 명확히 설명해야 비밀번호 관리자를 믿고 쓸 수 있습니다.

Bitwarden 같은 비밀번호 관리자를 고를 때는 기능만큼이나 믿고 쓸 수 있는지가 중요합니다. 그런데 “코드가 공개돼 있다”는 설명을 들으면, 설치한 앱도 같은 조건으로 수정하고 배포할 수 있다고 생각하기 쉽습니다. 그래서 소스코드와 앱에 각각 어떤 라이선스가 적용되는지 살펴봐야 합니다.

코드가 보인다는 것과 권리를 받는 것은 다릅니다

공개 저장소에 있는 코드는 누구나 읽어볼 수 있습니다. 어떻게 작동하는지 살펴보거나 의심스러운 부분을 찾아볼 수도 있겠죠. 하지만 코드를 볼 수 있다고 해서 그 코드를 수정해 다른 사람에게 배포할 권리까지 생기지는 않습니다.

그 권리는 라이선스가 정합니다. 오픈소스는 코드를 공개하는 데서 그치지 않습니다. 코드를 사용하고 수정하거나 다시 배포할 수 있도록 허용하는 조건도 갖춰야 합니다.

사용자가 설치하는 앱과 소스코드도 구분해야 합니다. 앱은 소스코드를 빌드해 만든 실행 파일입니다. 이 과정에서 다른 라이브러리나 구성요소가 함께 들어갈 수도 있습니다.

그러니 저장소의 라이선스가 배포 앱의 조건과 어떻게 이어지는지 살펴봐야 합니다. Bitwarden을 평가할 때도 “코드가 공개돼 있는가”만 확인해서는 충분하지 않습니다.

‘상용’이라는 말부터 풀어봐야 합니다

“GPLv3 코드인데 상용 앱으로 배포한다고요?”

이 말만 듣고 모순이라고 판단하기는 어렵습니다. GPLv3는 상업적 이용을 허용하기 때문입니다. GPLv3 프로그램을 판매하거나 관련 지원 서비스로 돈을 버는 일 자체를 금지하지는 않습니다.

반대로 무료로 내려받는 앱이라고 해서 오픈소스인 것도 아닙니다. 가격이 0원이어도 수정과 재배포는 제한될 수 있습니다.

그래서 ‘상용’이라는 말을 어떤 뜻으로 썼는지 확인해야 합니다. 돈을 받고 판매한다는 뜻인지, 별도의 독점적 라이선스로 제공한다는 뜻인지에 따라 이야기가 달라집니다.

앱을 고를 때도 가격과 이용 조건을 함께 살펴보는 편이 좋습니다. “유료인가요?”에서 한 걸음 더 나아가 “내가 받은 앱에는 어떤 권리가 따라오나요?”까지 물어봐야 합니다.

듀얼 라이선스는 가능하지만, 조건을 건너뛰는 수단은 아닙니다

듀얼 라이선스는 같은 코드를 두 가지 라이선스로 제공하는 방식입니다. 예를 들어 필요한 저작권이나 허락을 확보한 주체는 코드를 GPLv3로 제공하면서 별도의 상용 라이선스로도 제공할 수 있습니다.

소스코드를 GPLv3로 공개하면서 별도 라이선스의 배포본을 내놓는 일이 가능한 셈입니다. 그렇다고 누구나 공개된 GPLv3 코드를 가져와 원하는 조건으로 바꿔 배포할 수 있다는 뜻은 아닙니다.

GPLv3에 따라 코드를 받아 배포하는 사람은 해당 소스 제공을 비롯해 라이선스에서 정한 의무를 지켜야 합니다. 외부 기여자의 코드나 다른 라이브러리가 들어 있다면 그 부분을 사용할 권리도 따로 따져야 합니다.

앱스토어를 통해 배포한다고 이런 의무가 사라지지는 않습니다. 배포 경로와 관계없이 배포자가 어떤 권한을 갖고 어떤 조건에 따라 코드를 사용하는지 살펴봐야 합니다.

Bitwarden의 특정 배포본을 판단할 때도 그 배포본의 라이선스와 구성요소별 고지를 함께 확인해야 합니다. “저장소가 GPLv3다”라는 한 문장으로 모든 배포본에 어떤 조건이 적용되는지 설명할 수는 없습니다.

비밀번호 관리자에서는 설명이 명확해야 믿고 쓸 수 있습니다

사용자 대부분은 코드를 수정하거나 앱을 다시 배포할 계획이 없습니다. 그러니 라이선스 구분은 개발자들에게만 필요한 이야기처럼 들릴 수 있습니다.

하지만 비밀번호 관리자를 고를 때는 사용자에게도 이 구분이 중요할 수 있습니다. 오픈소스라는 설명을 보고 신뢰했다면, 자신이 설치한 앱과 공개 코드가 어떻게 이어지는지도 알고 싶을 테니까요.

코드를 어디까지 공개했는지, 배포 앱에 어떤 구성요소를 넣었는지 알 수 있어야 합니다. 각 부분에 적용되는 조건도 명확해야 합니다. 코드를 검토할 수 있다는 사실과 설치한 앱을 실제로 그 코드로 만들었는지 확인하는 일도 구분해서 봐야 합니다.

물론 코드를 공개했다고 보안까지 보장되지는 않습니다. 그래도 외부에서 코드를 검토할 기회는 생깁니다. 사용자가 코드 공개의 의미를 이해하려면 어디까지 공개했고 어떤 조건으로 배포하는지 쉽게 설명해야 합니다.

저는 사용자가 기대한 권리와 실제 조건이 맞아야 신뢰할 수 있다고 봅니다. “오픈소스입니다”라는 소개를 보고 기대한 권리와 설치 후 마주한 조건이 다르다면, 제품을 제공하는 쪽에서 그 이유를 설명해야 합니다.

Bitwarden을 살펴볼 때도 공개 코드의 범위와 배포 앱의 조건을 확인하고, 사용자에게 어떤 권리가 주어지는지 따져봐야 합니다. 오픈소스라는 이름이 구체적으로 무엇을 보장하는지 알아야 판단할 수 있기 때문입니다. 비밀번호 관리자에 기대하는 개방성이 코드 열람까지인지, 직접 수정하고 배포할 권리까지 포함하는지에 따라 확인할 조건도 달라집니다.

Bitwarden 오픈소스 소프트웨어 라이선스

댓글

    댓글을 불러오는 중...