오늘:
1,798
어제:
2,964
전체:
3,224,823

오픈소스 이야기

2018.08.13 17:08

XFree86과 X.Org

조회 수 1203 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
원작자 : https://joone.net/

XFree86과 X.Org


MIT는 1987년 9월 15일에 X11(X 윈도우 버전11)을 공개했다. 워크스테이션 제조 회사들은 앞다투어 X11을 자신들의 워크스테이션에 적용했고, 많은 투자를 하기 시작하기 했다. 특히 DEC는 1200여명의 엔지니어를 고용해서 Ultrix와 VMS에 X11를 포팅했다.

하지만, 각 회사에서 X윈도우를 따로 개발하다보니, 호환성에 문제가 생기기 시작했다.

MIT는 더 이상 X윈도우 개발을 감당하기 어려웠고, 1988년 여러 회사들이 X 컨소시엄을 구성해서 X 파편화를 막기 위해 공동으로 개발을 진행한다.

이때부터 새로운 개발자들이 X개발에 참여하기 시작한다.

1988년 1월, 짐 풀톤(Jim Fulton)이 참여했고, 3월에는 키스 패커드(Keith Packard)가 참여했다.

짐은 Xlib, 폰트, 윈도 관리자와 유틸리티를 맡았고, 키스 패커드는 X서버를 다시 구현했다. 이후 도나 컨버스(Donna Converse), 크리스 피더슨(Chris D. Peterson), 스테판 길데아(Stephen Gildea)가 합류했고, 이들은 프로젝트 아테나(Project Athena)를 개발한 랄프 스윅(Ralph Swick)와 함께 UI 툴킷과 위젯(widget)을 개발했다.

위젯 전쟁

X Athena Widgets (출처: 위키피디아개발 문서)

당시 X윈도우에서 응용 애플리케이션을 개발하는 것은 쉽지 않았다. 특히, X 윈도우가 기본적으로 제공하는 UI 툴킷은 프로젝트 아데나에서 사용된 X 아데나 위젯인데, 레퍼런스로 구현된 위젯이라서 많이 사용되었다. 하지만, 디자인이 단순하고 기능이 부족했다.

오픈 소프트웨어 재단(Open Software Foundation)은 비영리 단체로 유닉스 표준화 및 구현을 위해 1988년 미정부에 의해 섭립되었다. 이 단체는 X 윈도우용 모티프(motif)라는 UI 툴킷을 개발하시 시작한다.

1989년 모티프가 처음 릴리스되었지만, 당시는 독점 소프트웨어였다. 게다가 썬 마이크로시스템즈과 AT&T는 독자적인 툴킷인 오픈룩(OpenLook)을 개발하고 있었다.


썬 마이크로시스템스과 AT&T가 개발한 OpenLook (출처: 위키피디아)

문제는 개발자 그룹이 양분되고 추가 비용도 발생해서 일부 개발자는 X윈도우에서 기본 제공하는 아데나 툴킷을 사용하기도 했다.

이처럼 1990년 초까지 유닉스 업계는 과도한 경쟁으로 마이크로소프트 윈도우가 일반 사용자 시장의 인기를 기반으로 서버까지 넘보게 만드는 실수를 범한다.

유닉스 진영: “Motif 너무 무거워”, “OpenLook이나 제대로 완성하고 이야기를 해야지”, “싸울 때가 아니야, MS윈도를 보라고”
MS: 내가 NT를 준비중에 있는거는 모를거다.

결국, 유닉스 진영이 MS윈도와 경쟁하기 위해서는 공통의 데스크탑 환경이 필요하다는 것을 느끼고 모티프를 기반으로 새로운 데스크탑 환경을 개발하기 시작한다. 썬 마이크로시스템스도 오픈룩 개발을 중단하고 이에 동참한다.

1993년 6월, HP, IBM썬소프트USL는 CDE(Common Desktop Environment)를 발표한다.


