GUI

1 개요

지금 여러분이 쓰고 있는 OS인터페이스[1]
설마 도스유닉스 콘솔로 보는 사람은 없겠지 사실 Lynx라고 리눅스 터미널에서 구동되는 웹 브라우저가 있긴 하다. 대신 이미지는 똥망...

Graphical User Interface의 약자다. 현재 OS는 물론이고 온갖 게임이나 유틸리티 등에서도 모두 이용되고 있는 이른바 세계의 대세. 기존의 직접 문자를 입력하는 인터페이스는 CLI(Command-line Interface) 또는 CUI(Character User Interface)라고 부른다. UNIX 콘솔이나 도스 시리즈가 CLI의 대표적인 예.

CUI 와 GUI의 차이를 알기 쉽게 설명하면, CUI는 음식을 주문 할 때 융통성이란 하나도 없는 점원에게 단 하나라도 문맥 및 문법 상의 오류가 없도록 메뉴를 말 또는 글로 주문하는 것이고, GUI는 점원에게 음식이 그려진 메뉴판에서 원하는 것을 가리키며 달라고 하는 것과 같다.

장점 역시 이와 같은데, GUI의 일단 눈에 확 띄어서 뭘 하는지 잘 보인다는 점과 쉽고 직관적인 조작방식이 있다. 따라서 컴퓨터 언어를 몰라도 조작이 가능한데, 비유를 하면 외국 식당에 가서 주문을 넣을때, 해당 지역의 언어를 구사할 줄 몰라도 단순히 메뉴판의 그림을 가리키는 것 만으로도 주문이 가능한 것과 같다. 그밖에 CUI는 추상적인 명령어를 입력해야 했고, 명령을 입력해서 이게 잘 되나 안 되나 직접 눈으로 보는 것도 힘들었지만 GUI는 알기쉽게 그래픽으로 다 표현해준다. 조작도 명령어 입력 이런거 없고 그냥 마우스 커서 갖다대서 클릭만 하면 다 된다.

2 역사

보통 이쪽 바닥에서 최초의 GUI 인터페이스가 뭐냐고 물어보면 애플이다 제록스다 하지만, 그 시초는 1958년의 미 NORADSAGE싸제 시스템이다. 물론 이 때는 창이라든가 아이콘같은 사용자 친화적인 건 쥐뿔 없고, 레이더 위에 뜨는 영상을 라이트펜[2]으로 찍으면 이게 아군기인지 적(=소련)기인지 구분해내는 형태의 모양으로, 아무튼 글자가 배제되어 천공카드나 점퍼선같은 흉악한 인터페이스 없이 그림만으로 사용자(=병사)가 컴퓨터와 소통할 수 있게 만들었다는 점 만으로도 나름 획기적인 인터페이스였다. 다만 당시로서는 이게 다 군사기밀이라 민간에 사용될 수가 없었다는 게 문제다. 아무튼 이 시스템은 그 이후 1983년까지도 잘 써먹었다.

그 후 1963년에는 희대의 대괴수 아이번 서덜랜드MIT 박사논문인 "Sketchpad: A Man-machine Graphical Communications System"에서 스케치패드가 등장하는데, SAGE에 대해서는 좀 논란이 있지만 본격적인 최초의 GUI가 스케치패드라는 것에는 별 반론이 없다. 대충 콜로서스ENIAC의 관계라고 생각하면 비슷하다. 그리고 이를 계기로 서덜랜드는 국방성을 거쳐 이런저런 연구 프로젝트를 뛰게 되는데, 이 때 키워낸 제자들의 위용이 좀 많이 무섭다. 몇 명 보자면...

... ㅎㄷㄷ

그리고 테드 넬슨이 제안한 하이퍼링크의 개념과 GUI를 제어할 수 있는 효과적인 입력장치인 더글러스 엥겔바트마우스가 등장하고, 1981년에 와서는 우리가 생각하는 GUI 형태의 인터페이스를 가진 OS를 탑재한 최초의 컴퓨터인 제록스 스타(Xerox Star)가 등장하게 된다.

