하드웨어를 위한 새 바람 - 오픈 하드웨어 프로젝트

오픈소스 소프트웨어(Open Source Software)는 20세기와 21세기의 기술 및 비즈니스 부문에서 가장 위대한 성공 스토리 중 하나다. 소스를 공개함으로써 기술의 발전과 협업의 개념이 새롭게 생겼을 뿐만 아니라 공개된 소스를 바탕으로 한 새로운 비즈니스 영역이 출현하는 바탕이 되기도 했다. 이러한 오픈소스 운동은 프로그램 소스에 대한 것뿐만 아니라 하드웨어 설계 및 개발 관련 활동에도 큰 영향을 미쳤다. 이번 커버스토리에서 다룰 오픈 하드웨어 역시 오픈소스 운동의 정신에 기인한 것이다.

라영호 ratharn@naver.com|Microsoft Windows Embedded 분야 MVP. 윈도우폰 7 관련 스마트폰 앱 개발과 윈도우 임베디드 CE 관련 장치를 개발하고 있다. 개인 블로그(www.embeddedce.com)를 통해 임베디드 시스템 개발에 대한 다양한 생각과 방법론을 함께 생각해 보고자 노력 중이다. 또한 오픈 하드웨어, 오픈소스를 이용한 새로운 프로젝트를 기획 중이다.

오픈 소프트웨어 운동은 데니스 엘리슨(Dennis Allison)이 “서로의 발을 밟는 것이 아니라 서로의 어깨 위에 서자”라는 중요한 말을 인용하며, 1975년에 Tiny BASIC을 내놓으면서 처음 설립되었다. 

개발자들을 위한 주요 잡지인 닥터 도브스 저널(Dr. Dobb’s Journal)의 수석 편집장인 짐 워런(jim Warren)은 “소프트웨어가 무료이거나 가격이 매우 저렴해 복제하는 것보다 요금을 지불하는 것이 더 간편하면 도난 당하지 않을 것이다”라면서 그 개념을 정립하기 시작했다.

더 나아가 1976년 7월에 ACM(Association for Computing Machinery) 프로그래밍 언어를 통해 그 개념을 오픈소스에 구체화했다. 9년 후인 1985년에 닥터 도브스 저널은 리차드 스톨만(Richard Stallman)의 원본 GNU 선언문인 무료 소프트웨어를 위한 저작권 및 사용에 대한 내용을 발행했다. 그리고 이것은 오늘날 리눅스 운영체제를 비롯한 우리 시대에 가장 널리 채택된 소프트웨어들이 여럿 만들어지는 계기를 만들었다.

오픈 하드웨어
이제 오픈소스 소프트웨어의 성공은 오픈 하드웨어라는 새 운동을 만들고 있다. 1990년대 후반 이후로 엔지니어들은 오픈소스 개념을 컴퓨터와 하드웨어에 적용하는 방법을 찾고 있었다. 주된 장애물은 역시 소프트웨어가 복제가 간편하고 무료로 복사할 수 있다는 사실이다. 반면에 하드웨어는 오픈 하드웨어 분야의 선구자이면서 와이어드 잡지사의 편집장인 크리스 앤더스(Chris Anderson)가 “하드웨어는 비트가 아니라 원자”라고 말한 대로 실제 물질로 구성되어 있다는 점이 다르다. 게다가 하드웨어는 일반적으로 저작권 보호를 받는 것이 아니라 특허로 보호 받으며, 특허는 취득하고 이를 보호하는 데 비용이 많이 든다. 따라서 오픈소스가 제공하는 엄청난 혜택을 활용하도록 하드웨어가 어떻게 ‘오픈소스화’ 될 수 있을지는 현재 많은 논의 중에 있다.

오픈인가 아니면 오픈소스인가? ‘오픈 하드웨어’인가 아니면 ‘오픈소스 하드웨어’인가? 이 구별은 여전히 논의 중이다. 오픈소스라는 용어는 프로그래밍의 소스 코드에 직접적으로 해당되며, 이는 베리로그(Verilog)와 같은 하드웨어 설계 언어(HDL)로 설명되는 하드웨어 디자인에는 잘 적용되지만, 컴퓨터를 이용한 디자인(CAD)으로 구성된 하드웨어 디자인 부분에는 적용되지 않는다.

