블로그 목록
SW 개발 연대기

2001년 개발 연대기: 개발 방식과 플랫폼의 기반이 다시 쓰였다

Agile Manifesto와 Eclipse가 개발 협업의 변화를 알리고 Windows XP·Mac OS X, XML Schema·SVG, J2EE 1.3이 새로운 플랫폼 기반을 만든 2001년을 살펴봅니다.

2026년 7월 24일약 26분
#2001#개발사#애자일#Eclipse#Windows XP#Mac OS X#SVG#XML Schema#J2EE#국내 인터넷

2001년에는 소프트웨어를 만드는 방법과 실행하는 기반이 함께 바뀌었다.

17명의 개발 실무자는 Agile Manifesto를 발표해 계획과 문서가 실제 작동하는 소프트웨어와 고객의 변화보다 앞설 수 없다고 선언했다. IBM은 개발 도구 Eclipse를 오픈소스로 공개했고, Wikipedia는 누구나 웹에서 지식을 직접 수정하는 협업이 실제로 작동할 수 있는지 시험하기 시작했다.

운영체제에서는 Windows XP가 가정용과 기업용 Windows를 NT 계열 기반으로 모았고, Mac OS X는 Macintosh에 Unix 기반 구조를 도입했다. 웹에서는 XML Schema와 SVG가 권고안이 됐으며, J2EE 1.3은 메시징과 기존 기업 시스템 연계를 강화했다.

닷컴 버블의 후유증으로 인터넷 기업의 구조조정은 계속됐지만, 소프트웨어 개발의 기반은 오히려 더 장기적인 방향으로 정리되고 있었다.

2001년은 더 자주 검증하고 협업하는 개발 방식, 공개된 도구와 지식 공동체, 안정된 운영체제와 서버 플랫폼이 다음 소프트웨어 시대의 토대를 다시 놓은 해였다.

먼저 보는 2001년

영역2001년의 흐름
개발 방법론Agile Manifesto 발표
개발 도구IBM이 Eclipse를 오픈소스 프로젝트로 공개
협업 서비스Wikipedia 서비스 시작
운영체제Mac OS X 10.0과 Windows XP 출시
웹 표준XML Schema 1.0과 SVG 1.0 권고
기업 JavaJ2EE 1.3이 EJB·JMS·Connector Architecture를 강화
언어 표준C#과 CLI가 Ecma 표준으로 채택
국내초고속인터넷 700만 가입자 시대, 포털 유료화와 SI 품질 관리 확대

Agile Manifesto는 변화에 대응하는 개발을 선언했다

2001년 2월 11일부터 13일까지 미국 Utah주 Snowbird에 17명의 소프트웨어 개발 실무자가 모였다. Extreme Programming, Scrum, Crystal, DSDM, Feature-Driven Development 등 서로 다른 경량 개발 방법론을 논의하던 이들은 공통된 가치를 정리해 Manifesto for Agile Software Development를 발표했다.

선언문은 네 가지 가치의 우선순위를 제시했다.

  • 프로세스와 도구보다 개인과 상호작용
  • 포괄적인 문서보다 작동하는 소프트웨어
  • 계약 협상보다 고객과의 협력
  • 계획을 따르기보다 변화에 대응

오른쪽 항목이 필요 없다는 뜻은 아니었다. 모두 가치가 있지만 왼쪽 항목을 더 중요하게 본다는 선언이었다.

배경에는 요구사항과 설계를 먼저 완성하고 구현·시험을 순서대로 진행하는 대규모 개발 절차에 대한 문제의식이 있었다. 실제 프로젝트에서는 고객의 요구가 바뀌고 기술적 위험이 뒤늦게 발견되며, 긴 개발 끝에 나온 결과가 필요한 기능과 달라지는 일이 발생했다.

