JavaScript 코드가 웹 사이트, 오픈 소스에만 사용됩니까?


12

다시 작성된 질문 :

JavaScript 관련 질문은 아니지만 웹에서 사용되는 모든 "클라이언트"언어 (HTML5, JavaScript, CSS 등)는 묻지 않습니다. 웹 사이트에 JavaScript 코드 (GPL)를 넣고 웹을 통해 누구나이 웹 사이트에 액세스 할 수 있다면 어떤 방식 으로든 GPL을 위반하고 있습니까?

클라이언트 코드 (HTML, CSS, JavaScript)를 다른 사람에게 판매하려면 어떻게됩니까? 이 경우 다른 라이센스가 필요합니까?

JavaScript (웹 사이트에 사용될 때)가 항상 오픈 소스가 아닙니까? 웹 페이지를 열면 항상 소스를 읽을 수 있습니다.

JavaScript GPL 코드가 포함 된 웹 사이트를 판매하는 경우 서버 측 코드도 해제해야합니까?

이 웹 사이트가 부분적으로 액세스 가능하고 (일부는 무료이고 다른 하나는 지불해야 함) 웹 사이트의 양쪽에 GPL 코드 (동일한 부분)가 사용되는 경우 어떻게됩니까?

GPL 코드가 웹 사이트의 일부에만있는 경우 액세스하려면 비용을 지불해야합니까?

이런 식으로 고객에게 웹 사이트를 판매하는 경우 :

  1. 모든 고객 관련 코드 (JavaScript, HTML 및 CSS)를 판매합니다 (일회성 요금).
  2. 하지 당신에게 서버 측 코드, 당신이 그것을 임대하고 (나는 당신이 내 서버 측 코드를 재사용 할 수 있도록 싶지 않아) 판매

JavaScript GPL 코드를 사용하는 경우 무언가를 위반하고 있습니까? (웹 사이트는 웹을 통해 누구나 액세스 할 수 있습니다.)

편집 2 :

새로운 특정 질문이 추가되었습니다.

서버 측 코드없이 웹 사이트가 작동한다면 JavaScript가 JSON 형식의 데이터를 포함하는 일부 PHP 페이지를 호출하는 것입니다. 다른 사람들은 클라이언트 측으로 웹 사이트를 구축 할 수 있지만 데이터를 제공해야합니다. 이 경우 JavaScript는 "PHP"코드를 호출하지만 반대는 아닙니다. 이 경우 GPL을 위반하고 있습니까?


4
코드를 "보는"기능은 라이센싱과 아무 관련이 없으므로 JavaScript는 다른 것과 다릅니다. 이 전문 분야의 전문가 인 변호사와 상담하는 것이 가장 좋습니다.
Sparky

웹 사이트의 자바 스크립트의 경우 GPL 코드에 대해 구체적으로 이야기하고 있습니까? 즉, 코드는 GPL에 따라 명시 적으로 라이센스가 부여됩니까?
Philip

글쎄, 나는 그것이 어떻게 작동하는지 잘 이해하지 못하기 때문에 이것을 요구하는 제품을 판매하지 않습니다. 클라이언트 관련 언어가 이미 "GPL"이 아닌지 묻고 있습니다 (웹 페이지를 방문 할 때마다 소스를 다운로드하십시오)
Fire-Dragon-DoL

사소한 응용 프로그램에서 소스 코드는 Javascript 일뿐만 아니라 서버 측 코드이기도합니다. 당신이 해제 하시겠습니까 그것의 모든 대중에게? 그것이 GPL이 말하는 것입니다. 그것은 당신 이 그것의 일부 를 릴리스 할 수 있으며 여전히 라이센스를 준수 한다고 말하지 않습니다 .
Robert Harvey

답변:


3

GPL과 관련하여 릴리스 단위는 라이센스 단위입니다.

웹 사이트와 해당 자바 스크립트가 함께 작동하는 단일 항목 인 경우 전체 라이센스가 유효합니다. 어떤 부분이 GPL 인 경우 전체의 유효 라이센스는 GPL입니다. ( LGPL, MIT 등에 는 해당 되지 않습니다 .)

웹 사이트를 호스팅하고 있고 고객이 서비스에 대한 액세스 권한을 구매하는 경우 서버 측 코드를 배포하거나 전달하지 않았으므로 GPL은 관련이 없습니다. (AGPL은 이것을 변경하고 서비스로서의 소프트웨어가 소스를 공개해야한다고 주장합니다.)

