Windows CE vs Embedded Linux (임베디드 환경에서 윈도우vs리눅스 개발비용)
게시판 검색해보니 여러번 질문이 나왔던 것이더군요.
요즘은 또 어떤지 궁금해서 다시 질문 올려봅니다.
mp3p 회사 다니는 친구 붙잡고 물어봤더니 "윈도우즈가 낫다"라고 단정짓던데,
이유는 이렇습니다.
1. 리눅스는 커널 가격이 없을 뿐인데 윈도우즈도 코어만 하면 가격 얼마 안된다.
2. 오히려 버젼 관리, 개발 지원, 프로그래머 수급등을 고려하면 윈도우즈가 더 유리하다.
3. 리눅스나 윈도우즈나 AC3, DivX등의 멀티미디어 코덱료는 내야하는데 이게 더 가격비중이 높다.
4. 더군다나 wmv, wma 코덱은 윈도우즈를 사용할 경우 무료다.
5. Internet Full Browsing을 고려해볼때도 IE는 윈도우즈에 따라오는데 Opera는 돈을 내야할꺼다.
질문은 정말 그런가 하는겁니다.
가정을 하자면..target 기기가 갖춰야할 기능이 다음의 두가지입니다.
1. Internet Full Browsing
2. DivX, avi, wmv 코덱의 멀티미디어 플레이
3. Wi-Fi 또는 Wibro, HSDPA등의 무선인터넷 환경
이것을 windows기반과 linux기반에서 개발을 하면 각각 개발비용과 라이센스비용이 어떻게 차이가 날까요.
기준을 Running License로 잡으면
1. 커널: Windows Core가 얼마... vs Embedded Linux 커널은 공짜
2. 개발툴: Windows Embedded Studio vs Tornado? 개발툴 가격차이가 있겠고요.
3. 추가툴: 윈도우즈는 필요 없을테고... 리눅스에서 사용되는 디버거, 컴파일러 등등의 가격이 또 있나요?
4. 코덱: 일반 코덱 가격은 같을테고,...Embedded Linux에서 돌아가는 wmv, wma 디코더 프로그램의 라이센스는 얼마하나요?
5. 브라우져: Embedded Linux에서 불여우 돌아가나요? 아니면 Opera 라이센스비는 얼마정도하죠?
6. 무선네트웍: 윈도우는 공짜로 제공해주나요? 리눅스는...?
7. 하드웨어 드라이버: 메모리,그래픽등 기타장치 드라이버는 어느쪽이 더 잘 제공되는지. 만약 드라이버까지 개발해야하면 평균개발기간은 보통 얼마 걸리나요?
8. 그외에 필요한건 전부 구입, 개발기간은 동일하다고 가정하면 각각의 개발자 연봉차이.
요렇게 차이가 발생할텐데요.
어느정도 차이가 날까요?
위의 얘기중에 틀린점 있으면 지적해주셔도 되고요, 주변얘기를 해주셔도 좋고, 부분적으로 언급해주셔도 됩니다.
많은 의견 부탁드립니다.
그럼 오늘도 좋은 하루 되세요~
가장 큰걸로 개발자
가장 큰걸로 개발자 수급이 쉽지 않을겁니다.
wince같은 경우 거짓말 조금 보태면
윈도 프로그래머 바로 투입해도 될 정도입니다.
관련 자료도 찾기 풍부하고요.
라이센스 비용은 리눅스가 유리하겠지만
개발자 수급
엇.. 그렇다면 리눅스 개발자는 임베디드 쪽으로 투입되려면 훈련이 더 필요한가요?
윈도기반에선 Interface만 해줄 경우, 프로그래머가 드라이버, I/O 같은거 신경안쓰도록 구현이 가능하다면.
다시 말하자면 리눅스보다 윈도우에서 하드웨어 아키텍터랑 소프트웨어 프로그래머랑 분업이 더 잘 되는 구조라면,
정말 윈도 임베디드 개발자는 수급이 쉽겠군요. 안그래도 절대적인 숫자도 많은데...
저는 우리나라에서의 리눅스 개발자는 비율적으로는 적어도 절대 수로 따지면 세계적으로 많은거라고 들었는데
그렇다고 그 모두를 임베디드 개발자일 순 없으니 정말 수급도 문제고 평균연봉도 더 높아지겠군요.
그런데 현재는 임베디드 리눅스 개발자는 수요가 많나요 공급이 많은가요?
임베디드 리눅스 개발자 당장 구하려면 스카웃 할 수 밖에 없는 상황인가요?
--------------------------
aka insoul
저도 그렇게 봅니다.
저도 WinCE용 프로그램을 잠시 만져봤지만 기존 개발환경과 거의
유사하더군요. 다만 몇가지 호환되지 않는 부분이 있지만(실제로는
그냥 제외 시키고 직접작성하면 됩니다만...) 그리 어렵지않게
프로그램이 가능했죠.
리눅스기반 임베디드도 별차이 없을거라고 생각합니다.
문제는 그것을 개발할 사람이 없다는 것이겠죠.
막상 프로그램을 작성해야되서 프로그래머를 찾으면 일단 사람이
별로 없다는 겁니다. 오죽하면 저같이 실력없는 사람에게 의뢰가
들어올 정도니까요.
WinCE나 리눅스 임베디드만을 전공한 사람이 없기도 하겠거니와
일단 개발자들이 조금은 생소해보이는 환경을 별로 좋아하지 않기
때문이 아닌가 하는 생각입니다.(실제로는 개발환경은 거의 유사한데도
말이죠.)
어쨌든 일단 접해보면 그리 어렵지 않음을 알 수 있지만 회사나
개발자 입장에서는 접근하기가 쉽지만은 않은가보네요.
------------------------------
좋은 하루 되세요.
------------------------------
좋은 하루 되세요.
그럼 윈도우즈
그럼 윈도우즈 개발자 -> 윈도우즈 임베디드 개발자가 되기 쉬운만큼
리눅스 개발자 -> 임베디드 리눅스 개발자도 쉬운건가요?
그냥 임베디드에 국한된 얘기가 아닌 전체적으로 리눅스 개발자가 적다는 말씀으로 받아들여도 될런지...
--------------------------
aka insoul
리눅스에 익숙한
리눅스에 익숙한 개발자라면 물론 매우 쉽습니다.
익숙했다는 거는 리눅스의 내부구조(커널이나 라이브러리, 프로그램,
쉘 등등이 어떻게 엮어서 돌아가고 등등)를 이해하는 사람들이죠.
하지만, 상당수의 리눅스 개발자는 "무늬만" 리눅스 개발자입니다.
원래 윈도우용 어플 개발했다가 회사 사정 등등에 의해 어쩔 수
없이 리눅스를 하는 사람들이고,
대부분 매뉴얼이나 책만 보고 "이렇게 하면 이렇게 된다" 식으로
코드 끄적거리고 명령어 내리는 식으로 작업하죠. 내부에는 관심없고
(물론 이곳에 오는 사람이라면 여기에 해당되는 사람 별로 없을 겁니다)
궁금하시다면 vi, emacs는 물론 kate, gedit, joe, nano 등등으로 c/c++
코딩하는 사람을 현업에서 찾아보셨는지 모르겠습니다.
c/c++한다면 vc++을 에디터(?)로 쓰는사람이 최소 80%정도 봅니다.
Written By the Black Knight of Destruction
achiroad님께 답글 단 내용
achiroad님께 답글 단 내용과 연관이 있는 내용입니다. ^^
제가 궁금해하는 것은 윈도우즈와 리눅스의 차이인데요.,
말씀하신 내용을 살펴보면
리눅스 개발자는 리눅스의 내부구조를 잘 알아야 임베디드 환경에서 쉽게 적응한다는 것이고
윈도우즈 개발자는 조금더 쉽게 임베디드 환경에 적응을 할 수 있다는 것으로
(이것에 대해서는 언급을 하지 않으셨지만..
윈도는 내부구조는 몰라도 될정도로 SDK의 완성도나 문서화가 잘 되어 있을꺼라 가정했습니다.)
이해가 되는데요. 제가 이해한게 말씀하신 의도와 부합하는지 모르겠네요 ^^;;
사실 개발자들의 숙련도가 중요한 팩터이긴 하지만 이에 대해서 특별히 기준이 있는것이 아니기 때문에,
앗싸리 윈도우즈나 리눅스쪽 모두 정규분포로 봐야하는게 옳을지도 모르겠네요.
--------------------------
aka insoul
지당하신 말씀
지당하신 말씀
둘 다 해봤습니다.
wince는 embedded visual c++로 개발하는데
이거 사용자인터페이스가 vc++ 6.0과 똑같습니다.
MSDN에 자료 다 있습니다.
기기가 개발사가 어디든 간에 똑같이 사용됩니다.
임베디드 리눅스는 제공 회사별로 개발방식이 가지각색입니다.
뭐 리눅스 안을 제대로 알고 있는 사람이 한다면 그 차이 금방 알지만
하지만 이런 사람이 별로 없기 때문에 프로그래머를 구하기
쉽지 않을겁니다.
그리고 보통 wince쪽이 요구하는 하드웨어 사양이 리눅스보다 더 높습니다.
** 개발툴은 둘다 공짜입니다. eVC는 m$ 홈페이지에서 다운받고,
임베디드리눅스는 gcc 크로스컴파일러 씁니다.
Written By the Black Knight of Destruction
Re: 개발툴 가격..
에...벌써 현재 발생한 사태(??) 기는 하지만,
MS 에서 슬슬 eVC++ 을 사장시키려고 하는 음모를 수행하고 있는 듯 보입니다.
왜 그런고 하면...
WM5.0 의 SDK 가 eVC++ 과 붙지 않습니다 -_-;;;;
(WinCE 5.0 SDK 는 아직 eVC++ 과 붙습니다만...)
오직(!) Visual Studio 2005 에만 붙습니다...
아직 WinCE 6.0 SDK 가 어디랑 붙는지 모르겠지만, (정보는 이미 나왔을지도...)
Visual Studio 2005 에 붙는다는 소리가 있는걸로 봐선, eVC++ 에 안 붙을수도 있겠네요..
이외의 개발툴
에디터는 많고 gcc도 무료라고 알고는 있는데요.
디버거라던가 Visual Assist 같은 개발에 도움되는 툴들은
리눅스에서 많이 사용되는 것이 없나요?
그리고 ms에서 embedded Visual C++을 뿌리고 있었군요.
SDK는 공짜일꺼 같고, Visual Studio는 유료일텐데 맞나요?
알아보니 Windows Mobile은 2000년에 ms에서 발표한 Pocket-PC 기반이더군요
물론 Pocket-PC가 Windows CE 2.x 기반이긴 한데
Pocket-PC 발표후부터 CE와 따로 버젼업되다가
2003년에 Windows Mobile 2003으로 이름이 바껴서 발표됐네요.
그리고 작년에 Windows Mobile 5.0 나온후에
다시 WM과 CE를 결합해서 CE6가 나온걸로 보이는데요.
어쨌거나 이렇게 보면 CE6 SDK가 eVC++에도 붙어줘야 할텐데요. 흠..
eVC에 CE6 SDK를 사용할수 없다면, 거진 개발툴도 유료화한걸로 봐야겠네요.
--------------------------
aka insoul
Windows CE 계열은 계속
Windows CE 계열은 계속 버전 번호가 일정했습니다.
2.x, 3.x, 4.x, 5.x 6.x
3.x의 변종이 PocketPC로 나왔던 것입니다. 대기업을 위한 특화버전이었죠.
물론 4.x 이상을 기반으로한 PocketPC도 있습니다.
Re:
Pocket PC 및 Windows Mobile 과 WinCE 는 다른 OS 입니다.
물론, Pocket PC 및 Windows Mobile 이 WinCE 를 기반으로 한 것은 맞습니다만,
서로 같은 OS 로 보기에는 조금 무리가 있습니다.
APP 도 호환되지 않습니다.
타겟 시장도 조금 틀립니다. Pocket PC 쪽은 말 그대로 PDA 및 SmartPhone 쪽에 특화된 OS 지만,
WinCE 는 모든 Embedded 기기쪽이 타겟입니다.
에...그리고...
Visual Studio 는 유료 맞구요....좀 비쌉니다 -_-;;
한번 사면 되는 거긴 하지만 말이죠...
WinCE 6.0 은 WM 과 CE 를 결합한게 아니라, WinCE 5.0 의 업그레이드입니다.
그리고 SDK 에 대해서는...
MS 에서 뿌리는(?) STANDARD SDK 가 있습니다.
Pocket PC 쪽은 거의 이 SDK 를 쓰면 됩니다만...
WinCE 쪽은 각 기기 제조사에서 Customize 할 여지가 있기 때문에
STANDARD SDK 가 맞지 않는 경우가 많습니다.
이 경우에는 기기 제조사측에 SDK 를 요청해야 하죠...
(뭐, 결론은 무료라는 소리긴 하군요... -_-;;; )
app 버전 호환 여부...
윗 님의 말씀이 어느 정도는 정확합니다.
일단 실무에서 버전별 OS 와 어플리케이션 호환 관련 문제가 가장 큽니다.
동일한 포켓PC라도 2002와 2003에서 실행시 차이가 있는 경우도 있고,
에뮬레이션에서 된다고 하더라도
실제 머신에서 문제가 생기는 경우도 허다합니다.
非개발 또는 非코딩 부서에서는 둘의 개발 공수를 같이 체크하기도 하지만,
현실은 야속(?)합니다...
Re: 코덱은...
아직 미완성이긴 하지만, 4CC 값 wmv3 인 WMV9 은 lavc 를 통해서 디코딩 가능합니다.
wma 쪽 역시 미완성이긴 하지만 어느정도는 디코딩이 되고 있습니다.
(WMA 9.1 및 pro 코덱으로 인코딩된 녀석을 제외하면 대충 되는 편입니다..)
물론, 제품으로 내 놓을 것이라면 이정도 완성도로는 모자랍니다...=.=;;
lavc 자체도 x86 쪽에 초점이 맞춰져 있는 듯 싶으니;;
그리고, WinCE 가 코어만 가지고는 할 수 있는게 별로 없다고 합니다 -_-;;;
이것저것 컴포넌트들을 좀 넣어야 쓸만한 수준이 되는데.....이 컴포넌트들 가격이 만만치 않다더군요...
embedded의 경우 굉장히
embedded의 경우 굉장히 많은 프로세서가 ARM입니다.
언급하신 코덱이 ARM에서도 동작 가능한가요?
그렇지 않다면 3rd party를 살펴봐야 하겠군요. 흠.^^
참고로 최근의 pmp/dmb/navi 제품들은 WinCE core에 어프리케이션을
올리는 정도로도 개발가능합니다. core 라이센스가 $3 미만일겁니다. ^^
위에서 언급한 browsing 기능이 추가되면 core로는 안되지만... ^^
IE도 WinCE에
IE도 WinCE에 탑재될려면 추가 라이센스비를 받는건가요?
갑자기 WinCE 라이센스에 WMV 코덱이 포함되지 않을지도 모른다는 생각이 불현듯 드는군요. -_-a
최근 PMP에서 많이 사용된 AMD의 au1200의 경우
지원코덱이 MPEG2,4, WMV9, DivX, XviD
그리고 오디오는 MP3, AC3, OGG, WMA 지원이 된다고 합니다.
제가 알기로는 이렇게 지원이 된다는 것은
지원되는 코덱의 플레이어 프로그램을 제공해준다는 것이더군요.
코덱료는 따로 내야함은 물론이구요.
그런데 WinCE의 플레이어는 이미 다 공짜로 재생할 수 있다는 것입니다.
(물론 WinCE에서도 코덱료는 내야하는 거구요. WMV는 어떨지 모르겠지만..)
결국 au1200에서 해당 코덱을 지원한다는 것은 리눅스에서만 의미를 가진다. 라는 건데요.
제가 제대로 알고 있는건지 확신이 안서네요.
리눅스는 플레이어 프로그램도 사와야 하는건지..
--------------------------
aka insoul
관심이
관심이 대단하시네요.
ms 영업 사원은 아닙니다만... 다음 사이트와 문서를 참고하십시오.
http://www.microsoft.com/windows/embedded/license.mspx
http://www.dst-asia.com/DSTeupload/WindowsCE50_Licensing.pdf
참고로 현재 시장에 나오고 있는 WinCE 기반 제품은 WinCE 5.0 기반이라고 보시면됩니다.
6.0이 발표가 된 상황이니 6.0 기반으로는 한 6개월은 있어야 제대로된 제품이 나오겠죠. ^^
참고로 위의 정도의 멀티미디어 코덱 지원이라면 솔루션을 제공하는 3rd party가 분명히 있을 것입니다.
물론 리눅스용 솔루션을 제공하는 회사도 있고요.
http://www.pdaxrom.com 여기
http://www.pdaxrom.com
여기에 가면.. 자우루스라는 PDA에.. 데스크탑이 거의 완벽하게 구현되어있습니다.
http://pdaxrom.org 입니다.
http://pdaxrom.org
입니다. 참고하세요.
아아 ㅠㅠ;
일단 두분 모두 알려주셔서 감사합니다. ^^
그런데 언뜻 봐서는 어느정도 구현이 되어 있는지 모르겠더군요 ㅠㅠ
리눅스로 데스크탑이 구현되어 있다는 것인데
자우루스라는 PDA에서만 사용할 수 있는 펌웨어인가요?
아니면 리눅스기반에서 범용적으로 사용될 수 있는
동영상 플레이어, 브라우저등이 구현이 되어 있는건가요?
자우루스를 구입할 수도 없고 난감하네요 ㅠㅠ
--------------------------
aka insoul
저;;
리눅스 개발자 -> 임베디드 리눅스 개발자
윈도우즈 개발자 -> WinCE 개발자
전환 절대 쉽지 않습니다.
실제 CPU와 관련된 말씀 안하시는거 보니까.
제가 생각했을때 절대 쉽지 않습니다.
여러 분들께서 예시한 부분들은 응용어플리케이션에 한정한것으로 생각됩니다.
이러한 전환이 쉽다고 할수 있겠습니다 :)
실제 윈도우즈 개발자가 WinCe 개발자(플랫폼빌더를 사용하여 OS 개발자)를 처음 하시면 공부할거 무척 많습니다.
저는 리눅스 임베디드 개발하다가 회사에 관련 프로젝트가 모두 WinCE로 전환되어 WinCE하고 있습니다;;;
초보인생아키
물론;;
응용프로그램 개발자에게 당장 하드웨어 구현하라고 하면 어렵겠죠. ^^
하드웨어 구현은 따로 하는 사람이 있다고 가정하고 생각하셔도 됩니다.
다만 제가 확인코자 했던것은
하드웨어 구현한 사람이 소프트웨어 할 사람에게 넘겨줘야할 내용이 (이를테면 I/O 규약, 하드웨어에 의한 제약 사항 등등의 내용)
윈도우즈가 많은가 리눅스가 많은가에 대한 짤막한 고려였다고 생각하시면 무난할 듯 하네요.
짧은 생각으로는 리눅스가 장치드라이버 지원율이 적으므로 드라이버를 개발해야 될 상황이 좀더 많을 것이라고 봅니다.
그럼 개발비도 추가되는 것도 문제지만
그 위에서 응용프로그램을 개발할 사람들을 위해 문서작업도 해주어야 할 필요가 생기게 될 꺼 같거든요.
(친구 말이 리눅스의 또 다른 문제가 문서화가 충분히 되지 않았을 경우, 그 개발자 나가면 회사 망한다는군요. -_-
개발자 커뮤니티에서 이런 말씀 드리기는 좀 그렇습니다만,
설령 개발자가 안나가고 있어준다고 해도 경영자 입장에서 생각해보시면 아주 안좋은 상황임이 분명합니다.)
아무튼 이런면에서 리눅스가 취약하다면 얼마나 취약한가, 또 얼마나 취약한 면이 개발비용에 영향을 미치나?
이런 것이 궁금했던 것입니다. ^^
--------------------------
aka insoul
임베디드 리녹스라면 uclinux가 잇습니다.
즐린
이건 리녹스 커널을 임베디드 용으로 만든겁니다.
즐린
그냥 리눅스 커널도
그냥 리눅스 커널도 임베디드 용으로 쓸 수 있죠.
uclinux는 MMU가 없는 프로세서용으로 특화한 커널이죠.
가장 먼저 생각하셔야 할 게
개발자 수급일 겁니다. 제품화 / 생산 등에도 돈이 많이 들긴 하지만, 개발자 임금도 만만찮케 드니까요.
특히, 회사에서 [불의의 사고](인력 퇴사/ 일정 지연/ 영업부와 개발부간의 의사소통 실패로 인한 위약금 지불)등을 커버할 수 있는 안전판이 없다면, 최초 상품은 개발자 수급이 안정적인 플랫폼을 선택하는 게 최고입니다.
(극단적으로, 보드를 외주하고 그 회사에서 기술 지원 계약을 맺는 것도 괜찮죠. )
제품 단가가 높아지는 것보다 더 무서운게, 개발 지연으로 인한 위약금 지불입니다.
위약금 지불해서 개발이 완료되는 건 아니거든요. 개발은 개발대로 늦어지고, 돈은 돈대로 내야됩니다.
행복은 희생없이는 얻을 수 없는 것인가?
시대는 불행없이는 넘을 수 없는 것인가?
ㅎㅎ 먼가 포스가 느껴지는 글...
먼가 과거 경험 등에 의한 포스가 느껴지는 글입니다...
짧은 경력이지만 모두 경험해 보았습니다.
개발 경력 약 6년 정도 되는 사람입니다. 요즘에는 주로 Windows CE 포팅과 하드웨어 기획, 정부 과제 진행을 주로 하고 있고, 이전에는 웹 개발, 데스크탑용 애플리케이션 개발, 임베디드 리눅스 포팅, Qt, GTK 프로그래밍 등을 수행하였습니다. 지금껏 임베디드쪽 개발을 하면서 느낀 바를 가감없이 적어보겠습니다. 제가 경험한 것에 대한 내용이므로 한정적일 수 있음을 미리 밝혀드립니다.
1. 개발자 수급
공통적으로 임베디드쪽은 개발자의 수급이 쉽지 않습니다. 윈도즈CE든 리눅스든 기타 RTOS든 하드웨어 포팅에 관련된 일을 할 줄 아는 개발자가 많지 않습니다.
그 외 애플리케이션 개발자는 윈도즈 CE쪽은 그나마 MFC, .net, win32API 개발자를 안을 수 있어서 많은 가능성이 있는 반면 리눅스쪽은 거의 없었습니다.(적어도 제 경험에는 그렇습니다) 실제로 프로그래밍을 해 보면 리눅스쪽 프로그래밍이나 윈도즈쪽 프로그래밍이나 별반 다를것이 없음을 인지하는데도 말입니다.
개발자의 수급이 불안정하다는 것은 제품의 개발에 있어서는 치명적인 부분이라고 과감하게 말씀드릴 수 있습니다.
2. 개발 툴
윈도즈CE 포팅을 하는 사람들은 플랫폼 빌더라는 것을 모두(!) 사용하게 되는데 이게 생각보다 성능이 뛰어나지 못하다는것을 이미 알고 있을겁니다. GUI로 만든 일종의 툴체인이며 에디팅의 성능, 디버깅의 성능에서도 많은 한계점을 가지고 있습니다. 그리고 소스 브라우징과 에디팅은 아주 다양한 툴들을 사용하곤 합니다.
리눅스쪽에서는 직접 컴파일한 툴 체인을 사용하던가, crosstool이나 인터넷에서 돌아다니는 툴체인을 사용하곤 하는데, 어느것 하나 검증된 것이 없다는게 문제가 있습니다. 그래서 대안으로 생각하는 것이 몬타비스타의 것을 가지고 개발하기를 시도하는데 그 비용이 만만찮은것으로 알고 있습니다. 에디팅은 저는 vi만을 사용해왔고 vi만 사용해도 충분했습니다.
애플리케이션 개발의 상황은 좀 더 윈도즈쪽이 좋습니다. 점점 집약되어 가는 윈도즈 개발 환경(비주얼 스튜디오)에 개발자들은 이미 익숙해져 다른 툴은 비집고 들어가기 힘들 정도지요. 그리고, 1번에서 썼다시피 데스크탑 윈도즈 개발자들을 모두 안을 수 있을 만큼의 환경이 갖추어져 있습니다.
이와는 다르게(개념이 달라져버립니다) 리눅스는 데스크탑쪽 애플리케이션을 개발하던 개발자가 똑같이(!) 임베디드 리눅스에서 개발 할 수 있습니다!!!...만 그러한 개발자를 찾기가 힘들죠. 그리고 개발 툴을 어떤것을 사용할지에 대한 행복한 고민을 하면서 시간을 (흘러)보낸 적이 있습니다. 초기 셋업 비용은 없지만 초기 셋업 기간은 있더군요.
3. 유지보수
위에서 언급하셨던 내용인데 리눅스쪽 개발하던 사람이 나가면 회사를 문 닫을 수도 있다라는 말씀에 대한 내용과 함께 적겠습니다. 리눅스쪽이던 윈도즈쪽이던 받을 사람이 없어 망할 회사라면 이미 망한 회사라고.. 라고 적으면 너무 직설적인가요? 리눅스쪽을 굳이 언급하신 이유는 제가 위에 설명드린 인력의 수급 문제일 것입니다. RTOS쪽 커널과 애플리케이션을 문서 없이 통째로 받아도 개발은 진행되었으니까요.
4. 라이센스
주로 동영상(WMV, divx, mpeg)라이센스, 사운드(WMA, mp3, Dolby-AC3등) 라이센스, 운영체제의 라이센스, 3rd party 라이센스 등이 있지요. 코덱에 관련된 라이센스는 등록하는 업체마다 제각각입니다. 인코딩/디코딩 칩을 쓰는 경우 해당 칩을 생산하는 업체에 들어가는 라이센스, 그 칩으로 제조를 수행하는 업체에서 내야하는 라이센스 등.. 단가의 절감 부분에서는 이 라이센스 부분이 매우 중요합니다만 실제로 이 라이센스는 제품의 마켓과 요구에 따라 오는 것이라 여겨집니다.
3rd party의 경우 포팅 비용을 리눅스쪽이나 윈도즈쪽으로 더 청구하는 경우는 발생하나 러닝 로열티는 같은 경우가 많습니다.
위에서 WMA, WMV에 대한 로열티가 없다고 하셨는데, 실제로는 로열티가 있습니다. 라이센스 계약을 맺고 제품이 나갈 때 마다. 0.x달러씩 로열티를 지불 해야 합니다.
5. 개발 기간
이건 참으로 판단하기 쉽지 않은 부분인데 리눅스라고 해서 개발 기간이 길다 라는게 정설인데, 리눅스라고 해서 개발기간이 긴 것은 아닌듯 합니다. 대신에 셋업 기간은 깁니다.
포팅쪽만 보면 리눅스쪽이 더 짧을 때도 있고, 윈도즈 CE쪽이 짧을 때도 있습니다. 가끔씩 경쟁을 하기도 합니다 :p
6. 디바이스 개발
위에서 리눅스쪽은 지원하는 디바이스의 종류가 많지 않다는게 문제(?)라고 언급하신 부분이 있는데 보편적인 디바이스는 리눅스쪽이 훨씬 많습니다. 문제는 다른 디바이스를 붙일 때 해당 업체에서 소스는 물론 문서조차 주지 않고 windows CE.net 4.2 ARMV4I용으로 컴파일된 바이너리만을 보내주는 경우가 아주 힘든 경우이죠. 아무리 MIPS용으로 보내어 달라고 해도 "밉? 그런건 없습니다" 또는 "capa가 얼마나 되시죠?"라는 말만 덩그라니.. 그런 경우는 리눅스나 윈도즈CE나 마찬가지라고 보여집니다.
참고로 제 개인적인 견해로는 디바이스 드라이버 개발은 리눅스나 윈도즈CE나 결국 일맥 상통하며 어떤 OS에 붙일 것인지에 대한 것 보다는 어떤 인터페이스와 어떤 알고리즘으로 디바이스 드라이버를 개발하냐에 더 초점이 맞아 지는것 같습니다.
... 쓰다보니 정신이 없습니다. 여기까지만 대충 써야겠습니다. 긴 글 두서없이 써서 죄송합니다.
요약
1. 개발자 수급 : 윈도즈CE쪽의 아주 우세
2. 개발툴 : 윈도즈CE쪽이 아주 약간 우세
3. 유지보수 : 대동소이
4. 라이센스 : 대동소이
5. 개발기간 : 모르겠다
6. 디바이스 개발 : 리눅스가 낫다.
사족을 달자면
제품의 개발은 "돈"이란것이 반드시 고려되어야 하며 "마케팅"이란것도 고려해야 합니다. 아직까지도 head가 있는 장치는 윈도즈CE가 당연하게 느껴지는 분위기고 그 분위기는 당분간 지속될 것 같은 느낌입니다. 제 개인적인 생각은 리눅스를 돌리는 모바일 장치가 마구 출시 되어서 개발자가 확 늘었으면 하는 바램이 있습니다. 달걀이 먼저인가요?
이런 쓸데없는 생각을 하면서 오늘도 취미삼아 리눅스 포팅하고 있습니다.
훌륭한녀석!!
----
훌륭한녀석!!
질문에 대한 답은 없어 보입니다.
타겟 디바이스가 무엇인가에 따라서 개발비, 라이센스비, MC 다 달라집니다.
핸드셋처럼 볼륨이 많은 제조업체에서는 MC를 고려해서 칩셋, 솔루션 등을 결정합니다. 개발비는 수십억이 든다고 할지라도 MC로 따져보면 예를 들어 100만대 양산한다고 할 때, 미미한 수준이 될 수 있습니다. 제품 생산 대수가 많지 않다면 제조원가(라이센스료 포함)보다 개발비가 더 민감해질 수 있습니다.
코덱이나 특정 어플리케이션 등은 칩에 번들된 경우가 있고 3rd party를 통해 수급해야 하는 경우도 있습니다.
MC 산정은 워낙 부품, 솔루션, 볼륨 조합에 따라서 너무나 달라지기 때문에 기술, 인력, 금액 등 측면에서 WinCE냐 리눅스냐 답을 낼 수가 없다고 봅니다.
질문의 내용은 상품기획, R&D 기술기획, 구매/조달 담당, 제조기획 등에 속한 담당자들이 모여도 쉽게 결론이 안 날 듯합니다. ^^;