오픈소스 표면적으로는 소프트웨어의 소스코드를 공개한다는 의미이지만, 이보다 깊은 합의를 지닌다. 1980년대 소프트웨어의 이용,배포,복제,수정 등에 일정한 제한을 가하려고 하는 추세가 이어지자 리처드 스톨만이 독점 소프트웨어 개발 방식에 반발해 공유를 주장하는 운동으로 벌였는데 이를 일반적으로 오픈소스 운동이라고 부른다. 이후 자유 소프트웨어 진영과 오픈소스 소프트웨어 진영으로 분리돼 논쟁이 진행되기도 했다. 오픈소스라고 해서 모든 소스코드를 자유롭게 이용, 배포, 복제, 수정할 수 있는 것은 아니며 이용을 제한할 수 있다.