curl의 25번째 생일을 맞아, 1996년 말의 시작부터 2023년까지의 발전 과정, 핵심 이정표, 개인적 회고와 앞으로에 대한 생각을 정리했다.
즐거울 때는 시간이 참 빨리 간다. 오늘은 curl의 25번째 생일이다.

curl 프로젝트는 첫 몇 년 동안 거의 아무도 모르는, 이름만 바꾼 작은 URL 전송 도구로 아주 소박하게 시작했다. 내 개인적인 필요를 해결하기 위해 시작한 일이었다.
나는 첫 번째 curl 릴리스를 만들었고 그 이후로 모든 릴리스를 직접 패키징해 왔다. 그 첫 curl 릴리스를 내던 날, 나는 27살이었고 Frontec Tekniksystem에서 소프트웨어 엔지니어로 일하고 있었다. 그곳에서 나는 주로 스웨덴의 대형 제품 개발 회사들을 위한 임베디드 시스템 계약 개발을 했다. 예를 들어 90년대 후반 몇 년 동안은 통신 대기업 에릭슨(Ericsson)에서, 그리고 에릭슨을 위해 제법 많은 프로젝트를 했다.
나는 80년대 중반 처음 컴퓨터를 손에 넣은 이후로 프로그래밍과 개발을 즐겨왔다. 1990년대에는 이미 일과표가 정착되어 있었다. 배우자가 밤에 잠자리에 들면 나는 늦게까지 깨어 남은 한두 시간을 개인 개발에 썼다. 바로 이렇게 해서 첫 몇십 년 동안 내 프로젝트에 시간을 쏟을 수 있었다. 잠을 줄이고, 다른 것들도 줄였다.
curl 개발의 기본 개념은 언제나 모든 면에서 점진적이고 반복적으로 개선하는 것이었다. 동작은 유지하되, 코드를 개선하고, 테스트 케이스를 추가하고, 문서를 다듬는 것. 해마다, 또 해마다, 끝없이 반복한다. 아래 연대표가 그것을 보여준다.
마찬가지로, 어느 특정한 순간 갑자기 curl이 인기를 얻어 사용자가 폭발적으로 증가한 때는 없었다. 대신, 도구와 라이브러리의 사용자 수와 인기 모두가 점진적이고 지속적으로 성장했다. 1998년에는 사용자가 거의 없었다. 2010년에 이르러서는 수억 명이 되었다.
우리는 현재 libcurl의 정확한 사용자 수나 설치 수를 정말로 모른다. 다만 전 세계에 스마트폰이 70억 대, 태블릿이 10억 대라는 사실만으로도, 그리고 각 기기가 최소 하나, 아마 그보다 훨씬 많은 curl 설치본을 실행한다는 점을 알기에, 설치 수가 100억을 한참 넘는다는 추정은 어렵지 않다.
나의 인터넷 전송 여정은 1996년 말에 시작되었다. IRC 봇의 환율 변환기가 정확히 동작하도록 매일 자동으로 환율을 내려받기 위해 httpget 0.1을 다운로드했다. httpget에는 몇 가지 결함이 있어서 내가 고쳐서 보냈더니, 저자 라파엘(Rafael)은 곧장 차라리 내가 그 프로그램의 유지보수를 맡는 게 낫겠다고 했다. 그래서 그렇게 했다.
나는 GOPHER를 지원에 추가했고, 프로젝트의 이름을 바꾸었으며, FTP 지원을 넣었다. 그리고 1998년 초에는 FTP 업로드 지원도 추가하기 시작했다…