CDE(Common Desktop Environment) 모습 (출처: 위키피디아)

1994년 개발 그룹은 CDE를 유닉스 표준 데스크탑환경으로 만들기 위해서 오픈 소프트웨어 재단에 프로젝트를 이관하고 모티프와 함께 하나의 프로젝트로 만든다.

오픈그룹 결성과 X 유료화의 실패
1997년 유닉스 업계는 마이크로소프트와 효과적인 경쟁을 위해 유닉스 기술 표준화와 인증 업무를 총관할하는 오픈 그룹(Open Group)을 창립한다. 580여개 멤버 회사가 참여한 이 단체는 유닉스 상표권 관리와 기존 X/Open에 하던 유닉스 표준화 업무를 이어받고 CDE와 모티프 개발하는 오픈 소프트웨어 재단도 합병한다.

X 개발 역시도 오픈그룹으로 이관되었고, 1998년초 X11R6.4릴리스한다. 이때 X가 유료화되는데, 비상업적 이용이외에는 라이선스 비용을 내야했다.

XFree86은 당시 인가가 높은 인텔 CPU를 기반으로한 리눅스에 X윈도우를 포팅하는 개발자 공동체였다. 이들은 X 유료화에 반대했고, 소스코드 포킹을 만지작 거리자 오픈그룹은 바로 바로 유료화를 포기하고 예전 라이선스로 돌아가서 1998년 8월 X11R6.4를 릴리스 한다.

하지만, 이미 마음이 뜬 개발자와 사용자들이 자유를 찾아 XFree86 프로젝트로 모여들기 시작한다. 오픈 그룹은 결국 X11R6.4 patch 3를 마지막으로 릴리스하고 사실상 X를 개발을 포기한다. 

X.Org와 XFree86
XFree86 프로젝트는 X11R5를 기반으로 1991년 시작되었고 이름에서 볼 수 있듯이, 386 PC에 X를 적용하기 위해 시작된 프로젝트였지만, 리눅스 열풍과 함께 실제 X개발의 주도권 가져가져서 X의 de-facto 표준이된다.

.

오픈그룹은 1999년 다시 X.Org팀을 만들고 X11R6.5.1를 릴리스한다. XFree86 개발그룹도 회원비가 없는 명예 멤버로 초대된다.

하지만, X.Org에서 X 개발은 소멸 상태였고, 여전히 대부분의 개발은 XFree86에서 이루어진다.

하지만, XFree86은 성당 스타일의 폐쇄적인 개발 모델을 유지했다. 개발자들은 CVS commit 권한이 없었고, 유닉스 업체들도 자신들의 패치를 업스트림에 적용하지 못해 각자 따로 관리했어야했다.

이에 반기를 든 키스 패커드는 XFree86 코어 개발팀에서 쫓겨나고 만다.

2004년에는 기존 MIT 라이선스에 별도로 BSD 라이선스와 같은 광고 조항을 추가해서 라이선스를 더 제한적으로 바꾸었다. 많은 사람들이 이를 반대했는데, 특히, 자유 소프트웨어 재단(FSF)와 데비안(Debian) 프로젝트에서 GPL 라이선스과 호환되지 않는다고 이의를 제기했고, 몇몇 개발 그룹은 XFree86의 원래 X 정신에 반한다며 프로젝트를 포크하겠다고 협박아닌 협박을 하기도 했다.

XFree86: 앞으로 XFree86을 사용하는 모든 소프트웨어 제품은 모든 광고, 메뉴얼 등에 반드시 XFree86를 사용했다고 알려야해.
FSF & Debian: GPL 라이선스와 호환이 안되잖아. 라이선스 변경 철회하라!

