본문 바로가기
CS/운영체제

[소프트웨어의 역사] 유닉스 vs 리눅스

by merona99 2021. 10. 14.
반응형

소프트웨어의 역사 유닉스 vs 리눅스

 

 

초창기의 소프트웨어

  • 컴퓨터 초창기에는 모든 SW는 자유롭게 구해서 사용하고, 살펴보고 수정하고 공유가 가능했음
  • 모두 자신의 SW를 다른 사람들에게 기꺼이 배포함
  • 대부분 SW가 매출원이 될 수 있다고 생각한 사람은 없었음
  • 하드웨어 모델이 세분화되어 있어서 특정 모델을 위해 작성된 SW는 다른 모델에서는 실행되지 않았음
  • 어떤 콘솔 게임을 샀다면 그 콘솔이 여러분이 즐기려는 게임이 작동하는 유일한 플랫폼

 

 

소프트웨어 가치 상승

  • 많은 사람들이 SW을 개발하는데 많은 노력이 필요하다는 것을 꺠달음
  • 하드웨어 생산과는 별도로 소프트웨어 새발 산업이 나타남
  • 소프트웨어를 사용하는데 돈을 지불해야 했고, 소프트웨어를 사용하기만 하고, 수정하고 업데이트가 불가능한 형태로 변환됨
  • 다른 사람들과 굥유할 수 없는 형태로 변환됨

 

 

SW 무단 복사에 대한 분노

 

 

자유 소프트웨어의 시작

리처드 M. 스톨먼

  • 빌 게이츠와 같은 하버드 대학에서 공부함
  • 자유 소프트웨어 재단(Free Sofrware Foundation, FSF)의 창시자
  • 더 이상 자유롭게 SW를 수정하고 공유할 수 없다는 사실에 실망함
  • GNU 프로젝트를 시작합
  • GNU is NOT Unix
  • 완전히 자유롭게 사용하고 수정하고 베포할 수 있는 컴포넌트로 구축된 유닉스 호환 운영 체제 개발을 목표로 함

 

 

GNU 선언문

  • 0. 프로그램을 어떠한 목적을 위해서라도 실행할 수 있는 자유
  • 1. SW 코드를 공부하고 이를 자신의 필요에 맞게 변경할 수 있는 자유
  • 2. SW를 복사하고 베포할 수 있는 자유
  • 3. SW를 개선하고 이를 공유할 수 있는 자유

 

자유 소프트웨어

  • 위 네 가지 자유를 보장하지 못하면 자유 SW로 볼 수 없음
  • 대표적인 자유소프트웨어로는 리눅스 커널을 꼽을 수 있음

 

 

리눅스 vs 유닉스

  리눅스 (Linux) 유닉스(Unix)
설명 오픈소스, 무료OS 대학, 회사, 큰 기업에서 주로 선호하는 OS
제조사 커뮤니티에 의해 개발
리누스 토발즈(linus Benedict Torvalds)가 이를 감독
Solaris (Oracle), AIX (IBM) 그리고 HP-UX (Hewlett Packard)가 3개의 큰 제조사
Apple의 OSX도 있음
개발과 배포 오픈소스로 개발됨
리눅스 코드의 공유와 공동작업과 각 포럼 등의 특성을 통해 개발됨
다양한 판매사에 의해 배포됨
다양한 제조사로 나누어짐
(대부분 AT&T 그리고 다양한 상업적 판매사와 비영리 단체에 의해 개발됨)
첫 시작 1992년 MINIX(유닉스와 비슷한 시스템)에 의해 영감을 받은 리누스 토발즈가. GUI, Drivers 등의 많은 특성들을 추가한 후에,지 금의 리눅스가 된OS의 프레임워크를 개발
리눅스 커널은 1991년9월 17일 출시 됨
1969년, Bell연구소의 AT&T직원들과 데니스 리치에 의해 개발됨
유닉스는 C언어로 작성되었으며 휴대용제품, 시분할 환경의 다 중작업과 다중사용자 시스템을 위해 설계됨
예시 Ubuntu, Fedora, Red Hat, Debian, Android 등 OS X, Solaris

 

 

 

리눅스의 등장

  • 1991년 유닉스와 유사하면서 더 좋은 OS를 만들고자 리눅스 커널의 최초 버전 공개
  • 이후 스톨먼의 GNU 프로젝트의 GNU 운영체제 커널로 도입됨
  • 리눅스 커널과 GNU 프로젝트의 여러가지 자유 SW들이 합쳐져 완전함 GNU/Linux가 탄생함

 

 

