O는 현대 웹을 움직이는 힘 | OSS의 기초
안녕, 너드들! 오픈소스 소프트웨어의 세계를 한 글자씩 파헤치는 '오-에스-에스 알파벳'에 다시 오신 걸 환영합니다. 저는 테일러입니다. 오늘은 드디어 O, 즉 오픈소스 자체를 다룰 거예요—그래요, 오늘은 메타적인 접근을 해보죠! 안전벨트 매세요. 이 프로그램의 핵심 주제인 바로 그 본질에 깊이 들어가 볼 테니까요.
어떤 사람들은 비밀 레시피를 핵 발사 코드처럼 지키는 거 알지? 오픈 소스는 그 정반대야. 마치 할머니의 전설적인 쿠키 레시피를 온라인에 공개하면서 "세상아, 이 쿠키를 만들 수 있을 뿐만 아니라 더 맛있게 만드는 법을 알아내면 알려줘!"라고 말하는 것과 같아.
오픈소스의 진정한 의미를 살펴보자. 첫째, 누구나 볼 수 있도록 소스 코드를 공개해야 한다. 이게 바로 '오픈'의 의미다. 하지만 단순히 GitHub에 코드를 올려놓고 끝내는 게 전부가 아니다. 진정한 오픈소스는 사람들이 그 코드를 사용하고, 수정하고, 공유할 수 있는 권한을 부여하는 것이다. 마치 '나눔은 사랑'이라는 정신을 코드에 적용한 궁극의 운동과 같다.
오픈소스의 놀라운 점은 기존 소프트웨어 개발 방식을 완전히 뒤집어 놓는다는 거야. 기업 사무실에 갇힌 개발자들 대신 전 세계 사람들이 프로젝트에 함께 참여하거든. 방 한켠에 앉아 있는 어떤 아이가 수백만 달러 규모의 기업들이 쓰는 소프트웨어의 버그를 고칠 수도 있어. 정말 대단하지 않아?
백만 달러 기업 얘기가 나왔으니 말인데, 한 가지 오해를 바로잡자. 오픈소스라고 해서 수익을 내지 않는다는 뜻은 아니다. 레드햇은 IBM에 340억 달러(B가 붙는 억)에 인수됐는데, 이 회사는 오픈소스를 핵심으로 삼고 있죠. 몽고DB나 엘라스틱 같은 기업들도 핵심 제품을 오픈소스로 유지하면서 엄청난 성공을 거두고 있습니다. 마치 레시피는 공개하지만 사람들이 여전히 그 레스토랑에서 식사하기 위해 돈을 내는 것과 같아요.
오픈소스의 진정한 마법은 코드 그 자체만이 아닙니다. 바로 커뮤니티죠. 수백만 명의 개발자들이 아이디어를 공유하고, 서로의 버그를 고쳐주며, 서로의 작업 위에 새로운 것을 쌓아갑니다. 마치 역대급으로 대규모인, 가장 괴짜스러운 공동 요리 모임 같은 거예요. 모두가 한 가지 요리를 가져와서, 백 가지의 새로운 레시피를 가지고 집으로 돌아가는 그런 모임 말이죠.
하지만 현실을 직시하자 - 오픈소스가 모두 우애 넘치는 포옹과 풀 리퀘스트로만 이루어진 건 아니다. 인기 프로젝트를 유지하는 건 지칠 만큼 힘든 일이다. 수천 명의 사람들이 문 앞에 나타나 기능 추가를 요구하고, 버그를 보고하며, 때로는 문서가 형편없다고 불평하기만 하는 상황을 상상해 보라. 게다가 대부분의 관리자들은 이 일을 무료로 한다! 마치 24시간 운영하는 식당을 운영하는 것과 같다. 모든 사람이 공짜로 먹고도 여전히 Yelp 리뷰를 남기는 식당 말이다.
오픈소스의 영향력은 어디에나 존재합니다. 안드로이드? 오픈소스입니다. 크롬? 오픈소스 소프트웨어를 기반으로 구축되었습니다. 고양이 사진을 올리기 위해 이모가 사용하는 그 워드프레스 블로그? 맞습니다, 오픈소스입니다. 말 그대로 인터넷의 대부분을 움직이고 있지만, 많은 사람들은 그 사실을 전혀 깨닫지 못하고 있습니다.
앞으로 오픈소스는 더욱 커질 전망입니다. 기업들은 코드를 공유하는 것이 단순히 좋은 인연 쌓기가 아니라 좋은 비즈니스라는 사실을 깨닫고 있습니다. 무언가를 오픈소스로 공개한다는 것은 단순히 코드를 제공하는 것이 아니라, 혼자서는 결코 이룰 수 없었던 수준으로 프로젝트를 발전시킬 수 있는 커뮤니티에 투자하는 것입니다.
이것이 OSS의 ABC에서 열다섯 번째 글자입니다! 다음 번에는 패치(Patches)에 대해 이야기할 예정입니다. 그때까지, 여러분의 저장소는 공개 상태로, 커밋 메시지는 의미 있게 유지하세요! 그럼 이만!