구매하거나 다운로드하는 대부분의 소프트웨어는 컴파일된 바로 실행할 수 있는 버전으로 만 제공됩니다 . 컴파일은 소스 코드 라고 하는 개발자가 만든 실제 프로그램 코드가 소스 코드를 컴퓨터가 이해할 수 있는 형식으로 변환하는 컴파일러라는 특수 프로그램을 통해 실행되었음을 의미합니다( C 프로그래밍 작동 방식 참조컴파일러에 대한 자세한 내용은). 대부분의 응용 프로그램의 컴파일된 버전을 수정하는 것은 극히 어렵고 개발자가 프로그램의 다른 부분을 정확히 어떻게 생성했는지 보는 것은 거의 불가능합니다. 대부분의 상용 소프트웨어 제조업체는 이것을 다른 회사가 자신의 코드를 복사하여 경쟁 제품에 사용하지 못하도록 하는 이점으로 보고 있습니다. 또한 특정 제품의 품질과 기능을 제어할 수 있습니다.
오픈 소스 소프트웨어는 스펙트럼의 반대편에 있습니다. 소스 코드는 컴파일된 버전에 포함되어 있으며 수정 또는 사용자 정의가 실제로 권장됩니다. 오픈 소스 개념을 지원하는 소프트웨어 개발자는 소스 코드를 수정하는 데 관심이 있는 모든 사람을 허용함으로써 애플리케이션이 장기적으로 더 유용하고 오류가 없을 것이라고 믿습니다.
소프트웨어 개발 업계에서 오픈 소스 소프트웨어로 간주하려면 다음과 같은 특정 기준을 충족해야 합니다.
- 프로그램은 자유롭게 배포되어야 합니다( 아래 예에서 Red Hat이 Linux 로 수행한 것과 같이 판매되는 패키지의 일부일 수 있음 ).
- 소스 코드가 포함되어야 합니다.
- 누구나 소스 코드를 수정할 수 있어야 합니다.
- 수정된 버전을 재배포할 수 있습니다.
- 라이선스는 다른 소프트웨어의 배제를 요구하거나 다른 소프트웨어의 작동을 방해해서는 안 됩니다.
오픈 소스 소프트웨어의 실제 사례를 살펴보겠습니다. 1991년 핀란드 헬싱키 대학의 학생인 리누스 토발즈는 유닉스의 파생물인 미닉스를 기반으로 한 새로운 운영 체제를 개발했으며 이를 Linux 라고 불렀습니다 . Torvalds 는 오픈 소스 소프트웨어에 대한 좋은 법적 정의를 제공하는 GNU General Public License 하에 Linux 버전 0.02를 출시했습니다 . 전 세계의 많은 사람들이 Linux를 다운로드하고 사용하기 시작했습니다. 이 사용자 중 다수는 고유한 프로그래머였으며 Torvalds에 포함된 소스 코드를 수정했습니다. 다음 3년 동안 Torvalds는 다른 프로그래머로부터 이러한 수정된 버전을 받았고 많은 변경 사항을 기본 버전에 통합했으며 1994년에 Linux 버전 1.0을 출시했습니다.
오픈 소스 소프트웨어를 사용하려는 최종 사용자의 공통된 우려는 보증 및 기술 지원이 부족하다는 것입니다. 소프트웨어의 라이선스는 수정 및 사용자 지정을 권장하기 때문에 지원이 거의 불가능합니다. 이것이 1994년에 설립된 Red Hat Software 가 "공식 Red Hat Linux"를 만들고 일반적으로 "무료" 소프트웨어를 판매할 수 있는 이유 입니다. Red Hat이 패키지에 추가하는 주요 가치는 보증 및 기술 지원입니다. 대부분의 기업에서 기술 지원의 보장은 Linux를 단순히 무료로 다운로드하는 대신 구입하기로 결정한 핵심 요소였습니다. Red Hat 외에도 재판매를 위해 일반적으로 추가 소프트웨어와 함께 Linux를 패키징한 여러 회사가 있습니다.
Linux 외에 Mozilla (Netscape 브라우저 코어), Apache (웹 서버), PERL (웹 스크립팅 언어) 및 PNG (그래픽 파일 형식)는 모두 오픈 소스를 기반으로 하는 매우 인기 있는 소프트웨어의 예입니다.
다음은 흥미로운 링크입니다.
- CGI 스크립팅 작동 방식
- 오픈 소스 정의
- 리눅스 온라인
- 오픈 소스 소프트웨어 전용 웹 사이트
- 데비안: 무료 운영 체제
- 아파치 소프트웨어 재단
- 펄 홈페이지