오픈소스 SW의 등장

  • 자유 SW 지지자들은 자유 SW에 대한 범위와 기여자 확대를 바라며 방법을 의논함
  • 이 운동을 재브랜딩 하는게 적절하다고 결정하고 운동의 새로운 이름으로 '오픈 소스'라고 용어를 선택함
  • OSI(Open Source Initiative)를 창립하고, OSD(Open Source Definition)라는 '오픈 소스'라는 자격을 얻기 위한 충족해야 할 책임과 요구 사항을 기술함

 

 

자유 SW와 오픈 소스의 차이

  • 차이점보다는 유사점이 더 많음
  • 대부분의 경우 자유 SW는 오픈 소스이기도 함.
  • 하지만, 오픈 소스는 자유 SW일 수도 있고 아닐 수도 있음.
  • 자유 SW는 모든 SW는 사용, 재사용, 배포에 제한하는 데서 자유로워야 함
  • 오픈 소스는 SW가 더 많이 공개되고 이용되면 SW를 이용하는 산업에 전반적인 선순환이 될거라고 생각함
  • 어떤 사람들은 자유 소프트웨어와 거의 같은 부류를 나타내고 자 용어 “오픈 소스” 소프트웨어를 사용한다.
  • 오픈 소스 소프트웨어는 자유 소프트웨어와 정확히 같은 종류 의 소프트웨어는 아니다오픈 소스 소프트웨어는 우리가 너무 제한적이라고 여기는 라이선스를 받아들이기도 하며, 그들이 인 정하지 않는 자유 소프트웨어 라이선스가 존재하기도 한다.
  • 하지만 부류의 범위에 대한 차이는 작다. 거의 모든 자유 소프트 웨어는 오픈 소스이고, 거의 모든 오픈 소스 소프트웨어는 자유 이다
  • 자유소프트웨어 재단 : https://www.gnu.org/philosophy/categories.html

 

 

라이센스의 종류

GPL 라이센스 (General Public License)

  • 코드 공개 필요 O, 동일한 라이센스 적용 O, 상업적 이용 O
  • 프리 소프트웨어 재단(FSF)에서 만든 라이센스
  • GNU 라이센스라고도 함
  • “자유를 누린 만큼 너의 코드도 공개해야 돼”
  • 안드로이드 폰 제조사들이 리눅스 커널 코드를 공개하는 이유는 GPL 라이센스 때문임
  • 리눅스 커널, 파이어폭

 

 

BSD 라이센스 (Berkeley Software Distribution)

  • 코드 공개 필요 X, 동일한 라이센스 적용 X, 상업적 이용 O
  • 자유롭게 사용이 가능하며, 소스코드를 공개하지 않아도 됨
  • 상업적으로 이용도 가능함
  • 이 소프트웨어를 사용해서 발생 가능한 모든 리스크와 손해는 사용자 본인의 책임임
  • OpenCV

 

 

MIT 라이센스

  • 코드 공개 필요 X, 동일한 라이센스 적용 X, 상업적 이용 O
  • 매사추세스 공과대학에서 만든 소프트웨어 라이센스
  • BSD를 기초해서 만든 라이센스라 거의 규정 동일함
  • 소스코드를 공개할 필요도 없음
  • 동일한 라이센스를 적용할 필요도 없음
  • 이 소프트웨어를 사용해서 발생할 수 있는 손해에 대해서도 책임을 지지 않는다는 것 까지 BSD와 동일함
  • Angular.js, jQuery

 

 

Apache 라이센스

  • 코드 공개 필요 X, 동일한 라이센스 적용 X, 상업적 이용 O
  • 아파치 소프트웨어 재단에서 자체적으로 만든 라이센스
  • 소스코드를 공개하지 않아도 됨
  • 소스코드를 수정 및 배포하는 경우에는 아파치 라이센스라는 반드시 명시해야 함
  • 안드로이드, 하둡

 


 

 

 

// 오픈소스SW개론 3주차

 

반응형

'CS > 운영체제' 카테고리의 다른 글

[소프트웨어 공학] 소프트웨어 공학이란?  (0) 2021.10.16
[쉘 스크립트] 기초  (0) 2021.10.14
[리눅스] 명령어 (검색, 비교)  (0) 2021.10.14
[리눅스] 명령어 (text)  (0) 2021.10.14
[리눅스] 명령어 (basic)  (0) 2021.10.13

댓글