Agile Manifesto는 짧은 주기로 작동하는 결과를 만들고, 고객과 자주 확인하며, 팀이 경험을 바탕으로 방식을 조정하는 원칙을 제시했다. 선언문 작성의 공식 역사는 참석자들이 하나의 구체적인 방법론을 만든 것이 아니라 여러 방법론이 공유하는 태도를 ‘Agile’이라는 이름 아래 묶었다고 설명한다.

2001년 당시 모든 조직이 즉시 애자일 방식으로 전환한 것은 아니다. 선언은 구체적인 일정표나 역할 체계보다 가치와 원칙에 가까웠다. 이후 Scrum의 확산, 지속적 통합과 DevOps 같은 흐름까지 모두 선언문 하나에서 직접 생겨났다고 단순화해서도 안 된다. 다만 변화와 피드백을 예외가 아닌 개발의 기본 조건으로 보게 한 중요한 전환점이었다.

Eclipse는 개발 도구 자체를 공개 협업의 플랫폼으로 만들었다

IBM은 11월 7일 Eclipse를 오픈소스 프로젝트로 공개했다. Eclipse Foundation의 기록은 이날을 Eclipse 공개 시점으로 명시한다.

Eclipse는 Java 개발 환경으로 널리 알려졌지만 처음부터 단일 언어 편집기만을 목표로 하지 않았다. 작은 기능을 플러그인으로 추가할 수 있는 구조를 통해 편집기, 컴파일, 디버깅, 버전 관리와 배포 도구를 하나의 작업 환경에 결합하려 했다.

  • Java Development Tools는 Java 편집·빌드·디버깅 기능을 제공했다.
  • Platform Runtime은 플러그인의 설치와 실행을 관리했다.
  • Workspace는 프로젝트와 파일, 변경 내용을 공통 모델로 다뤘다.
  • 확장 지점은 다른 업체와 개발자가 새로운 도구를 연결할 수 있게 했다.

IBM은 상용 개발 도구 VisualAge for Java에서 축적한 기술과 인력을 바탕으로 Eclipse를 만들었지만, 프로젝트의 소스와 확장 기반을 공개했다. 여러 소프트웨어 업체가 같은 개발 도구 기반에 참여하면서 각자 모든 IDE 기능을 처음부터 만들지 않고 플러그인과 제품을 개발할 수 있었다.

Eclipse Foundation의 독립 재단 설립은 2004년의 일이다. 따라서 2001년의 Eclipse는 IBM이 시작하고 업체 컨소시엄이 지원한 오픈소스 프로젝트로 구분하는 편이 정확하다.

Wikipedia는 웹 협업이 지식을 생산할 수 있는지 시험했다

Wikipedia는 1월 15일 서비스를 시작했다. Wikimedia의 공식 연표는 Wikipedia.com에서 영어판 프로젝트가 출범한 날짜를 기록한다.

기존 Nupedia는 전문가가 글을 작성하고 여러 단계의 검토를 거치는 온라인 백과사전이었다. 정확성을 중시했지만 글 하나를 완성하는 데 많은 시간이 걸렸다. Wikipedia는 방문자가 브라우저에서 페이지를 직접 만들고 수정할 수 있는 wiki 방식을 사용해 참여 장벽을 크게 낮췄다.

이 방식은 소프트웨어의 공개 개발과 닮은 점이 있었다.

  • 완성된 결과를 기다리지 않고 작은 수정을 계속 반영
  • 여러 참여자가 오류와 빠진 내용을 보완
  • 문서 사이의 링크로 지식 구조를 확장
  • 변경 이력을 통해 이전 상태와 편집 과정을 추적
  • 규칙과 공동체의 합의로 충돌을 조정

2001년의 Wikipedia는 규모가 작고 장기적 성공이 보장되지 않은 실험이었다. 누구나 수정할 수 있는 구조가 정확성을 유지할 수 있는지에 대한 의문도 컸다. 그러나 웹 이용자를 콘텐츠 소비자가 아니라 생산자와 검토자로 참여시키는 모델을 구체적으로 보여줬다.