원래의 curl 로고.
1998년 3월 20일, curl 4.0이 릴리스되었다. 그것은 이미 생일에 2,200줄의 코드였다. 이전 프로젝트였던 httpget과 urlget 위에 만들어졌기 때문이다. 그때 curl은 세 가지 프로토콜, HTTP, GOPHER, FTP를 지원했고, 영광의 명령줄 옵션 24개를 자랑했다.
첫 curl 릴리스는 그렇게 특별한 사건은 아니었다. 이미 1년이 넘는 시간 동안 httpget과 urlget 릴리스를 계속 내던 중이었기 때문이다. 이름은 새로웠지만, 내가 이미 여러 번 해왔던 “또 하나의 릴리스”일 뿐이었다.
첫 해에 우리는 HTTPS와 TELNET 지원을 추가했고, 최초의 curl man 페이지도 도입했다. curl은 처음에는 GPL로 시작했지만 같은 해 1998년에 MPL로 전환했다.
첫 SSL 지원은 SSLeay가 담당했다. 이 프로젝트는 1998년 말에 OpenSSL로 전환되었다.
1998년 8월, 오픈 소스 디렉터리 사이트 freshmeat.net에 curl을 등록했다.
첫 curl 웹페이지는 http://www.fts.frontec.se/~dast에 공개되었다. (웨이백 머신에 보존된 가장 오래된 버전은 1998년 12월 것이다.)
1998년 11월, 최신 릴리스가 무려 300번 다운로드되었다는 엄청난 성과에 대해 웹사이트에 메모를 남겼다! 성공과 인기는 즉각적이지 않았다.

1998년 11월의 curl 웹사이트 스크린샷
첫 해 동안 우리는 curl 릴리스를 20번이나 했다. 그 기록은 다시는 깨지지 않았다.

최초의 configure 스크립트를 만들었고, 쿠키 지원을 추가했으며, Debian Linux에 패키지로 등장했다.
curl 웹사이트는 http://curl.haxx.nu로 옮겼다.
그해 내내 DICT, LDAP, FILE을 지원에 추가했다. 이제 8개 프로토콜을 지원했다.
1999년 말, 멋진 새 서비스인 Sourceforge에 curl 코드를 가져갔다(import). 이후 모든 커밋 카운트는 이 가져오기 이후를 기준으로 한다. 1999년 12월 29일.
개인적으로는 2000년 초 직장을 옮겼지만, 낮에는 계속 임베디드 계약 개발을 했다.
최상위 도메인 .se의 규칙이 바뀌면서 curl 웹사이트를 curl.haxx.se로 이전했다.
결혼했다.
2000년 8월, curl 7.1을 릴리스했고 상황이 바뀌었다. 이 릴리스에서 우리는 라이브러리를 도입했고, 더 나은 이름을 떠올리지 못해 libcurl이라고 부르기로 했다. 그 시점에 프로젝트는 17,200줄의 코드였다.
libcurl API는 fopen()이 불투명 핸들을 반환하는 방식, 그리고 ioctl()로 옵션을 설정하는 방식을 참고했다.
curl을 라이브러리로 만드는 아이디어는 시작할 때부터 품고 있었다. 좋은 라이브러리가 애플리케이션에 얼마나 큰 힘이 되는지 이미 알고 있었기 때문이다.
curl의 첫 CVE가 보고되었다.
사용자들은 이 라이브러리를 유용하게 여겼고 curl의 채택이 늘어났다. libcurl의 초기 채택자 중 하나는 PHP 언어였다. HTTP/URL 전송 엔진으로 libcurl을 기본으로 쓰기로 했다.
첫 테스트 스위트를 만들었다.
우리는 라이선스를 변경하여, 새 curl 라이선스(사실상 MIT)와 MPL 두 가지로 제공했다. curl 라이선스를 약간 수정하겠다는 생각은 다소 무모했지만, 왜 그랬는지는 잊혔다.
HTTP/1.1과 IPv6 지원을 추가했다.

