01. 용어 정리
모듈
- 소스코드를 파일 형태로 분리해서 재사용 가능하게 만든 단위.
- 형태에 상관없이 조립 가능한 프로그램 조각이라는 의미
라이브러리
- 모듈 중에서 함수나 클래스 단위로 구성된 형태들의 모임.
- 소프트웨어 개발에 쓰이는 하부 프로그램들의 모임이다.(위키백과)
- 쉽게 말하면 모듈과 라이브러리는 동일한 개념.
패키지
- 라이브러리가 모여있는 형태.
- 소프트웨어를 설치 가능한 형태로 묶어서 배포하는 것.
- 주로 압축파일 형태
오픈소스
- 자유 소프트웨어라는 의미.
- 인터넷에 누구나 사용할 수 있도록 공개되어 있는 소스트웨어 혹은 소스코드.(무료)
- 무료인 대신 원작자를 표기하고 수정한 사항에 대해 원작자에게 알려줄 의무가 생김.
- 서로 의견을 교환하며 하나의 코드를 발전시킬 수 있는 커뮤니티가 형성될 수 있다.(오픈소스 생태계)
- 영리, 비영리 목적으로 사용 가능 여부에 따라 라이센스 모델이 변경된다.
- GNU, MIT Apache 라이센스 등이 있다.