Wikipedia가 처음 사용한 소프트웨어는 UseModWiki였다. Wikipedia를 위해 개발된 별도 wiki 엔진이 MediaWiki라는 이름을 얻는 과정은 2002년 이후이므로 구분할 필요가 있다.

Mac OS X는 Macintosh를 Unix 기반 위에 다시 세웠다

Apple은 3월 24일 Mac OS X 10.0을 출시했다. Apple의 당시 발표는 Mac OS X가 오픈소스 Unix 기반인 Darwin, Quartz 그래픽 엔진, Aqua 사용자 인터페이스와 새로운 응용 프로그램 API를 제공한다고 설명한다.

기존 Mac OS는 사용하기 쉬운 그래픽 환경을 갖췄지만 메모리 보호와 선점형 멀티태스킹 등 현대 운영체제에 필요한 구조에서 한계가 있었다. Mac OS X는 NeXT의 기술을 계승한 Mach 커널과 BSD 계층을 바탕으로 더 안정적인 프로세스·메모리·네트워크 기반을 제공했다.

개발자는 세 가지 경로를 고려해야 했다.

  • Classic 환경에서 기존 Mac 응용 프로그램 실행
  • Carbon API로 기존 코드를 비교적 적은 변경으로 이식
  • Objective-C 기반 Cocoa API로 새 응용 프로그램 개발

Quartz, OpenGL과 QuickTime은 2D·3D 그래픽과 미디어를 처리했고, Unix 명령행 도구와 네트워크 기능도 사용할 수 있었다. 사용자 인터페이스뿐 아니라 운영체제의 내부 구조와 개발 API 전체가 바뀐 대규모 전환이었다.

초기 10.0은 성능과 기능 면에서 부족하다는 평가도 받았다. Apple은 9월 Mac OS X 10.1을 무료 업데이트로 제공하며 성능과 사용성을 개선했다. 새로운 기반을 마련하는 일과 기존 사용자에게 안정적인 완성도를 제공하는 일이 서로 다른 과제였음을 보여준다.

Windows XP는 가정용 Windows까지 NT 계열로 통합했다

Microsoft는 10월 25일 Windows XP를 출시했다. Microsoft의 제조사 공급 발표는 개발 완료 시점과 일반 판매 일정을 기록한다.

Windows XP의 핵심은 가정용 Windows 95·98·Me 계열과 기업용 Windows NT·2000 계열을 하나의 NT 기반으로 통합한 일이었다. Home Edition과 Professional Edition은 기능과 대상 사용자가 달랐지만 같은 운영체제 계보를 공유했다.

NT 기반의 메모리 보호, 사용자 계정과 보안, 드라이버 모델과 시스템 안정성이 일반 가정용 PC에도 적용됐다. Fast User Switching, Remote Desktop, System Restore와 새로운 Luna 인터페이스도 제공됐다.

개발자에게는 소비자용 프로그램과 기업용 프로그램을 서로 다른 Windows 기반에 맞추던 부담이 줄어드는 방향이었다. 반면 오래된 DOS·Windows 응용 프로그램과 장치 드라이버의 호환성을 유지해야 했고, 관리자 권한을 전제로 작성된 프로그램 관행은 이후 보안 문제로 이어졌다.

Mac OS X와 Windows XP는 기술적 계보와 개발 모델이 달랐지만, 두 운영체제 모두 기존 사용자 경험을 유지하면서 더 안정적인 현대 운영체제 기반으로 이동하려 했다는 공통점이 있었다.

XML Schema는 XML 문서의 형식과 데이터 타입을 정의했다

W3C는 5월 2일 XML Schema 1.0을 권고안으로 승인했다. W3C XML Schema 기록은 승인일과 명세 구성을 정리한다.

XML 1.0의 DTD도 문서 구조를 제한할 수 있었지만 데이터 타입과 namespace 처리에는 한계가 있었다. XML Schema는 XML 문법으로 스키마를 작성하고 요소·속성의 구조뿐 아니라 문자열, 정수, 날짜, Boolean 등 데이터 타입과 값의 범위를 정의할 수 있게 했다.