애플리케이션의 일부인 Javascript는 어떤 방식으로도 자동으로 라이센스가 부여되지 않습니다. 엄밀히 말하면, 자바 스크립트를 다운로드하여 브라우저에서 실행하는 것은 저작권 침해입니다. 물론, 그것은 바보입니다. 코드를 실행할 수있는 라이센스가있을 수 있지만 그게 전부입니다.

Javascript 라이브러리를 사용하는 경우 해당 라이브러리의 라이센스를 준수해야합니다. 해당 라이센스가 GPL 인 경우 전체 애플리케이션이 GPL임을 의미합니다. 그렇기 때문에 jQuery에 사용자가 선택하는 MIT 또는 GPL의 이중 라이센스가 있습니다. MIT 라이센스를 사용하는 옵션이 없으면 GPL 앱에서만 사용할 수 있습니다.


4

첫째 : 라이센스 제한 사항 (주로 모든 속성을 그대로두고 유사한 라이센스에 따라 변경 사항을 적용 해야 함)을 준수하는 한 상업적 프로젝트에서 오픈 소스 코드를 사용할 수 있습니다.

GPL은 프로젝트의 다른 부분에 라이센스를 부여하려고 할 때 더 제한적인 라이센스 중 하나입니다. 나는 그것이 법정에서 테스트 된 적이 없다고 생각하지만 일반적으로 항상 본 해석은 GPL 코드가 방금 참조 된 별도의 모듈에 남아 있다는 것입니다 (즉, 완전히 독립형 제품으로 취급된다는 것입니다) 당신이 방금 사용하는 것), 당신은 괜찮을 것입니다.

확실하지 않은 경우 및 / 또는 추가 안전을 원할 경우 덜 규정 된 다른 라이센스가 있습니다.

둘째 : 코드를 볼 수있는 기능과 코드 사용 권한은 완전히 별개 입니다. 나는 모든 사이트에서 JavaScript를 가져 와서 볼 수 없기 때문에 사용할 수 없습니다. 합법적으로도 Windows 소스에 액세스 할 수 있다고해도 그렇게 할 수는 없습니다. 웹을 통해 많은 코드를 볼 수 있어야하지만 원하는 방식으로 라이센스를 계속 사용할 수 있습니다.

셋째 : 나머지 사이트에있는 라이센스의 측면에서 고객이 무언가를 지불 한 후 오픈 소스로 만드는 것에 대해 기꺼이 돈을 지불 할 가능성은 거의 없습니다 . 기본적으로 "방금 제공 한 것에 대해 우리가 지불 한 이유"외에도 디자인과 브랜딩에 영향을 미치고 다른 사람이 회사 정체성의 요소를 빌릴 수있게됩니다. 당신이 그들에게 그것을 판매하는 경우 그들은이 원하는 것 그들의 것을 . 비트를 팔려고한다면 팔 수없는 OSS가 있다는 것을 알려줘야하지만 다른 코드 만 사용하면됩니다.

넷째 : 코드의 한 비트를 판매하고 다른 코드를 임대하는 매우 이상한 모델 입니다. 그들은 상호 의존성이 너무 커서 한 쪽이 다른 쪽 없이는 무가치 한 것 같습니다. 기술적으로 그들은 당신이 한 프론트 엔드 디자인을 가져 와서 다른 것으로 패치 할 수 있다고 생각하지만 사람들이 다시 시작하면 일반적으로 시작됩니다.

두 부분이 실제로 서로 유용하지 않다는 점을 감안할 때, 사용자가 소유 한 서비스 제품인 소프트웨어에 대한 사용자 정의 비용을 지불 할 것을 제안합니다. 즉, 모든 코드를 소유하고 있기 때문에 사양에 맞게 코드를 사용자 정의하면됩니다 (즉, 프론트 엔드 브랜드). 훨씬 깔끔하고 간단하게 만듭니다.


흠 이제 의심 스럽다. 고객을위한 웹 사이트를 만들 때 고객은 누구인가 : 내 웹 사이트를 판매하는 사람 또는 액세스 할 사용자는 누구인가? 내가 경우 판매하는 모든 내 고객에게 (그래서 소스와)는 GPL 제품으로 웹 사이트를, 내가 그 웹 사이트를 탐색하는 모든 사람들에게, 심지어 소스 코드를 공개해야합니까?
Fire-Dragon-DoL

