챕터 30: 기술표준의 중요성
챕터 31: 자유로운 소프트웨어, 오픈소스
표준이란?
어떤 기술적 산물이 어떻게 만들어지고 어떻게 작동하도록 되어있는지 명확하고 상세하게 기술한것.
EX)
.dox, .docx 등의 문서형식 표준
가전제품들의 전압에 대한 “하드웨어” 표준
리모콘, TV, Radio 등의 주파수 신호 표준
HDMI, USB 등의 케이블/커넥터 표준
C, C++, 아스키코드, 등 “소프트웨어적” 표준
이처럼 다양한 표준들은 시대에 따라 발전하며, 공정 경쟁, 공존 등을 통해 사용자가 더 편리하게 서비스를 사용할 수 있도록 도와준다.
소스 코드란?
프로그래머가 어셈블리언어/고수준언어 등으로 작성하는 코드.
프로그래머가 읽을수 있는 형태.
여러사람이 오픈소스로 협업하고 개발할때 사용할 수 있다.
오브젝트 코드란?
소스코드를 프로세서에서 실행하기 적합한 형태로 컴파일한 결과.
너무 많이 변형되어 원래의 소스코드를 유추하거나 복원하는것이 불가능.
그래서 상용 소프트웨어를 배포할때 사용한다.
GNU 와 GPL
https://en.wikipedia.org/wiki/GNU_General_Public_License
GNU ( GNU’s not Unix) 는 1983 스톨만이 시작한 프로젝트로 운영체제와 프로그래밍 언어용 컴파일러와 같은 주요 소프트웨어들의 무료 공개버전을 만드는것을 목표로 가졌다.
GNU를 통해 GNU GPL(General Public License, 일반 공중 사용 라이센스) 라는 Public 라이센스가 탄생되었고, 이는 여러 개발자들이 자유롭게 사용하고 자유롭개 개발해서 자유롭게 배포할수있는 환경을 법원 판결로 보장해 주는 지경에 이르렀다.
GNU 와 GPL 을 시작으로 많은 프로그래밍 언어와 프로젝트들이 오픈소스 화 되고있다.
ex)
구글의 go 언어
애플의 Swift 언어
모질라의 Rust 언어
MS의 C#과 F#
리눅스 운영체제
오픈소스화 된 프로그램/프로젝트 들의 수익창출, 프로그래머들의 기여도, 성장 가능성 모델 들이 각광을 받으며 오픈소스 프로그램/프로젝트들의 영향력이 증가하고 있다.
'TIL' 카테고리의 다른 글
[TIL]20220608 (0) | 2022.06.09 |
---|---|
[TIL]20220607 (0) | 2022.06.07 |
[TIL]20220605 (0) | 2022.06.05 |
[TIL]20220604 (0) | 2022.06.04 |
[TIL]20220603 (0) | 2022.06.04 |