6월, THANKS 파일에는 이름이 올라간 기여자가 67명이었다. 이것은 팀 노력이다. 3월에 총 커밋 수 1,100건을 넘었고, 7월에는 curl이 20,000줄의 코드에 도달했다.
애플은 curl 7.7.2가 포함된 Mac OS X 10.1부터 curl을 번들하기 시작했다.
테스트 스위트에는 79개의 테스트 케이스가 있었다.
우리는 MPL 옵션을 버렸다. 라이선스 변경 게임은 다시는 하지 않기로 했다.
HTTP에서의 gzip 압축을 지원했고, SOCKS 프록시 사용법을 배웠다.
curl의 “autobuild”(자동 빌드) 시스템을 도입했다. 자원자들이 자신의 머신에서 스크립트를 실행해 주기적으로 curl을 내려받고, 빌드하고, 테스트를 수행하여 그 결과를 우리 중앙 서버로 이메일로 보내면, 중앙에서 보고 및 분석을 한다. 현대의 CI 시스템이 이런 일을 훨씬 쉽게 만들기 한참 전의 일이었다.
HTTP에서 Digest, NTLM, Negotiate 인증을 지원에 추가했다.

8월에는 개별 man 페이지 40개를 제공했다.
FTPS 지원을 추가했다. 프로토콜 번호 9.
첫째 아이 Agnes가 태어났다.
나는 ares 프로젝트를 포크해 c-ares 프로젝트를 시작했다. 비동기 이름 해석을 수행하는 라이브러리를 제공하고 유지보수하기 위해서였다. curl 및 다른 프로젝트를 위해서. 이 프로젝트도 이후 꽤 인기 있고 널리 쓰이게 되었다.
2003년 초에 curl은 32,700줄의 코드였다.
우리는 curl이 “대용량 파일”을 지원하도록 만들었다. 당시 기준으로 2GB와 4GB를 넘는 파일을 지원한다는 뜻이었다.
IDN, 즉 국제화 도메인 이름 지원을 구현했다.
GnuTLS가 두 번째로 지원하는 TLS 라이브러리가 되었다. 이제 사용자는 빌드에 사용할 TLS 라이브러리를 선택할 수 있게 되었다.
스웨덴의 “Internetfonden” 기금 덕분에 회사에서 휴직을 할 수 있었고, 애플리케이션이 더 빠르게 더 많은 병렬 전송을 할 수 있게 해주는 multi_socket() API의 첫 버전을 구현했다.

git이 만들어졌고, 그들은 곧바로 HTTP(S) 전송에 curl을 채택했다.
TFTP가 curl이 지원하는 열 번째 프로토콜이 되었다.
우리는 “3자 FTP 전송”(third party FTP transfers) 지원을 중단하기로 결정했고, 그에 따라 ABI가 바뀌어 SONAME을 올렸다. 가장 최근의 그런 상향이었다. 이 결정은 약간의 논쟁을 촉발했다. 우리는 SONAME 상향이 사용자에게 얼마나 어려운 일인지 배웠다.
wolfSSL의 전신인 cyassl이 curl이 지원하는 세 번째 SSL 라이브러리가 되었다.
HTTP/1.1 파이프라이닝을 지원에 추가했고, 하반기에는 Adobe의 계약 개발을 수주해 SCP와 SFTP 지원을 추가했다.

SCP와 SFTP 작업의 일부로, 나는 제법 큰 발을 들여놓았고 이후 libssh2 프로젝트의 관리자가 되었다. 이 프로젝트도 꽤 널리 쓰인다.
둘째 아이, 아들 Rex가 태어났다.
이제 코드 51,500줄에서, 네 번째 SSL 라이브러리 NSS 지원을 추가했다.
LDAPS를 지원했고, 최초의 OS/400 포트가 머지되었다.
curl 7.16.1에서는 --libcurl 지원을 추가했다. 아마 내가 가장 좋아하는 단 하나의 curl 명령줄 옵션일 것. 명령줄 전송을 반복하는 libcurl 사용 소스 코드를 생성한다.
4월, curl에는 348개의 테스트 케이스가 있었다.
이제 명령줄 도구는 126개의 명령줄 옵션을 제공했다. curl의 첫 10년 동안 5배 성장했다.
3월, 커밋 수가 10,000건을 넘었다.

나는 httpbis 워킹그룹 메일링 리스트에 합류했고, IETF와 HTTP 프로토콜 작업에 천천히 적극적으로 참여하기 시작했다.
Solaris가 curl과 libcurl을 번들로 제공하기 시작했다. Linux용 Adobe Flash Player는 libcurl을 사용했다.
9월, curl 기여자 총수가 654명에 도달했다.