결국, 2004년 X.Org와 freedesktop.org 구성원들이 XFree86 코드를 포크하여 X.Org 파운데이션을 조직한다. 지금까지 회사 주도로 프로젝트가 진행되었다고 이제 부터는 시장 모델대로 진정한 커뮤니티에 의해 프로젝트가 운영되기 시작하고 누구나 참여가 쉽도록 하였다. 참고로, freedesktop.org는 2000년 오픈소스 데스크탑 기술 개발을 위해 레드햇이 만든 프로젝트이다.

두 그룹은 기존에 X.Org이 유지하던 X11R6.6에 XFree86 4.4RC2를 통합해서 2004년 4월 X11R6.7을 릴리스한다.

XFree86도 2008년까지 계속 개발을 진행했다.

이후 X.Org은 DRI(Direct Rendering Infrastructure) 확장을 통한 GPU 가속 지원, Wayland 개발 등 유닉스/리눅스 데스크탑 개발을 진행하고 있고 1년에 한번씩 X 개발자 컨퍼런스를 열고 계속 데스크탑 혁신을 고민하고 있다.

더 읽을 글

  • http://www.catb.org/esr/writings/taouu/html/ch02s06.html
  • http://www.catb.org/esr/writings/taouu/html/ch02s05.html
  • http://archive.oreilly.com/pub/a/linux/2005/08/25/whatisXwindow.html
  • https://www.x.org/releases/X11R7.7/doc/libX11/libX11/libX11.pdf
  • https://www.usenix.org/legacy/publications/library/proceedings/usenix2000/invitedtalks/gettys_html/Talk.htm
  • https://en.wikipedia.org/wiki/OPEN_LOOK
  • https://en.wikipedia.org/wiki/XFree86

참고로, 등장 인물 간 대화는 자료를 바탕으로 재구성되었습니다.

만화 중 잘못된 부분이나 추가할 내용이 있으면 만화 원고에 직접 의견을 남겨주시면 고맙겠습니다. 그 외 전반적인 만화 후기는 블로그에 바로 답글로 남겨주세요.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 오픈소스 이야기 게시판 이용안내 3 file Kevin 2018.04.13 1781
62 GIMP FAQ 한국어 번역 2 세벌 2021.04.07 603
61 월드와이드웹(WWW)의 시작 2 1 Kevin 2021.02.01 490
60 월드와이드웹(WWW)의 시작 1 1 Kevin 2021.01.04 623
59 그놈(GNOME) 데스크탑의 시작 2 Kevin 2020.08.06 1214
58 오픈소스 이미지 편집 프로그램 김프와 GTK+ 시작 2 Kevin 2020.06.08 1662
57 오픈소스 GUI 툴킷 Qt와 KDE 프로젝트의 시작 1 Kevin 2020.05.21 4968
56 리눅스 배포본과 데비안 프로젝트 Kevin 2020.05.11 1107
55 리눅스 이야기: 네트워킹 Kevin 2019.07.19 2119
54 FreeCAD 한국어 번역 함께 해 보아요 8 세벌 2019.06.26 2961
53 리눅스 이야기: 리눅스 vs. 미닉스 2부 1 Kevin 2019.05.27 1733
52 리눅스 이야기: 리눅스 vs. 미닉스 1부 1 Kevin 2019.02.22 1699
51 리눅스 이야기: 진정한 자유 운영체제 2 Kevin 2018.12.27 1525
50 리눅스 이야기: 운영체제를 만들자! 7 Kevin 2018.12.03 2106
49 LibreOffice Korea 3 세벌 2018.11.27 1613
48 김프 2.10.8 나왔습니다. 1 세벌 2018.11.14 1149
» XFree86과 X.Org Kevin 2018.08.13 1203
46 X11의 탄생 4 Kevin 2018.07.25 1480
45 X-Window 탄생 2 Kevin 2018.06.21 2008
44 오픈소스란 무엇인가요? 1 file Kevin 2018.06.01 11337
43 [TED2016] 리눅스의 기본 철학(한글 자막) 2 file PEACH 2018.05.15 1100
Board Pagination Prev 1 2 3 4 ... 5 Next
/ 5
CLOSE