어디까지가 오픈소스란 말인가요?

zzz2613의 이미지

요새 틈나는 시간마다 '자바 서블릿 프로그래밍' 이라는 책을
보고 있습니다.

이 책에서 언뜻 이해가 가지 않는 부분이 있어 글을 올립니다.
이 책 제 14장 티 프레임워크 p593쪽을 보면
다음과 같은 글이 나옵니다.

Quote:
티 서블릿의 라이센스는 아파치 스타일인데, 개발자에게는 가장 제약이 덜하면서 동시에 매력적인 것 중의 하나다.
왜냐면 새로운 제품과 사이트를 만드는데 티를 쓸 수 있으면서도 결과물은 공개 소스화할 의무는 없기 때문이다.
이런 방식은 모든 아파치 프로젝트가 채택하고 있으며, 아파치 웹서버와 톰캣서버도 마찬가지다.

위 글중에서 '결과물은 공개 소스할 의무가 없기 때문' 이 의미하는 바는 무엇일가요?
결과물이란 것이 개발자가 티 프레임워크를 써서 개발한 소스들을 의미하는 건가요?
아님 다른 것을 의미하는 건가요?

'이런 방식은 모든 아파치 프로젝트가 채택하고 있으며' 이 구절은 무슨 말인지 모르겠군요...

나는오리의 이미지

zzz2613 wrote:
요새 틈나는 시간마다 '자바 서블릿 프로그래밍' 이라는 책을
보고 있습니다.

이 책에서 언뜻 이해가 가지 않는 부분이 있어 글을 올립니다.

[이미지 URL이 길어서 삭제했습니다. - 친절한 오리씨]


이미지를 직접 주소창에 넣어서보니
zzz2613님 비서분이 로그인을 하라고 하네요.
ID가 없어서 문전박대받고 돌아왔습니다. ㅠ.ㅠ(커피라도 타주지...)
zzz2613의 이미지

욕심많은오리 wrote:
이미지를 직접 주소창에 넣어서보니
zzz2613님 비서분이 로그인을 하라고 하네요.
ID가 없어서 문전박대받고 돌아왔습니다. ㅠ.ㅠ(커피라도 타주지...)

이미지 링크시켜보려고 테스트하는 중에 답글을 남기셨군요^^

스스로 속이지 말라.
하나님은 만홀히 여김을 받지 아니하시나니,
사람이 무엇으로 심든지 그대로 거두리라.

lacovnk의 이미지

아파치 프로젝트 아래 httpd등등 여러가지 프로젝트가 있는 데, 모두 apache license를 택하고 있다는 말이 아닐까요?

선무당인가..

cleol의 이미지

Quote:
결과물은 공개 소스할 의무가 없기 때문

GPL, LGPL, 아파치 라이센스를 예로 들어보겠습니다.

GPL 같은 경우 GPL 인 프로그램을 개작하거나 링크시킨 결과물도 GPL을 따라야하므로 소스를 공개해야 합니다. 자바 프로그램의 경우 모두 동적 링크이므로 GPL로 된 자바 프레임워크를 사용해 프로그램을 작성했을 경우 그 프로그램도 GPL을 따라야만 합니다.

LGPL 은 동적 링크의 경우에 결과물이 LGPL을 따를 필요가 없습니다. 하지만 원저작물을 개작할 경우 또는 정적 링크의 경우에 결과물이 LGPL을 따라야 합니다. LGPL인 자바로 적성된 프레임워크의 소스를 고쳐서 사용하면 그 고친 결과물도 LGPL을 따라야 하고 결과적으로 소스를 공개해야합니다. 하지만 그 프레임워크 자체의 소스를 수정하지 않고 그냥 라이브러리로 이용해 만들어진 프로그램은 LGPL을 따를 필요가 없습니다.

아파치 라이센스의 경우 원저작물을 어떤 방식으로 사용하던 관계 없습니다. 즉 아파치 라이센스인 자바 프레임워크의 소스를 고쳐서 사용해도 그 고친 결과물이 아파치 라이센스를 따를 필요가 없습니다. 결과적으로 소스를 공개하지 않아도 관계없습니다.

Quote:
이런 방식은 모든 아파치 프로젝트가 채택하고 있으며

아파치 재단에서 관리하는 모든 프로젝트는 아파치 라이센스를 따릅니다. 대표적인예로 아파치 웹서버, 톰캣 서블릿 컨테이너, ANT 등등이 있습니다. http://www.apache.org 에 가보시면 여러 프로젝트를 보실 수 있습니다.

cleol의 이미지

Quote:
어디까지가 오픈소스란 말인가요?

보통 OSI (Open Source Initiative) 의 정의를 따릅니다. (http://www.opensource.org)

저도 정확히는 모릅니다. 제가 아는 바로는 OSI의 오픈 소스 정의를 요약하면 "소스 코드가 공개되어 있어 이걸 보고, 수정하고, 재배포할 수 있는 소프트웨어" 인 것으로 알고 있습니다. 쓰레드를 연 분께서는 개작물이 오픈 소스가 아니어도 오픈 소스라 부르는지에 대해 궁금하신것 같은데, 원저작물을 개작해 재배포한 녀석도 오픈 소스여야만 한다는 이른바 "감염 조항"은 OSI 의 정의에 없습니다.

그리고 굳이 OSI의 정의를 살펴보지 않아도 대표적인 오픈 소스 라이센스중 하나로 받아들여지고 있는 아파치 라이센스(BSD 라이센스)가 감염 조항을 가지고 있지 않으므로 보통 오픈 소스라고 할때는 감염조항과는 관계 없다고 생각하셔도 될거 같습니다.