공유 소스(영어: Shared Source)는 컴퓨터 프로그램의 소스코드를 개인 또는 조직이 공유하기 위한 마이크로소프트의 프레임워크[1]이다. 마이크로소프트 소스 공유 계획에는 기술이나 라이선스도 포함된다. 그 대상물의 대부분은 누구라도 다운로드가 가능할 수 있도록 하는 것이 일반적이나, 특정 공동체의 요구에 알맞게 조정되는 것들도 있다. 그러한 프로그램의 경우, 충족해야 할 자격 기준이 있다.
공유 소스는 다른 독점 라이선스에 비해 많은 장점을 최종 사용자에게 제공한다. 그 중 하나가 보조 시스템을 개발하기 위한 소스 코드의 열람이다. 예를 들어, 운영체제의 중요한 부분의 소스 코드를 참조하여 응용 프로그램 개발자가 프로그램의 안정성과 일관성을 유지하는 데에 도움을 주는 것이다. 또한, 소스 코드 검토를 고무하는 효과가 있다.
공유 소스는 권리 소유자에게도 혜택이 있다. 일반적으로 저작자의 권리를 포기하는 오픈 소스 라이선스에 비하여, 대상 제품에 대해 더 조밀하게 제어할 수 있다. 독점 소프트웨어의 개발을 주로 하는 회사의 관점에서 보면, 전환이 비교적 용이하기 때문에 완전한 오픈 소스에 대한 중간 단계로 쓰일 수 있다.
다음과 같이 나눌 수 있다.