행정안전부 국가기록원

URL 복사

소프트웨어 개발

※ 집필 내용은 국가기록원의 공식입장과 다를 수 있습니다.
발생배경

국내 소프트웨어 산업의 체질을 바꾸려는 노력이 이른바 공개 소프트웨어 육성 정책을 통해 정부 주도로 추진되고 있다. 지식정보사회의 핵심인프라로서 소프트웨어 및 관련 산업의 중요성이 날로 증대되고 있지만 현재 국내 소프트웨어 산업은 독과점체제를 벗어나지 못하고 있으며, 특히 패키지 소프트웨어의 경우 국내 업체는 손에 꼽을 정도에 불과하다. 그 결과 특정 벤더에 의해 일방적으로 표준 및 가격이 결정될 뿐만 아니라 국가 주요정보시스템이 특정 벤더에 종속되어 독자적인 보안정책의 수립, 유지보수, 확장, 시스템 호환성 확보가 어렵게 되었다는 판단이다. 또한 인터넷대란에서도 알수 있는 바와 같이 획일화된 정보시스템의 경우 해킹, 바이러스에 대한 면역성이 매우 약한 점들을 극복하기 위해서는 공개소프트웨어의 활성화를 통한 다양한 제품간의 경쟁체제 구축이 시급하다.


내용

1. 1950년대
1950년대는 컴퓨터 프로그램의 초기 사용시기로써 모든 프로그램은 공개적으로 개발되고 또한 소스코드도 공개되었다. 즉, 여기서 중요한 것은 컴퓨터 프로그램의 역사는 공개적으로 개발되기 시작하였고 또한 개발된 소스코드는 공개되었다라는 점이다. 이러한 초기 인식이 약 10년정도 계속되었으나 1950년도 말경부터는 컴퓨터 프로그램이 일부이기는 하지만 판매되기 시작하였다.


2. 1960년대
판매되기 시작한 컴퓨터 프로그램이 1960년 후반에 와서는 소프트웨어라는 상품으로 포장되어 정식으로 판매되는 상품으로 인식되기 시작하였다. 그리고 이때부터 소프트웨어는 개발한 회사의 일급기밀이 되었으며 개발한 회사는 소프트웨어의 소스코드를 공개하지 않게 되었다. 하지만 이때에도 UNIX를 포함한 공개소프트웨어는 소스코드가 계속 공개되고 있었다. 즉, 1960년대 중후반기에는 공개소프트웨어와 상용소프트웨어가 공유한 시기라고 볼 수 있다.


3. 1970년대
1970년대에서도 UNIX 소스코드는 많은 대학에서 자유로이 사용하고 수정하고 할 수 있었다. UNIX에서 사용될 수 있는 많은 공개소프트웨어들도 자유로이 수정되고 사용되었다. 하지만, 1980년대에 들어서면서 상용UNIX가 대두되기 시작한다. 즉, AT&T는 UNIX의 수수료를 높이고 그 배포를 제한하게 되었다. 이로써 UNIX소스코드의 수정본을 공유해왔던 많은 사용자들이 소프트웨어를 수정하는 것을 불가능하게 만들게 되었다.


4. 1980년
공개되어 왔던 UNIX 소스코드가 1980년대에는 상용 유닉스의 대두로 인하여 다시 회사의 일급비밀이 되기 시작하였으며 대학들에서도 UNIX에 대한 라이센스를 적용하기 시작하였다. 즉, 대략 1980년도부터 공개소프트웨어의 개념이 희박해지면서 독점소프트웨어가 본격적으로 출현하여 소프트웨어를 완전히 제품화하여 유통하고 판매한 시기라고 할 수 있다.


