과학계와 자유/오픈소스 소프트웨어의 차이?

홍원범의 이미지

조만간 제가 작성하고 있는 논문의 중간 발표라 정신이 없습니다.
그래서 블로그 글에 댓글 달아주신 분들에게 감사하다는 말씀도
정성껏 못드리고 있습니다. 여유가 나는대로 글을 계속 이어가면서
차차 감사드리고자 합니다^^

다름이 아니라
종종 과학계(널리 봐서 학계)와 오픈소스의 공통점을 언급하는 문구를 보곤합니다.
가장 근래에는 http://kldp.org/node/85382 에서 리누스 토발즈가 이야기를 했군요.

자신의 연구 혹은 코딩의 결과물과 그 과정을 그냥 내어놓는 것이나
명성이라는 사회적 관계물을 형성해낸다는 점 등
둘 사이의 유사성은 어느 정도 알겠습니다만,
둘 사이의 차이라는 것이 있는지는 아직 잘 모르겠습니다.

사소한 것이든 근본적인 것이든
생각나는 게 있으신지요?
다른 공통점들도 쌍수들고 환영합니다^^

익명 사용자의 이미지

아직 그걸 구분을 못하다니
이 사람 큰일날 사람이네

홍원범의 이미지

^^그러게요.
제가 큰일내지 않도록 알려주시길 부탁드려요.

Open-Source Anthropology

Open-Source Anthropology

jachin의 이미지

그것을 구분하실줄 안다면 이런 답변은 안 달아 놓으셨을텐데? +ㅍ+ ~ 씨익
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.

익명 사용자의 이미지

그걸 아는 사람이 !!!
(개콘버전으로 읽으세요)

snowall의 이미지

뭐...
...가장 근본적인 차이는 과학과 공학의 차이겠죠. 오픈소스는 공학이니까요.
과학은 자연의 이치를 "발견"하는 것이고 공학은 자연 법칙을 이용하여 새로운 것을 "만들어내는" 것이니까 이건 좁힐 수 없는 차이일 거라고 생각합니다.

--------------------------
snowall의 블로그입니다.
http://snowall.tistory.com

피할 수 있을때 즐겨라! http://melotopia.net/b

홍원범의 이미지

snowall님, 답변 감사합니다.
발견과 발명(물론 발견을 토대로!)의 차이라는 말씀이시죠?
더불어서, 과학도 공학도 다른 사람의 어깨(성과) 위에서 시작된다는
공통점도 snowall님 덕분에 떠올리게 되었습니다.

Open-Source Anthropology

Open-Source Anthropology

perky의 이미지

아무래도 가장 큰 차이는 과학계는 피어리뷰가 공개에 우선하는 경우가 많은데
오픈소스는 공개가 먼저이고 피어리뷰가 이후에 영향을 미치는 것이 아닐까 싶네요.
그 차이로 인해서 파생되는 여러가지 특성들이 생각해 보면 매우 많이 있을 것 같습니다.

You need Python

keizie의 이미지

과학계가 논문을 발표하기 전에 학계에 미리 발송하는 걸 말씀하시는 것 같은데, 오픈소스도 개발자용 메일링 등을 통해 내부적으로 운영되는 메일링이 따로 있고, 정식으로 나오면 발표 소식을 알리지 않습니까? ChangeLog와 NEWS의 차이랄까요?

물론 대부분의 오픈소스 프로젝트가 모든 것을 공개해놓는 방식이지만, 이것은 참여를 조금이라도 더 이끌어내기 위한 정책이지 어떤 본질적인 차이인 것 같지는 않습니다.

perky의 이미지

제가 언급한 피어리뷰는 arXiv.org같은 곳에서 하는 공개리뷰가 아니라
저널 에디터가 선정한 비슷한 분야 리뷰어 3~5명이 논문을 심사하는 과정을 얘기한 것입니다.
아무래도 리뷰 과정의 정보의 차단이 훨씬 심하다는 것도 차이가 되고, 오픈소스에서는 거의 같은
아이디어에 구현만 다른 소프트웨어가 여러 종류가 나오는 경우가 많은 것을 감안하면
오픈소스 프로젝트 중 대형프로젝트의 인프라 말고 그 밖의 생태계도 충분히 봐야하지 않나 싶네요.

You need Python

지리즈의 이미지

오픈소스는 학회와 같은 권위 있는 기관이 없습니다.

즉, 정보의 가치의 결정이 전혀 다른 방향으로 발생됩니다.