FLOSS Weekly 51에서, 나는 처음으로 팟캐스트에서 curl에 대해 이야기했다.
우리는 cmake로 curl을 빌드하는 지원을 도입했다. 지금도 이것이 정말 우리에게 도움이 되는 결정이었는지 논의되고 의문이 제기된다. 순환을 완성하자면, cmake 자체도 libcurl을 사용한다.
7월, IETF 75 회의가 내 고향 스톡홀름에서 열렸고, 이 자리에서 나는 HTTP 프로토콜을 만들고 계속 다듬어 온 개인적인 영웅들을 처음으로 직접 만났다. Mark, Roy, Larry, Julian 등.

8월, 나는 회사를 그만두고 내 회사 Haxx에서 일하기 시작했다. 여전히 계약 개발을 했다. 그때는 주로 임베디드 리눅스를 했다.
또 다른 계약 덕분에, 나는 curl에 IMAP(S), SMTP(S), POP3(S) 지원을 도입했고, 지원 프로토콜 수는 19개로 늘었다.
나는 2009년 Nordic Free Software Award를 수상했다. curl, c-ares, libssh2에 대한 내 작업으로.
RTSP와 RTMP(S) 지원을 추가했다.
PolarSSL이 여섯 번째로 지원하는 SSL 라이브러리가 되었다.

버전 관리 시스템을 CVS에서 git으로 전환했고, 동시에 호스팅도 Sourceforge에서 GitHub로 옮겼다. 이 시점부터 우리는 커밋의 저자 정보를 정확하고 적절하게 추적하기 시작했다. CVS에서는 훨씬 어려웠던 일이다.
AxTLS 라이브러리 지원을 추가했다. 7번째였다.
코드 80,000줄을 넘겼다.
쿠키 RFC 6265가 발행되었다. 나는 그 자리에 있었고 약간 기여하기도 했다.
소스 코드가 curl 코드 스타일을 준수하는지 검증하는 checksrc 스크립트를 도입했다. 단순하게 시작했지만, 시간이 지나며 개선되었고 더 엄격해졌다.

구글러들로부터 감사를 받았고, 결국 약간의 구글 스왝(swag)도 받았다.
개별 커밋터가 100명을 넘었다.
명령줄 옵션 149개.
TLS를 위해 Schannel과 Secure Transport 지원을 추가했다.
허영심 가득한 사용자 수 추정을 시도했을 때, 나는 5억 5천만 명으로 추정했다. 이것은 내가 “와, curl은 정말 어디에나 있구나!”라고 자각한 초기 순간 중 하나였다.
2012년 한 해 동안 커밋 저자는 67명이었다.
주로 OS/400에서 사용되는 TLS 라이브러리 GSKit 지원을 추가했다. 10번째로 지원하는 TLS 라이브러리였다.
4월, 기여자 수가 1,000명을 넘어섰고, 테스트 케이스는 800개를 넘었다.
내부를 리팩터링하여 모든 것이 논블로킹으로 수행되도록 했고, 우리가 “내부적으로 multi 사용”이라고 부르는 구조로 바꾸어 easy 인터페이스가 multi 전송의 래퍼가 되도록 했다.

초기 HTTP/2 지원 시도가 머지되었다(훌륭한 nghttp2 라이브러리 기반). 그리고 Happy Eyeballs 접근법으로 connect를 수행하는 지원도 추가했다.
처음으로 두 개의 CI 잡을 만들었다.

