본문 바로가기

How to make -Tech

오픈소스 하드웨어의 시대가 온다.

재작년에 전자회로를 만지기 시작하면서알게된 오픈소스 하드웨어 플랫폼인  Arduino보드에 대해 글을 쓴적이 있다. 그 후 국내에서 Arduino 사용자가 늘어나고 판매사이트도 생겨나는 등 국내 외 오픈소스 하드웨어에도 많은 변화가 있었다.

Arduino Duemilanove 회로도

당시 오픈소스 하드웨어를 처음알게 된 것은 Makezine.com 이라는 잡지의 기사에서 Limor Fried라는 젊은 처자의 제작기를 보고서 였다. 자칭 electronics genius라고 주장하는 여자가 전자회로 제작법을 올린것도 신기한 마당에 그 모든 것이 Arduino라는 오픈소스 하드웨어 플랫폼을 기반으로 만들어졌다는 것은 충격적일 만큼 놀랍고 새로웠다.

국민학교때부터 납땜으로 이것저것 만들어 보면서 전자공학을 전공하고 싶다는 바람이 있었고, 고등학교때 에어울프만 아니었다면 전자공학과에 갔을 지도 모르는 나이기 때문에, 오픈소스 하드웨어 사이트들을 들여다 보면서 전자공학에 빠져드는건 그리 어려운일이 아니었다. 그런 과거(?)가 없었다고 해도 Arduino.ccladyada.net 같은 오픈소스 하드웨어 사이트에 가보면 쉽게 전자회로를 배울 수 있다. 일단 회로도나 기판설계와 프로그램 소스까지 모두 공개되어 있기도 하거니와 그런곳에는 대게 포럼이 개설되어 있어서 사용자들간에 서로 물어보고 알려주는 것이 활발하게 일어나며, 위키를 이용해서 체계적으로 정리도 해 놓고 있기 때문이다.

특히 Limor Fried가 운영하는 ladyada.net은 왕초보도 쉽게 따라갈 수 있도록 납땜하는 방법부터 시작해서 부품 하나 하나 땜질하는 과정을 사진으로 찍어서 사진에 오버레이로 코멘트까지 달아가면서 설명해주기 때문에 쌩초보도 마음만 있다면 전자회로를 만들 수 있다.

Arduino는 마이크로 컨트롤러 보드인데, 자작파나 예술가를 위한 전자제어보드로 전세계적인 인기를 끌고 있는 보드이다. LED를 여러개 달고 터치를 입력으로 받아서 환상적인 조명을 만들고 싶다거나, 화분이 마르면 자동으로 물을 주게 하고 싶다거나 하면 마이크로컨트롤러라는 칩을 이용해서 보드를 만들어서 컴퓨터와 연결해서 쓰거나, 컴퓨터 없이 단독으로 사용하게 되는데, 그런 마이크로 컨트롤러보드를 오픈소스로 공개하고, 또 직접 만들어서 전세계 여러 판매 사이트에 공급하기도 한다.

나도 Arduino 보드의 설계를 보고 기판을 만들고 Arduino개발 프로그램을 다운받아 깔고 프로그램을 짜서 로봇을 만들었고, 롱테일 경제학이란 책도 쓴 Wired의 편집장인 크리스 앤더슨이 만든 Diydrones 라는 커뮤니티에서 만든  ArduPilot이라는 무인기 제어 보드도 있으며, Botanicalls라는, 트위터로 화분이 '목말라요 물줘요~'라는 트윗을 올릴 수 있도록 해주는 보드도 있다.

Arduipilot

Botanicalls