@ Fire-Dragon-DoL-고객은 청구서를 지불하는 사람입니다. 코드를 GPL하는 경우 고객 및 / 또는 사용자뿐만 아니라 모든 사람 이 공개적으로 사용할 수 있도록해야 합니다 (모든 사람이 해당 코드를 재사용 할 권한이 있음).
존 홉킨스

마지막 부분 (귀하의 설명은 정말 영리하고 감사합니다) : 두 부분이 실제로 각기별로 유용하지 않다는 것을 고려할 때 :이 경우 GPL 코드를 사용하는 경우 여전히 소스를 공개해야합니까? "여전히 내 소프트웨어가 아닌 소프트웨어를 사용자 정의하는 서비스를 판매하고 있습니다"라는 문장을 읽을 수 있기 때문에
Fire-Dragon-DoL

마지막 의견에 대답하려면 확실하지 않습니다 .GPL은 소프트웨어로 코드를 릴리스해야한다고 말하지만 사람이 내 웹 사이트를 탐색하는 경우 내 프로그램을 제공하지 않고 내 프로그램을 사용 하고 있습니다. 나는 그것이 다르다고 생각합니다. GPL은 프로그램을 발표 할 필요 가 없다고 말합니다 .
Fire-Dragon-DoL

1
@Jon 바이너리를 가진 사람들에게만 소스를 제공하면됩니다. 요구하는 사람에게는 없습니다. (물론 그들은 원하는 사람에게 줄 권리가 있지만 그렇게 할 필요는 없습니다.)
Sean McMillan

3

일반적으로 당신은 GPL 코드를 사용하는 경우, 말하기, 어디를 프로젝트에, 당신은 당신의 프로젝트를 재배포 당신이 대중에게 프로젝트의 소스 코드를 공개해야한다 (즉, 그것을 판매하거나 다른 사람에게 제공) 전체적으로 을 준수하기 위해 GPL 라이센스.

GPL 코드 서버 측을 사용하여 자신의 공용 웹 사이트를 서비스로 제공하는 경우 재분배로 간주되지 않으므로 괜찮을 수 있습니다.

브라우저의 Javascript 코드는 회색 영역처럼 보입니다. 기술적으로 GPL 코드를 모든 사람의 브라우저에 재배포 하므로 자신의 소스를 공개해야합니다.

편집 : 요점을 증명하기 위해 ExtJS 웹 사이트라이센스 FAQ의 텍스트를 포함 시킵니다. ExtJs는 GPL에 따라 라이센스가 부여 된 Javascript 프레임 워크입니다. 프레임 워크 (italics mine)와 관련하여 라이센스가 작동하는 방식에 대한 해석입니다.

파생 된 작업
소프트웨어 프로그램이 GPLv3에 따라 라이센스가 부여 된 코드를 호출하면 해당 소프트웨어 프로그램이 GPL의 코드에서 파생 된 작업이되므로 GPLv3 저작권 라이센스가 적용됩니다. 소프트웨어 프로그램이 사용자에게 "전달"되면 GPLv3에서는 해당 소프트웨어 프로그램의 소스 코드도 "전달"되어야합니다. 웹 응용 프로그램에 대한 "전달"은 응용 프로그램을 만든 법인 외부의 사용자가 응용 프로그램을 사용할 때 트리거됩니다.

소프트웨어 프로그램의 정의
전통적인 정적 또는 동적 연결 대신 내부 통신을 위해 원격 네트워크 기반 서비스 인터페이스를 사용하는 오늘날의 웹 아키텍처를 사용하여 구축 된 소프트웨어 프로그램의 경우 관련 소프트웨어 프로그램은 응용 프로그램 코드의 전체입니다. 서버 코드가 응용 프로그램의 필수 요소 인 경우 클라이언트에서 실행되는 서버 및 코드

