학자들이 만든 오픈소스

한편 학계에서도 위의 경우와는 별개로 오픈소스를 배포한 사례들이 있었다. 이제 그 사례들을 이야기 해보도록 하겠다.

첫 번째 사례는, 도널드 크누스가 만든 “Tex” 이다. “Tex”란 출판 및 조판용 언어로써 개발되었으며 실제로 도널드 크누스의 대표적인 저서인 TAOCP(The Art Of Computer Program)를 출판하는데 쓰인 튜링 완전 언어이다. 사실 이 언어가 만들어진 계기가 조금 재미있다. 스토리는 다음과 같다. 때는, 1970년

지금도 “Tex”는 “Latex” 이라는 발전된 형태로 학계에서 논문 작성 시에 쓰이고 있다. 그리고 학술 논문 작성시에 사실상의 표준(Da-facto)로 쓰이고 있다. 여담으로, 도널드 크누스의 저서인 “The Art Of Computer Program”은 난이도가 매우 높은 책이라고 정평이 나있으며, 빌게이츠가 “저 책의 1권만이라도 완벽하게 이해하는 사람이 있다면 나는 무조건 그 사람을 거액을 주고 우리 회사에 스카우트를 하겠다” 라고 발언한 적이 있을 정도로 난이도가 매우 높은 책이다.

두 번째 사례는, 미닉스(MINIX) 이다. 미닉스는 앤디 타넨바움(Andy Tanenbaum) 교수가 1987년 만들었으며, IBM-PC에서 작동하는 유닉스 기반의 OS이다. 이 OS가 만들어진 이유는, 운영 체제가 어떻게 작동하는지 배우길 원하는 학생들에게 배움을 주고자 하였기 때문이다. 교육용 목적이었기 때문에, 자신이 작성한 “OS 디자인과 구조”라는 교재에 부록으로 소스코드를 첨부하였으며, 자신의 교재도 해당 OS를 이용하여 운영체제의 구조와 원리 대한 내용을 교육하였다. 미닉스가 리눅스의 제작에 크나큰 영향을 준 OS이다. 실제 리누스 토발즈도 그의 저서 “Just For Fun”에서 미닉스가 리눅스 제작에 많은 영향을 주었다고 언급하고 있다. 여담으로, 미닉스는 리눅스 만큼은 아니지만, 교육용 OS로도 은근히 많이 쓰였으며, 실제 현업에서도 알게 모르게 사용된 곳이 많았다. 대표적으로 인텔 메인보드의 제어 칩셋에 인텔 CPU와 하부 SoC(System On Chip)제어용 RTOS(Realtime OS, 실시간 제어와 같이 일반 OS보다 가벼운 OS가 필요할 때 사용하는 OS)로 미닉스가 탑재된 사례가 있었다. 또한 2017년 말, 탑재된 미닉스 OS 모듈 내부에 통칭 “Intel AMT”라고 불리는 취약점이 발견되었다. 이 취약점을 이용하면, 원격으로 악의적인 사용자 곧, 해커들이 사용자의 PC를 조종 할 수 있는 권한을 획득하게 된다.

마지막 사례는 SPICE라는 프로그램이다. 이 프로그램은 회로 설계용 및 시뮬레이션 프로그램으로써, 캘리포니아 대학교에서 “Laurence Nagel“ 이라는 사람에 의해 개발되었다. 해당 프로그램은 포트란으로 작성되었다. SPICE는 최초 공개 후 곧 널리 퍼지기 시작하였으며, 이후 개발되는 많은 회로 시뮬레이션 및 설계 관련 프로그램에 많은 영향을 주게 되었다. SPICE 소스코드는 처음부터 오픈소스 형태로(엄밀히 말하면 퍼블릭 도메인 소프트웨어로 배포 되었다) 배포되었으며, 현재는 오픈소스 라이센스의 종류중 하나인 BSD 라이센스로(참고로 해당 라이센스는 GPL에 비해서 상대적으로 관대한 규정을 가지고 있다)배포 되고 있다. 이러한 오픈소스 형태로 배포한 것이 이 소프트웨어의 확산에 중요한 영향 중 하나로 작용한 것이다.

도널드 크누스가 작성한 The Art Of Computer Programming. 해당 책은 Tex로 작성되었으며, 악명 높은 난이도와 아직도 시리즈가 완성이 안된 책으로 유명하다.

Intel AMT\(Active Management Technology\)의 설정화면이다. 2017년도에 해당 기능이 구현된 하드웨어에 올라간 MINIX의 소스코드 에서 취약점이 발견되었다.