주요 프리-오픈소스 소프트웨어
Bash(Bourne Again Shell)
Bash는 유닉스형 운영체제에서 널리 사용되고 있는 쉘(shell) 프로그램의 한 종류이다. 쉘 프로그램이란 유닉스형 운영체제 시스템에서 사용자가 명령어 혹은 프로그램 이름을 입력할 수 있게 해주고, 입력된 명령어 혹은 프로그램을 실행시켜 주며, 그 결과를 사용자에게 알려주는 소프트웨어 프로그램이다. GUI(그래픽 사용자 인터페이스)가 등장하기 전에는 사용자가 컴퓨터에서 뭔가 작업을 하려면 쉘 프로그램에 관련된 명령어를 타이핑해야 했다. 과거에는 컴퓨터를 사용하기 위해서 문자 전용 모니터와 키보드가 붙어 있는 터미널(Terminal) 장치를 써야 했는데 터미널 장치를 통해 로그인을 하면 쉘 프로그램이 자동으로 실행되었다. 현재와 같은 그래픽 사용자 인터페이스에서는 터미널(Terminal) 프로그램을 실행하면 쉘 프로그램이 함께 동작한다.
BSD 유닉스
캘리포니아 대학교 버클리 캠퍼스에서 주도하여 개발한 유닉스형 운영체제이다. TCP/IP 네트워킹 지원으로 유명했다. 처음에는 클로즈드 소스 소프트웨어였으나 후에 프리 소프트웨어로 바뀌었다.
FreeBSD
BSD 유닉스에서 파생된 유닉스형 운영체제이다. BSD 유닉스는 초기에 인텔 386계열 프로세서를 지원하지 않았으나 후에 386BSD라는 버전이 만들어지면서 개인용컴퓨터를 지원하기 시작했다. 그런데 386BSD 버전의 개발이 빠르게 진행되지 않자, 386BSD를 기반으로 하는 새로운 개발 프로젝트가 파생되었다. 현재도 개발이 이루어지고 있으며 다양한 시스템을 지원한다.
GIMP
이미지 편집을 위한 소프트웨어이다. 어도비의 포토샵을 대체하여 사용할 수 있을 정도로 경쟁력 있는 각종 기능을 제공하고 있다.
glibc
GNU 프로젝트를 위한 C 표준 라이브러리이다. C 표준 라이브러리란, C 언어에서 사용할 각종 기능들을 함수(function)의 형태로 구현하여 파일에 모아 놓은 것을 말한다. 이렇게 되면 C 언어로 프로그래밍하는 사람은, 자신이 원하는 기능이 라이브러리에 있을 경우, 구태여 새로 만들 필요 없이 그 기능에 해당하는 함수의 이름을 프로그램에 사용하면 된다. 이렇게 되면 컴파일과정에서 자동으로 해당 함수가 포함된다.
GNU/리눅스 배포판
리눅스를 커널(kernel)로 사용하고 GNU에서 개발한 각종 소프트웨어들을 추가하여 하나의 운영체제 시스템으로 만든 것을 말한다. 즉, 컴퓨터 하드웨어에 배포판을 설치하면 완전하게 동작하는 컴퓨터 시스템으로 사용할 수 있게 된다. 리눅스 커널의 버전과 추가된 각종 소프트웨어의 구성에 따라 다양한 조합이 가능해지며 그로 인해서 여러 가지의 배포판이 출현했다. 대표적인 배포판으로는 다음과 같은 것들이 있다.
- 위그드라실(Yggdrasil)
- 슬랙웨어(Slackware)
- 데비안(Debian)
- 레드햇(Red hat)
- 린도우즈(Lindows)
- 맨드리바(Mandriva)
- 젠투(Gentoo)
- 수세(SUSE)
- 우분투(Ubuntu)
GTK+
GTK+는 X 윈도우 시스템을 위한 위젯 툴킷 중 한 가지이다. 위젯 툴킷이란 그래픽 사용자 인터페이스에 나타나야 할 특정 모양들을 만들어 주는 함수들이라고 볼 수 있다. 예를 들면 화면에 나타나는 윈도우 만들기, 팝업 메뉴 만들기 같은 것들을 들 수 있다. GTK+는 원래 GIMP 소프트웨어를 위해 만든 툴킷이었는데 다른 소프트웨어에도 쓸 수 있도록 확장되었다.
MySQL
관계형 데이터베이스 중 한 가지이다. 한때는 무료 웹서버용으로 가장 각광을 받았으나 오라클에 의해 인수된 후에는 MariaDB와 경쟁 관계를 보이고 있다.
NetBSD
BSD 유닉스에서 파생된 유닉스형 운영체제이다. 개발모델에 대한 의견 차이로 인해서 기존의 BSD 프로젝트로부터 분화되었다. 이름에서 강조하고 있듯이 인터넷을 통한 분산-협력이 특징이다. 현재로 개발이 이루어지고 있으며 내장형 시스템을 포함하여 다양한 시스템 플랫폼을 지원하는 것이 강점이다.
Nginx
웹 서버 소프트웨어 중 한 가지이다. 아파치 서버에 이어 두 번째로 많이 사용되고 있으며, 비동기 이벤트 방식으로 동작하기 때문에 많은 부하를 처리하는 장점을 가지고 있다.
OpenBSD
NetBSD에서 파생된 유닉스형 운영체제이다. 보안에 강점을 가지고 있다.
PHP
인터프리터 방식으로 동작하는 프로그래밍 언어이다. 원래 동적 웹 페이지를 만들기 위해 설계되었으며 현재도 웹 페이지의 백엔드를 구성하는 용도로 많이 사용되고 있다. 대표적인 CMS 도구인 워드프레스도 PHP 기반이다.
XFree86
X 윈도우 시스템의 구현 중 한 가지이다. 현재는 XFree86에서 파생된 X.Org가 리눅스와 맥 OS X 등에서 사용되고 있다.
Git
소프트웨어 소스 코드의 이력을 관리하는 도구이다. 소스 코드가 변경될 경우, 변경 정보를 기록해서 후에 과거 변경 내역을 확인하거나 변경을 취소해서 복구할 수 있게 해 준다. 하나의 코드를 서로 다른 컴퓨터에서 수정하여 관리하는 것을 허용하는 분산 버전 관리 시스템이다. 리눅스를 개발한 리누스 토르발스에 의해서 만들어졌다.
Linux
POSIX 표준을 따르는 운영체제 커널(kernel)이다. 유닉스와 마찬가지로 프로세스 관리, 파일시스템 관리, 메모리 관리, 프로세스 통신 관리 등의 기능을 가지고 있다.
Mozilla Firefox
웹 브라우저의 한 가지이다.
Mozilla Thunderbird
이메일 및 뉴스 그룹를 위한 클라이언트 소프트웨어이다. 이메일을 읽고 쓸 수 있으며 뉴스 그룹에 접근해서 게시된 글들을 읽거나 쓸 수 있다.
Samba
네트워크를 통해서 컴퓨터 사이에 파일을 공유할 수 있게 해 주는 소프트웨어이다. Samba가 설치되어 있으면 네트워크에 있는 다른 컴퓨터의 하드 디스크를 내 컴퓨터에 있는 하드 디스크처럼 접근해서 쓸 수 있다.
Libre Office
오픈소스로 개발되고 있는 오피스 제품군이다. 마이크로소프트 오피스처럼 워드프로세서(Writer), 스프레드시트(Calc), 프리젠테이션(Impress), 데이터베이스(Base) 등과 함께 그림그리기용 Draw와 수학 수식용 Math가 포함되어 있다.
Apache HTTP Server
웹 서버 소프트웨어 중 한 가지이다. 현재 가장 널리 사용되고 있다.
Evolution
GNOME의 공식적인 개인 정보 관리자이다. 마이크로소프트 아웃룩과 하는 일이 유사하다. 이메일, 주소록, 일정, 작업 목록 등의 기능을 제공한다.
Emacs
리처드 스톨먼이 개발한 문서 편집기이다. 본래는 프로그래밍 용도로 개발되었으나 다양한 부가 기능이 추가되면서 포괄적인 텍스트 처리 소프트웨어가 되었다.
MongoDB
비정형 데이터 저장을 가능하게 하는 NoSQL 방식의 데이터베이스 시스템이다.
Python
인터프리터 방식의 프로그래밍 언어이다.
Perl
인터프리터 방식의 프로그래밍 언어이다.
Hadoop
대용량의 데이터를 분산 병렬 처리하기 위한 플랫폼이다. 구글 파일 시스템을 본떠서 만든 분산 파일 시스템(HDFS)에 맵리듀스(map-reduce) 기능이 결합되어 있는 형태이다.