본문 바로가기

개발에 대해 얘기 합니다.

개발의 역사 속에서 "공유&믿음"의 의미에 대한 고찰

개발에 대해 본격적으로 공부하기 전,

회사에서 개발자 분과 기능 구현에 대해서 얘기를 하던 중이었다.

당시 내가 "이런 기능 구현 가능할까요?"라고 질문을 드렸었다.

나의 질문에 개발자 분께서는"라이브러리에 뒤져보면 있을 것 같은데요."라는 답변을 주셨던 것으로 기억한다.

 

나는 개발자분의 답변을 제대로 이해를 할 수 없었다.

"기능을 개발자분들이 구현하는 게 아니라 어디선가 받아서 사용할 수 있다는 건가?"

"이미 구현된 기능을 왜 무료로 쓰게 하는 거지? 그 사람은 자선가 인가? 아니면 자랑을 하고 싶은 인싸인가?"

이런 생각은 잠깐 떠올랐다가, 다시 현생으로 인해 내 다른 생각들에 덮였다.

 

그리고 시간이 흘러 개발에 대해 공부를 진행하면서

개인적인 호기심으로 짬 날 때마다 위키를 뒤지며 언어의 역사, 발전해 온 길을 둘러보곤 했다.

 

그래서 내가 하고 싶은 프론트개발의 가장 기초인 HTML의 위키를 읽어 보았다.

읽어보다가 놀랐던 부분은 "팀 버너스리"님 께서 HTML과 웹 브라우저를 만들었다는 내용에 놀랐다.

** 당연히 웹 브라우저는 특정 기업이 만들었을 것이라 생각했었는데..

팀 버너스리 위키피디아 : 링크

 

팀 버너스리 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 팀 버너스리 경(영어: Sir Tim Berners-Lee, OM, KBE, FRS, 1955년 6월 8일 ~ )은 영국의 컴퓨터 과학자이다. 1989년 월드 와이드 웹의 하이퍼텍스트 시스템을 고안하여 개발

ko.wikipedia.org

 

 

위키를 읽으면서 "문서를 다른 나라의 연구원들과 "공유"하고 싶어 만들었다"는 태생이 너무나 기분이 좋았다.

 

공유 (共有) play  // 출처 : 네이버 어학사전

[명사] 두 사람 이상이 한 물건을 공동으로 소유함.

 

자본주의는 자본을 바탕으로 여러 산업 안에서 물질/지식 등의 생산을 바탕으로 자본(재산)을 늘려 가는 것을 기본 생리라고 생각한다.

그래서 자본을 늘려 가는 과정에는 필연적으로 "독점"에 손길을 뻗치지 마련이다.

왜냐하면 "독점"을 해야지만 가장 빠르게 자본(재산)을 늘릴 수 있기 때문이다.

그래서 많은 기업들이 각양각색의 시장에서 최대한의 "독점(시장에서의 규모)"을 하기 위해 많은 노력을 하는 것이라 본다.

그래서 자본주의는 폐쇄성의 유혹을 매우 크게 느끼는 형태라고 여겨진다.

 

그런데

여러 개발언어들은 왜 라이선스를 주장하지 않는 것 인지가 궁금했다.

HTML과 웹 브라우저를 만드신 "팀 버너스리"선생님께서 라이선스를 주장하시며,

HTML을 사용하는 기업, 나라에서는 나에게 비용을 지불하라고 하지 않으셨을까?

 

당시에 "팀 버너스리"선생님께서 어떠한 생각을 가지셨는지는 알 수 없다.

하지만 라이선스를 주장하지 않음으로 인한, 웹 생태계의 놀라운 발전은 누구도 부정할 수 없을 것이다.

 

그리고 "C(프로그래밍언어)"에 대해서도 나무위키를 읽던 도중 아래와 같은 내용을 보았다.

출처 : 링크

C언어의 정신은 C99 Rationale에서 다음과 같이 묘사하고 있다.
  • 프로그래머를 믿어라. (Trust the programmer)
  • 프로그래머가 작업을 못하게 방해하지 마라. (Don't prevent the programmer from doing what needs to be done)
  • 언어를 작고 간단하게 유지하라. (Keep the language small and simple)
  • 명령을 실행하는 방법을 하나만 제공하라. (Provide only one way to do an operation)
  • 호환성은 장담할 수 없더라도 빨리 작동하게 만들어라. (Make it fast, even if it is not guaranteed to be portable)

첫 줄의 문장 "프로그래머를 믿어라"가 나는 기분 좋았다.

 

믿다 // 출처 : 네이버 어학사전

1.동사 【…,-음을,…으로,- 어떤 사실이나 말을 그렇게 것이라고 생각하거나 그렇다고 여기다.
2.동사 【… 어떤 사람이나 대상에 의지하며 그것이 기대를 저버리지 않을 것이라고 여기다.


이런 태생을 돌아보았을 때, 프로그래머들은 "공유"와 "믿음"의 토양에서 자라난 것이라고 보인다.

그래서 여러 기업들에서 사업 아이템으로 많은 제품/기술 등을 출시하면서 정보 및 기술을 대외비 또는 특허/저작권 등록을 하지만,

기업에 속한 개발자(프로그래머)분들은 가능한 범위에서 기술을 공유하려는 모습들을 보여준다.

 

이러한 개발자(프로그래머)의 모습은 순수학문을 다루는 사람들과 매우 닮았다.

많은 연구자분들이 자신이 알게 된 지식을 논문으로 발표하고, 그 논문을 읽은 누군가가 더 발전시키고, 또 논문을 발표하는 선순환의 고리.

 

 

 

 

그래서 나는 많은 개발자분들이 여러 기능에 대해 공유하고, 얘기 나누고 발전시키는 모습이 너무 좋다.

그리고 많은 개발자분들이 공유가 앞으로 프로그램의 세계를 계속 발전시키리라는 믿음을 가지고 있다고 생각하니 또 한 번 더 기분 좋다.