리눅스 배포판의 소스 공개는 어떻게 해야 하는가요?

Mr.Dust의 이미지

http://dynamall.kr/shop/goods/goods_view.php?goodsno=23&category=009

이런 제품이 있습니다.
이는 우분투 리눅스를 개조한 리눅스를 탑재한 경우인데, 이런 경우에 소스 공개는 어떻게 해야 하는 것인가요?

배포판의 소스 공개?
꽤 난감합니다. 우선 생각해 본 바로는..

1. 배포판에 포함된 프로그램들 중 gpl 에 해당되는(또는 그에 준하는) 프로그램의 소스 공개.
2. 배포판을 만드는 방법 공개? 이건 좀 아는 거 같기도 하고 이걸 어떻게 공개하냐도.. 머하고..
3. 바이너리 형태로 배포되는 iso 파일을 변경해서 재배포할 경우에는 이게 또 어떻게 되는지 궁금합니다.

어렵네요. 혹시 이런 부분에 대해 조언을 주실 분이 계신지요?

Prentice의 이미지

"우분투 소스는 ubuntu.com에서 받으시고 저희 변경점은 이 tar.bz2 파일을 받으세요,"라고 하시면 됩니다.

cwryu의 이미지

많이 하는 오해 중의 하나이지만.. 이렇게 하면 안 됩니다. "소스 코드는 ftp.xxxxx에서 받으세요"라고 쓰는 것으로는 GPL의 소스 제공 조건을 만족하지 못합니다. 소스를 같이 제공하거나 문서로 보증해야 합니다. ((c)에서 비영리의 경우에는 보증 받은 문서를 전달하는 방법도 있는데 우분투는 애초에 소스코드를 같이 전달하는 데다가, 다이나리눅스는 영리 목적이니까 해당 사항이 없습니다.)

GPLv3의 경우에는 네트워크로 접근할 수 있게 하거나 P2P로 접근할 수 있게 하는 방법도 있는데, 이 경우에도 자기가 제공해야 하지 다른 사이트를 참고하라는 말은 성립되지 않습니다.

3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)

redneval의 이미지

1.번 질문의 답

배포판 그 자체는 프로그램이 아닙니다.

단지 `여러 프로그램을 모아놓은 것'입니다.

그러므로 각각의 프로그램의 라이선스를 충족시켜주면 됩니다.

(여기까지는 개별적인 프로그램 배포할 때와 마찬가지로 생각하시면 됩니다.)

그런데 배포판은 `프로그램의 집합체'이므로

다른 종류의 라이선스와 충돌이 없는지(호환성), non-free 프로그램은 없는지(저작권 문제) 등도 같이 살펴봐야합니다.

2.번 질문의 답

라이선스에서 제시하는 조건을 모두 충족하는한, 배포판을 만드는 방법을 공개할 필요는 없습니다.

3.번 질문의 답

