오픈소스 패치의 실제 가치는 과연 얼마나 될까요?

권순선의 이미지

소프트웨어 개발 작업에 소요되는 비용이나 생산성 등을 측정하는 것은 매우 어려운 일입니다. 그렇지만 꼭 필요한 일이기도 하지요. 그렇다면 오픈소스 소프트웨어를 일반적인 방법(외주 등)으로 개발할 경우 어느 정도의 비용이 소모될까요? 예전에 리눅스 커널 2.6에 대해서 한번 생각해 본 적이 있는데 그때 계산한 리눅스 커널 2.6의 가격은 무려 최대 6100억이었습니다.

그렇다면 전체 결과물이 아니라 개발에 참여하여 패치를 만들어서 제출하는 식의 개발 과정을 어떻게 가치로 환산할 수 있을까요? 리눅스 커널 2.6의 가치를 계산하기 위해 사용했던 COCOMO 모델이라는 방법론을 간단히 웹상에서 확인해 볼 수 있는 사이트가 있는데 예를 들어 총 5000라인짜리 프로젝트일 경우 Source Line of Code에 5000을 입력하면...

5,000	Source Lines Of Code
1.0	Team Skills
1.12	Project Complexity
14.9	Person-Months
297	Person-Days
2,378	Person-Hours
17	Lines Per Day/Person
0.6	Duration Years
7.0	Duration Months
139	Duration Days
1,115	Duration Hours
2.1	Average Staffing

총 5000라인짜리 소프트웨어라면 하루평균 한사람이 작성하는 코드는 17라인이라는 것이죠. 하루 8시간/월 20일 동안 일한다는 가정이므로 만약 17 * 20 = 340 라인짜리 패치라면 산술적으로 1M/M만큼의 가치가 있는 셈이고, 회사로 치면 1명을 1달동안 고용하여야만 뽑아낼 수 있는 결과물입니다.

리눅스 커널 2.6의 라인수인 4287449를 입력하면... 하루평균 한사람이 작성하는 코드는 7라인으로 훨씬 줄어듭니다. 따라서 140 라인짜리 패치가 1 M/M에 해당합니다. 2006년의 경우 하루평균 9200라인의 코드가 변경되었다고 하니 9200 / 140 = 66 M/M인 셈입니다. 엄청나죠? 매일매일 66 M/M이 투입되는 프로젝트라니...

혹 오픈소스 프로젝트에 제출하신 패치의 가치가 궁금하시다면 한번 계산해 보세요. :-)

댓글

appler의 이미지

실제 돈으로 발랐다면.....

이렇게 까지 크게 성장하진 않았을거라 생각이 듭니다.

몇몇 분이 추천해주셔서 저의 궁금증을 해결해주셧는데

그 내용이

자유 소프트웨어의 부가가치와 오픈소스의 부가가치를 나타낸 것이 었는데

오픈소스쪽이 더욱 높은 창출 효과를 낸다고 나오더군요..

맞는 지는 모르겠습니다.

소스의 공개로 인해(이건 두개다 부합되는군요)

새로운 소스를 개발하지 않고 더욱 개발의 효율을 높여주니...

좋군요..

얼마나 요소기술을 잘 활용하는냐가

앞으로 미래 시장을 선도하는데.. 바탕이 될거 같군요.


laziness, impatience, hubris

不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.


laziness, impatience, hubris

不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.

mengguo의 이미지