일반적인 학문은 그 논문의 실효성에 대해서 권위 기관이 결정하고,
그것에 대해서 하향식으로 전체 그 학문의 바운더리 내에 전파되서
특정한 위상을 가지게 됩니다.

그 모습이 성당에 더 가깝습니다.

하지만, 오픈소스는 학회와 같은 권위 기관이 없습니다.

즉, 발생된 정보(소스)의 가치의 결정이 가장 하단부의 사용자들에 의해 결정되고,
상향식으로 올라가서 전체에 반영됩니다.

시장에 비유할 수 있겠지요.

따라서, 소스의 실효성에 대한 가치는 학문보다 소스자체보다 홍보,인지도와 같은
외적 요소에 더 많은 영향을 받게됩니다.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

keizie의 이미지

오픈소스 중에서도 거대한 영역을 구축한 것들은 기존의 권위를 많이 끌어다 씁니다. 나쁜다는 게 아니라, 그럴 수 밖에 없다는 말씀입니다. 예를 들어 GNOME이나 KDE의 인터페이스는 기존에 존재했던 데스크탑 환경의 HIG에서 완전히 자유로울 수 없죠. KDE의 경우 (특히 초기에) 윈도우를 따라한다는 비난을 많이 받았습니다. 번역의 경우에는 더욱 절실해서, 반쯤 농담 삼아 '국내 GNOME 번역 정책은 많이 쓰는 번역어를 따라간다'고 할 정도로 외부의 권위를 필요로 합니다.

그리고 조금 다른 면에서, 핵심 개발자의 권위와 덜 핵심 개발자 혹은 초기 진입자의 권위 차이도 생각해야 할 겁니다. 가령 리눅스 커널에 대해 리누스가 가지는 권위와 영향력, 다른 핵심 패치 제공자들의 권위와 영향력, 그 외에 다른 이들의 권위와 영향력을 생각하면 내부에도 권위가 전혀 없다고 할 수는 없을 것입니다. 이런 핵심 개발자 그룹이 일종의 학회와 같은 역할을 하고 있죠. 패치를 제출해도 받아주지 않더라는 하소연을 이곳 KLDP에서도 몇 번이나 봤지 않습니까? 그나마 다행인 것은 최후의 수단인 fork가 있어서 능력만 되면 얼마든지 기존의 권위와 무관한 영역을 구축하고 성장할 수 있다는 거겠죠. XFree86에서 나온 X.org가 그 사례일 테구요.

오픈소스의 이상적인 방향이 바로 풀뿌리형 가치 창조고, 소스와 개발툴과 각종 자료를 활발히 공개하는 정책을 기본으로 함으로써 풀뿌리가 잘 확산되고 잘 자라는 환경을 마련한다는 점은 맞습니다. 하지만 가능성을 열어둔 것과 실제로 활발하게 작동하는 것은 구분해야 한다고 봅니다.

권순선의 이미지

http://x.org 가 아니라 http://freedesktop.org 가 아닌가요? :-)

lordmiss의 이미지

과학 역시 권위 있는 기관에 의해 가치의 결정이 이루어지지는 않죠.

과학적인 성과에 대한 평가는 권위 있는 특정 기관에 의해 이루어지지 않고, 그 내용에 관심을 가진 불특정 과학자들에 의해 평가됩니다. 과학자가 아닌 사람들에게는 성당같은 모델일 수 있지만, 실제로 내부에 있는 과학자들에게는 시장에 가깝죠.

학문의 경우에도 홍보, 인지도와 같은 외적 요소의 영향을 많이 받습니다. 실제로 일정한 분야에서 일하는 유명한 과학자가 논문을 낸다면, 그 논문을 심사하는 심사위원 역시 논문 저자에 대한 선입견을 가질 가능성이 높고, 따라서 저널에 게재될 확률이 훨씬 높아지게 됩니다. 한국에서 황우석 박사가 가지고 있던 권위를 상기해 보면 제 말이 무슨 뜻인지 아실 수 있을겁니다.

snowall의 이미지

반대로 오픈소스 개발은 외부에서 볼 때는 시장이지만 개발자 내부에서는 성당이라는 얘기가 되는 건가요?

--------------------------
snowall의 블로그입니다.
http://snowall.tistory.com

피할 수 있을때 즐겨라! http://melotopia.net/b

gamdora의 이미지

어떤 의미인지 궁금합니다.

알려주실 수 있을까요? :)

snowall의 이미지

lordmiss님의 글을 참고하면

