히스토리와 구성 요소로 살펴보는 리나로(Linaro) 프로젝트

중국 역사에서 봉건국가였던 주나라가 유목민족의 영향으로 도읍을 동주로 옮기면서 주왕실의 세력은 약화됐고, 각각의 제후국들이 무기를 개발해 군대를 발전시켰다. 이 무렵에는 유능한 인재들이 다수 등용됐고, 주왕실이 잃은 패권을 차지하기 위한 치열한 전쟁이 벌어졌는데, 이 시기가 바로 춘추전국시대다. 이 시기에는 무기 개발에 따른 철 관련 기술의 발전도 눈부시게 이뤄졌다. 이 글에서 소개할 리나로(Linaro)를 이해하려면 마치 이런 중국 역사와도 같은 역사적 배경 이해가 요구된다.

신제용 jeyong@gmail.com|LG전자에 근무하며 SW 개발자의 역량 향상을 위한 교육 및 코칭을 주 업무로 하고 있다. 최근에는 Go언어를 익히면서 시간을 보내고 있다. 사내외에서 Go 언어 관련 세미나를 진행하며 Go언어 확산을 위해 노력 중이다.

반도체 시장조사 업체인 세미캐스트는 올해 ARM 기반 프로세서 출하량이 70억 대에 이르고, 4년 뒤인 2015년에는 한 사람 당 2대의 ARM 코어 기반 장치를 사용할 것이란 전망을 내놨다. 뿐만 아니라 시장정보 회사인 IDC는 2015년까지 PC 시장에서의 점유율도 15% 수준이 될 것으로 예상했다.