Arduino의 핵심은 보드 설계를 오픈한 것 보다는 통합개발환경을 무료로 배포한다는데 있다. 통합개발환경이란 소프트웨어 계에서는 IDE(Integrated Development Environment)라고 보통 부르는데 PC에 설치하는 프로그램으로써,  편집기와 컴파일러 및 프로그램 업로더를 합쳐놓은 프로그램이다. Arduino 통합개발환경 프로그램을 실행시켜서 거기서 프로그램을 짜고 버튼을 눌러 컴파일 하고 또 다른 버튼을 누르면 Arduino보드에 프로그램이 업로드 된다. 이때 쓰게 되는 프로그램 언어는, 문법은  C++인데 쓰기 쉽도록 하기 위해서 아두이노의 독자적인 라이브 러리들을 기반으로 되어 있다.  루비라는 언어를 쓰는 레일스라는 프레임웍이 있듯이, 아두이노는 c++을 쓰는 별도의 프레임웍이라고 보면 된다.

보통 하드웨어를 제어하는 임베디드 프로그래밍은 생소한 16진수나 알아보기 힘든 암호 같은 레지스터명 등을 전혀 쓰지 않고도, 프로그램을 조금만 짜본 사람이라면 쉽게 알아볼 수 있는 코드만으로 하드웨어 제어 프로그램을 짤 수 있다는 장점이 있다. (상대적으로 그렇다는 말이지 복잡해지면 이것도 어렵긴 하다 --;)

얼마전 자신을 복제하는 기계가 만들어졌다는 허풍스런 기사로 뉴스에 낫던 오픈소스 3D 프린터인 RepRap프로젝트도 Arduino를 기반으로 하고 있다. 정확히는 Arduino보다 주변기기 연결성이나 메모리양등이 많은 칩을 사용한 Sanguino라는  Arduino 파생보드를 만들어서 사용하고 있다. 다 오픈소스이기 때문에 그런 개조가 가능한 것이다. 참고로 뉴스 기사에 뜬 내용은 Reprab을 써서 Reprab에 들어갈 부품을 만들었다는 이야기일 뿐이지 기계가 스스로를 복제하는 것과는 거리가 먼 이야기였다. 공작기계 안써서 만드는 공작기계 있나? 스스로 기계가 복제를 하려면 인공지능이 생긴 후에야 가능할 것이다.

Reprab

Arduino도 원래는 Wiring이라는 예술가용 보드에 좀 싸고 작은 칩을 이용하여 보드를 새로 만들고 그에 맞게 개조를 한것이다. Wiring은 이미 Processing이라는 예술가용 언어의 개발환경을 빌려다 개조해서 쓰고 있었는데, Arduino에서 그걸 또 가져다 쓴 것이다.

오픈소스는 이렇게 꼬리에 꼬리를 물고 혁신이 이어질 수 있기 때문에 좋은 것이 아닌가 싶다. 미국에도 애초에 서부의 실리콘 밸리 말고도 동부에 비슷한 지역이 있었는데, 동부쪽은 업체간 인력의 교류를 엄격히 제한 하는 등 폐쇄적인 정책을 썼고 실리콘밸리는 업체간 인력 이동에 제한을 두지 않는 자유로운 방식을 써서 인력의 교류를 통한 기술의 흐름을 자유롭게 하여 지금처럼 큰 발전을 이루었다고 한다. 동부의 그 곳은 들었던 나도 그 이름을 기억 못하겠다.

Linux 또한 수많은 배포판을 만드는 회사들이 생겨나면서 새로운 일자리를 만드는데도 큰 역할을 했고, 그러면서 OS기술발전에 큰 진전이 있었다. 애플과 더불어 MS의 독점으로 인한 피해를 막을 수 있는 몇 안되는 대안의 하나로 자리 잡았으며, 안드로이드라는 이름으로 모바일 시장에서도 큰 역할을 할것으로 기대 된다.

오픈소스 하드웨어 기반 회사로는 인터렉티브 미디어플레이어인 chumby, 모듈러 모바일 시스템 bug labs  등이 있다. 둘 다 새로운 개념의 기기이기 때문에 생소할 것이다. 아이팟 터치 처럼 프로그램을 깔아서 다양한 용도로 쓸 수 있는 기기라고 보면 된다.

Chumby

Buglabs의 Bug

심지어는 오픈소스 인터넷 공유기도 있다. OpenWRT라는 프로젝트가 있는데, 시장에 나와 있는 공유기에 설치를 하면 리눅스가 깔린 하나의 컴퓨터가 된다. 사실 이건 오픈소스 하드웨어라기 보다는 소프트웨어 프로젝트지만 컴퓨터 말고 별도의 하드웨어를 쓴다는 것일 뿐이다.