오픈 하드웨어는 오픈 소프트웨어와 같은 관점에서는 열려 있다(GNU 선언문에서 리차드 스톨만이 논의한 ‘언론의 자유’ 개념). 하드웨어는 복제하면 항상 어느 정도 비용이 들기 때문에 절대 ‘무료 맥주’가 될 수 없으며, 최선의 의도를 가진 지지자들조차도 실제 제품을 무한정으로 무료 제공할 수는 없다. 하지만 실제 제품은 단순히 디자인의 구현이며 이러한 디자인으로부터 실제 제품을 만드는 권한과 함께 하드웨어의 디자인은 실로 저작권이든지, 특허이든지 간에 오픈 라이선스를 통해 무료로 사용 가능하게 될 수 있다. 라이선싱은 소유자에 따라 달려있다.

사실 오픈 하드웨어 자체는 여전히 공식적으로 정의되고 있는 중이다. 오픈 하드웨어에 대한 워크그룹은 부루스 페런(Bruce Perens)의 오픈소스 정의를 따라 2009년 이후로 정의를 다듬고 있는 중이다. 새 오픈소스 하드웨어의 정의는 현재 V0.4이며, 오픈 하드웨어 서밋(Open Hardware Summit) 웹사이트의 포럼에서 논의 중이다. 참고로 오픈소스 서밋 웹 사이트 주소는 http://www.openhardwaresummit.org/이다.

오픈 하드웨어 프로젝트
이미 성공한 오픈 하드웨어 프로젝트들이 많다. 오픈소스 하드웨어에 관해 빠질 수 없는 것은 ‘Maker Movement’이다. 이는 자작으로 하드웨어를 개발하는 운동 정도로 생각하면 된다. 또한 2005년 메이크진(Makezine)이라는 잡지가 나온 후부터 이런 오픈 하드웨어 및 오픈 하드웨어를 이용한 개발 활동이 구체화된 것으로 볼 수도 있다. 메이크진 잡지는 자작 개발자를 위한 잡지로서 여러 가지 흥미로운 자작 방법을 자세히 써 놓은 책이다. 하지만 책만 만든 것이 아니라 메이커 페어라는 전시회를 개최하면서 자작 활동을 가시화하는 데도 크게 기여했다.

오픈소스 하드웨어를 말할 때 절대 빼먹을 수 없는 것이 커뮤니티다. 다른 오픈소스 하드웨어 키트 판매 사이트와 마찬가지로 adafruit.com에도 포럼이 있어서 각종 제품에 대한 회원 간의 의견 교환이 활발하게 이루어지고 있다. 오픈소스 하드웨어의 장점은 포럼을 통해 구매자 서로 간의 질문과 답변으로 고객관리가 저절로 이루어진다는 점이다. 포럼을 통해 이루어지는 것이 사후 고객관리만은 아니다. 키트를 구매하기 전의 고객들은 키트의 완성도와 기능에 대한 상세한 내용을 먼저 구매한 사람들의 리뷰를 보듯 알 수 있는 것이다. 단순한 리뷰보다 살아있는 질문 답변 과정이 키트에 대해 더 자세한 정보를 알려주기 때문이다. 

커뮤니티가 협력해 만드는 오픈소스 하드웨어 프로젝트로 비즈니스를 키운 사례가 바로 와이어드지 편집장인 크리스 앤더슨이 만든 무인 모형비행기 자작 커뮤니티인 diydrones.com이다. diydrones는 모형비행기를 취미로 하는 크리스 앤더슨이 기존의 비싼 무인항공기 자동비행장치인 오토파일럿을 대체할 수 있는 저렴한 취미용 오토파일럿을 만들기 위해 시작한 프로젝트다. 시작 때부터 여러 명이 참여해서 프로그래밍과 보드 개발, 테스트 등을 분업으로 진행했고, 키트가 나오자 엄청난 인기 속에 팔려나가기 시작했다. 커뮤니티에 판매 사이트를 만들어 붙였고 판매가 늘자 이내 사이트를 운영하는 데 여러 명의 직원을 고용해야 할 정도가 되었다. 