과학계에서 논문이라는 것은, 일단 과학자가 아닌 사람들에게는 과학이 어렵게만 느껴지므로 성당같은 느낌입니다. 과학자들이 그렇다고 하면 그런거죠. 그런데 과학자들에게는 시장입니다. 누구든 그 내용에 대해 논리적으로 비판할 수 있고 검증할 수 있으며, 논문을 쓴 사람이 아니더라도 누구든 증명하거나 연구할 수 있습니다.

오픈소스 개발에서는, 누구나 오픈 소스에 참여할 수 있다는 점에서 이곳은 시장같은 느낌입니다. 하지만 kz님이 지적했듯이 일단 참여를 하려고 하면 주류를 이루고 있는 사람들이 실질적인 "권위"를 갖고 있다는 점에서 성당같은 느낌입니다. 물론 이것은 자연스럽게 만들어진 권위인데, 가령 방금 커널 프로그래밍을 시작한 사람이 리눅스 커널을 만든 리누스 토발즈보다 더 자세하게 커널을 이해하기란 어렵기 때문입니다.

음...묘하게 논점이 어긋난 느낌이지만, 일단 이렇게 적어두고 좀 더 생각해 보렵니다. :)
--------------------------
snowall의 블로그입니다.
http://snowall.tistory.com

피할 수 있을때 즐겨라! http://melotopia.net/b

lordmiss의 이미지

과학계와 오픈소스의 관계라...

최근에 과학계에서도 오픈 데이터에 대한 이야기가 많이 나오고 있습니다. 많은 저널들이 상호 소통을 중요하게 생각하면서 web2.0 기술들을 많이 도입하고 있습니다.

저널에 실려있는 논문과 오픈소스 프로그램의 유사성은 둘다 상업적인 이익을 전제로 하고 있지 않다는 것입니다. 물론 상업적으로 이용할 수도 있죠. 논문을 읽기 위해 일정액을 내고 구독을 해야 하는 경우가 많이 있지만, 그것은 오픈소스 프로그램의 소스를 얻기 위해 CD값을 지불하거나 하는 것과 크게 다르지 않습니다. 논문 내용에 대해 지불을 하는 것은 아니니까요.

저널 출판사가 구독료를 받을수 있는 것은, 논문을 내기 위해 저자들이 대부분의 경우에 저작권을 출판사에 넘겨 주는 것에 대해 동의하기 때문입니다. 이에 따라 저작권이 출판사로 넘어가게 되죠. 이런 관행에 반대해서 자신의 논문을 Creative Commons 라이센스로 출판하는 경우도 생겨나고 있습니다. 어느 경우이던 저자가 자신의 논문에 대해 가지고 있는 권리는 "관련 특허를 출원할 경우 6개월의 우선권이 주어진다"는 정도 밖에는 없습니다. Nature 같은 저널은 특별한 상업적 가치에 대한 주장이 있는 경우에는 이를 논문 말미에 밝히도록 되어 있기도 합니다.

논문의 내용에 대한 권리를 주장하지 않지만, 누가 그 논문 관련 내용을 가장 먼저 연구해 냈는가를 중요하게 생각한다는 점에서, 오픈소스 라이센스들이 원저자를 밝히는 것을 대부분 의무사항으로 하고 있는 것과 유사한 면이 있습니다.

논문의 게재 여부가 피어 리뷰에 의해 결정된다는 점은 분명 과학 논문 출판의 특징적인 점입니다. 그것은 과학적 성과에 대한 평가가 일정 수준 이상의 훈련을 받은 사람들에 의해서만 가능하다는 사실 때문입니다. 그러나 출판 여부의 결정은 일종의 자격 심사에 해당한다고 볼 수 있고, 일단 출판된 논문에 대한 평가는 여러 독자들 및 동 분야의 과학자들에 의해 이루어진다는 사실 역시 고려해야 하겠죠.

http://lordmiss.com
DDD, BMDRC

권순선의 이미지

진입 장벽(?)의 차이도 분명 존재합니다. 예를 들어 오픈소스계에는 나이가 어림에도 불구하고 많은 업적을 남기는 경우가 많습니다만 과학계의 경우는 대체로 기본적인 학력이나 경력을 쌓은 이후에 참여하게 되는 경우가 대부분입니다. 중학생이나 고등학생이면서 과학계에서 두루 인정받는 업적을 쌓은 경우는 거의 보지 못한 것 같습니다.

218astatine의 이미지

.

------------------------

물리화학 좋아해요