엄청나는군요.
회사에서 고용하는 코딩수 한사람이 하루 평균 작성행수를 17행정도로 보는것은 좀 너무하죠.~
요구정의 단계를 거쳐 상세설계가 떨어진 이후로 코드작성은 한사람이 하루평균 17의 10배가 넘는 170행이상.~~ 아니 어떤 날은 10000행도 하는데요~
어... 하루 평균 한 1000행으로봐야지 않을까요? 물론 리눅스 개발자들이 고급한 프로그래머니까 그보다 더 하겠지요.
거기다 설명문까지 합치면 `~~ Q_Q

그런데 문제는요~ 오픈소스프로젝트에 SVN으로 투하되는 코드량은 앞에서 언급해주신것처럼 2006년 하루평균 9200라인이 변경되였다는것인데 그것은 새로 작성된 코드에 매 각자가 약간의 변경을 가한것이지요.
그 경우 17행이라면 리해가 갑니다.

이 17행을 회사에서 고용하는 코딩수 한사람의 코딩량이 17행이라고 보고 부가가치를 계산하는것은 좀 ~~ 무례해보입니다.
이렇게 된다면 리눅스 커널의 최대 가격 6100억은 어떻게 보아야 할까요?
그 가치를 회사에서 오픈소스가 아닌 프로젝트개발을 위해 고용하는 코딩수의 코딩능력 대 비용값과 어울려 생각하면 안될것 같아요.
....................................

많이 배울께요~V_V 내가 알면 배워두 주구요~~ 웬걸~Q_Q

M.W.Park의 이미지

17 라인은 예전에 벨연구소에서 실시한 연구 결과에서 나온 통계치인것으로 압니다.
OS나 시스템 프로그램의 경우 하루 17 라인이 적은 양이라 볼 수 없습니다.
또한 그 실험 당시에 최고의 (유닉스) 엔지니어들은 벨 연구소에 있었다고 보셔도 무방합니다.

일반 어플리케이션, 특히 웹페이지 찍어내는 것과는 비교할 수 없습니다.

-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

mengguo의 이미지

글쎄요. 그런데 저도 이해안되는것은 그러한 가치를 왜 개발자들을 채용하여 부가가치를 얻어내는 프로젝트들의 가치와 비교하는가 하느것입니다.
이 문제를 어떻게 보아야 하는지요.~~
Open Source의 가치를 왜 가격으로 계산해야 하는지요~
해답 주셨으면 합니다.

많이 배울께요~V_V 내가 알면 배워두 주구요~~ 웬걸~Q_Q

linlin의 이미지

valuation입니다. 다르게 말하면 measurement 이구요. 겉보기에는 공짜인데 실제 이를 만드는데 얼마나 많은 자원이 투입되었는지를 추측해 보기 위해서입니다. measurement가 되면 다른 소프트웨어 프로젝트와 당연히 비교가 가능하고 또 비교를 해 보는게 자연스럽습니다.

이걸 오해하면 예를들어 생명보험사들이 사람 하나 죽으면 목숨값으로 일억밖에 안 쳐 주더라... 이런 얘기로 잘 와전되죠.

shockyhan의 이미지

10인 정도의 개발팀이 1년 예정으로 제품개발을 하는 경우를 보면...
말씀하신대로 초기 개발단계나 어떤 모듈을 처음 개발할 때는
하루에 1000라인 이상씩 개발하기도 하죠.
하지만 중반을 지나면서 디버깅에 매달리다 보면 지우고 쓰고 변경하고 하는 양이
하루 3~4줄에 불과할 때가 대부분입니다. 어떨 때는 일주일에 3~4줄이 되기도 해요.
결국 일년을 기준으로 통계를 내 보면 팀내의 우수한 개발자가 10여줄에 불과합니다.
실제로 저희 팀이 그랬습니다.
그래도 다른 조직이 5년 가까이 매달려서도 실패한 프로젝트를
1년여 만에 그 이상의 성과를 내면서 성공시켰죠.
자신의 생산성을 확인해 보면 의외로 놀라게 됩니다.
생산성이라는 말에 반감 가지실 분도 많겠지만 확인해 볼 필요는 있다고 생각합니다.
===========================================================================
Shocky Han
Seoul, Korea.
===========================================================================

===========================================================================
Shocky Han
BIM Consultant, Certified Information Systems Auditor
Seoul, Korea.
===========================================================================

mengguo의 이미지

이해가는 말씀이예요.
동의 갑니다.
원래 깔끔한 프로젝트들에 참가하다나니 그닥 버금가는 디버깅 맞다들지 못했어요.
~~ 개발공정이 중요하죠...
참. 오 만약 GS인증 적용실례 어디가면 구할수 있는지 알고계시면 대주실래요?

많이 배울께요~V_V 내가 알면 배워두 주구요~~ 웬걸~Q_Q

Gyu의 이미지

그렇군요~

컴터랑 관계없는 일을 하다보니.......이런거 알기어렵네요 ;)

bookgekgom의 이미지

신뢰할수는 없지만....

데비안의 경우....

"A university's study concluded that Debian's 283 million source code lines would cost 10 billion USA Dollars to develop by proprietary means.[2]"
[2] - Amor, Juan José; et al (17 June 2007). Measuring Etch: the size of Debian 4.0. Retrieved on 2007-09-16

한 대학에서는 데비안의 3밀리언의 코드는 .... 대략 10 빌리언 달러쯤으로 결론지었다....

10 빌리언....1,000,000,000 달러 1,000,000,000,000 원....

물론 상용화가 된다면 말이죠....ㅎㅎㅎ

---------------------------------------------------------------------------------------------------------------
루비 온 레일즈로 만들고 있는 홈페이지 입니다.

http://jihwankim.co.nr

여러 프로그램 소스들이 있습니다.

필요하신분은 받아가세요.

권순선의 이미지

버그 리포트의 가치를 산출하는 방법에 대해서 한번 고민해봐 주시면 감사드리겠습니다. http://kldp.org/node/93086

댓글 달기

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