무엇인가를 오픈소스로 공개하는 것은 자신의 인지도를 올리는 방법이 될 수 있다. 물론 그게 유용한 것이어야 유명해지겠지만 말이다. 제품을 판매하기 위해서는 제품을 잘 만들어야 하고 그 다음엔 그 제품에 대해 알려야 한다. 사람들이 그 제품의 존재를 모른다면 살 수 없다. 사람들이 찾기 쉽게 매장 잘 보이는 곳에 진열하는 유통 자체는 큰 비용이 드는 일이며 많은 사람이 그 물건을 찾도록 광고하는 일 또한 많은 돈이 드는 일이다. 하지만 오픈소스로 풀어 버리면 그것을 써본 사람들의 입소문과 블로그 SNS 등을 통해 손쉽게 정보가 퍼져나가 돈 한 푼 안들이고 광고가 되는 것이다. 이러한 점이 오픈소스 하드웨어 프로젝트의 장점이다.

Power.org
2004년에 IBM은 Power Everywhere 과제의 일환으로 Power.org를 만들어 무료 라이선스 표준, 디자인 및 스펙이 있는 파워 아키텍처(Power Architecture)를 오픈 하드웨어 프로젝트로 설립했다. IBM은 2006년에 조사 및 연구 기관이 파워PC(PowerPC) 405 코어를 무료로 사용할 수 있는 계획을 발표했고, 오늘날에는 40개 이상의 대학교에서 이 프로그램에 참여하고 있다. 이는 프로세서 개발에 대한 표준을 만들고, 설계 결과를 공유하도록 함으로써 프로세서의 활용 및 발전을 확산시킨 오픈 하드웨어 프로젝트라고 하겠다.

OpenSPARC T1
썬 마이크로시스템은 2006년 자사의 성공적인 스파크(SPARC) 프로세서의 전체적인 오픈 구현인 오픈 스파크(Open SPARC) T1으로 뒤를 이었다. 현재는 베리로그(Verilog) 하드웨어 정의 언어(Hardware Definition Langauge)로 쓰인 소스 코드로 GPL(GNU Public License) 하에 릴리즈된 RISC (Reduced Instruction Set Computer) 기반 SPARC 아키텍처의 전체적인 오픈 구현들이 세 가지 있다(www.opensparc.net/에서 확인 가능). 

<화면 1> 오픈 스파크 프로젝트를 통해 만들어진 프로세서

오픈 스파크 프로젝트는 현재 Open SPARC T2에 대해 진행 중이며 위의 Power 프로젝트와 동일하게 프로세서 하드웨어 설계에 대한 공개 프로젝트다. <화면 1>은 오픈 스파크 프로젝트 결과로서 설계된 프로세서의 최종 모습을 보여준다.

비글보드
비글보드(BeagleBoard)는 TI(Texas Instruments)의 OMAP3(Open Multimedia Application Platform 3) SoC (system on chip)를 기반으로 하는 싱글 보드 컴퓨터이며, ARM 기반 마이크로프로세서 이외에도 디지털 신호 프로세서가 포함된다. 비글보드는 많은 스마트폰이나 넷북과 동일한 프로세싱 엔진을 사용해 전체 리눅스 배포의 실행과 고화질 비디오 제공이 가능할 정도로 강력하다. 비글보드는 대규모 커뮤니티에서 지원되어 제조 시 사용하기 위한 인쇄회로 기판(PCB)의 아키텍처 드로잉을 비롯한 디자인 문서들은 무료로 다운로드해 사용할 수 있다. 이로 인해 이미 몇 가지 관련 프로젝트들이 생겼다. 

비글보드 프로젝트는 ARM 프로세서 기반 시스템으로 다양한 확장 장치를 장착할 수 있는 장점이 있어 현재 다양한 프로젝트가 진행되고 있으며, 안드로이드 운영체제를 탑재한 다양한 프로젝트까지 생겨나고 있다.

아두이노
아두이노(Arduino)는 일반 사용자를 염두에 두고 학습이 용이한 프로그래밍 모델을 사용해 디자인된 마이크로컨트롤러다. 이는 누구나 사용할 수 있는 전체적으로 열린 디자인이며 문서, 애드온 보드, 파생 제품 및 커뮤니티의 대규모 에코시스템을 이룬다. 이는 메이크 잡지 및 연례행사인 ‘메이크 페어’를 기반으로 손수 만들기 애호가들과 수공예자들(반짝이는 발광 다이오드에서부터 고급화된 항공기 안내 시스템에 이르기까지 유연한 전자식 기능을 본인들의 프로젝트에 추가하려는 열렬한 하드웨어 지지자들)의 늘어나는 ‘제작자’ 운동으로 대규모로 채택되었다.