`바이너리 형태로 배포되는 iso 파일을 변경해서 재배포할 경우'라고해서 특별히 달라지는 점은 없습니다.

--------------------Signature--------------------
Light a candle before cursing the darkness.

Mr.Dust의 이미지

답변들 감사드립니다.
사실 한국어 사용자를 위한 우분투 배포판을 만들고 있는데(조금 수정이죠 뭐)
비영리고~ 해서 맘편하게 만들고 있었는데, 다이나리눅스를 보니 뭔가 신경써야겠다라는 생각이 들더라구요.
그래서 이 참에 정확히 무엇이 필요한지 궁금했습니다.

어차피 모든 것은 문서화해서 공개할 것인데(제발 다른 사람이 좀 관리해서 업뎃해달라고 -_-;;;)
중요한 것은 cwryu 님 말씀처럼 직접 소스를 제공해야 한다라는 점이군요. 일단 비영리니까 그냥 살짝 무시해보고 ;;
(팔아먹을까.. (...))

아래 스샷은 가칭 먼지분투 -_- 0.03 버전 라이브 시디 화면입니다.

cwryu의 이미지

앞에서 썼듯이 원본이 우분투라면 안 됩니다. (b)의 방법으로 (문서로 소스 코드 전달을 보증) 배포를 했을 경우에만 (c)의 방법으로 배포할 수 있는 겁니다. 우분투는 제가 아는 한 그렇게 하고 있지 않으므로 해당 사항 없습니다.

Mr.Dust의 이미지

이해될 듯하면서 안되네요.
일단 캐노니컬에 문의를 해봐야겠습니다.
커뮤니티(일단 정식 로코팀이니) 차원에서 회원들을 위한 배포니까 캐노니컬에서도 큰 문제를 삼지는 않겠지만, 다이나 건도 있고 개인적으로도 궁금하니 문의를 해봐야겠습니다. irc 쪽에서는 뭐 관계없지 않을까? 라는 수준정도네요. ㅎㅎㅎ

cwryu의 이미지

뭐가 맞느냐의 사실 여부는 의견이 아니라 사실 관계에 따라 판단하면 되는 것입니다. 모든 GPL 프로그램들의 저작권자도 아닌 캐노니컬이 이걸 허락하고 말고 할 수 있는 것도 아니고요.

앞에서 쓴 GPL section 3 부분을 읽어 보시면 명확한 문제입니다. 바이너리를 배포할 때 해당 소스코드를 공개하는 방법으로 (a), (b), (c) 중의 하나를 선택할 수 있는데 소스코드를 직접 배포하고 싶지 않다면 (b), (c) 중의 하나이고, 우분투가 (a)의 방법을 택하고 있는 한 (c)의 방법은 사용할 수 없습니다. (b)의 방법은 소스코드를 물리적인 매체에 담아서 전송할 것을 향후 3년간 보장하는 구시대적인 조항인데 이 방법은 더 귀찮죠.

그렇게 원칙적으로는 위반입니다. 실제로는 소스코드를 달라는 항의 메일을 받는 정도겠지요.

Mr.Dust의 이미지

아. 제가 캐노니컬에 문의하겠다고 한 것은.. 사용이 제한된 바이너리의 경우에 같이 배포하면 어떻게 되는지와 그런 바이너리에는 어떤 것이 있는지, 제가 포함하려는 패키지에 그런 부분이 있는지입니다.

그런데 문의할 데가 마땅히 않아서 우선 우분투 공식 포럼을 먼저 뒤져보고 있습니다.
비슷한 내용이 없으면 질문해봐야죠. ^^;

Mr.Dust의 이미지

앞서 배포판은 패키지들의 모음이니, 각 패키지들의 라이센스에만 신경쓰면 된다라고 하셨는데..
GPL 의 경우 GPL 과 non-GPL 을 한 시디에 담아서 배포해도 GPL 이 non-GPL 에 영향을 주지 않는 것으로 알고 있는데, 이것이 배포판 iso 에도 적용이 될까요?

mplayer 를 설치하려고 했더니 이게 multiverse 로 가 있네요.
코덱빼고 코어만 설치하면 될거 같기도 한데 ;;; 안되나? ;;;;

안되겠네요. 같이 깔리는 것들이..
libaudio2 libcelt0 libenca0 libfaac0 libffado0 libfreebob0 libggi-target-x libggi2 libgii1 libgii1-target-x libjack0 liblzo2-2 libmad0 libmp3lame0 libmpcdec3 libopenal1 libsvga1 libx264-65 libxml++2.6-2 libxvidcore4 mplayer-skins ttf-dejavu ttf-dejavu-extra

뭔진 몰라도 뭔가 restricted 하게 생겼네요. ;

그런데.. 리눅스 민트라는 것을 보면, 잘은 몰라도 restricted codecs 가 포함되었던 것 같습니다.
이런식으로 배포해도 문제가 없는 걸까요? 영리 여부에 따라 달라질까요? 그렇진 않을 것 같은데.. 되면 팔아먹어도 되는 거고, 안되면 비영리도 안되는 거 아닌가? ;;;

redneval의 이미지

궁금한 점이 있습니다.

며칠 뒤에 우분투 9.04 버전이 나오는데,

먼지분투는 우분투 어떤 버전을 기반으로 하는거죠?

--------------------Signature--------------------
Light a candle before cursing the darkness.

Mr.Dust의 이미지

현재는 9.04 rc 를 기반으로 만들고 있습니다.
이전 버전은 8.10 을 기반으로 했고요. :)

사실 먼지분투는 제가 그냥 가지고 노는 버전이고, 만약 배포를 한다면..
우분투 커뮤니티에서 다른 이름으로 배포를 할 것 같습니다. 저같은 하수가 아니라 고수들이 작업하실테니 기대해 주세요 :)
아, 그리고 베이스는 물론 최신 안정 버전의 우분투.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.