1.3 오픈소스와 라이선스
오픈소스
- 개발자(저작권자)가 소스코드를 공개하여 누구나 사용, 수정, 공유할 수 있도록 허가한 소프트웨어
- 반대 개념은 “proprietary(closed) 소프트웨어”라고 함
소프트웨어 라이선스
- 컴퓨터 프로그램은 지식재산권으로 보호받는 저작물
- 원칙적으로 저작자가 공표, 복제, 배포, 개작할 권한을 가짐
- 타인에게 일정한 대가나 조건을 전제로 권한을 부여할 수 있음
오픈 소스의 장점
- 누구나 잘못된 점을 발견하고, 알리거나 고칠 수 있음
- 배울 수 있고, 효율적 프로그램 개발에 적용할 수 있음
- 오픈 소스는 여러 사람에 의해 테스트되어 안전함
- 오픈소스 운동의 철학은 커뮤니티를 통한 협력, 공유, 개방이 발전을 위해 효율적이라는 것
GNU 프로젝트와 자유 소프트웨어 운동
- 목적에 상관없이 프로그램을 실행할 수 있는 자유
- 프로그램을 복제하고 공유할 수 있는 자유
- 소스코드를 개작할 수 있는 자유
- 개작된 프로그램을 배포할 수 있는 자유
: 소프트웨어의 소스코드는 공개
리눅스의 라이선스
- 리눅스는 독점되거나 배타되지 않는 자유 소프트웨어
: 공개 라이선스에 따라 자유롭게 고치고 배포 가능
- 주로 GPL(GNU General Public License)를 따름
- 일부는 LGPL(GNU Lesser General Public License)
- X Window는 MIT 라이선스
GNU GPL
- 자유롭게 사용, 복제, 배포
- 필요에 따라 자유롭게 수정하고 배포
- 수정하여 배포하는 경우 소스코드를 공개하여야 함
- 수정된 소프트웨어에 저작권을 표시하고 똑같이 GPL 조건으로 배표하여야 함
다양한 오픈소스 소프트웨어 라이선스
> GPL, LGPL, MPL
- 소스코드를 공개하여야 하는 카피레프트 라이선스
: 기본적으로 코드를 공개하도록 함
- LGPL은 주로 오픈소스 라이브러리에 적용됨
- MPL 코드와 결합하여 프로그램을 만들 때, MPL 코드를 포함하지 않은 파일은 공개 의무가 없음
- 소스코드의 공개 범위는 다르게 정의됨
: 전체/ 파일/ 모듈 단위 등
> BSD, Apache, MIT 라이선스
- 배포 시 소스코드의 비공개가 허용됨
- Permissive 라이선스라고 함
- 코드의 재사용을 높이려는 목적
1.4 리눅스 배포판
주요 리눅스 배포판의 종류
- Debian 계열 : Debian, Ubuntu 등
- Slackware 계열 : Slackware, SUSE 등
- Red Hat 계열 : Redhat, Fedora, CentOS 등
Debian 리눅스
> Debian 프로젝트
- 자유 운영 체제를 만들어가는 사람들의 독자적인 모임
- Ian Murdock에 의해 1994년에 비영리 조직으로 설립
> GNU 정신에 가장 충실한 배포판
- GNU의 공식적인 후원을 받는 유일한 배포판
> 세 가지 릴리스를 유지
- stable, testing, unstable
- 코드명을 가지며 unstable 버전은 항상 코드명이 sid
> Red Hat 리눅스
- 배포판 가운데 가장 널리 알려진 리눅스
- Red Hat Linux
: 2003년 지원 중단 : 마지막 버전은 9
- Red Hat Enterprise Linux(RHEL)
: Red Hat 사에 의해 지원 : 최신 버전은 7
- Fedora라는 오픈소스 프로젝트를 지원
- RPM(Red Hat Package Manager)
: 바이너리, 설정파일, 라이브러리, 문서 등을 일괄 관리 기능
: 데이터베이스를 검색하여 패키지나 특정 파일의 검색 기능
: 패키지에 필요한 파일, 의존성 유무 등을 조사하는 기능
> CentOS 리눅스
- Red Hat 리눅스로부터 파생
- Red Hat Enterprise Linux(RHEL) 기반의 무료 버전
: RHEL의 소스코드를 기반으로 만들어지는 무료 배포판
: RHEL은 유료로 지원
- 서버용으로 많이 사용됨
- 최신 버전 : 7.3
> SuSE 리눅스
- Slackware 리눅스로부터 파생
- 독일에서 만든 배포판, 유럽에서 많이 사용
- Software und System Entwicklung의 약자
- 풍부한 기능, 안정성, 보안 기능을 포함
- Novell 사에 의해 지원
- 두 가지 종류
: SUSE Linux Enterprise(유료)
: openSUSE(무료)
> Slackware 리눅스
- SLS 리눅스로부터 파생
- 가장 먼저 대중화된, 현존하는 가장 오래된 배포판
- 1992년 Patrick Volkerding에 의해 시작됨
- 간결함을 설계 철학으로 함 (the KISS principle)
: 현재 GNOME desktop이 제외되어 있음
- 유닉스 자체 학습에 적합
> Ubuntu 리눅스
- Debian 리눅스로부터 파생
- 데스크톱 Unity를 제공하여 리눅스를 쉽게 사용할 수 있도록 함
- Debian 리눅스에 비하여 사용 편리성에 중점을 둠
- 인기 있는 리눅스 배포판 중 하나