기본적으로 아두이노는 여타 개발 플랫폼과 마찬가지로 하드웨어와 소프트웨어로 구성되어 있다. 이 마이크로 컨트롤러를 프로그래밍하기 위한 소프트웨어를 이 AVR을 제작하는 업체에서 무료로 제공한다. 이 플랫폼은 오픈소스 기반이기 때문에 하드웨어를 사용자가 직접 제작할 수도 있고 미리 조립되어 있는 제품을 구입할 수도 있다. 또한 프로그래밍에 사용하는 소프트웨어 종류에도 제한이 없다. 또한 하드웨어를 설계하기 위한 회로도 및 전자 기판을 만들기 위한 제작 정보, 아두이노 내부의 소프트웨어 및 아두이노 자체를 프로그래밍해 올리는 통합개발 환경까지 소스 형태로 공개되어 있다.

아두이노 프로젝트

해커앤드모드라는 사이트(http://hacknmod.com/hack/top-40-arduino-projects-of-the-web/)는 아두이노를 사용한 베스트 50 프로젝트를 선정해 발표했다. 그 주요 내용은 다음과 같다.

- 레이저 하프 : 아누이노와 레이저를 이용해 가상 하프를 구성한다. 레이저가 차단될 때 발생하는 이벤트를 이용해 하프의 소리가 나는 원리다.

<화면 2> 레이저 하프의 구현

- 아두이노를 이용한 무인 정찰기(UAV) : 아두이노를 메인 조정장치로 사용하고 GPS, 자이로스코프, 가속도, 컴파스를 사용해 비행기의 위치를 조정할 수 있도록 구성함.

<화면 3> 아두이노를 사용한 무인 정찰기의 최종 모습

<화면 4> 무인 정찰기의 주제어장치

- 오픈소스 게임보이 : 게임보이의 기능을 아두이노를 통해 구현

<화면 5> 아두이노를 통해 구현한 게임보이

OpenCores.org
1999년 이후 각광받는 오픈 하드웨어 기관인 OpenCores.org는 오픈 프로세서 코어의 포털이다. 여기서는 무료 RISC 컴퓨팅 플랫폼, 몇 가지 마이크로컨트롤러, 2개의 SoC 및 Verilog HDL을 사용해 수많은 산술, 통신 및 다른 코어들을 비롯한 다양한 오픈 라이선스에 의거해 많은 코어에 대한 디자인 문서를 제공한다.

<화면 6> 오픈 코어 프로젝트의 웹사이트

열린 전자 디자인 프로젝트
이제 몇몇 작은 회사들이 전체적으로 열린 전자식 디자인을 제조한다. 일부는 킷이나 소형 가젯을 만드는 반면, 나머지는 전문가급 제품을 제작한다. 이전까지 기업들에게만 오픈되어 있었던 제조 프로세스는 이제 더 작은 규모의 조직들에게도 오픈된다.

무료 프로젝트
일부 프로젝트는 완전히 무료이며 그들의 프로젝트를 빌드하는 다른 사람들에게는 계획만 제공된다. 최근의 데스크톱 3D 프린터 제품군과 같이 일부는 자가 복제 방법조차도 제공한다.

<화면 7> 오픈 3D 프린터

오픈 하드웨어의 미래
오픈 하드웨어의 미래는 단순히 오픈된 하드웨어 정보를 이용해 새로운 장치를 만드는 것에서 끝나지 않을 것이다. 구글 안드로이드 운영체제가 스마트폰 운영체제 시장의 역사를 새롭게 쓴 것처럼 오픈 하드웨어 역시 하드웨어의 개발 및 발전에 대한 새로운 방향을 열어주고 있다. 개인이 오픈 하드웨어를 이용해 제품을 만들고, 하드웨어 제작회사를 운영하는 것도 이제는 먼 일이 아니다. 아니 실제 이루어지고 있다. 오픈이라는 정신은 단순히 공개의 의미가 아니라 공개를 통한 협업과 발전을 추구한다. 오픈 하드웨어를 통해 펼쳐질 새로운 혁명을 기대하며 이 글을 마친다.

Posted by linuxism
,