기술 표준의 중요성
표준(standard)은 어떤 기술적 산물이 어떻게 만들어지고 어떻게 작동하도록 되어 있는지 명확하고 상세하게 기술한 것이다.
'표준'이라는 용어는 무언가가 어떻게 만들어지고 작동하는지 정의하는 정규화된 표현을 뜻한다고 보는 것이 적합하며, 보통은 정부 기관이나 컨소시엄 같은 준 중립적인 단체에 의해 개발되고 유지된다.
알아채지 못할 수 있지만, 우리는 항상 하드웨어 표준의 혜택을 누리고 있다.

우리가 어떠한 가전제품을 사더라도 전원을 연결하는 콘센트의 표준은 똑같다 이는 플러그의 크기와 모양, 제공하는 전압에 대한 표준 덕분이다 (다른 국가에서는 그렇지 않을 수 있다)
서로 경쟁 관계에 있는 표준도 간혹 있는데, 오히려 역효과를 낳을 때가 많다. 역사적 사례를 들어보면 베타맥스 대 VHS 간의 경쟁과 HD-DVD 대 블루레이 간의 경쟁이 있었다
사례로 베타맥스와 VHS 간의 경쟁
- 비디오테이프 표준 전쟁( - 標準戰爭, videotape format war)은 1970년대부터 1980년대 초기까지 비디오카세트 레코더의 표준을 두고 벌어진 극심한 표준 전쟁을 뜻한다. 마케팅 분야에서 가장 유명한 표준 전쟁으로 널리 알려져 있다.
- 가정용 비디오카세트 레코더는 1970년대 초반부터 판매되었지만, 가장 성공적으로 판매된 제품은 소나의 베타맥스였다. 곧이어 JVC가 VHS (Video Home System)을 내놓았고, 필립스에서도 Video 2000를 내놓았다.
- 결과적으로는 VHS가 이 비디오테이프 표준 전쟁에서 승리하였다.
비디오테이프 표준 전쟁 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 비디오테이프 표준 전쟁( - 標準戰爭, videotape format war)은 1970년대부터 1980년대 초기까지 비디오카세트 레코더의 표준을 두고 벌어진 극심한 표준 전쟁을 뜻한다
ko.wikipedia.org
HD-DVD 대 블루레이 간의 경쟁
차세대 저장매체 전쟁
2003년 4월부터 블루레이와 HD-DVD는 DVD의 후계자 자리를 놓고 이른바 차세대 DVD 전쟁이라고 불리는 사투를 벌였으나, 블루레이가 모든 면에서 HD-DVD에 앞서 있을 뿐만 아니라, 세계 최대의 홈 비디오 업체인 WHV가 블루레이를 독점적으로 지원할 것을 선언함으로써 블루레이의 완승이 확실시되고 있었다. 참고로 도시바의 후지이 요시히데(藤井美英) 사장은 HD-DVD 사업을 착수하면서 다음과 같은 말을 언급하였다.
블루레이가 규격으로서 우월할 가능성이 없는 것은 아니다. 그 때에는 땅에 엎드려 사과하고 싶다.
BDの方が規格として優れている可能性がないわけではない。そのときには土下座 して謝りたい
— 후지이 요시히데 사장
결국 2008년 2월 16일 도시바가 HD-DVD 포기를 선언하였다. 같은해 3월 28일 HD-DVD promotion group 이 해산되었다. 결국 차세대 저장매체 전쟁에선 블루레이가 이겼다.
이 두 경우 결국 한쪽 표준이 이겼지만, 다수의 표준이 공존 할 수도 있다. (VHS, 블루레이 승)
차세대 DVD 표준 경쟁의 시사점 - '블루레이’ 승리 요인과 그 교훈 | 꿈꾸는섬
경향신문|기사입력 2008-02-17 18:02 |최종수정2008-02-18 01:53 차세대 ‘디지털 비디오 디스크(DVD)’ 표준규격을 놓고 벌여온 경쟁에서 도시바가 소니에 무릎을 꿇었다. 일본 언론은 17일 일제히 “도
happist.com
소프트웨어에도 많은 표준이 있다

여기에는 아스키코드와 유니코드와 같은 문자 집합, C와 C++ 같은 프로그래밍 언어, 암호화와 압축 알고리즘, 네트워크를 통해 정보를 교환하기 위한 프로토콜이 포함된다.
표준은 상호운용성을 보장하고, 공개경쟁이 이루어지도록 하는 데 결정적인 요소다.
그에 반해 독점시스템은 모두를 잠가버리는 경향이 있다.
그러나 표준에도 단점은 존재하는데 어떤 표준의 수준이 낮거나 시대에 뒤쳐졌는데도
모든 사람에게 그 기술을 쓰도록 강요한다면 발전이 저해된다는 점이다.
자유로운 소프트웨어, 오픈소스
프로그래머가 작성하는 코드는 어셈블리 언어든 고수준 언어든 소스 코드라고 한다.
소스코드를 프로세서에 실행하기에 적합한 형태로 컴파일한 결과는 오브젝트 코드라고 한다.
소스 코드는 프로그래머가 읽을 수 있느 형태라서, 코트를 연구하여 상황에 맞춰 수정할 수 있다.
이와 달리 오브젝트 코드는 너무 많은 변환 과정을 거쳤기 때문에,원래 소스 코드와 조금이라도 비슷하게 복원한다든지,
변종을 만들거나 작동 방식을 이해하기 위해 이용할 수 있는 형태로 추출하는 것조차 대게 불가능하다.
오픈 소스
소스코드(Source Code)와 오브젝트 코드(Object Code)
- 소스코드: 프로그래머가 작성하는 코드
- 프로그래머가 읽을 수 있는 형태
- 코드를 연구, 수정 할 수 있고 혁신적인 기법, 아이디어를 읽을 수 있음
- 오브젝트 코드: 소스코드를 프로세서에서 실행하기에 적합한 형태로 컴파일한 결과
- 많은 변환 과정을 거침
- 소스코드와 비슷하게 복원하거나 작동방식을 이해할 수 있는 형태로 추출하는 것이 거의 불가능함
- 대부분의 상용 프로그램이 오브젝트 코드 형태로 배포(소스코드는 비밀정보이므로 자물쇠를 채워 간수함)
오픈소스(Open Source)
- 연구와 개선 활동을 위해 소스코드를 자유롭게 사용할 수 있게 하는 대안
오픈 소스가 생겨난 배경
- 과거엔 대부분의 소프트웨어가 회사에서 개발되었기 때문에 소스코드가 영업 비밀로 입수할 수 없는 형태였음
- 리처드 스톨만이라는 MIT에서 일하던 프로그래머는 자신이 사용하는 프로그램의 소스코드에 접근할 수 없어 프로그램을 수정, 개선할 수 없다는 점에 불만이 생김