chronon의 이미지

순수 분야의 경우 대부분 어떤 현상에 대해 잘 들어맞는 이론을 제시하거나 증명, 반박하는 데 목적이 있다고 생각합니다. 이 분야에서의 논문은 주장에 대한 추론 과정과 근거를 제시하는 것이 가장 중요한 부분입니다.

반면에 프로그램은 기능을 구현하는 것이 주된 목적이고, 기능이 구현만 된다면 그 안의 소스 코드가 어떠한가가 중요한 것은 아닙니다. 따라서 소스 코드의 공개는 그 프로그램이 인정받기 위해 필수 사항은 아닙니다.

페르마의 정리를 증명했다고 주장만 하고 증명 과정을 보이지 않은 사람은 사기꾼으로 판명되지만,
완성도 높은 프로그램을 만들어 무료로 배포하고 소스 코드를 공개하지 않더라도 능력있는 개발자로 대중들에게 인식되지 않습니까?

그리고 오픈소스 프로그램 짜도 공식적인 업적 평가에는 안 올라가요 ^^.

익명 사용자의 이미지

이는 학회 성과물은 '논문' 으로, 오픈소스 성과물은 '프로그램, 코드' 라는 관점에서 개인적으로 생각해본 건데요. (실제론 더 복잡다난한 성과물들이 있겠습니다만;)

오픈 소스의 경우 결과물을 '실행가능한 구현물' 로 제출합니다. 이를 검증하기 위한 타 개발자들 혹은 유저는 이를 컴퓨터에서 바로 실행해 봄으로서 실제로 동작함과 한계 등을 바로 알아낼 수 있습니다. 혹은 개발자가 내걸은 공약 대비 실제 구현된 결과와의 갭을 바로 알 수 있습니다. 또한 구현물은 '코드'로서, 빌드 환경만 맞추면 최대한 개발자가 만들어간 개발 환경을 만들고 '빌드'하여 구현물에 대한 결과를 '재현'을 할 수 있습니다. 그리고 앞의 오픈소스 프로젝트를 시작으로 새 프로젝트를 진행하는데 드는 시간이 적습니다.

학회의 경우 결과물을 '논문'으로 제출합니다. 검증하는 사람이 실행 가능하지 않습니다. 1차 검증으로는 논문 텍스트 내 논리적 정합성, 실질적인 검증을 위해선 똑같은 실험 환경을 구축해야 합니다. 재현을 위해서는 같은 실험 환경 하에 같은 알고리즘, 데이터 셋으로 검증하지 않으면 같은 결과물을 재현하기 어렵습니다. 하지만 이러한 '똑같은 실험 환경' 을 구축하는 시간이나 노력 면에서 오픈소스 프로젝트에 비해 많이 듭니다.

(자연과학이 아니라 컴퓨터 공학에서의 논문이라 하더라도 마찬가지라 생각합니다. 똑같은 X 알고리즘이라 이야기해도 그 알고리즘의 구현 정도에 따라 퍼포먼스는 판이해질 수 있습니다. 만일 학습 알고리즘이 적용된 논문이라면 학습 데이터 셋의 상태에 따라 역시 퍼포먼스가 달라집니다. 그리고 컴퓨터 공학에의 논문들의 경우 성과물로 '프로그램, 코드' 가 나올 수 있음에도 불구하고 굳이 공개할 필요가 없습니다. 검증자가 재현하려면 역시나 논문보고 코드나 데이터셋들을 재구축해야 합니다.)

이로 발생하는 차이가 다음이 있을 것 같습니다.
1. 해당 성과물에 대한 '재현' 뒤 '개선'까지 드는데 걸리는 비용과 시간의 차이
2. 결과물에 대한 검증자로서 참여할 수 있는 레벨의 정도와 수.
3. 실질적인 개선 정도
4. 실질적으로 검증되었는가의 정도. (혹은 '올바르게 검증되는가')

gurugio의 이미지

제 생각엔..

석사 논문을 쓰니까 졸업도 되고 학위도 받고 석사라는 자격?을 받아서
취직도 했습니다.

오픈소스 활동을 하면
가끔 세미나때 알아보시는 분들이 계시고
홈페이지 조회수가 올라가고
스팸메일이 늘어납니다...

오픈소스 활동을 크게 했다고 하기는 어렵지만
경제적?이나 현실적 조건에서 보면
이런 차이도 있을것 같습니다.

----
세상을 바꾸는 것은 단 한 사람. 오직 하나님의 사람뿐이다.