인텔과 ARM의 전쟁
인텔의 임베디드 시장에서의 고전은 예상할 수 있겠지만 자신의 텃밭이라 할 수 있는 PC 시장에서의 점유율 하락은 치명적이라 할 수 있다. 그것도 ARM에 의해서라면 더더욱 그렇다(참고 - http://www.design-reuse.com/news/27468/arm-processors-annual-shipments-forecast.html). 올해 초 마이크로소프트는 CES2011에서 ARM에서 돌아가는 윈도우8을 내놨다. 그리고 얼마 전 마이크로소프트 개발자 행사인 ‘빌드’(Build)에서 윈도우8 개발자 프리뷰를 공개하면서 더 이상 ‘윈도우 = 인텔’이라는 등식이 성립하지 않음을 보여줬다. 마치 이에 대한 화답이라도 하듯이 같은 날 열린 인텔 개발자 포럼(IDF)에서 인텔 CEO 폴 오텔리니는 제품 하나를 소개했다. x86 인텔 아키텍처를 이용한 안드로이드 폰이었다. 그는 인텔 아키텍처를 기반으로 한 스마트폰을 2012년 출시할 예정이라고 발표하고 이에 대한 증거라도 제시하듯이 안드로이드 총 책임자인 앤디 루빈을 무대에 세웠다.

마치 이 두 행사는 불꽃 튀는 전쟁의 신호탄과 같다. ARM은 기존에 자신이 장악하고 있던 임베디드 시장을 더욱 확고히 하고 싶을 것이다. ARM은 주변에 유능한 칩 벤더들을 등용해 아직 인텔이 제대로 힘을 발휘하지 못하는 임베디드 시장을 넘어 이제는 PC 시장까지 넘보려 한다.

ARM이 지배하고 있는 임베디드 시장은 현재 리눅스와 같은 오픈소스 소프트웨어들을 기반으로 하고 있다. 리눅스, 안드로이드는 현재 ARM이 임베디드 시장을 장악한 가장 큰 무기이기도 하다. 따라서 ARM은 자신의 영역을 확고히 하기 위해서 칩 벤더들뿐만 아니라 운영체제 소프트웨어의 개발과 유지보수도 함께 묶어서 관리할 필요성을 느낀다. 칩 벤더들끼리의 경쟁으로 자칫 패권을 놓칠 수 있고 가장 많이 사용되는 운영체제에 대해 ARM이 직접 관리한다면 칩 벤더들도 어느 정도 통일성을 갖게 될 것이라는 계산도 했을 것이다. ARM 기반 칩을 제조하는 A, B사가 있다고 했을 때, 동일하게 안드로이드를 올리는 데 똑같이 ‘삽질’하고 있는 것을 더 이상 옆에서 지켜만 볼 수는 없었을 것이라 판단된다.

운영체제의 소프트웨어가 아닌 칩과 같은 하드웨어 관점에서의 패권 경쟁이라 할지라도 결국 하드웨어 판매에 결정적인 역할을 하는 것은 소프트웨어의 개발과 유지보수가 얼마나 잘 이뤄지는가라는 점이다. 결국 춘추전국시대의 패권 경쟁이나 그로 인한 인재 등용 및 규합, 그리고 철기류의 발달은 ARM이 리나로를 탄생시키게 된 배경과 유사하다고 볼 수 있다.

<그림 1> ARM과 연합군

리나로 프로젝트 이해하기
리나로는 2010년 6월 설립되었으며 본사가 영국에 있는 비영리 단체다. 리눅스를 기반으로 하는 오픈소스 소프트웨어 엔지니어들이 주축을 이루고 있으며 처음 등장은 2010년 대만의 컴퓨텍스(Computex)를 통해서였다.

리나로 멤버 기업
멤버로 참여한 회사들로는 ARM, 삼성, 프리스케일(Free scale), IBM, ST-에릭슨(ST-Ericsson), 텍사스인스트루먼트(TI)가 있다. ARM 계열에서의 선도 기업이라 할 만한 퀄컴이 참여하지 않은 것은 아쉬운 점이다. 퀄컴의 경우 단순히 AP칩이 아니라 ARM 라이선스를 받아서 3G 및 4G 통신과 관련된 기술을 적용한 칩을 생산하고 있어서 다른 기업들과 달리 모바일 시장에서 독점적 위치를 확보한 상태다. 따라서 굳이 리나로에 참여하지 않아도 아쉬울 것이 없는 상태이기도 하다. 퀄컴을 빼더라도 이 많은 회사들이 한마음으로 뭉쳤다는 것은 대단한 사건이다.

또 핵심적인 역할을 하는 제 3의 멤버가 있다. 바로 캐노니컬(Canonical)이다. ARM은 가장 강력한 오픈소스 소프트웨어 기업인 캐노니컬을 파트너로 선정했다. 이미 ARM은 2008년부터 캐노니컬과 협력해 ARM에 리눅스를 포팅하는 작업을 함께해 왔다. ARM 그리고 캐노니컬은 모두 영국에 본사가 있다. 따라서 리나로가 영국에 세워진 이유도 쉽게 납득된다.

설립 배경
ARM이 말하는 리나로 설립 배경은 이렇다. 리나로를 통해 여러 반도체 SoC 회사에 사용하는 공통된 소프트웨어 기반을 구축하기 위해서며, 아울러 공통으로 구축된 소프트웨어는 배포판 형태로 제공해 ARM SoC를 사용하는 경우 제품을 보다 빠르고 쉽게 개발할 수 있도록 하기 위한 것이다.

현재 리나로에서 제공하는 ARM 기반 SoC의 대상은 Cortex-A8과 듀얼코어 Cortex-A9 프로세서에 국한되어 있다. 이렇게 2개 프로세스가 현재 가장 많이 활용되고 있기 때문이다. 여기서 사용되는 공통된 소프트웨어는 리눅스를 말한다. 쉽게 풀어 말하면 ‘가장 많이 사용될 ARM 기반 SoC들에 대해서 리눅스 기반으로 최적화되고 안정된 소스를 유지 배포하는 것을 리나로에서 책임지고 하겠다’는 의미다. 따라서 ARM 계열의 SoC를 기반으로 리눅스 관련 제품을 개발하려는 업체는 리나로 멤버들이 제공하는 개발보드를 구입한 후 리나로에서 제공하는 소스를 받아 개발하고 제품을 생산할 때 원하는 ARM SoC 벤더를 선택할 수 있게 되었다. 이런 하드웨어와 소프트웨어의 선순환 구조는 소프트웨어에서 핵심적인 역할을 하는 캐노니컬의 참여가 없었다면 불가능했을지도 모르겠다.

리나로는 앞서 언급한 ARM 기반 SoC에 오픈소스 소프트웨어인 우분투와 안드로이드를 최적화시켜 제공하고 있다. 세부적으로 살펴보면 커널, 멀티미디어 및 그래픽 관련 부분, 빌드를 위한 효율적인 툴 체인(Tool Chain), 그리고 안정된 버전을 위해 테스팅 툴을 개발해 배포하고 있다. 주기를 보면 6개월 단위의 큰 계획이 수립되고 그 결과를 1개월 단위로 정리해 릴리즈하고 있다.

이미 언급했듯이 현재 ARM이 사용되는 대부분의 임베디드 운영체제들은 리눅스를 기반으로 하고 있다. 따라서 커널은 거의 동일한 것을 사용하는 특징이 있다. 따라서 공통으로 사용될 커널과 일부 미들웨어를 잘 관리하고 제공한다면 다른 회사들은 애플리케이션에 집중할 수 있으며 개발 기간을 상당히 단축시킬 수 있다. 이외에도 오픈소스 소프트웨어 개발을 위해 자원을 공유할 수 있으며 성능을 향상시키는 데 도움이 될 것이다. 또 코드와 사용하는 툴도 상당한 수준 향상이 있을 것으로 예상된다.

리나로 내부 들여다보기
리나로가 제공하는 기술 이외에 관심을 끄는 것이 있다. 그것은 리나로가 어떻게 조직을 관리하고 소프트웨어를 개발해 나가느냐 하는 것이다. 서로 다른 회사들이 모여서 다른 개발 플랫폼에서 작업해 나가고, 또 이 결과물을 하나로 합치는 작업은 결코 만만하지 않기 때문이다. 소프트웨어 개발 관리자나 큰 규모의 오픈소스 프로젝트를 이끌고 있다면 이런 구조적인 모습에 더 관심이 갈 것이다. 현재 100명 이상의 개발자들이 다양한 하드웨어 플랫폼에서 어떻게 작업하는지 간단히 알아보기로 하자. 

초기 작업 - 하드웨어 살리기(Hardware Enablement)
<그림 2>는 리나노에서 하드웨어를 살리는 초기 작업을 설명한다.

<그림 2> 리나로에서의 초기 작업

상단에 있는 것이 가장 기초 작업이 되며 하단일수록 완성도를 높이는 작업들이다. 가장 기초적인 작업들은 리눅스 커널을 빌드하고 부트로더를 작성해 올리는 것이다. 이후 USB나 네트워킹이 정상적으로 동작하도록 한다. 이런 기초 작업들이 끝나면 멀티미디어 기능의 안정화를 비롯해 UI 작업, 기타 디바이스 드라이버를 정상적으로 구동시키는 노력 등을 기울인다. 안드로이드 폰을 제조하는 회사에서도 비슷한 순서로 작업을 진행하리라 짐작된다. 하지만 이렇게 일의 순서를 내부적으로 규정하고 진행하는 것은 규모에 상관없이 팀 간 작업을 공유할 때 도움이 된다.

업스트림(Upstream)을 통한 소스 관리
회사 내에서 동일한 앱을 개발하거나 프레임워크를 개발하면서 버전을 관리하다. 단일 프로젝트에서도 버전 관리는 쉬운 일이 아니다. 더군다나 다양한 개발보드와 칩 벤더들이 모여서 개발하는 경우 버전 관리는 어떻게 이뤄지는지 궁금할 것이다. 특히 안드로이드나 리눅스 기반으로 다양한 하드웨어를 개발하는 회사에 속해 있다면 꼭 리나로에서 진행하는 개발방법을 벤치마킹할 필요가 있다. 

<그림 3> 리나로의 업스트림

리나로에서는 ‘업스트림’이라는 방법으로 소스를 유지 관리한다. <그림 3>과 같이 기준이 되는 업스트림 커널이 최상단에 존재한다. 칩 개발 회사 A에서 수정사항들을 업스트림 커널에 반영한다. 반영된 버전이 커널 2.6.1로 릴리즈된다. 다음으로 나오는 개념이 머지 윈도우(merge window)라는 것이다. 머지 윈도우는 대규모 개발 프로젝트에서 사용되는 개발 프로세스의 일종으로 새로운 소프트웨어가 릴리즈되는 시점부터 일정 기간을 뜻한다. 이 기간에는 패치가 많이 되므로 테스트하는 데 시간이 꽤 걸릴 수도 있다. 이는 리눅스 커널을 개발하는 데 사용되는 개념이다. 머지 윈도우에서 버전을 가져와서 칩 개발 회사 A는 테스팅과 디버깅을 진행하고, 수정사항들을 업스트림 커널에 추가하게 된다. 칩 개발 회사 B는 테스팅과 수정된 버전인 RC 버전을 보드의 BSP에 적용한다. 칩 개발 회사 B도 역시 버그를 수정하고 이를 업스트림 커널에 반영한다. 그리고 수정한 버전을 고객 개발사에다가 넘기게 된다. 고객 개발사는 평가판으로 이 버전을 가지고 개발을 진행하게 된다. 커널 버전이 새롭게 2.6.2로 릴리즈되고 나면 다시 머지 윈도우가 기간을 갖는다. 이처럼 리나로에서는 업스트림을 통해 소프트웨어 버전을 유지 관리 및 배포하게 된다.

리나로 개발팀
리나로에서 개발팀은 <그림 4>와 같다. 워킹 그룹은 주로 업스트림 커널에 집중하는데 커널의 안정화와 커널 빌드에 필요한 툴 체인을 사용하기 쉽도록 하는 작업을 담당한다. 해당 플랫폼에서 기본적인 작업들과 도구를 이용한 자동화 작업을 수행한다. 특별한 조직으로 랜딩팀(Landing Team)이라는 것이 있다. 각 칩 제조사마다 하나의 랜딩팀이 존재한다. 이 랜딩팀을 자세히 살펴보면 프로젝트를 관리하는 매니저가 1명 있고 리나로와 업무를 협의하고 소통하는 역할을 담당하는 기술 연락 엔지니어가 1명 있다. 이렇게 2명은 반드시 랜딩팀에 존재해야 한다고 한다. 그 외에 엔지니어들은 칩 제조사의 여건에 맞게 사람 수를 조절할 수 있게 했다.
 
랜딩팀들은 현재 보드에 알맞은 패치(patch)인지를 분석하고 나서 리나로에서 관리하는 각 벤더의 지정된 트리(tree)에 패치를 적용 및 통합시키는 일을 맡는다. 통합에 문제가 없으면 커널을 빌드하고 해당 벤더의 패키지를 구성한다. 생성된 이미지는 사용 가능한 상태이며 가장 기본적인 기능만 들어가도록 한다. 기타 이런 일련의 작업들을 하면서 발생할 수 있는 문제점이 있으면 해결해서 이미지가 잘 생성되도록 최선을 다한다. 벤더가 사용하는 트리에 적용된 패치를 공식 리나로 트리에 추가시키기 위해 내용을 전달한다. 다른 벤더들이 제출한 업스트림 패치도 적용해 본다.

<그림 4> 리나로 개발팀

요구사항에서 릴리즈까지
리나로는 6개월 단위의 큰 요구사항을 정의하고 그것의 결과를 매달 릴리즈한다고 설명했다. 그럼 다음 6개월 동안 필요한 기능에 대한 요구사항을 수집하고 그 중에 필요한 것을 골라서 구현해 나가는 과정을 알아보자. 

<그림 5> 랜딩팀 자세히 보기

일단 요구사항을 모아야 한다. 요구사항은 기술조정위원회(Technical Steering Commitee)에서 결정한다. 기술조정위원회의 구성 멤버는 CTO, 사장, 그리고 각 핵심 멤버 대표로 구성된다. 작성하는 요구사항은 ‘다음 릴리즈에서 어떤 것을 보고 싶은가’이다. 이 요구사항들은 문서로 목록을 만든다. L@UDS (Linaro at Ubuntu Developer Summit) 단계에서는 요구사항들에 대한 중요도 등을 정하며 구현과 관련해서도 상세한 논의가 이뤄지는 단계다. 이 과정을 통해 요구사항이 명확해진다. 이후로 알파1에서 최종 릴리즈까지 8단계를 거쳐서 요구사항이 구현된 버전이 배포되는 것이다.

<그림 6> 요구사항을 릴리즈하는 과정

보드별 다양한 팩 제공
<그림 7>은 https://wiki.linaro.org/Boards에서 제공하는 보드별로 사용 가능한 하드웨어 패키지다. 맨 위에 있는 비글보드를 예로 들어 설명하면 현재 유효한 하드웨어 팩이 2개 존재하며 하나는 omap3이고 다른 하나는 omap3-x11-base이다. 즉 빌드한 소스가 다르거나 빌드 조건에 따라 다른 속성의 이미지가 되며 이를 해당 패키지별로 ‘Description’에 간략히 설명해 뒀다. 패키지 이름이 ‘lt-’(lt-mx5 or lt-panda 등)로 시작되는 것이 보인다. 이것은 해당 플랫폼의 랜딩팀이 작업한 버전을 뜻한다.

<그림 7> 보드별로 사용 가능한 하드웨어 패키지

하드웨어 팩 다운로드 이미지릴리즈 버전은 http://releases.linaro.org/images/에서 제공하고 있다. 마일드스톤 빌드 버전과 일 단위 빌드 버전에 대해서는 각각 http://releases.linaro.org/와 http://snapshots. linaro.org/에서 제공된다. http://snapshots.linaro.org/11.05-daily/linaro-android/beaglexm/로 접속하면 <화면 1>과 같이 다운로드 가능한 버전들을 확인할 수 있다.

<화면 1> 리나로 Daily 버전 다운로드

리나로 개발보드 소개
리나로에서 제공하는 소스나 툴을 사용하기 위해서는 개발보드가 필요하다. 개발보드는 2011년 10월 현재 총 5개가 출시되었으며 리나로 멤버로 참여한 4개 기업인 삼성, ST-Ericsson, TI, 프리스케일의 SoC로 제조되었다. 개발보드는 비교적 저렴한 비용으로 구입할 수 있는데, 여기서 각 개발보드의 특징을 설명한다.

삼성 Origen 보드

<화면 2> 삼성 Origen 보드

<그림 8> 삼성 Origen 보드 사양표

리나로에서 삼성이 지원하는 개발보드는 ‘Origen’이다. 삼성의 경우 자사 AP(Application Processor)에 대한 개발을 지원하기 위해 SMDK(SAMSUNG Mobile Development Kit) 개발보드를 제공한다. 삼성은 자사에서 직접 개발보드를 개발하지 않고 하드웨어 솔루션 파트너를 통해 개발보드를 공급하고 기술을 지원하는 형태였다. 리나로에서 제공하는 Origen 보드는 소개할 다른 보드에 비해 가격대비 성능이 높고 가장 최근에 개발되었다. 지난해 리나로 출범 당시부터 삼성이 고성능의 개발보드를 내놓을 것이란 예측이 있었고 리나노 참여 업체 가운데 가장 마지막으로 고성능 칩에 중점을 둔 Exynos4210을 탑재한 개발보드를 내놓았다. 이 보드는 하드웨어 확장성을 위해 AP 보드 교체가 가능한 형태로 제작된 것이 특징으로, 향후 Exynos 4210 이외에 자사에서 제공하는 다른 AP 보드만 구입한다면 보드 자체를 재사용할 수 있다. 

리나로에서 소개되는 보드들은 다른 곳에서 판매되는 개발보드에 비해 가격이 저렴하다. Origen 보드의 경우 개발 보드만 199달러로 저렴한 편이며, 판매 사이트(www.origenboard.org)에서 최적화된 주변기기들을 함께 판매하고 있어서 편리하다. 

Origen 보드는 하드웨어만 놓고 봤을 때 다양한 특징으로 분명 매력적인 제품이다. 하지만 출시된 지 얼마 지나지 않아서 리나로 이외의 사이트에서는 개발 관련 소스를 얻기가 쉽지 않다. 따라서 현재 시점에서는 리나로에서 제공하는 우분투와 안드로이드 기반의 개발을 하는 경우에 적합하며 새로운 것을 포팅하거나 포팅을 시도하는 개발자에게 추천하는 보드다. 7월 이후 현재까지 보드 판매 사이트에서 Origen 보드는 품절 상태인 까닭에 필자도 아직까지 구입하지는 못했다. 아직 자체 커뮤니티가 형성되지 않아서 정보를 나누고 함께 프로젝트를 진행하기가 여의치 않은데, 아마 Origen 보드도 향후에는 다른 개발보드처럼 자체 커뮤니티 사이트 및 모임을 지원하게 될 가능성이 높다.   

아직 Origen 보드를 이용한 오픈 프로젝트가 적지만 칩의 인지도나 개발보드의 판매가 늘어나면 Origen 보드를 기반으로 한 프로젝트들이 크게 늘어날 것으로 기대한다.

ST-Ericsson Snowball 보드

 

<화면 3> ST-Ericsson의 Snowball 보드


<그림 9> ST-Ericsson의 Snowball 보드 사양표

ST-Ericsson은 아마 국내에서는 많이 알려지지 않은 회사다. ST-Ericsson은 이름에서 유추할 수 있듯이 Ericsson과 STMicroelectronics가 출자해 만든 회사로 무선 플랫폼과 반도체를 제공하는 회사다. 2009년 초에 합작으로 만들어졌으며 스위스에 본사가 있다. 칩 전문업체로서 소프트웨어 개발에 대해서는 Movial과 파트너십을 맺고 Snowball 지원을 계속하고 있다. Movial은 핀란드에 있는 업체이며 세계 최초로 모바일 리눅스 장치를 만드는 프로젝트를 주도한 바 있다. 

먼저 하드웨어적인 특징을 보면, Snowball 보드에는 빠른 CPU 이외에 센서들이 다수 달려 있다. ‘만능보드’라는 표현이 어울릴 만큼 이 보드는 GPS, 3D 자이로스코프, 가속센서, 자력계센서(magnetometer), 기압계(barometer)를 지원하고 있다. 다른 보드에서는 특정 센서가 필요한 경우 자신의 보드와 궁합이 잘 맞는지 또 센서 벤더가 드라이버 소스를 제공하는지 등을 고려해야 하는데 이 보드에서는 센서들을 내장하고 있어서 기존 프로젝트의 소스를 참고해 다양한 운영체제나 플랫폼에서 동작시키기에 유리하다.

Snowball도 리나로에서 얻을 수 있는 우분투와 안드로이드 소스 이외의 프로젝트를 찾아보기 어렵다. ST-Ericsson이 주도로 이글루(www.igloocommunity.org/)라는 커뮤니티 사이트를 운영하고 있다. 제품 스펙에 대한 정보를 얻기에는 적당하지만 아직까지 활성화된 단계는 아니다.

커뮤니티에서 진행 중인 프로젝트로는 OpenBricks 프로젝트가 유일한 것으로 보인다. 이는 안드로이드와 유사하게 로우 레벨(low level) 인터페이스를 추상화시켜서 해당 프레임워크를 사용하면 애플리케이션 개발에 전념할 수 있게 돕는다. 아쉬운 점은 관련 주변장치를 판매하는 곳을 찾기가 어렵다는 것이다. 이 보드의 판매가격은 209달러이며 www.igloocommunity.org/ support/Buy_now에서 한국공식 판매처를 확인할 수 있다.

프리스케일 i.MX53 보드
프리스케일이 제공하는 보드는 i.MX53 Quick Start 보드이다. 프리스케일(Freescale)은 원래 모토로라의 반도체 부서였다가 2004년에 프리스케일이라는 반도체 회사로 창립됐다. 이 회사의 칩은 자동차, 네트워크, 의료 등 특화된 영역에 주로 사용되며 2011년 초 처음 알려져 현재 149달러에 구매할 수 있다. 이 보드는 SATA 연결을 지원하는 것이 특징이며 센서로는 3축 가속도계가 내장되어 있다. 주변장치로는 10.1인치 XGA급 LCD를 499달러에 판매하고 있다.

<화면 4> 프리스케일 i.MX53 보드

<그림 10> 프리스케일 i.MX53 보드 사양표

올해 프리스케일 홈페이지의 일부 게시판이 분리되어 오픈 커뮤니티 사이트(http://imxcommunity.org)가 만들어졌다. 프리스케일 엔지니어들이 주축이 되어 사이트를 관리하고 있으며 회원 등록을 통해 주제별 그룹에 가입해 활동할 수 있다. 현재 총 48개의 그룹이 활동하고 있지만 그 중 i.MX53 보드와 직접 관련된 그룹은 5개 정도로 활동이 활발하지는 않다. 이 제품은 http://kr.element14.com/과 Digi-Key(http://kr.digikey. com)에서 구입할 수 있다.

TI 비글보드
2008년 6월 세상에 나온 ‘최고참’ 보드라 할 수 있다. 비글보드(Beagleboard)는 TI 내에 있는 한 팀에서 대학 교육용으로 사용할 보드를 만들면서 시작되었다. 대학에서 오픈소스 소프트웨어와 오픈소스 하드웨어를 가르치기에 적당한 보드가 없었는데, 무엇보다 교육용으로 사용하기 위해서는 크기가 작고 전원도 적게 먹고 가격도 저렴해야 했다. 이런 요구사항을 바탕으로 비글보드는 디자인됐으며 보드 설계에 관한 정보는 오픈되었다. 교육용인 관계로 TI가 직접 비글보드를 제조하지 않고 Digi-Key가 제조와 판매를 맡았다. 초기 비글보드는 정사각형 형태로 가로세로 길이를 7.5cm 정도로 정해서 그 크기 내에 필요한 기능을 구현했다. 현재 판매되고 있는 비글보드 xM의 경우에는 가로세로가 약 8.3cm인 정사각형 형태다. 전력소모도 2w로 최소화해별다른 파워 어댑터가 없이도 동작이 가능하도록 설계되었다.

<화면 5> TI 비글보드

<그림 11> TI 비글보드 사양표

다른 개발보드들은 Cortex-A9 듀얼코어로 구성되어 있지만 비글보드는 싱글코어를 사용하고 있다. 비글보드의 듀얼코어 보전을 원한다면 판다보드(PandaBoard)를 추천한다. 비글보드와 판다보드는 대부분 동일 소스를 가지며 빌드 옵션에서 타깃을 설정 가능하게 하는 방식으로 프로젝트를 진행하는 경우가 많다. 

비글보드는 출시되고 3년이 지났다. 현재 beagleboard.org 공식 사이트에 등록된 프로젝트만 229개이며 유튜브에서도 ‘beagleboard’로 검색하면 공식사이트에 등록되지 않고 개인이 진행하는 다양한 프로젝트의 결과를 감상할 수 있다. 필자의 경우 총 4개의 운영체제를 멀티 부팅시키는 프로젝트(www.youtube.com/watch?v=yseT4USH8SY)가 가장 인상적이었다. 이 영상 하나로 비글보드가 현재 오픈소스 하드웨어로서 어떤 입지를 가지고 있는지를 짐작할 수 있다. 이미 완성된 다양한 프로젝트들을 직접 실행시켜 보고 싶다면 비글보드를 추천한다. 

현재 비글보드는 149달러에, 판다보드는 174달러에 각각 판매되고 있다. 비글보드는 바로 구매할 수 있지만, 판다보드는 제품 수급에 문제가 있어서 제품 구입 신청 후 약 2달 정도의 대기시간이 필요하다. 제품은 Digi-Key와 Mouser Electornics 사이트에서 구입할 수 있다.

오픈소스 하드웨어의 적용 분야
그럼 지금부터 오픈소스 하드웨어를 어떻게 적용하고 활용할 수 있는지를 살펴보자.

프로토타이핑
최근에 날개 없는 선풍기로 국내에도 잘 알려진 다이슨(Dyson)이라는 회사가 있다. 그 회사는 주력 제품인 진공청소기를 만드는 데 4년 반 동안 무려 5,127개의 프로토타입을 제작했다고 한다. 수많은 프로토타입을 만들면서 얻은 경험과 노하우로 세계 최고 명품의 진공청소기를 만들 수 있었던 것이다. 오픈소스 하드웨어의 경우 저렴한 보드 가격과 공개된 소프트웨어 덕분에 다양한 실험이 가능하다. 오픈소스 하드웨어로 대략적인 보드의 크기나 필요한 센서들을 미리 고려할 수 있고 회로도를 참고하면 적은 노력으로 다양한 장치를 만들어 볼 수 있다. 뿐만 아니라 다양한 운영체제로 포팅되어 있고 여러 프로젝트에 관련된 소스 코드도 제공되므로 원하는 애플리케이션도 효과적으로 개발할 수 있다.

칩 벤더 선택하기
현재 회사에서 ATM 기기 개발을 구상 중이라고 가정해 보자. 이 ATM 기기에는 어떤 칩을 사용해야 할까? 반응속도가 0.5초 이내여야 하고 안면 인식이 가능한 센서와 소프트웨어도 개발해야 하는 상황이다. 이와 같이 회사에서 특정 제품에 들어갈 칩 벤더를 선정할 때도 유용하다. 공개된 개발보드 환경에서 다양한 칩의 기능이나 성능을 미리 확인해 볼 수 있다. 여러 개발보드에 리나로에서 받은 이미지를 사용한다면 개발환경이나 테스트 환경을 짧은 시간 내에 효과적으로 구성할 수 있다.

교육
리눅스 커널을 공부하고 싶다던가 안드로이드의 프레임워크를 공부하고 싶으면 어떻게 해야 할까? 물론 안드로이드 휴대폰을 구입한다면 애플리케이션을 개발해서 직접 실행시켜 볼 수는 있겠지만 커널이나 프레임워크는 적용해 보기가 어렵다. 비글보드가 대학 교육용으로 나온 것처럼 오픈소스 하드웨어는 대학에서 하드웨어와 소프트웨어를 함께 공부하면서 직접 동작시켜 보기에 좋다. 또한 자료들도 잘 정리되어 있고 무엇보다도 비슷한 프로젝트를 진행하는 사람들이 있다면 서로 경험을 공유할 수 있는 것이 큰 장점이다.

다양한 운영체제우분투, 안드로이드, 크롬OS, 윈도우 임베디드 컴팩트 7, ROS 등 여러 운영체제들이 있으므로, 이런 운영체제들을 사용해 보는 것도 좋은 경험이 된다. 해당 하드웨어 커뮤니티를 방문한다면 빌드가 완료된 이미지 파일로 받아서 설치가 가능하다. 뿐만 아니라 원하는 옵션이 있다면 직접 소스를 받아서 빌드해 설치할 수도 있다. 앞에서 언급했듯이 리나로에서는 우분투와 안드로이드를 제공하지만 보드에 따라서 더 다양한 운영체제들을 포팅하는 프로젝트들이 진행되고 있다. 오픈소스 하드웨어를 선택할 때 운영체제는 중요한 판단 요소이므로 프로젝트 완성도나 원하는 만큼의 자료를 얻을 수 있는지를 미리 따져보는 것이 좋다.

성능 비교
오픈소스 하드웨어와 동일한 칩을 사용해 안드로이드 기반으로 비디오를 재생하는 제품을 만들었다고 하자. 오픈소스 하드웨어와 동일한 안드로이드 버전이지만 성능 차이가 날 수 있다. 오픈소스 하드웨어에서는 1초면 처리 완료되는 것이 내가 만든 보드에 올려서 실행시키면 3초에 처리된다면 어떻게 해야 할까? 이처럼 동일한 메인 칩을 이용하는 경우에 회사에서 직접 만든 보드와 비교할 대상이 있으므로 적어도 성능이 떨어진다는 것을 인지하고 여러 가지 시도를 할 수 있게 된다. 아울러 오픈소스 하드웨어에 올라간 소프트웨어 소스 코드를 분석함으로써 문제를 쉽게 해결할지도 모른다.

재미있는 프로젝트들
지금부터는 비글보드로 진행하고 있거나 이미 진행된 프로젝트들을 소개한다. 오픈소스 하드웨어로 진행하고 있는 프로젝트들을 통해 트렌드를 이해하고 직접 프로젝트를 진행한다면 어떻게 해야 하는지도 감을 잡을 수 있으리라 생각한다. 여기서 비글보드 관련 프로젝트를 설명하는 이유는 가장 역사가 길고 자발적인 참여 형태로 프로젝트들이 진행되고 있기 때문이다.

구글의 선택
구글은 2005년부터 매년 ‘Google Summer of Code(GSoC)’라는 행사를 열고 있다. 전 세계 학생들이 대상이며 오픈소스 소프트웨어 프로젝트를 진행하면서 자신과 세상에 도움이 되는 것을 개발한다. 참여 학생들은 전문가의 멘토링을 받으면서 프로젝트를 진행할 수 있다. 구글에서 공식적으로 비글보드에 대한 프로젝트를 인정하고 beagleboard.org를 멘토링 조직으로 인정했다. 아두이노와 같이 구글이 선택한 오픈소스 하드웨어라 할 수 있다.

우주로 쏘아 올린 비글보드
이 프로젝트는 지난 9월 11일 비글보드와 기타 통신장치들을 연결한 후 기상 풍선을 이용해서 비글보드를 하늘로 띄웠다. 하늘로 올라간 비글보드는 실시간으로 지구를 찍어서 보냈다. 이는 네덜란드의 22살 기계공학과 학생의 1인 프로젝트로 시작되었다. 하드웨어를 만드는 과정뿐만 아니라 관련 소스 코드까지 모두 공개되어 있고, 과정 자체가 사진과 동영상으로도 잘 정리되어 있으므로 관심이 있다면 따라해 보길 권한다(http://www. timzaman.nl).

<화면 6> Space Camera Live 프로젝트

<화면 7> <화면 6> 의 프로젝트에 사용한 하드웨어

비글보드 교육 프로젝트
다른 개발 프로젝트에서 좀처럼 보기 어려운 프로젝트로 비글보드 리눅스 교육 프로젝트를 꼽을 수 있다. 비글보드에 리눅스를 올리는 데 필요한 지식들을 효과적으로 전달하는 방법에 대한 프로젝트다. 보통 프로젝트들은 무엇인가를 만드는 것이 대부분이다. 하지만 이 프로젝트의 결과물은 강의 자료다. 필자의 경우 이 프로젝트를 보는 순간 ‘아하’라는 짧은 감탄사가 절로 나왔다. 이처럼 오픈소스 하드웨어에 기여하는 방법은 다양하다. 소프트웨어로서의 결과물이 아니더라도 해당 하드웨어를 사용하는 사람에게 도움이 되는 것이라면 무엇이든 가능하다. 자세한 내용은 http://beagleboard.org/project/linux_education/를 참조하자.

앞으로의 전망 
지금까지 리나로와 관련된 공개 프로젝트들을 살펴봤다. 리나로에 참여하는 칩 벤더들은 자신의 칩을 사용한 개발보드를 공개하고 거기에 최적화된 리눅스 기반 소프트웨어를 적극적으로 제공하기 시작했다. 공개 의도가 어찌됐든 간에 칩 벤더들이 공개하는 회로도나 상세 정보들, 그리고 거기에 최적화된 소프트웨어는 하드웨어 기술뿐 아니라 오픈소스 소프트웨어 발전에도 크게 기여하리라 생각한다. 중소 규모의 기업들도 적은 비용으로 원하는 장치를 개발하고 생산하는 것이 훨씬 쉬워졌고 심지어 개인 개발자들도 충분히 자신이 꿈꿔온 장치를 직접 설계하고 만들 수 있는 세상이 오고 있다. 

게다가 오픈소스 소프트웨어 프로젝트에서 가장 골치 아팠던 라이선스 문제도 미리 해결하기 위한 움직임이 오픈소스 하드웨어에서도 진행되고 있으니 고무적이라 하겠다. 앞으로 개발자들은 너무 많은 오픈소스 하드웨어가 쏟아져서 오히려 어떤 것을 선택해야 할지와 같은 행복한 고민에 빠져들지도 모르겠다.

Posted by linuxism
,

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

오픈소스 소프트웨어(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
,
레드햇, 혁신적인 차세대 운영시스템
레드햇 엔터프라이즈 리눅스 6(RHEL6) 발표
엔터프라이즈 IT 가상화 및 클라우드를 위한 강력한 파트너십 기반의 플랫폼 제공
 
2010년 11월 16일–오픈소스 솔루션의 세계적인 선도 기업인 레드햇(www.redhat.com)이 주요 운영 플랫폼의 최신 버전인 ‘레드햇 엔터프라이즈 리눅스 6(Red Hat Enterprise Linux 6, 이하 RHEL6)’를 출시했다고 밝혔다.
 
RHEL6는 향후 새로운 10년을 위한 혁신적인 서버 OS로서, 상용 오픈소스 운영 환경을 위한 새로운 표준이 될 전망이다. 오늘날의 유연하고 다양한 엔터프라이즈 아키텍처를 지원하기 위해 디자인된 RHEL6는 실제적인 가상화 및 클라우드 구축을 필요로 하는 고객들에게 통합 플랫폼을 제공하게 된다.
     
지난 3년 이상 레드햇과 파트너들, 오픈소스 커뮤니티에 의해 개발된 소프트웨어 기술들이 결합된 RHEL6는 강력한 새로운 기능들을 제공한다. 또한 RHEL6는 애플리케이션을 개발하고 구축해야 하는 고객과 솔루션 프로바이더들에게 세계적 수준의 강력한 플랫폼을 제공한다. RHEL6의 강화된 기능으로는 리소스 관리를 위한 커널 향상, RAS, 성능, 확장성, 가상화, 절전, 더욱 확장된 표준기반 개발 환경, 다양한 최신 서버 및 데스크톱 애플리케이션 등이다. 아울러 고객의 민첩성 향상, 비용 절감, IT 복잡성 완화를 실현하도록 설계되었다.  
 
RHEL6는 유닉스에서 리눅스로 마이그레이션하고자하는 유저들을 위한 최고의 선택이며, Microsoft Windows Server를 대체할 수 있는 강력한 대안을 제공한다. 오픈소스 컴퓨팅의 표준을 만든 레드햇 엔터프라이즈 리눅스는 사설 및 공공 클라우드 구축을 위한 혁신적인 기술들을 제공한다.
 
레드햇 제품 및 기술 총괄 부사장 폴 커미어(Paul Cormier)는 “레드햇 엔터프라이즈 리눅스는 지난 수 년간 많은 기업들이 선택하는 미션 크리티컬한 플랫폼으로 자리잡아 왔으며, 브리티시 항공, 씨티, NTT와 같은 고객들이 레드햇 엔터프라이즈 리눅스 플랫폼 개발을 위한 파트너로 참여했다” 고 밝히면서 “유연성, 기동성, 상호운영성이 그 어느 때보다 중시되는 엔터프라이즈 컴퓨팅의 시대에 가장 적합한 플랫폼이 이번에 출시한 RHEL6가 될 것”이라고 자신했다. 덧붙여 “RHEL6는 시장의 어떤 다른 제품들보다 더 개방적이고 안정적이며 종합적인 플랫폼이며, 차세대 가상화와 클라우드로 가려는 고객들에게 미래의 문을 열어 줄 것”이라고 설명했다. 
 
RHEL6에는 수백 개의 최신 기술 사양이 포함되어 있으며, 고객들은 이를 통해 지금까지 여타 제품에서 얻지 못했던 기술적 도약을 경험하게 될 것이다. RHEL6의 주요 장점은 다음과 같다.  
Ÿ   확장성이 뛰어난 최신 하드웨어 시스템으로 효율성 향상
Ÿ   호스트 및 게스트 환경을 위해 업계에서 가장 뛰어난 수준의 가상화 성능, 유연성, 보안
Ÿ   IT 시스템의 환경 영향과 탄소 배출을 최소화하는 기능 지원
Ÿ   장기적이고 안정적인 구축에 이상적인 동시에 물리적, 가상화, 클라우드 구축을 위한 최신 기술들을 효과적으로 수용할 수 있는 플랫폼
 
레드햇 엔터프라이즈 리눅스를 업계 표준으로 자리잡게 한 리더십의 핵심은 인증된 하드웨어 플랫폼 및 소프트웨어 애플리케이션들로 이루어진 광범위한 생태계다. 레드햇의 목표는 고객들에게 타의 추종을 불허하는 탁월한 선택을 제공하는 것이며, 레드햇의 ‘Certify Once, Deploy Anywhere’ 모델은 소프트웨어 프로바이더와 고객들에게 뛰어난 구축 유연성을 제공한다. RHEL6는 또한 ‘Future Proof’로 설계되어 AMD, Cisco, Dell, Fujitsu, Hitachi, HP, IBM, Intel, NEC 등과 같은 파트너들의 기존 시스템 하드웨어 기능을 최적화하는 동시에 향후의 새로운 시스템 기능들을 유연하게 통합할 수 있도록 보장한다.
 
미국 씨티은행 관리이사인 모티 핀켈스타인(Motti Finkelstein)은 “우리는 물리적 환경에서부터 가상화, 클라우드 환경까지 확장되는 레드햇 엔터프라이즈 리눅스를 전략적으로 사용해 왔으며, RHEL6 베타 프로그램에도 적극 참여했다”며, “더욱 강력해진 보안, 성능, 전력 관리를 비롯한 RHEL6의 주요 기능을 통해 우리는 업계 최대 규모의 시스템들을 확장하는 동시에 지속적인 유연성과 높은 효율성을 보장할 수 있을 것”이라고 말했다.
 
HP 인프라스트럭처 서버 및 소프트웨어 사업부 부사장 스캇 패런드(Scott Farrand)는 “고객들은 모든 유형의 데이터센터 모델들을 수용할 수 있는 운영 플랫폼을 필요로 한다”며,  “프로라이언트 서버에 최적화된 RHEL6는 HP의 고객들이 통합 인프라스트럭처를 통해 자사의 비즈니스 요구에 맞춰  인프라 환경을 자동화하거나 확장 또는 가상화를 할 수 있도록 해준다”고 설명했다.
 
한편 레드햇은 RHEL6와 함께 ISV(Independent Software Vendor) 파트너들이 단 하나의 인증만으로 물리적, 가상화, 클라우드 등의 어떤 환경에든 애플리케이션을 구축할 수 있도록 하는 ISV(Independent Software Vendor) 파트너 생태계(ecosystem) 지원 정책도 발표해,  ISV 파트너들이 유연하고 기동성 있는 솔루션을 고객들에게 제공할 수 있도록 보장할 계획이다.

 
Posted by linuxism
,