나는 Mozilla에서 일하기 시작했다. 스웨덴의 내 집에서 원격으로 Firefox 네트워킹 팀에 합류했다. 내 커리어에서 처음으로 네트워킹과 HTTP 등, curl과 상당 부분 겹치는 일을 주업으로 하게 되었다. 이 시점까지는 내 삶의 두 면이 묘하게 분리되어 있었다. Mozilla는 업무 시간 중 일부를 curl에 쓸 수 있게 해주었다.
명령줄 옵션 161개, 보고된 CVE는 20개였다.
7월, 59개였던 man 페이지가 270개로 폭증했다. 모든 libcurl 옵션이 각자 별도의 페이지를 갖게 되었기 때문이다.
libressl이라는 OpenSSL 포크를 지원에 추가했고, QsoSSL 지원을 제거했다. 여전히 TLS 라이브러리는 10개였다.
9월, 코드 줄 수는 105,000줄이었다.
SMB(S) 지원을 추가했다. 프로토콜 24개.
BoringSSL과 mbedTLS 지원을 추가했다.
HTTP/2를 사용한 올바른 멀티플렉스 전송을 지원하기 시작했다. 하나의 연결을 여러 전송이 공유하게 되면서 아키텍처에 꽤 극적인 패러다임 변화가 있었다. 대대적인 리팩터링이 있었고, HTTP/2 지원이 안정화되는 데에는 시간이 걸렸다.
이어 처음으로 HTTP/2 서버 푸시 지원도 도입했다.
작업 방식도 완전히 GitHub 모델로 전환하여, 이슈 트래커를 사용하고 풀 리퀘스트로 개발했다.
첫 HTTP/2 RFC가 5월에 발행되었다. 그 뒤의 워킹그룹 노력에 나도 조금은 기여했다고 믿고 싶다.

이 해의 HTTP/2 작업은 부분적으로 Netflix의 후원을 받았고, Mozilla에 계속 고용된 상태에서 그것을 성사시키는 일은 꽤 아슬아슬한 춤이었다.
커밋 20,000건.
everything curl 쓰기를 시작했다.
또한 더 나은 쿠키 처리를 위해 libpsl을 추가하여 Public Suffix List를 사용했다.
curl은 HTTPS 전송에 대해 기본적으로 HTTP/2를 사용하도록 전환했다.
5월, curl은 명령줄 옵션 185개를 제공했다.

새 로고를 얻었다. 현재 사용하는 로고다. Soft Dreams의 Adrian Burcea가 디자인했다.
HTTPS 프록시와 TLS 1.3 지원을 추가했다.
curl은 Cure 53의 보안 감사를 받았다.
스웨덴의 한 테크 매체가 나를 스웨덴 2위 개발자로 선정했다. curl에 대한 내 작업 덕분이었다.
그해 말 코드 줄 수는 115,500줄이었다.
curl은 여러 TLS 라이브러리로 빌드하고 사용할 수 있게 되었고, 시작 시점에 어떤 것을 사용할지 선택할 수 있게 되었다.

Fastly가 손을 내밀어 관대하게도 curl 웹사이트와 내 개인 웹사이트를 호스팅하기 시작했다. 덕분에 인기 블로그 글로 인해 사이트가 버거워하던 예전의 불안정이 사라졌고, 전 세계 더 많은 사람에게 curl 사이트가 빨라졌다. Fastly는 그때부터 지금까지 프로젝트의 든든한 스폰서다.

2017년 봄, 우리는 사상 처음 물리적 개발자 컨퍼런스 curl up을 열었다. 스무 명 남짓의 curl 팬과 개발자들이 독일 뉘른베르크에 모여, 주말 내내 curl 이야기만 나누었다.
6월, 나는 미국 입국을 거부당했다. 이후 미국 비자를 받기 위한 길고 고통스러운 모험이 시작되었다.
첫 SSLKEYLOGFILE 지원이 추가되었고, 새로운 MIME API와 brotli 압축 지원도 도입했다.
curl 프로젝트는 OSS-Fuzz 프로젝트에 채택되었고, 즉시 우리 코드의 실수들을 찾아주기 시작했다. 그 이후로도 줄곧 쉬지 않고 curl을 퍼징하고 있다.

10월, 나는 폴헴상(Polhem Prize)을 수상했다. 스웨덴에서 가장 오래되었고, 아마 가장 권위 있는 공학상이다. 1876년부터 제정되어 수여되어 왔다. 진짜 금메달이며, 스웨덴 국왕이 직접 수여했다. 메달에는 내 이름도 새겨져 있다.
DNS over HTTPS 지원을 추가했고, 애플리케이션이 curl과 정확히 같은 방식으로 URL을 파싱할 수 있게 하는 새 URL API를 도입했다.