기업 간 문서 교환과 웹 서비스에서는 같은 이름의 요소가 있더라도 값의 형식과 필수 여부, 반복 횟수를 정확하게 합의해야 했다. XML Schema는 프로그램이 문서를 자동으로 검사하고 개발 도구가 데이터 바인딩 코드를 생성할 수 있는 기반을 제공했다.

그만큼 명세와 작성 문법은 복잡했다. XML 생태계는 표현력과 엄격한 검증 능력을 얻는 대신, 사람이 직접 읽고 관리하기 어려운 대규모 스키마와 도구 의존이라는 부담도 함께 키웠다.

SVG 1.0은 그래픽을 웹 문서와 프로그램의 대상으로 만들었다

W3C는 9월 4일 SVG 1.0을 권고안으로 발표했다. W3C의 발표 자료는 SVG를 XML 기반 2차원 벡터 그래픽 언어로 설명한다.

JPEG와 GIF 같은 래스터 이미지는 픽셀을 저장하지만, SVG는 선과 도형·경로·글자·색상과 변환을 구조화된 텍스트로 표현했다.

  • 화면 크기와 해상도가 달라도 선명하게 확대
  • DOM을 통해 그래픽 요소 탐색과 변경
  • CSS로 모양 지정
  • 스크립트와 애니메이션 적용
  • 텍스트 검색과 접근성 정보 제공

SVG는 그림을 완성된 하나의 파일로만 다루지 않고 웹 문서의 구조와 프로그래밍 모델 안에 넣었다. 지도, 차트, 기술 도면과 상호작용 그래픽에 적합한 기반이었다.

그러나 2001년 브라우저가 SVG를 일관되게 기본 지원한 것은 아니었다. 전용 뷰어나 플러그인이 필요한 경우가 많았고, 실제 보급은 표준 발표보다 훨씬 긴 시간이 걸렸다.

J2EE 1.3은 메시징과 기존 시스템 연계를 강화했다

J2EE 1.3 최종 명세는 2001년 9월 공개됐다. Oracle의 J2EE 1.3 최종 명세 아카이브당시 배포 descriptor 기록에서 구성과 공개 시점을 확인할 수 있다.

J2EE 1.3은 Servlet 2.3, JSP 1.2, EJB 2.0 등을 한 플랫폼 버전으로 묶고 Java Message Service를 필수 기술로 포함했다. 메시지 기반 비동기 처리와 EJB의 Message-Driven Bean을 통해 요청을 보낸 프로그램이 응답을 기다리지 않고도 서버가 작업을 처리하는 구조를 지원했다.

J2EE Connector Architecture는 ERP, 메인프레임 트랜잭션 처리와 기존 기업 정보 시스템을 애플리케이션 서버에 연결하는 공통 방식을 제시했다. 업체별 연결 코드를 애플리케이션마다 다시 작성하기보다 자원 어댑터로 통합하려는 목적이었다.

EJB 2.0은 컨테이너 관리 영속성과 관계 모델, 로컬 인터페이스를 개선했지만 명세와 배포 descriptor의 복잡성도 커졌다. 기업 Java가 요구하는 트랜잭션·보안·분산 처리와 통합을 표준화하는 과정에서 개발자가 작성하고 이해해야 할 설정도 늘어났다.

C#과 CLI가 Ecma 표준이 됐다

2000년에 공개된 C#과 Common Language Infrastructure는 2001년 12월 각각 ECMA-334와 ECMA-335 표준으로 채택됐다.

ECMA-334 초판의 역사는 Microsoft가 2000년 7월 첫 구현을 공개했고, 2000년 9월 표준화를 위한 작업반이 구성됐다고 기록한다. CLI의 판본 기록은 ECMA-335 공식 페이지에서 확인할 수 있다.

C#은 언어 문법과 의미를, CLI는 공통 타입 체계와 중간 언어, 메타데이터와 실행 환경을 정의했다. Microsoft의 .NET 구현에 기반했지만 표준 문서는 다른 업체가 호환 언어와 실행 환경을 구현할 가능성을 열었다.

