소프트웨어란?

오픈소스가 무엇인지 알기 전에 소프트웨어가 무엇인지 알아야하지 않을까?

인터넷에 소프트웨어를 검색해보면

컴퓨터를 동작 시키고 컴퓨터에 어떤 일을 처리할 순서와 방법을 지시하는 명령어의 집합인 프로그램과 프로그램의 수행에 필요한 절차, 규칙, 관련 문서 등의 총칭, 보통 프로그램과 같은 의미로 쓰인다. 컴퓨터 시스템을 구성하는 요소 중에서 형체를 갖고 있는 하드웨어를 제외한 보이지 않는 무형의 부분을 소프트웨어라고 할 수 있다.(한국 정보통신 기술 협회)

전자계산기의 사용에 관한 사항을 총괄하는 분야, 하드뒈어의 대상어로써 이용된다.(도해 기계용어 사전)

이들을 조합해보면 소프트웨어는 하드웨어를 사람의 신체, 소프트웨어는 사람의 뇌 정도로 볼 수 있다. 즉, 소프트웨어는 컴퓨터, 스마트폰 등의 행동을 처리한다. 뇌가 기능에 따라 여러 부분으로 구분이 되는 만큼 소프트웨어도 기능에 따라 시스템 소프트웨어, 응용 소프트웨어로 나뉜다.

시스템 소프트웨어는 컴퓨터를 작동시키고, 효율적으로 사용하기 위한 프로그램으로서, 사용자들이 컴퓨터를 보다 편리하게 이용할 수 있도록 도와준다, 컴퓨터 사용자는 하드웨어를 잘 몰라도 시스템 소프트웨어의 사용법만 알면 컴퓨터를 이용할 수 있다. 운영체제(OS), 컴파일러, 텍스트 에디터 등이 이에 속한다.

응용 소프트웨어는 운영체제에서 실행되는 모든 소프트웨어를 말한다. 응용 소프트웨어는 영어로 Application Software인데 줄여서 App(앱)이라고도 한다.

"어? 애플리케이션은 스마트폰에만 있는 그거 아닌가?"

라고 생각하는 사람들이 있을텐데, 이는 MS에서 ‘(응용)프로그램’이라는 단어를 밀면서 ‘애플리케이션’이란 단어를 잘 쓰지 않게 되었다가 application의 약자로 app을 사용한 아이폰이 대히트를 치면서 그 인지도 탓에

'애플리케이션 = 스마트폰용 소프트웨어, 프로그램 = PC용 소프트웨어'

라는 인식이 생기게 되었는데 이는 잘못된 상식이다.

사용자와 소프트웨어의 상호작용