나는 Changelog 팟캐스트에 출연해 curl의 스무 살을 이야기했다.
마이크로소프트는 Windows에 curl을 번들로 제공하기 시작했다. 그러나 PowerShell의 curl 별칭은 여전히 남아 있다.
두 번째 SSH 라이브러리 지원을 도입하여, 이제 SCP와 SFTP를 기존의 libssh2에 더해 libssh로도 구동할 수 있게 했다.
MesaLink 지원을 추가했지만 AxTLS 지원은 제거했다. TLS 라이브러리는 12개였다.
코드 129,000줄. GitHub 별 1만 개 돌파.
기부를 받기 위해 Open Collective에 계정을 만들라는 요청이 있었고, 우리는 그렇게 했다. 이후 프로젝트가 기부와 스폰서십을 받는 좋은 채널이 되었다.
2018년 11월, HTTP-over-QUIC 프로토콜을 공식적으로 HTTP/3로 하기로 결정되었다.
그해 말 CI 잡은 27개였다. 1,200개가 넘는 테스트 케이스를 돌렸다.

나는 wolfSSL에서 일하기 시작했고, 풀타임으로 curl을 했다. curl이 나의 일이 되는 데는 21년이 걸렸다.
Alt-Svc 지원을 추가했고, 늘 문제가 많던 HTTP/1.1 파이프라이닝 지원은 제거했다.

첫 curl 버그 바운티 프로그램을 시작했고, 그 이후로 사실상 계속 운영 중이다. hackerone과 함께한다. 45개의 취약점에 대해 거의 50,000달러의 보상금을 지급했다(2023년 2월까지).
AmiSSL과 BearSSL 지원을 추가했다. 총 14개 라이브러리.

HTTP/3의 초기 지원을 머지했다. quiche 라이브러리 기반이었고, 조금 뒤에는 두 번째 라이브러리 ngtcp2도 추가했다. 왜 여러 백엔드를 두지 말아야 하겠는가?
“공식” docker 이미지로 curl도 제공하기 시작했다.
curl 도구가 병렬 전송 능력을 얻었고, -w로 JSON 형식 출력을 할 수 있게 되었으며, 무시무시하던 --help 출력은 하위 범주로 더 잘 정리되고 깔끔해졌다.
3월, curl 7.69.0부터 나는 릴리스 비디오 프레젠테이션을 라이브 스트리밍으로 시작했다.
curl 웹사이트는 curl.se로, everything curl은 curl.dev 도메인으로 옮겼다.
MQTT가 25번째 지원 프로토콜이 되었다.
첫 HSTS 지원이 추가되었고, zstd 압축도 지원했다.
wolfSSH가 세 번째로 지원하는 SSH 라이브러리가 되었다.
PolarSSL 지원을 제거했다.
HTTP/1과 HTTP/2의 대체 백엔드로 hyper의 초기 지원을 추가했다.
11월, 코로나 한가운데에서 나는 마침내 미국 비자를 받았다.
그해 말 직전에 90번째 CI 잡이 만들어졌다.
MesaLink 지원을 중단했지만 rustls 지원을 추가했다. TLS 라이브러리는 13개가 되었다.