예제
애플리케이션에 JSON / HTTP를 통해 백엔드 서비스와 통신하는 프론트 엔드 (Ext JS JavaScript에 링크 된 웹 페이지를 생성하는)가 있다고 가정 해 봅시다. 이 백엔드 서비스에는이 응용 프로그램에 대한 승인 및 유효성 검사 논리가 포함되어 있습니다. 전용 프런트 엔드는 내선 JS 코드를 사용하는 경우에도 프런트 엔드와 백엔드의 조합이 응용 프로그램을 구성하는 것을 고려해야하고, 다시 프론트 엔드 모두에 대한 소스 코드는 GPL v3을 아래에 응용 프로그램의 최종 사용자에게 제공 할 필요가 있는 경우 응용 프로그램은 Ext JS 코드에 대한 GPLv3 라이센스를 보유한 동일한 법인의 일부가 아닌 최종 사용자가 사용합니다.


2
이것은 잘못되었습니다. GPL은 이런 식으로 작동하지 않습니다. PHP 코드 출력에 GPLd JS 파일에 대한 링크를 포함한다고해서 PHP 코드가 오픈 소스가되는 것은 아닙니다.
user229044

@meager : 내 편집을 참조하십시오.
Robert Harvey

그것은 완전히 틀린 것 같습니다. 백엔드에서 GPL의 JS 파일을 사용하는 타사 사이트를 방문하면 어떻게됩니까? 그런 다음 전체 응용 프로그램을 오픈 소스해야합니까? 나는 이것이 어떤 법원에서도 효력을 발휘할 것이라고 생각하지 않는다. 죄송합니다.
Rob

1

클라이언트 측 자바 스크립트가있는 웹 사이트의 경우 여전히 코드를 소유합니다. 단순히 해당 코드를 가져와 자신의 코드로 사용한다면 IP 침해 일 수 있습니다. 라이센스가 포함되어 있지 않은지 모르겠습니다. 시행 불가능 성 문제도 있습니다. 내가 생각하는 변호사와 상담하십시오. 그러나 그들은 아마도 당신에게 유용한 것을 말하지 않을 것입니다.

라이센스가 혼합 된 프로젝트는 복잡합니다. 아마도 서버 측 백엔드를 포함하여 다른 라이브러리와 상호 작용하는 GPL 코드는 GPL이어야합니다. LGPL 및 BSD 라이센스와 같은 다른 오픈 소스 라이센스는 덜 엄격합니다.

그리고 아닙니다. PHP 코드를 재사용하지 않으려면 GPL 모델에 맞지 않습니다. GPL 하에서 코드를 공개하면 소스 코드를 넘겨 주어야합니다.

따라서 누군가를 위해 웹 사이트를 만드는 것처럼 들리며 코드를 다른 사람에게주고 싶지 않습니다. 왜 오픈 소스를보고 있습니까? 오픈 소스라면 코드를 제공하는 것입니다.


나는 현재 아무것도 팔지 않고 있습니다. 웹 사이트는 클라이언트 웹 사이트와 서버 웹 사이트의 두 가지 부분으로 생각하기 때문에 이것을 요구하고 있습니다. 첫 번째 부분은 무료이지만 두 번째 부분은 무료입니다. 웹 사이트가 "오픈 소스"인 경우 서버 측 소스 코드를 해제해야합니까? 나는 조금 어려워 보안에 재앙을 일으킬 것입니다!
Fire-Dragon-DoL

2
이것은 옳지 않습니다. 프로젝트의 일부가 GPL 인 경우 전체 프로젝트는 GPL 호환 라이센스에 따라 릴리스되어야합니다 (모두 동일한 프로그램으로 간주되고 조각으로 나눌 수 없다고 가정). GPL이 있다고해서 판매하는 것을 막을 수는 없으며 소스를 바이너리를 제공해야하며 추가 재배포를 제한 할 수 없습니다.
KeithB

서버 측 코드없이 웹 사이트를 사용할 수 있다면 javascript는 json 형식의 데이터가 포함 된 일부 PHP 페이지를 호출하는 것입니다. 다른 사람들은 클라이언트 측으로 웹 사이트를 구축 할 수 있지만 데이터를 제공해야합니다. 이 경우 javascript는 "php"코드를 호출하지만 반대는 아닙니다. 이 경우 GPL을 위반하고 있습니까?
Fire-Dragon-DoL

@KeithB ACK! 네가 옳아. GTK와 SDL을 생각하고 있었지만 LGPL입니다. 감사.
Philip

LPGL은 좋은 라이센스입니다. 그런데 GPL을 이해하고 싶습니다. 왜냐하면 글쎄, 이해하기가 더 어렵다고 생각합니다
Fire-Dragon-DoL
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.