5. 1984년
공개 및 공유되어 왔던 소프트웨어 소스코드가 완전히 상품화, 사유화, 제품화되어 기업의 수익을 위한 상품으로 완전히 전락한 것에 회의를 느낀 MIT의 리차드 스톨만(Richard Stallman)은 “소프트웨어는 공유되어야 한다”라는 소신을 가지고 그 뜻을 펼치기 위하여 1984년도에 GNU라는 프로젝트를 시작하였다. MIT대학의 인공지능 연구실의 연구원이었던 리차드 스톨만(Richard Stallman)은 이러한 소스코드의 폐쇄성에 대하여 참을 수 없는 불합리성을 확인하게 되었다. 결국 이것은 1984년에 UNIX와 완벽하게 호환되는 자유소프트웨어 운영체제를 개발하기 위한 GNU프로젝트가 시작하게 된 계기가 되었다.즉, 소스코드에 대한 사용자들의 권리를 되찾기 위한 운동의 시작이라고 할 수 있다. 이것이 리차드 스톨만의 자유소프트웨어운동의 시작이다.


6. 1985년
자유소프트웨어를 보호하고 자유소프트웨어운동을 본격적으로 촉진하고 시작하기 위하여 리차드스톨만은 1985년에 자유소프트웨어재단, 즉, FSF(Free Software Foundation)을 설립한다.이때부터 FSF는 GNU프로젝트의 가장 조직적인 지원단체가 되었다. 자유소프트웨어 운동이란 모든 소프트웨어를 누구든지 자유로이 사용할 수 있고, 필요에 따라 변경을 할 수 있으며, 변경된 소프트웨어를 자유로이 배포할 수 있게 하기 위함이 목적이며 이를 위해서는 소프트웨어의 소스코드 공개가 필수적이라는 것이다. 그리고 이를 실현하기 위하여 GPL이라는 자유소프트웨어 라이센스를 만들게 된다. 그러나 이를 적용한 GPL라이센스는 수익을 목적으로 운영되는 많은 회사(기업)들로 부터 사용을 꺼리게 하는 궁극적인 요인이 되었으며 그 결과로 자유소프트웨어 운동은 주로 학생들에 의해 주도 되었다. 회사와 기업들이 꺼리게 된 가장 큰 원인은 GPL라이센스의 바이러스적인 속성 때문이다. 즉, GPL라이센스를 따르는 소프트웨어를 개작하거나 또는 그 일부를 사용한 모든 소프트웨어는 GPL라이센스를 따라야하며 소스도 공개되어야 한다라는 것이였다. 이는 수익을 목적으로 해야하는 많은 회사들에게는 당연히 환영받지 못하는 것이였다. 


또한 GNU프로젝트하에서 자유소프트웨어인 운영체제의 커널을 개발하려고 하였지만 이와 같은 커널을 개발하기에는 어려움이 있다는 것을 현실적으로 깨닫게 되었으며 커널없이 GNU프로젝트를 완성할 수 없다는 점도 함께 깨닫게 되었다.


7. 1990년대
1991년도에 핀란드의 한 대학생인 리누스 토발즈가 80386칩에 잘 돌아가는 LINUX라는 시스템커널을 개발하였다. 그리고 이 소스에 GPL라이센스를 부여하여 GNU프로젝트에 의해 개발될 수 있도록 공개하였다. 이때부터 LINUX커널은 전세계의 수많은 개발자들과 함께 GNU프로젝트하에서 이미 개발되었던 많은 프로그램 및 유틸리티들과 결합되었으며 매우 안정적인 운영체제로 놀라울 정도로 빠른 발전을 하게 되었다. 이 시점에서 우리는 한가지 분명히 해야할 것이 있다. 즉, 일반 사람들은 리눅스 토발즈가 Linux라는 운영체제를 개발한 것으로 알고 있지만 이는 사실과 다소 다르다. 즉, 리눅스 토발즈는 운영체제의 일부분인 Linux커널의 개발을 시작한 선도개발자였다. 리눅스 토발즈가 개발을 시작한 커널에 수많은 GNU프로젝트와 다른 프로젝트들의 결과물들이 합해져서 결국 완성된 하나의 Linux운영체제가 개발된 것이다. 따라서 오늘날 우리가 얘기하는 Linux라는 운영체제는 GNU/Linux라고 표기해야 정확한 것이다. 즉, GNU/Linux운영체제를 구성하는 대부분은 GNU프로젝트와 다른 관련 프로젝트에 의해 개발되었다.