- 1983년 운영체제와 프로그래밍 언어용 컴파일러 같은 중요한 소프트웨어 시스템의 무료 공개버전을 만드는 것을 목적으로 GNU(GNU's not Not Unix) 프로젝트 시작
- 비독점적이고 구속적인 소유권에 얽매이지 않는 영구히 자유로운 소프트웨어를 만들어내는 것을 목적으로 자유 소프트웨어 재단(Free Software Foundation)이라는 비영리 단체 시작
- GNU GPL(GNU일반 공중 사용 라이선스)라는 저작권에 따라 구현을 배포하는 방식으로 이루어짐
- GPL 라이선스가 적용된 소프트웨어를 자유롭게 사용할 수 있고 배포가 되면 그 배포판도 똑같이 어떤 용도로도 자유로운 라이선스를 적용해 소스코드를 사용할 수 있게 해야 한다고 명시함

- 공개SW 라이선스란 공개SW 개발자와 이용자 간의 사용 방법 및 조건의 범위를 명시한 계약을 말한다. 따라서 공개SW를 이용하려면 공개SW 개발자가 만들어놓은 조건의 범위에 따라 해당 소프트웨어를 사용해야 하며, 이를 위반할 경우에는 라이선스 위반 및 저작권 침해로 이에 대한 법적 책임을 져야한다.
오픈소스
- 오픈소스 버전은 독점 상용 버전의 비교 평가 기준으로 작용하기도 함
- 파이어폭스, 크롬 브라우저, 아파치, 엔진엑스, 안드로이드 운영체제 모두 오픈소스
- 이제 프로그래밍 언어, 지원도구 대부분 오픈소스로 만들어짐
- 예: 구글의 고(Go), 애플의 스위프트(Swift), 모질라의 러스트(Rust) 마이크로소프트의 C#, F#
- 리눅스 운영체제 또한 오픈소스 프로젝트임
- 개인 개발자 뿐 아니라 구글 같은 대규모 영리 기업에서도 인프라 전체를 리눅스 상에서 운영할 정도로 널리 사용됨
- 리눅스 운영체제 소스코드는 무료로 다운로드할 수 있고(kernel.org) 수정해서 사용할 수 있지만 배포를 원한다면 GPL에 따라 소스코드를 공개해야 함
프로그래머들이 오픈소스 프로젝트에 기여하는 이유?
- 소프트웨어를 공짜로 나눠주면 어떻게 돈을 벌까?
- 레드헷(Red Hat): 1993년에 창립되어 1999년에 뉴욕증권거래소에 상장되었으며 2019년에는 IBM에 인수됨
- 무료로 받을 수 있는 리눅스 소스코드를 배포하는 것과 별개로 기술 지원, 교육, 품질 보증, 시스템 통합과 기타 서비스 이용에 요금을 청구함으로 수익을 얻음
- 마이크로소프트도 오픈소스 소프트웨어 프로젝트의 주요 기여 주체중 하나가 됨
- 프로그램의 발전에 기여하고 다른 사람들이 버그를 수정하고 코드를 개선하도록 허용함으로써 이득을 봄
- 레드헷(Red Hat): 1993년에 창립되어 1999년에 뉴욕증권거래소에 상장되었으며 2019년에는 IBM에 인수됨
오픈소스 소프트웨어가 전부 최상급인 것은 아니며, 몇몇 소프트웨어의 오픈소스 버전은 원래 모델로 삼은 상용 시스템보다 뒤떨어지기도 한다 그럼에도 불구하고 "핵심 프로그래밍 도구와 시스템에서 오픈 소스의 영향력은 매우 크다."
'CS 스터디' 카테고리의 다른 글
| CS 68.최상위 프로토콜 : 메일 전송과 파일공유 (0) | 2022.08.22 |
|---|---|
| CS 47 자바스크립트는 어떻게 작동할까 ? 51 파이썬은 어떻게 작동할까? (0) | 2022.08.16 |
| 22. 10개 도시를 최단거리로 여행히는 법 (0) | 2022.08.02 |
| 18~19. 알로리즘과초콜릿 케이크 레시피, 반에서 가장 키 큰 사람 찾기: 선형 알고리즘 (0) | 2022.07.29 |
| CS 스터디 0과 1의 세계 (0) | 2022.07.21 |