사실 오픈소스 하드웨어가 오픈소스 소프트웨어와 전혀 다른 것은 아니다. Arduino자체도 개발환경은 오픈소스 스프트웨어 이기도 하거니와 Arduino를 이용해서 오픈소스 프로젝트를 만들게 되면 하드웨어와 소프트웨어도 함께 만들어야 하기 때문이다. 마이크로 컨트롤러용 프로그램 뿐이 아니라 프로젝트 자체가 컴퓨터와 연동되는 것이라면 PC에서 실행되어야할 프로그램도 짜야하니 그 경계는 더욱 모호해진다.

오픈소스하드웨어라는 것은 결국 오픈소스라는 개념이 하드웨어에 까지 확대 된 것일뿐이고, 소프트웨어가하드웨어 없이 돌 수가 없는 것이기 때문에 어쩌면 당연한 귀결이라고도 볼 수 있다.

하지만 차이가 전혀 없는 것은 아니다. 스프트웨어 개발에는 시간외에는 비용이 거의 들지 않지만, 오픈소스 하드웨어는 개발이나 판매에 있어 적지 않은 제약이 있다.  오픈소스 하드웨어를 취미로만 하기에는 벅찬면이 있는 것이다. 그래서 인지 오픈소스 하드웨어는 유료로 판매되고 있고, 전업으로 하고 있는 경우가 많은것 같다.

크리스 앤더슨은 diydrones에 오픈소스 하드웨어 비지니스 모델에 대한 글을 쓰기도 했다. 부품값을 비롯한 제작비를 모두 공개하고 거기에 40%의 마진을 받겠다는 것과 물론 더 싸게 만들고 싶은 사람은 스스로 부품을 사서 만들면되는 것인데, 부품 구매 수량이 적어서 단가가 비싸지기 때문에 생각만큼 싸게 만들기는 쉽지 않다. 
그리고 자기네 보다 더 싸게 만들 수 있으면 만들어서 팔라고 한다. 그러면 자기네는 새로운 아이템으로 넘어가면 된다고 하는데, 이사람은 생계가 아니라 이렇게 맘편히 말할 수 있는지 몰라도 나도 그런 부분이 걱정이 안되는게 아니다.  오픈소스 이코노미에서는 최초제작자는 복제품 제작자에게는 없는 명성으로 인해 계속 덕을 보게 된다는 것인데, 복제품을 보고도 결국 떠올리는 것은 오리지날이기 때문에 판매량이 더 높을 수 밖에 없다고 생각해야할까?

오픈소스는 특허와는 반대의 개념이라고 볼 수 있다. 그러나 기술발전이라는 목표는 같다. 발명자에게 특혜를 주어 더 많은 발명이 이루어지게 하려는 특허와 기술을 오픈하여 더 많은 기술이 개발되도록 하려는 오픈소스, 무엇이 옳을까?

과거와는 달리 현대의 기술은 스스로 처음부터 끝까지를 모두 고안해내기가 어렵도록 복잡해져 버렸다. 다른 사람이 만든 기술을 쓰지 않고는 내 아이디어를 실현시키기가 어려운 시대가 되어 버린것이다. 기술들이 모두 특허로 묶여서 새로운 것을 개발하는데 제약이 된다면 그것은 분명히 바람직하지는 않다. 그렇다고 기술개발에 쓰인 노력과 시간을 모두 최초개발자라는 명성만으로 만족하라고 하는 것도 무리가 있다.

하지만 적어도 특허의 의미가 더욱 중시되어야하는 시기는 아니라는 건 확신할 수 있다. 오픈소스의 혜택은 앞으로의 기술발전에 더 큰 의미를 가지게 될 것이다. 이미 인류는 라이트 형제의 특허 주장으로 인해 비행기 기술개발에 아까운 십년을 까먹은 경험이 있다는 것을 잊지 말아야 한다.