제록스(복사기 만든 제록스 맞다)팰로앨토 연구소에서 개발한 앨토(Alto) 컴퓨터에서 이용된 스타 워크스테이션은 비트맵 방식으로 그려진 GUI 인터페이스를 갖추고 있는 획기적인 컴퓨터였다. 다만 제록스에서 이걸 파는 데에 별 관심이 없었고[3] 잘 팔리지도 않았기 때문에 2000대 정도 생산해서 연구소 내에서만 돌려 썼다. 물론 전자출판 시장을 염두에 두고 개발한 워크스테이션 개념이었지만, 가전박람회에 출품되었을 때도 별 관심을 못받았다. 그러나 이걸 박람회에서 본 애플은 큰 충격을 받고 가능성을 보았기에, 애플 내에서 GUI식의 운영체제에 대한 연구가 진척되기 시작한다. CNBC의 Titans 스티브 잡스 편을 보면, 애플은 제록스에 100만 달러어치의 애플 주식을 대가로 지불하고 알토연구소에서 필요한 기술 자료와 이를 바탕으로 제품을 개발할 권리를 얻는 데 합의한다. 그리고 그 결과 나온 게 애플 리사지만... 결과는 어땠는지 해당 항목 참조.

...그러나 다행히도 매킨토시의 등장으로 애플은 GUI의 확립에 성공했고, GUI를 애플의 마스코트격인 자리로까지 올리는데 성공했다. 86년에는 애플에 컬러 GUI를 도입한[4] 강화형인 애플 IIGS가 등장하면서 애플의 컬러 GUI가 첫 등장했다.[5]

아타리에서도 자사의 PC인 아타리 ST에서 GEM(Graphical Environment Manager)이라는 GUI를 사용했으며 GEM은 현재 자유 소프트웨어 진영으로 개발권이 넘어가서 수많은 유저들에 의해 개조되고 있다.

도스같은 CUI 환경에서도 GUI를 구현하려는 노력은 펼쳐졌었는데, 일반적으로 메모리가 딸리는 관계로 진짜 그래픽을 사용할 엄두는 내지 못했지만 ANSI 아트를 응용하여 ANSI를 활용해 그래픽처럼 보이게 하는 기술을 사용했다. 대표적인 예가 도스 시절의 노턴 유틸리티 시리즈이며 좀더 친숙한 걸 들자면 Mdir같은 예도 있다.

80년대말부터 90년대초까지 OS쪽에서는 아미가의 아미가 워크벤치(1985), IBMOS/2(1988), NeXT의 NeXTSTEP(1989), Be의 BeOS 등이 등장하면서 OS시장에서 GUI 각축전이 벌어졌지만 마이크로소프트Windows 95(1995)를 내놓으면서 모든 상황이 정리되었다.

3 애플과 마이크로소프트의 소송전

흑역사라면 흑역사인 이야기. 애플에서 매킨토시를 내놓으면서 휴지통 아이콘, 창 겹침[6][7] 같은 GUI 중에서 자기들이 직접 개발한 요소들을 특허로 등록했다. 그러다 나중에 이러한 요소가 들어간 GUI를 쓰는 마이크로소프트휴렛팩커드를 고소해 버린 것이다.

