1998년 개발 연대기: 웹의 규칙이 넓어지고 소스 코드가 열렸다
XML·CSS2·DOM이 웹의 구조와 표현, 프로그래밍 인터페이스를 정리하고 Mozilla와 오픈소스 운동이 공개 개발의 가능성을 드러낸 1998년을 살펴봅니다.
1998년의 소프트웨어 산업에서는 ‘공개’와 ‘표준’이라는 두 단어가 강한 힘을 얻었다.
W3C는 XML 1.0과 CSS2, DOM Level 1을 차례로 권고안으로 발표했다. 문서의 구조를 표현하는 방법, 화면에 표시하는 방법, 프로그램이 문서를 읽고 바꾸는 방법이 각각 표준으로 정리되기 시작했다. 브라우저 전쟁이 계속되는 동안에도 특정 제품을 넘어 공유할 수 있는 웹의 기반은 넓어지고 있었다.
개발 방식에서도 큰 변화가 일어났다. Netscape는 Communicator의 소스 코드를 공개하고 Mozilla 프로젝트를 출범시켰다. 같은 시기 ‘오픈 소스’라는 용어와 Open Source Initiative가 등장했다. 소스 코드를 공개해 여러 개발자가 함께 개선하는 방식이 기업의 제품 전략과 연결될 수 있다는 주장이 본격적으로 제기됐다.
1998년은 웹의 공통 규칙이 문서·표현·프로그래밍의 영역으로 확장되고, 공개된 소스 코드를 중심으로 소프트웨어를 개발하는 방식이 산업의 전면에 등장한 해였다.
먼저 보는 1998년
| 영역 | 1998년의 흐름 |
|---|---|
| 웹 표준 | XML 1.0, CSS2, DOM Level 1이 W3C 권고안으로 발표 |
| 브라우저 | Netscape가 Communicator 소스 코드를 공개하고 Mozilla 프로젝트 출범 |
| 개발 문화 | ‘오픈 소스’ 용어와 Open Source Initiative 등장 |
| 서버 웹 | PHP 3.0과 Apache 1.3이 공개되며 공개 웹 개발 환경 성장 |
| Java | JDK 1.2가 Java 2 플랫폼으로 발표 |
| 운영체제 | Windows 98이 인터넷과 데스크톱의 결합을 강화 |
| 검색 | Google Inc. 설립 |
| 국내 | 초고속인터넷 상용 서비스가 시작되고 인터넷 PC방이 빠르게 확산 |
XML 1.0은 웹에 ‘확장 가능한 문서’를 제시했다
W3C는 2월 10일 XML 1.0을 권고안으로 발표했다. XML은 정해진 태그만 사용하는 HTML과 달리, 문서의 목적에 맞는 요소와 구조를 정의할 수 있는 메타 언어였다.
XML이 해결하려던 문제는 화면을 화려하게 만드는 일이 아니었다. 웹을 통해 서로 다른 시스템이 구조화된 정보를 교환하고, 문서의 내용과 의미를 기계가 구분할 수 있게 하는 일이었다.
- 출판 문서의 장·절·본문과 같은 구조 표현
- 상품, 주문과 고객처럼 업무 데이터의 항목 정의
- 서로 다른 프로그램 사이의 데이터 교환
- 문서 구조를 검사하기 위한 DTD 사용
- 국제 문자를 다루기 위한 Unicode 지원
XML은 SGML의 구조화 능력을 계승하면서 웹에서 구현하기 쉽도록 범위를 정리했다. HTML을 대체해 모든 웹페이지를 XML로 만들자는 의미보다는, HTML만으로 표현하기 어려운 다양한 문서와 데이터를 웹의 방식으로 교환할 기반을 마련했다는 데 의미가 있었다.
이후 SOAP, RSS, SVG와 각종 설정·빌드 파일 등 수많은 형식이 XML을 기반으로 만들어진다. 그러나 1998년 당시에는 이러한 결과가 완성돼 있지 않았다. XML은 이제 막 권고안이 된 규격이었고, 개발 도구와 브라우저가 이를 어떻게 처리할 것인지 실험하는 단계였다.
CSS2와 DOM Level 1이 표현과 조작의 기준을 세웠다
5월 12일에는 CSS2가 W3C 권고안이 됐다. CSS2는 CSS1을 바탕으로 요소의 위치 지정, 인쇄와 화면 등 매체별 스타일, 내려받을 수 있는 글꼴, 표 배치, 자동 번호와 국제화 기능 등을 추가했다.
HTML 안에 글꼴·색상·정렬 정보를 반복해서 넣는 방식에서 벗어나 문서 구조와 표현 규칙을 나누려는 방향이 더 분명해졌다. 화면용 웹페이지뿐 아니라 인쇄물, 음성 장치와 점자 장치처럼 서로 다른 매체에 같은 문서를 전달하는 문제도 표준의 범위에 포함됐다.
10월 1일에는 DOM Level 1이 W3C 권고안으로 발표됐다. DOM은 Java나 ECMAScript 같은 프로그램이 문서의 내용과 구조, 스타일에 접근하고 이를 변경할 수 있는 언어·플랫폼 중립적인 인터페이스를 정의했다.
1997년의 DHTML은 브라우저마다 문서 요소에 접근하는 방식이 달랐다. DOM Level 1은 HTML과 XML 문서를 노드의 계층 구조로 다루고, 요소와 속성·텍스트를 일정한 방식으로 탐색하고 수정하는 공통 기준을 제시했다.
다만 표준이 발표된 즉시 브라우저 호환성이 해결된 것은 아니다. 기존 브라우저에는 이미 서로 다른 객체 모델과 전용 기능이 구현돼 있었고, 표준 지원 범위도 제품과 버전에 따라 달랐다. 개발자는 한동안 표준 DOM과 브라우저 전용 코드를 함께 고려해야 했다.
Netscape가 브라우저의 소스 코드를 공개했다
Netscape는 1월 Communicator의 소스 코드를 공개하겠다는 계획을 발표했고, 3월 31일 Mozilla 프로젝트를 공식 출범시켰다. Mozilla의 프로젝트 기록에 따르면 이날 Mozilla 소스 코드가 처음 공개됐다.
상용 브라우저를 만들던 기업이 핵심 제품의 소스 코드를 외부에 공개하고 인터넷 개발자들의 참여를 요청한 것은 이례적인 결정이었다. Microsoft의 Internet Explorer가 Windows와 함께 빠르게 확산되는 상황에서 Netscape는 외부 개발 공동체와 공개 개발 방식을 새로운 경쟁 전략으로 선택했다.
그러나 기존 Communicator 코드를 공개한다고 해서 곧바로 경쟁력 있는 새 브라우저가 완성되는 것은 아니었다.
- 오래된 코드 구조를 외부 개발자가 이해하고 수정하기 어려웠다.
- 여러 운영체제에서 동일하게 작동해야 했다.
- 브라우저 표준 지원과 렌더링 구조를 다시 정비해야 했다.
- 기업의 제품 출시 일정과 공개 공동체의 개발 방식도 조율해야 했다.
Mozilla 프로젝트는 결국 기존 코드를 상당 부분 대체하는 긴 개발 과정을 거친다. 첫 Mozilla 1.0은 2002년에야 공개된다. 1998년의 의미는 완제품 출시가 아니라, 브라우저라는 대규모 상용 소프트웨어가 공개 개발 프로젝트로 전환되는 실험이 시작됐다는 데 있었다.
‘오픈 소스’가 개발 방식과 산업 전략을 연결했다
Netscape의 발표를 계기로 자유 소프트웨어를 기업과 시장에 설명하는 새로운 언어가 필요하다는 논의가 일어났다. 2월에는 ‘오픈 소스’라는 용어가 제안됐고, Eric Raymond와 Bruce Perens 등이 Open Source Initiative를 설립했다.
Open Source Initiative의 역사에 따르면 Open Source Definition은 Debian Free Software Guidelines를 바탕으로 만들어졌다. 단순히 소스 코드를 볼 수 있다는 뜻이 아니라, 자유로운 재배포와 소스 코드 제공, 수정·파생 저작물 허용, 사람이나 이용 분야에 대한 차별 금지 등 라이선스가 충족해야 할 기준을 제시했다.
자유 소프트웨어 운동이 사용자의 자유와 윤리적 가치를 강조했다면, 오픈 소스 진영은 공개 개발이 품질과 신뢰성, 빠른 개선과 사업 기회를 만들 수 있다는 실용적인 설명에도 무게를 두었다. 두 흐름은 많은 코드를 공유했지만 용어를 선택한 이유와 강조점까지 완전히 같지는 않았다.
1998년에는 Linux, Apache, Perl, Python 등 이미 공개적으로 개발되던 소프트웨어가 존재했다. 새롭게 생겨난 것은 공개 개발 그 자체라기보다, 이를 하나의 이름과 정의 아래 묶어 산업계에 설명하려는 움직임이었다.
PHP 3와 Apache 1.3, 공개 웹 개발 환경의 성장
PHP 3.0은 1998년 6월 정식으로 발표됐다. Rasmus Lerdorf의 PHP/FI를 Andi Gutmans와 Zeev Suraski가 새 파서로 다시 작성했고, 여러 개발자가 기능을 확장하면서 언어의 이름도 ‘PHP: Hypertext Preprocessor’로 정리됐다.
PHP 공식 역사는 PHP 3.0이 공개될 무렵 약 7만 개의 도메인에 설치돼 있었으며, 여러 데이터베이스와 프로토콜을 지원하고 확장 API를 제공했다고 기록한다. 개인 홈페이지를 위한 도구에서 여러 개발자가 함께 만드는 서버 측 프로그래밍 언어로 성격이 바뀐 것이다.
같은 달 Apache HTTP Server 1.3도 공개됐다. Apache 공식 배포 아카이브에는 1.3.0 배포 파일이 1998년 6월 5일자로 남아 있다. Apache는 모듈을 통해 서버 기능을 확장할 수 있었고, 공개된 운영체제·언어·데이터베이스와 함께 웹 서비스를 구성하는 중심 요소가 됐다.
1998년의 웹 서버 개발은 하나의 회사가 모든 구성 요소를 제공하는 제품군과, 공개 소프트웨어를 조합해 환경을 만드는 방식이 함께 성장하던 시기였다. PHP와 Apache의 확산은 후자의 가능성을 분명하게 보여줬다.
Java 2는 하나의 언어에서 플랫폼으로 향했다
Sun Microsystems는 12월 8일 JDK 1.2를 ‘Java 2 플랫폼’이라는 이름으로 발표했다. Java가 단순한 언어와 가상 머신을 넘어 표준 API와 실행 환경, 개발 도구를 포함하는 플랫폼이라는 점을 강조한 명칭이었다. Oracle의 Java Virtual Machine Specification에 수록된 버전 연혁에서도 Java 1.2의 공개 시점을 1998년 12월로 확인할 수 있다.
Java 2에는 다음과 같은 변화가 포함됐다.
- Swing을 통한 확장된 그래픽 사용자 인터페이스
- Collections Framework를 통한 목록·집합·맵 자료구조의 공통 API
- 세밀해진 보안 정책과 접근 제어
- Java 2D를 이용한 그래픽·이미지 처리
- 성능을 개선한 가상 머신과 Just-In-Time 컴파일 환경
이 기능들은 브라우저 안에서 실행되는 작은 애플릿보다 규모가 큰 데스크톱과 기업용 응용 프로그램을 겨냥했다. Java는 운영체제에 독립적인 실행 환경이라는 초기 구상을 유지하면서도, 개발자가 실제 응용 프로그램을 만드는 데 필요한 표준 라이브러리를 빠르게 늘려갔다.
Java 2라는 이름은 이후 Standard Edition, Enterprise Edition과 Micro Edition으로 플랫폼이 나뉘는 출발점이 된다. 다만 J2EE의 정식 발표는 1999년이므로, 1998년 글에서는 JDK 1.2와 핵심 플랫폼의 변화에 초점을 맞추는 편이 정확하다.
Windows 98은 PC와 인터넷을 더 밀접하게 묶었다
Microsoft는 6월 25일 Windows 98을 출시했다. Microsoft의 출시 발표는 Windows 98을 가정용 사용자를 위해 설계한 운영체제로 소개하며 인터넷 접근, USB, DVD와 하드웨어 지원을 주요 특징으로 내세웠다.
Windows 98에서는 Internet Explorer 기술이 파일 탐색과 도움말, 바탕 화면 등 운영체제 사용자 경험에 더 깊게 결합됐다. Windows Update를 통해 웹에서 운영체제와 드라이버 업데이트를 받는 방식도 제공됐다.
개발자에게는 인터넷 기능이 별도의 프로그램에만 존재하는 것이 아니라 운영체제가 기본 제공하는 서비스와 컴포넌트가 된다는 의미가 있었다. 반면 Windows와 Internet Explorer의 결합은 브라우저 시장의 경쟁을 운영체제 지배력과 연결했다. 미국 법무부와 여러 주는 1998년 Microsoft를 상대로 반독점 소송을 제기했고, 5월 18일 제출된 소장에서 브라우저 결합과 배포 제한을 핵심 문제로 제기했다.
Google이 연구 프로젝트에서 회사가 됐다
1997년에 이름과 도메인을 얻은 Google은 1998년 회사로 전환됐다. Sun Microsystems 공동 창업자 Andy Bechtolsheim이 8월 10만 달러 수표를 건넸고, Google Inc.는 9월 4일 법인으로 설립됐다.
Google의 공식 회고는 설립일과 초기 과정을 기록한다. 당시 검색 시장에서는 Yahoo, AltaVista, Excite와 Lycos 등이 검색뿐 아니라 뉴스·메일·디렉터리·커뮤니티를 모은 포털로 확장하고 있었다.
Google은 웹페이지가 서로 연결되는 구조를 검색 순위에 활용하고, 검색 자체에 집중한 단순한 화면을 제공했다. 1998년에는 아직 작은 신생 기업이었지만, 웹의 규모가 커질수록 정보를 수집하고 관련성을 계산하는 소프트웨어가 인터넷의 핵심 기반이 될 가능성을 보여줬다.
국내의 1998년: 초고속인터넷과 PC방이 접속 환경을 바꾸기 시작했다
국내에서는 외환위기의 충격이 계속되는 가운데 인터넷을 새로운 산업과 성장 기반으로 바라보는 움직임이 커졌다. 가장 중요한 변화 중 하나는 전화 모뎀보다 빠르고 지속적으로 연결되는 초고속인터넷의 상용화였다.
두루넷은 1998년 6월 케이블망을 이용한 초고속인터넷 상용 서비스를 시작했다. 대한민국 인터넷백서는 이를 국내 초고속인터넷 상용 서비스의 출발로 기록한다. 한국통신도 ADSL 시범 서비스와 상용화를 준비했다. 당시 전자신문 보도는 서울과 부산에서 시범 서비스를 거쳐 상용 서비스를 시작하려던 계획을 전한다.
초고속인터넷은 단순히 웹페이지가 빨리 열리는 것 이상의 변화를 예고했다.
- 접속 시간에 따라 전화요금을 걱정하던 이용 방식의 변화
- 이미지와 프로그램 등 큰 파일의 배포 확대
- 여러 사용자가 동시에 참여하는 온라인 게임 환경 개선
- 웹메일·검색·커뮤니티 같은 인터넷 서비스의 이용 시간 증가
- 서버 운영과 네트워크 서비스에 대한 개발 수요 확대
가정 보급이 본격적으로 폭발하는 시점은 1999년 이후지만, 1998년에 상용 서비스가 시작되면서 기반이 마련됐다.
인터넷 PC방도 빠르게 늘어났다. StarCraft와 Lineage가 1998년 출시됐고, 여러 사람이 빠른 네트워크에 연결된 PC를 이용할 수 있는 공간과 결합했다. PC방은 게임만을 위한 장소에 머물지 않고 인터넷 검색과 채팅, 이메일, 문서 작성까지 접할 수 있는 민간 정보화 공간의 역할도 했다.
그 성격을 둘러싼 제도적 충돌도 곧바로 나타났다. 12월의 전자신문 보도는 당시 업계가 ‘인터넷 PC방’을 기존 컴퓨터 게임장과 다른 멀티미디어 서비스로 인정해 달라고 요구했던 상황을 전한다. 새로운 인터넷 서비스가 생겼지만 이를 설명하고 관리할 기존 업종 분류는 준비돼 있지 않았던 것이다.
1998년 국내 인터넷은 아직 모든 가정에 보급된 생활 기반이 아니었다. 그러나 초고속 회선과 PC방, 웹메일·검색·온라인 게임이 연결되면서 인터넷을 실제로 경험하는 장소와 시간이 빠르게 늘어나기 시작했다.
1998년을 한 문장으로 정리하면
1998년은 XML·CSS2·DOM이 웹의 구조와 표현, 프로그래밍 인터페이스를 확장하고 Mozilla와 오픈소스 운동이 공개 협업을 산업의 개발 방식으로 제시한 가운데, 국내에서는 초고속인터넷과 PC방이 대중적 인터넷 환경의 기반을 놓은 해였다.
웹에서는 문서와 데이터의 구조를 어떻게 표현할지, 스타일을 어떻게 분리할지, 프로그램이 문서를 어떻게 다룰지에 대한 공통 규칙이 마련됐다. 서버에서는 PHP와 Apache 같은 공개 소프트웨어가 성장했고, Java는 Java 2 플랫폼으로 범위를 넓혔다. 검색 연구였던 Google은 회사가 됐으며 Windows는 인터넷을 운영체제 경험 안으로 더 깊게 끌어들였다.
1999년에는 이 기반 위에서 웹과 기업 시스템의 결합이 더욱 강해진다. J2EE와 ASP 3.0이 서버 개발의 구조를 확장하고, Napster가 인터넷을 통한 파일 공유와 저작권 논쟁을 일으킨다. 국내에서는 ADSL 경쟁과 인터넷 벤처 열풍, PC방의 폭발적인 증가가 인터넷을 일상의 공간으로 끌어들인다.
참고 자료
- W3C, XML 1.0 권고안 발표
- W3C, CSS2 권고안 발표
- W3C, CSS2 Specification
- W3C, DOM Level 1 권고안 발표
- W3C, DOM Level 1 Specification
- Mozilla, Mozilla 프로젝트 출범 10주년 기록
- Mozilla, 프로젝트 역사
- Open Source Initiative, OSI의 역사
- PHP Manual, PHP의 역사
- Apache Software Foundation, HTTP Server 배포 아카이브
- Oracle, Java Virtual Machine Specification의 버전 연혁
- Microsoft, Windows 98 출시 발표
- 미국 법무부, United States v. Microsoft 소장
- Google, Google Inc. 설립 회고
- 전자신문, 한국통신의 ADSL 초고속인터넷 서비스 계획
- 전자신문, 인터넷 PC방 관리 지침 논쟁
- 대한민국 인터넷백서, 국내 인터넷 주요 연혁
이 글은 국제 표준 기구와 프로젝트·기업의 공식 기록, 1998년 당시 국내 기사와 정부 발간 자료를 우선해 작성했습니다. 회고 자료는 연도와 사건의 교차 확인에 사용했으며, 이후의 성과를 1998년 당시 이미 확정된 결과처럼 해석하지 않도록 구분했습니다.