
Is Open Source Eating the World?
(Dominic Alves 제공 표지 이미지에 감사드립니다! CC BY 2.0)
“소프트웨어가 세상을 삼키고 있다”는 주장은 2011년에 처음 등장했습니다. 2015년, 오픈소스 소프트웨어가 그 자리를 대체했습니다.
“이 이론이 펼쳐지면, 소프트웨어가 세상을 삼키고, 그렇다면 오픈소스 소프트웨어가 그것을 대체할 것, 그렇지 않나요?” 2015년 초 Forbes는 불확실하게 타진했습니다. 하지만 연말에는 그들이 매우 자신 있게 “오픈소스 소프트웨어가 확실히 세상을 삼키고 있다”는 글을 발표했습니다.
이것은 한 목소리로 시작된 운동이 아닙니다. Wired는 올해 오픈소스 소프트웨어가 불같이 일어났다와 같은 기사를 발표했습니다. 인용문으로 가득 차 있습니다. 예: “이것은 단순한 전환점이 아니라 기폭점입니다,” GitHub의 리더 Brandon Keepers가 말했습니다.
이것은 Defrag2015와 같은 다양한 회의에서도 여러 번 등장했습니다. 저는 “개방형 플랫폼과 전략 - 왜 플랫폼을 개방해야 하는가”라는 강연에 참석했습니다. 거기서 저는 많은 강력한 추측을 들었습니다. 예: 약 5년 내에 대부분의 제품이 GitHub와 같은 개방형 플랫폼에서 오픈소스가 될 것입니다.
오픈소스 소프트웨어가 이 세상을 지배할까요? 미래의 모든 라이선스가 GPL, MIT, Apache 등이 될까요? 물론 아닙니다. Linux, Netscape, Apache httpd는 모두 오픈소스 재단에서 오랫동안 기다리고 있습니다.
그렇다면 왜 2015년에 이렇게 격정적인 물결이 있었을까요?
git commit -m “무엇이 바뀌었는지”
미래를 예측하는 것은 헛된 일입니다. 이 점에 대해 Philip Tetlock은 실험 연구를 통해 전문가들이 “다트를 던지는 침팬지와 거의 같은 정확도”라는 것을 증명했습니다.
따라서 자유/오픈소스 소프트웨어의 미래를 예측하는 것이 우리를 잘못된 길로 이끌 수 있으니, 지금 무슨 일이 일어나고 있는지 살펴봅시다. 제 주장은 오픈소스와 클로즈드 소스가 항상 상호 보완적인 관계였다는 것입니다. 우리가 지금 보는 추세는 대부분 개방과 폐쇄의 성전에서 나온 승자들입니다.
혼합 조직 방식이 주류입니다
오픈소스 소프트웨어는 주류입니다. Apple은 가장 폐쇄적인 회사라고 할 수 있지만, Swift를 오픈소스로 공개했습니다. Microsoft는 Visual Studio, .Net, 최근 JavaScript 엔진 Chakra를 오픈소스로 공개했습니다. Google, Facebook, 심지어 NSA도 프로젝트를 GitHub에 호스팅하고 오픈소스로 공개했습니다.
하지만 이러한 조직 중 많은 곳도 근본적으로 클로즈드 소스입니다. 왜 혼합해서 구성할까요? Joel Spoelsky가 우리에게 설명을 제공했습니다. 그는 2002년 보완재 시장에 관한 논문에서 다음과 같이 말했습니다:
“한 제품의 보완재 가격이 하락하면 그 수요가 증가합니다. 일반적으로 회사의 전략적 이익은 보완재 가격을 가능한 한 낮게 만드는 것입니다.”
무료보다 더 나은 것은 무엇일까요? Sun Microsystems는 Java를 공개했습니다. 왜냐하면 그들의 주요 사업은 서버 판매였기 때문입니다. 멋진 Java 애플리케이션을 구축한 후 무엇이 필요할까요? 물론 서버에서 실행해야 합니다.
추상 표현주의
우리의 친구 Joel도 최근 a16z 팟캐스트에서 오픈소스의 다른 이점을 표현했습니다:
“우리가 코딩하는 시스템은 과거보다 백만 배 더 복잡합니다. (…) 오늘날 단 한 줄의 코드로 신용카드 수락 및 처리를 완료할 수 있습니다. (…) 프로그래머로서 우리는 더 강력해졌습니다.”
소프트웨어가 점령하는 영역이 클수록 세상은 더 상호 연결됩니다. 개발도 더 복잡해집니다. 자유/오픈소스 소프트웨어는 모든 복잡성을 여는 방법입니다.
시간이 지남에 따라 엔트로피가 계속 증가한다고 믿는다면, 오픈소스가 엔트로피 증가를 효과적으로 늦출 수 있다면 오픈소스 채택률이 엔트로피 증가와 함께 증가할 것이라는 예측을 할 수 있습니다.
주목할 점은 이 모델에서 Twilio, Stripe, 그리고 그들의 형제들이 명백한 문제라는 것입니다. 그들은 클로즈드 SaaS 제품을 제공하면서도 복잡성 제거에 많은 작업을 했습니다. 문제는 개방형과 폐쇄형 솔루션 중 어느 것이 “승자”인지 여러 측면에서 설명하기 어렵다는 것입니다.
긴급히 HIPAA 필요 (간화 방안)
Stripe, Twilio 및 기타 유사한 회사들은 오픈소스를 추진하지만, 위의 모든 회사는 오픈소스와 구별되는 클로즈드 서비스를 제공합니다. 이것은 왜일까요?
클로즈드 서비스는 PCI 표준과 유사한 서비스를 제공하며, 등록 호출 없이, HIPAA는 심지어 배우기 쉽고 기억하기 쉬운 기능을 제공하며, 당신은 자신의 비즈니스 로직에만 집중하면 됩니다. 이제 점점 더 많은 회사가 클로즈드 서비스를 사용하여 비용을 지불함으로써 부담을 줄이고 두통을 유발하는 통합 문제를 피하려고 합니다.
저는 이러한 상황이 변하지 않을 것이라고 확신합니다. 클로즈드 서비스가 제공하는 우수한 캡슐화를 기반으로 자사 비즈니스를 더 잘 실현할 것입니다. 사소한 세부 사항을 숨기고 실용적인 기능을 제공합니다. 클로즈드 서비스는 복잡한 것을 간단하게 만드는 데 능합니다.
FOSS 지지자가 중립자로 교체됨
오픈소스가 성숙했다는 것은 오해입니다. 종종 다음과 같은 선언을 봅니다. “더 이상 다음 Red Hat은 없을 것입니다.” a16z의 Peter Levine은 오픈소스가 비즈니스 옵션이라면 일반적으로 시장에서 가장 효과적인 솔루션이 아니라고 말했습니다.
수익이 중요합니다. 모든 제품은 지원이 필요합니다. 그것(어떤 오픈소스 소프트웨어)이 계속 개발되고 유지 관리될까요? Satirical Twitter는 우려합니다:

I think I’ve had milk last longer than some javascript frameworks
“저는 일부 JavaScript 프레임워크의 생존 시간이 우유보다 짧았다고 생각합니다”
마찬가지로, FOSS의 주요 원칙이 문제를 일으키고 있습니다. Heartbleed 문제를 기억하시나요(HeartBleed)? Jeff Atwood는 확실히 기억합니다. 그는 이 문제를 사용하여 반박했습니다.
리누스의 법칙(Linus’ Law는 컴퓨터 소프트웨어 개발자에게 익숙한 개발 테스트 법칙 중 하나)은 Cathedral and the Bazaar(이 책은 오픈소스 소프트웨어 모델을 소개함)에 강제로 포함되었습니다.
리누스의 법칙은 “충분히 오랫동안 보면 모든 버그가 발견될 것”이라고 말합니다. 다시 말해, 오픈소스 소프트웨어에는 재앙적인 버그가 없어야 합니다. 충분한 사람이 공개적으로 코드를 검토하기 때문에 일부 작은 버그만 지나갈 수 있습니다.
Atwood는 다음과 같이 응답했습니다:
그러나 Heartbleed SSL 취약점은 리누스의 법칙의 전환점이며, 이것은 오픈소스 소프트웨어의 심각한 오류로 인한 재앙적인 취약점입니다. 얼마나 재앙적일까요? 이것은 세계 모든 HTTPS 웹사이트의 약 18%에 영향을 미쳤으며, 공격자가 이러한 모든 웹사이트의 트래픽을 볼 수 있게 했으며, 아직 암호화되지 않았습니다… 그리고 2년 동안이었습니다.
아이고. Atwood의 현재 기업 Discourse.org는 100% 오픈소스 제품입니다. 그는 분명히 자유/오픈소스 소프트웨어에 큰 신뢰를 가지고 있습니다. 그것은 단순히 현실 세계의 세련을 받았을 뿐입니다.
사용 편의성
GitHub는 오픈소스의 항구입니다. 그 위에서 작성과 코드 공유가 훨씬 쉬워졌습니다. 아마추어는 코드를 작성할 수 없더라도 문서를 개선할 수 있습니다. Pull request를 통해 전문가가 쉽게 공유하고 지도할 수 있습니다.
분산 버전 관리 시스템(git)이 중앙 집중식 버전 관리 시스템(svn)을 대체한 것이 자유/오픈소스 소프트웨어에 그토록 큰 영향을 미친 것은 시적인 일입니다. 문제를 해결하고 싶으신가요? 먼저 GitHub에 해결책이 있는지 확인해 보세요.
이성적인 모든 비즈니스는 오픈소스를 무시하는 것은 어리석은 일입니다. 하지만 GitHub는 어떻게 돈을 벌까요? 개인 저장소를 판매합니다. 그중 대부분은 클로즈드 소스입니다. 심지어 GitHub도 이 게임에 있습니다.
미래는 순수한 오픈소스 동화가 아닙니다. 오픈소스와 클로즈드 소스를 결합한 패치워크입니다.
조금씩 다 가져야 아름답습니다
오픈소스와 클로즈드 소프트웨어 사이에 영원한 갈등은 없습니다. Microsoft는 한때 클로즈드 소스의 정의 투사였습니다. 노병이라면 그들 사이의 전쟁 이야기를 여전히 읽을 수 있습니다.
오늘날 Microsoft는 완전히 자유/오픈소스 소프트웨어의 흐름에 순응합니다. 많은 다른 회사와 마찬가지로 그들은 많은 클로즈드 프로젝트를 개발하면서 오픈소스에 참여합니다. 이것도 아이러니입니다. 우리는 Docker, Golang, Rails와 같은 오픈소스 솔루션을 좋아합니다. 또한 Slack과 같은 클로즈드 솔루션에 의존합니다.
현대 기업은 두 세계를 완전히 포용해야 합니다. Google, Facebook, Uber는 이 계몽된 접근 방식의 성공적인 예입니다. 그들은 오픈소스를 활용하면서 점심을 도둑맞지 않고도 증명했습니다.
성전은 끝났습니다. 오픈소스와 클로즈드 소스의 경쟁도 끝나야 합니다.
재게시 출처: 개발자 관계 »