이런건 IT업계에서 관심가질 만한 사항이고, 실제 법률적으로는 포인트가 다른데 재판의 법률적 쟁점은 약간 다른 문제다. 애초에 애플은 마이크로소프트에 새로운 OS의 개발에 공동으로 협력하는 조건으로 애플의 GUI 특허의 일부를 사용하는 것으로 계약했는데, 계약서에 기간을 명시하지 않은 것이었다. 애플은 1회에 한해서 사용이 허락된 것이라고 보아야 한다고 주장했고, 마이크로소프트는 기간이 명시되지 않았으니 무기한이라고 주장했다. GUI 요소들이 특허로 등록된 요소이기에 처음에는 애플이 유리했다. 마이크로소프트는 결국 제록스에 SOS를 보낸다. 제록스의 특허전문 변호사들이 부랴부랴 오래된 서류를 뒤져서 겨우 자신들이 GUI의 원천 특허를 가지고 있음을 발견했다. 당시까지도 제록스는 자신들이 GUI의 원천 특허를 보유한 사실도 몰랐다고 한다. 결국 제록스가 애플을 고소해서 물고 물리는 양상으로 번졌는데 애플은 과거 제록스와 계약으로 GUI에 대한 권리를 갖는다고 주장했지만 제록스와의 합의는 엄밀히 말해서 제록스가 보유한 GUI 특허권을 양도하는 합의는 아니었기 때문에 받아들여지지 않았고 제록스의 원천 특허에 터잡은 애플의 특허들은 무효화 되었다.

결국 1심에서 애플은 패소, 마이크로소프트는 승소했다. 곧 애플은 재심을 신청해서 2심으로 넘어갔으나 애플로 돌아온 스티브 잡스빌 게이츠와 합의해서 소송은 취하되었다.

제록스의 특허는 인정되나 권리주장 기간이 도과해서 독점적인 권리는 부정되어 결과적으로 마이크로소프트의 승리, 애플의 패배라고 할 수 있고, 제록스는 좋다 말았다.

일부 자유 소프트웨어 진영에서는 애플을 상도덕도 모르는 놈들이라고 하면서 애플 불매운동을 펼치기까지 했었다. 7년이나. 현재도 자유 소프트웨어 진영은 애플을 싫어한다는 걸 생각해보면 꽤나 감정의 골이 깊다는 걸 알 수 있다. 소송걸기라면 둘째가라면 서러워하는 자유소프트웨어재단도 애플과 소송전을 하지 않는 것을 보면 상당히 애매한 상태라고 할 수 있다.

오픈소스 진영의 가장 중요한 인물인 리누스 토르발스의 책을 보면 잡스가 오픈소스 진영과 얽혀있는 문제(즉 OSX의 베이스인 결국 마하와 BSD의 문제)를 일거에 해결하기 위해 토르발스에게 만나기를 요청한 적이 있다고 한다. 토르발스는 떨떠름하면서도 일단 만났는데, 리눅스 진영과 애플이 손을 잡자는 잡스의 열변을 듣고 나서 자신은 마이크로소프트의 마켓셰어나 독점 문제, 판매량에 전혀 관심이 없다고 말하자 잡스는 잠시 생각하다가 깨끗하게 협조 아이디어를 포기했다고 한다.[8]

4 관련 항목

  1. 2010년대부터는 OS에 진입하기도 전에 GUI를 쓸 수 있는 지경이 되었다! UEFI 참조.
  2. 전자펜. 타블렛비슷한 형태라고 생각하면 된다.
  3. 당시 제록스가 복사기 시장에서 경쟁하느라 바빠서 다른 부분에는 별로 신경 못 쓴 이유도 있다. 당시 팔로 알토 연구소에 만든 것 중 좀 후덜덜한 것들이 많은 생각해 보면...
  4. 제록스 스타나 애플 리사나 매킨토시나 전부 흑백이었다. 이때는 모니터 기술이나 메모리 가격 문제 등으로 인해 흑백 그래픽 카드가 더 고해상도 그래픽에 적합했기 때문이다. 허큘리스 참고.
  5. 애플이 최초의 컬러 GUI를 만든 것은 아니다. 성능은 구리지만(...) 마이크로소프트 윈도우 1.0이 1년은 먼저 나왔고, 다른 기종에서도 컬러를 지원하는 셸 프로그램이 여럿 있었다.
  6. 이거 때문에 윈도우즈 1.0은 창이 겹치지를 못했다
  7. 하지만 당시에는 창겹침이 구현하기 굉장히 힘든 기술이었다. 제록스 직원들도 애플이 이걸 해낸 것을 보고 놀랐다고.
  8. 이후 애플은 Clang 등을 통해 BSD 진영의 대표적인 후원자로 등극하게 된다.