8. 1996년
GNU프로젝트의 많은 유틸리티들과 합쳐져, GNU/Linux운영체제가 탄생하게 되었으며 드디어 1996년도에 리눅스 커널 2.0이 발표되면서 Linux운영체제는 완전한 운영체제로 인정을 받게되었다.


9. 1997년
자유소프트웨어운동 운영진내에서는 ‘자유소프트웨어’라는 용어 자체가 일반 사람들 대다수에게 다소 오해를 줄 수 있다는 것을 인식하게 되었다. 예를 들어 자유소프트웨어라는 용어에서 ‘자유’라는 단어가 ‘비용이 들지 않는다.’라는 의미로 잘못 인식되고 있다라는 것을 알게 된 것이다. 이러한 혼란을 해결하기 위하여 1997년 봄에 자유소프트웨어 운영진모임은 Eric Raymond, Tim O'Reilly, 그리고 Larry Wall등을 소집하여 ‘자유소프트웨어’의 대안적인 용어로서 ‘오픈소스’라는 신조어를 만들어 내게 되었다. 또한 Bruce Perens는 ‘오픈소스’라는 용어의 정의를 위하여 ‘오픈소스 정의’의 최초의 버전을 개발하게 되었다. 하지만, FSF의 회장인 리차드스톨만(Richard Stallman)은 오픈소스라는 용어에 대한 이러한 부분들을 결코 수용하지 않았으며 또한 사용자들에게는 오픈이라는 용어보다는 자유라는 개념을 더 강조하는 것이 옳다고 믿었기 때문에 Bruce Perens는 자유소프트웨어라는 용어를 다시 사용하기로 하였다.


10. 1998년
1998년도에 드디어 자유소프트웨어라는 용어문제와 기업(회사)들이 회피하고 있었던 GPL라이센스의 문제점을 해결하기 위하여 1998년에 공개소스소프트웨어(Open Source Software)라는 용어가 새로 나오게 되었다. 현재 우리가 "공개소프트웨어"라는 용어를 사용하고 있는 것은 여기서 부터 출발하게 된 것이다. GPL라이센스의 제약조건들로 인하여 공개소프트웨어를 회피하였던 많은 기업들은 공개소프트웨어의 여러가지 라이센스들 가운데 기업체에 알맞는 라이센스를 사용할 수 있게 되어 공개소프트웨어 운동에 적극적으로 참여하게 되었다.


11. 2000년도
우리나라는 2001년도에 한국소프트웨어진흥원 "S/W진흥 5개년계획"수립을 위한 "S/W산업 경쟁력 강화방안의 연구의 일환으로 "공개 S/W 활성화 Working Group"의 운영계획을 수립하게 되었다. 2002년도에 Working Group이 법제도, 활성화, 활용분과라는 3개의 분과로 나뉘어서 시작 되었다. 이때가 국내 공개소프트웨어 정책 수립 원년이라고 할 수 있다. 2003년도에는 한국소프트웨어진흥원내에 "공개소프트웨어지원센터"가 설립되면서 우리나라도 공개소프트웨어에 대한 정책이 본격적으로 실행된 것이라 할 수 있다.


2003년도에는 리눅스 커널 2.6이 발표되면서 GNU/Linux의 보안적인 부분이 더욱 보완되었으며 대형서버에도 탑재될 수 있는 우수한 운영체제로 거듭나게 되었다.


2007년까지 주도적으로 초기 시장 형성을 위해 시범사업을 확대하고, 표준 배포판 제작, 전문인력 양성 등을 통해 이를 기반으로 민간기업이 시장을 키워나가는 모델을 제시하고 있다. 즉, 정부가 국내 소프트웨어 시장을 리눅스 기반 위주로 개편하고, 국내 업체들은 그에 양립하는 응용 소프트웨어를 만들도록 유도하는 전략이다.


역사적의의

공개소프트웨어 활성화


참고자료

리눅스포털(http://www.linux.co.kr/)
LG경제연구원,《2010 대한민국트렌드》 한국경제신문사, 2005


집필자
홍봉화(경희사이버대학 정보통신과 교수)

최초 주제 집필
2006. 12. 01

최종 주제 수정
2006. 12. 01