WinMerge 의 GPL 라이센스 관련 ( C# )

안녕하세요. 오픈소스인 WinMerge프로그램의 GPL 라이센스 관련하여 아래와 같은 문의가 있어 글을 남깁니다.

현재 환경]
1. C# 언어로 개발한 프로그램 기능들중에, 두 텍스트 파일을 비교하는 기능이 있음.
2. 화면에서 Compare 버튼 클릭시, 2개의 패스를 전달하면서 WinMerge.exe 를 호출함.
3. 배포방식
C# 프로그램은 자체 제작한 인스톨러 내에 포함하며, WinMerge 포함여부는 고민중.
if1] 자체 제작한 인스톨러 내에 포함 (WinMerge 는 포터블 파일)
if2] 자체 제작한 인스톨러 내에 포함하지 않음 (WinMerge 는 포터블 파일로 제공)

문의]
아래와 같이 진행할 경우, 라이센스에 위배되는지 알고 싶습니다.

공통 전제 :  C# 프로그램에서 사용자 PC에 있는 WinMerge.exe를 호출해서 사용
문의1] 공통 전제 내용처럼 사용하게 되면, GPL 라이센스에 문제가 있는지?
문의2] 자체 제작한 인스톨러에 C# 프로그램 APP만 인스톨러에 포함시키고 WinMerge 배포는 사용자에게 사이트에서 직접 다운받게 하거나
    , 또는 WInMerger 포터블 파일을 zip 파일로 고객사에 전달하여 고객사 웹서버에서 사용자들이 다운받게 하는게 위배되는지?
문의3] 자체 제작한 인스톨러에 C# 프로그램 APP과 WinMerge(포터블)을 포함해서 인스톨러를 제작하고 배포시 위배되는지?

이러한 규약 해석에 대해서는 ChatGPT의 답변도 유용할 것 습니다.


GPL v2.0 라이선스 조건에 따라 각 문의 사항을 검토해 보겠습니다.

공통 전제

C# 프로그램에서 사용자 PC에 있는 WinMerge.exe를 호출해서 사용하는 경우에 대해 검토합니다.

문의1: 공통 전제 내용처럼 사용하게 되면, GPL 라이센스에 문제가 있는지?

  • 공통 전제 내용(사용자 PC에 있는 WinMerge.exe를 호출해서 사용): GPL 라이선스는 독립적인 프로그램에서 GPL 프로그램을 호출하는 것을 제한하지 않습니다. 따라서 C# 프로그램에서 단순히 WinMerge.exe를 호출하는 것은 GPL 라이선스 위반이 아닙니다. 이는 두 프로그램이 독립적으로 실행되며, 하나의 프로그램이 다른 프로그램의 소스 코드와 결합되지 않기 때문입니다.

문의2: 자체 제작한 인스톨러에 C# 프로그램 APP만 포함시키고 WinMerge 배포는 사용자에게 사이트에서 직접 다운받게 하거나, WinMerge 포터블 파일을 zip 파일로 고객사에 전달하여 고객사 웹서버에서 사용자들이 다운받게 하는게 위배되는지?

  • 사용자가 WinMerge를 사이트에서 직접 다운받게 하는 경우: 이 방법은 GPL 위반이 아닙니다. 사용자가 독립적으로 GPL 소프트웨어를 다운로드하여 사용하는 것은 허용됩니다.
  • WinMerge 포터블 파일을 zip 파일로 고객사에 전달하는 경우: 이 방법 역시 GPL 위반이 아닙니다. 단, GPL 프로그램을 배포하는 경우 해당 프로그램의 소스 코드 또는 소스 코드에 대한 접근 방법을 제공해야 합니다. 고객사에 전달할 때, WinMerge의 소스 코드를 함께 제공하거나 소스 코드에 접근할 수 있는 방법(예: 다운로드 링크)을 명시해야 합니다.

문의3: 자체 제작한 인스톨러에 C# 프로그램 APP과 WinMerge(포터블)을 포함해서 인스톨러를 제작하고 배포시 위배되는지?

  • C# 프로그램 APP과 WinMerge(포터블)을 포함하여 배포: 이 경우, WinMerge는 GPL 라이선스를 따르기 때문에 배포 시 WinMerge의 GPL 라이선스 조건을 준수해야 합니다. 즉, 다음과 같은 조건을 충족해야 합니다:
    • WinMerge의 소스 코드를 함께 제공하거나, 소스 코드에 접근할 수 있는 방법을 제공해야 합니다.
    • WinMerge가 GPL 라이선스 하에 배포된다는 사실을 명시해야 합니다.
    • WinMerge의 라이선스 문서(예: COPYING 파일)를 포함해야 합니다.

이러한 조건을 모두 충족하면, C# 프로그램과 WinMerge를 포함한 인스톨러 배포는 GPL 라이선스를 위반하지 않습니다.

요약

  1. 공통 전제와 같이 사용자 PC에 있는 WinMerge.exe를 호출해서 사용하는 것은 GPL 라이선스에 문제가 없습니다.
  2. WinMerge를 사이트에서 직접 다운로드하게 하거나, 고객사 웹서버에서 사용자들이 다운로드하게 하는 것은 GPL 위반이 아닙니다. 단, 소스 코드에 대한 접근 방법을 제공해야 합니다.
  3. C# 프로그램과 WinMerge를 포함한 인스톨러를 제작하여 배포하는 경우, WinMerge의 소스 코드 제공(또는 링크) 및 GPL 라이선스 조건을 준수하면 문제가 없습니다.

유사한 사례에 대한 답변

GPL 프로그램을 포함 배포시 GPL 라이선스 문의 입니다. - 공개SW 포털 (oss.kr)

3 Likes

@al6uiz 님께서 제안해주신 것처럼 GPL 라이선스로 배포되는 소프트웨어는 정적/동적 링크를 사용하지 않고 완성된 실행 파일이나 바이너리 모듈을 재배포하더라도 비 오픈 소스 측 프로젝트의 코드를 공개해야 할 의무는 “일반적으로” 지지 않습니다.

그러나 GPL을 사용함에도, AGPL을 사용하지 않으면서도, 상업적인 목적으로 사용할 경우 반드시 구매를 요하는 특수 조건을 달아놓는 곳들도 있습니다. (예: TightVNC Licensing)

WinMerge와 관련해서는 따로 이런 조항이 보이지는 않는 것 같습니다만, GPL 라이선스와 별개로 별도 계약이 필요한 부분은 없는지 충분히 검토하시는 것이 필요하다고 생각합니다.

3 Likes

답변 감사합니다!

1 Like

답변 감사합니다!