Ingenuity가 화성에 착륙했고, curl이 그 일에 기여했다.
이메일로 매우 불쾌한 살해 협박을 받았다. 심각한 혼란 속에서 자신에게 벌어진 온갖 나쁜 일을 내 탓으로 돌리는 누군가로부터.
GitHub 별 2만 개 돌파.
GOPHERS를 지원. 프로토콜 26개.
그해 동안 머지된 커밋의 저자는 187명이었다.
웹소켓(WS:// 및 WSS:// URL) 초기 지원과 이를 다루는 새 API가 머지되었다. 프로토콜은 28개가 되었다.
--json 명령줄 옵션을 추가했고, libcurl은 새로운 헤더 API를 얻었으며, 그 결과 명령줄 도구의 -w에도 새로운 “헤더 선택” 기능이 추가되었다. --rate와 --url-query도 추가했다.
HTTP/3 RFC가 6월에 발행되었다.
msh3가 세 번째 HTTP/3 라이브러리가 되었다.
Trail of Bits가 curl 보안 감사를 수행했고, OpenSSF가 후원했다.
12월, 212번째 curl 릴리스가 나왔다. GitHub에 이슈 10,000번이 생성되었다.
연초 기준: 코드 155,100줄. man 페이지 486개. 테스트 케이스 1,560개. 기여자 2,771명. 커밋 저자 1,105명. CVE 132개. CI 잡 122개. 커밋 29,733건. 버그 바운티 지급액 48,580달러. 명령줄 옵션 249개. 프로토콜 28개. TLS 라이브러리 13개. SSH 라이브러리 3개. HTTP/3 라이브러리 3개.
이전 버전으로 폴백하는 HTTP/3 지원을 도입하여, 사용이 덜 오류에 민감해지도록 했다.
3월 13일, 커밋 30,000건을 돌파했다.
3월 20일, curl 8.0.0을 릴리스했다. 첫 curl 릴리스로부터 정확히 25년이 되는 날이다.
지난 25년 동안 우리는 수많은 소프트웨어, 도구, 서비스를 사용하다가 잊어버렸다. 것들은 왔다가 간다. 모든 것에는 때가 있고, 많은 프로젝트는 끝내 따라가지 못해 어느 시점에 다른 것에 자리를 내준다.
나는 curl이 여전히 매우 관련성 높은 소프트웨어 프로젝트라고, 사용자와 사용 사례가 많다고 믿고 싶다. 이는 부분적으로 우리가 프로젝트를 정성껏, 사랑을 담아 강도 높게 유지보수하기 때문이라고 생각한다. 우리는 사용자가 바라듯이 작동하도록 만든다. 따라가고, 최신을 유지하고, 최신 보안 대책을 지원하며, 당신이 사용하고 참여하고 싶은 그런 프로젝트가 되는 것이다. 모범으로 이끈다.
curl을 여기까지 이끌고, 내 취미 프로젝트를 풀타임으로 할 수 있게 된 것은 꿈이 이루어진 것이다. curl은 내 삶의 거대한 부분이다.
2019년 포르투갈에서 휴가 중인 나.
이렇게 말해도, curl은 팀의 노력이며, 훌륭한 모든 기여자 없이는 결코 이륙하지도, 무엇이 되지도 못했을 것이다. 사람들은 나를 “curl guy”라고 부르기도 하고, 어떤 이들은 이것을 “내” 프로젝트라고 말하지만, 프로젝트에 조금이라도 가까이 있었던 사람이라면 우리가 나 홀로가 아니라 훨씬 더 많은 사람의 팀이라는 것을 안다.
httpget을 처음 발견한 그날, 나는 26살이었다. curl을 배포했을 때는 27살이었다. 나는 작년 11월에 52살이 되었다.
나는 어떤 회사에서 일한 시간보다 더 오래 curl을 해왔다. 내 아이들 누구도 이만큼 오래되진 않았다. 25년 전, 나는 지금의 집에 살고 있지 않았다. 25년 전, 구글도 없었고 파이어폭스도 없었다.
지금의 curl 사용자들 중에는 내가 이 일을 시작했을 때 태어나지도 않았던 이들이 많다.
사람들이 물어볼 것이기에 이 섹션을 덧붙인다.
나는 미래가 어떻게 될지 모른다. 예측이나 전망에 소질이 없었고, 솔직히 점치기를 늘 피하려 한다. 재미있는 한, 그리고 사람들이 내 작업의 결과를 쓰고자 하는 한, 나는 프로젝트에서 활동을 이어가고 클라이언트 측 인터넷 전송 작업을 계속하길 바란다.
또 25년 뒤에도 내가 이 프로젝트에 있을까? 그때도 curl은 여전히 관련성이 있을까? 모른다. 함께 확인해 보자!