반응형
소프트웨어의 역사 유닉스 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 |
댓글