다만 2001년은 표준과 베타 도구가 준비된 시기였다. .NET Framework 1.0과 Visual Studio .NET의 정식 출시는 다음 해에 이뤄진다.

국내의 2001년: 빠른 회선 위에서 서비스 품질 경쟁이 시작됐다

국내 초고속인터넷 가입자는 2001년에도 빠르게 증가했다. 전자신문의 2001년 시장 결산은 가입자가 1월 약 433만 명에서 10월 말 약 725만 명으로 늘었다고 전한다. 연말 통계는 약 780만 회선으로 집계됐다.

접속 환경이 넓어지면서 포털은 무료 서비스와 배너 광고에만 의존하기 어려워졌다. 전자상거래, 유료 콘텐츠와 기업 대상 사업을 확대했고, SK 계열 인터넷 서비스를 통합한 Nate가 출범하는 등 유무선 포털 경쟁도 나타났다.

온라인 게임과 콘텐츠 시장도 성장했다. PC방과 가정의 초고속 회선에서 많은 이용자가 동시에 접속하면서 게임 서버의 부하 분산, 실시간 상태 동기화, 결제와 계정 보안, 지속적인 패치 배포가 중요한 개발 분야가 됐다. 이동통신사들은 휴대폰용 콘텐츠 다운로드와 무선인터넷 서비스도 확대했다.

기업과 공공 부문에서는 시스템 통합 사업이 계속 성장했다. 2001년 당시 국내 SI 시장 보도는 인터넷·인트라넷 기반 솔루션, 정형화된 프레임워크와 전문 인력이 경쟁력의 핵심으로 제시됐다고 전한다.

개발 품질을 객관적으로 관리하려는 움직임도 나타났다. 연말의 SI 업계 결산은 CMM과 SPICE를 통해 개발 프로세스와 품질을 검증받으려는 시도가 본격화됐다고 기록한다. 대형 공공·금융 시스템에서는 개인 개발자의 숙련도만으로 품질을 설명하기보다 요구사항·변경·시험과 납품 과정을 조직 차원에서 관리할 필요가 커졌다.

국내의 2001년은 회선 보급 자체가 가장 중요한 단계에서, 빠른 인터넷 위에 어떤 서비스를 안정적으로 제공하고 어떻게 수익과 품질을 만들 것인지 경쟁하는 단계로 이동한 해였다.

2001년을 한 문장으로 정리하면

2001년은 Agile Manifesto와 Eclipse가 소프트웨어의 협업 방식을 바꾸고 Windows XP·Mac OS X가 운영체제 기반을 재편한 가운데, XML Schema·SVG·J2EE 1.3이 데이터·그래픽·기업 통합의 표준을 확장한 해였다.

Wikipedia는 웹 공동체가 지식을 함께 만드는 실험을 시작했고, C#과 CLI는 .NET의 핵심을 공개 표준으로 정리했다. 국내에서는 초고속인터넷이 700만 가입자 규모로 성장하면서 포털·게임·SI 개발이 이용자 수뿐 아니라 수익성과 운영 품질을 함께 고민하기 시작했다.

2002년에는 .NET Framework 1.0과 Visual Studio .NET이 정식 출시되고, Java 1.4와 Eclipse 2.0이 나온다. 웹에서는 Mozilla 1.0과 RSS 생태계가 성장하며, 국내에서는 초고속인터넷 가입자가 1,000만을 돌파하고 전자정부·온라인 게임·포털 경쟁이 더 큰 규모로 전개된다.

참고 자료

이 글은 선언문과 표준 명세, 프로젝트·기업의 공식 발표, 2001년 당시 국내 기사와 통계 자료를 우선해 작성했습니다. 프로젝트 시작과 재단 설립, 표준 채택과 제품 정식 출시처럼 서로 다른 사건을 같은 시점으로 합치지 않도록 구분했습니다.