busybox와 GPL ??

hyper9의 이미지


GPL에 대해서 질문드리고 싶어졌습니다.
GPL을 모두 자세히 읽어 본 게 아니라서 제대로
이해하지 못하는 것 같아서요 ~

GPL License를 가진 S/W는 상업용으로 쓸 수 없다..
이것이 맞는 이해인가요?

그리고 busybox가 GPL이었나요?
예전에 있던 회사에서 busybox를 사용해서 제품을 만들었는데
그게 문제가 있었던 건가,,오늘 갑자기 떠올라서 질문을
올려봅니다..그럼 답변 부탁드립니다 . ~ ^^

feanor의 이미지

BusyBox는 GPL입니다.
http://busybox.net/license.html

"GPL 라이센스를 가진 소프트웨어는 상업용으로 쓸 수 없다"는 맞는 이해가 아닙니다. 링크한 페이지를 보시면 아시겠지만 Linksys 라우터를 GPL 라이센스를 가진 BusyBox를 상업용으로 잘 사용한 예로 들고 있습니다. (그 외에도 많습니다.)

hyper9의 이미지

사용한 Source를 모두 공개한 것 같아 보이는데,,
이건 GPL license에 의해서 공개된 것이겠죠?

그렇다면 상업적으로 쓰일 경우 Source를 공개하는 건지요?
아니면 상업적인 목적으로 원래 GPL license하에 있는 source를 수정한 경우에
수정한 file만을 공개하는 건지요?
예를 들어서,,제품을 만들기 위해 Linux Kernel을 쓰고,,약간 수정한 후에,,
그 위에 busybox는 수정없이 그대로 쓰고,,몇가지 open source를 추가했다고
가정을 하면요..
실제로 수정을 한 source는 Linux Kernel밖에 없는 셈이잖아요 ~
이런 경우엔 Linux Kernel의 수정한 File만을 공개하는 건지
아니면 Linux Kernel을 공개하는 건지
아니면 제품에 들어간 모든 Source를 공개하는 건지...
아직 잘 이해가 안됩니다..
설명을 더 부탁드려도 될지요 ~
감사합니다.

d3m3vilurr의 이미지

busybox는 GPL입니다.
GPL자체는 상업적 이용을 금하지는 않습니다.
하지만 GPL의 적용을 받는 코드는 해당 코드의 “전부”를 공개해야 합니다.
hyper9님이 이야기 하시는 것은 GPL보다는 LGPL에 가깝습니다.

일반적으로 kernel을 수정했다면 수정된 kernel 전부를 공개해야 합니다.
하지만 미묘한 문제가 걸릴 수도 있는데 GPL의 경우는 몇가지 편법적 방법으로 GPL을 가릴 수 있습니다.

일반적인 케이스에서 제품이 기존의 GPL 제품을 정적 또는 동적인 링킹의 과정을 거쳐 연결된다면 그 결과물 역시도 GPL로 봐야합니다.

cwryu의 이미지

많이 하는 오해 중의 하나이지만, 수정을 했든 안 했든 바이너리를 배포하면 3항의 방법 중의 하나로 (GPL 버전2 기준) 소스코드를 공개해야 합니다.

실제 위반하고 있는 업체들을 보면 3항의 소스공개 문제를 지키지 않는 건 물론이고, 1항 2항의 라이센스 고지, 라이센스 전문도 포함 따위도 지키지 않고 아예 숨기고 있죠.

Busybox는 작년부터 SFLC를 통해서 적극적으로 GPL 위반 기업에 대해 소송을 벌이고 있습니다. 머지 않아 국내 업체들한테도 예외없이 닥칠 겁니다.

Prentice의 이미지

바이너리를 배포한다고 해서 100% 소스코드를 공개할 필요는 없고, 바이너리를 받은 사람이 소스코드를 요구하면 줘야한다고 알고 있습니다.

바이너리를 무차별적으로 배포한다면 소스도 똑같이 공개해야하겠지만, 상용으로 바이너리를 배포할 경우 고객이 요구할 때만 소스를 줘도 되는 것으로 알고 있습니다.

cwryu의 이미지

GPL 버전2의 3항은 (a), (b), (c) 중 한 가지 방법으로 소스코드를 제공해야 하는데요. (버전3은 몇가지 옵션이 더 있습니다.)

(a)는 같이 배포하는 것입니다. 간단하죠. 인터넷으로 일반적으로 배포되는 것들이 여기에 속하죠.

(b)는 "written offer"를 같이 제공하는 건데, 배포하는 순간부터 3년간 물리적인 비용만으로 소스코드를 전달하겠다고 보증하는 겁니다.

(c)는 (b)의 "written offer"를 그대로 다른 사람에게 전달하는 겁니다. 단 비영리일 경우에만 (c)를 사용할 수 있습니다.

흔히 사람들이 3(b)항을 가지고 "아 요구받으면 주면 되는구나"라고 알고 있는데요. 배포하면서 물리적으로 전달하겠다는 걸 "보증"해야 합니다. "요청받을 때 움직이면 되는구나"라면서 이 보증마저 빼먹는 회사들이 수두룩하죠. 게다가 21세기에 물리적으로 소스코드를 전달하는 걸 보증해야 한다니, 요즘엔 차라리 그냥 인터넷에 공개하는 게 비용이 절감될 겁니다.

hyper9의 이미지

답변 주신 글들에 대해 다시 감사드립니다..

위에서 설명해 주신대로, 동적Link,정적Link까지도 GPL에 포함되는 것이라면,
그리고 Linux Kernel자체가 GPL하에 있는 것이라면,,

Linux를 이용한 제품 자체가 모두 Source를 공개해야만 하는 게 맞는거겠네요.
아무리 자기네가 특별한 기능을 추가했다 해더라도 말이죠 ~

음..역시 라이센스 문제, 법적인 문제는 머리가 아픈걸요 ~ ㅜㅜ

Prentice의 이미지

리눅스를 이용한 기기에서 상용 프로그램이 돌아가는 경우 상용 프로그램을 GPL로 할 필요는 없습니다.

d3m3vilurr의 이미지

리눅스 커널의 경우는 좀 미묘한 부분들이 있습니다.
모듈 등의 경우 무조건 적으로 GPL이라고 바라보기 힘듭니다.
아마 이 부분은 검색해보면 자세히 나온 글이 있을겁니다.

하지만 일단 GPL라이센스문만 보고 바라보면, 정/동적 링크등을 통해 해당 gpl lib와 연결되는 제품은 무조건 GPL을 따라야 합니다.
반면 LGPL의 경우는 동적 링크에 대해서는 LGPL을 따르지 않아도 됩니다.(glibc는 마음껏 쓸 수 있는 이유로도 볼 수 있습니다)

위에도 적어져 있지만, GPL이나 LGPL은 해당 라이센스의 제품을 사용함을 명시할 것, 기 제품의 소스를 (당시대의 보편적 통신 방식으로)공개할 것, 라이센스를 따를 시 해당 라이센스의 영어 원문을 제품내에 포함할 것, 제품이 해당 라이센스의 강제되는 조항에 적용될 시 해당 라이센스를 강제로 따를 것 등이 정의되어 있습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.