>  기사  >  백엔드 개발  >  리눅스는 왜 성공하는가?

리눅스는 왜 성공하는가?

WBOY
WBOY원래의
2016-07-25 08:46:561107검색
1991년 리누스 토발즈(Linus Torvalds)가 개발한 유닉스 계열 운영체제 커널인 리눅스(Linux)는 오픈소스 세계의 중심이 됐다. 사람들은 리눅스가 왜 성공했는지 묻지 않을 수 없다. BSD는 실패하지 않았습니까?
자유 소프트웨어 및 오픈 소스 세계 역사상 가장 당혹스러운 질문 중 하나는 Linux가 그토록 눈부신 성공을 거두었지만 다른 나라에서도 무료 오픈 소스를 만들려고 노력한 이유입니다. , Unix 계열 운영 체제 커널 프로젝트가 그다지 성공적이지 않았습니까? 이 질문에 대답하기는 어렵지만 아래에 몇 가지 이유를 요약하여 공유합니다.
하지만 먼저 Linux가 큰 성공을 거두었다고 말할 때 제가 말하는 것이 무엇을 의미하는지 명확히 합시다. 나는 다른 유닉스 계열 운영 체제 커널과 관련하여 이 말을 합니다. 그 중 일부는 오픈 소스이고 일부는 그렇지 않으며 Linux가 탄생하는 동안 번성했습니다. 1991년 5월에 출시된 무료 커널인 GNU의 HURD가 그 중 하나입니다. 다른 것에는 University of California, Berkeley에서 개발한 다양한 Unix 파생물인 BSD, Microsoft가 주도하는 Unix 시스템 Xenix, Minix를 포함한 학술 버전의 Unix, 그리고 원래 Unix 등 대부분의 사람들이 들어본 적도 없는 Unix가 포함됩니다. AT&T의 후원. 이는 지난 수십 년 동안 학계와 비즈니스의 컴퓨팅 발전에 결정적인 역할을 했지만 1890년대에는 거의 사라졌습니다.
또한 여기서 말하는 것은 완전한 운영 체제가 아닌 커널에 관한 것입니다. 대체로 Linux 커널의 성공은 GNU 프로젝트 전체에 기인합니다. GNU 프로젝트는 Unix와 유사한 운영 체제를 구축하는 데 필요한 컴파일러, 디버거 및 BASH 셸 구현을 포함하여 중요한 도구 세트를 제작했습니다. 그러나 GNU 개발자들은 실행 가능한 HURD 커널 버전을 개발한 적이 없습니다(아직도 작업 중이지만). 대신 Linux는 GNU의 원래 의도를 벗어나더라도 GNU의 다양한 부분을 긴밀하게 연결하는 커널로 나타납니다.
그러므로 HURD와 같은 해인 1991년에 무명 핀란드 프로그래머인 리누스 토발즈(Linus Torvalds)가 출시한 커널인 리눅스가 당시 테스트를 견디고 성공할 수 있었던 이유는 무엇일까? 일반적인 환경에서는 강력한 상업적 지원을 제공하고 당시 인기 있는 해커가 주도했던 많은 Unix 계열 커널이 개발에 실패했습니다. 이 문제를 설명하기 위해 이 문제와 관련된 몇 가지 설명을 찾았습니다. 이를 위해 저는 자유 소프트웨어와 오픈 소스 세계의 역사를 조사하고 다양한 해석의 장단점을 조사했습니다.
 Linux는 분산형 개발 방식을 채택합니다
이러한 견해는 Eric S. Raymond의 기사 "Cathedrals and Bazaars" 및 관련 자료에서 나온 것입니다. 이러한 데이터는 상황을 입증합니다. 소프트웨어 개발은 ​​분산된 조직 구조에서 많은 수의 기여자가 지속적으로 협력할 때 가장 효율적입니다. 예를 들어 코드 개발 관리에 상대적으로 더 중앙 집중화된 접근 방식을 취하는 GNU HURD와 달리 Linux 개발은 이를 보여줍니다. 결과적으로 레이먼드의 말처럼 완전한 운영체제가 10년 안에 성공적으로 구축되지 못한 것은 분명하다.
이 설명은 어느 정도 일리가 있지만 여전히 몇 가지 명백한 단점이 있습니다. 예를 들어 Torvalds는 의심할 여지없이 Linux 코드 개발을 안내하는 데 있어 더 권위 있는 역할을 맡았으며 Raymond와 다른 사람들이 생각한 것과는 달리 코드를 수락하거나 거부하기로 결정할 수 있었습니다. 둘째, 이 견해는 GNU가 실행 가능한 시스템 커널 개발에 실패했음에도 불구하고 어떻게 그렇게 뛰어난 소프트웨어를 생산할 수 있었는지 설명할 수 없습니다. 분산형 개발 방법만이 오픈 소스 소프트웨어 세계에서 프로젝트를 잘 안내할 수 있다면 모든 GNU 프로그래밍 노력은 헛된 것이 될 것입니다. 그러나 사실은 그렇지 않습니다.
 Linux는 실용적이고, GNU는 유토피아
개인적으로 이 말이 가장 눈길을 끄는 말이라고 생각하는데, 바로 Linux의 발전이다. 그 창시자는 원래 GNU 프로젝트의 일관된 목표인 자유 소프트웨어의 일부가 아니라 자신의 집 컴퓨터에서 간단한 버전의 Unix를 실행할 커널을 작성하고 싶었던 실용주의자였기 때문입니다. .
하지만 이 설명에는 아직 완전히 설득력이 없는 부분도 있습니다. 특히 Torvalds 자신은 실용주의 원칙을 믿었지만 과거나 현재의 그의 프로젝트에 참여한 모든 사람이 이 원칙에 대한 믿음을 공유한 것은 아닙니다. 그럼에도 불구하고 리눅스는 성공했다.
그리고 실용주의가 Linux의 지속적인 개발의 핵심이라면 우리는 다시 질문해야 합니다. 특정 종류의 커널 개발에 실패하면서 GNU가 왜 그렇게 많은 유용한 도구를 개발하는 데 성공한 걸까요? 소프트웨어 강한 정치적 신념이 성공적인 프로젝트를 추구하는 데 걸림돌이 된다면, GNU는 오늘날 IT 세계에 여전히 견고한 기반을 제공하는 수많은 훌륭한 소프트웨어 패키지를 개발한 선구자라기보다는 완전한 실패였어야 했습니다.
마지막으로(적어도 중요한 것은) 1880년대 후반과 1990년대 초반에 탄생한 많은 Unix 변종, 특히 일부 BSD 포크는 실용주의의 산물이었습니다. 그들의 개발자들은 값비싼 상업용 라이센스의 제한 없이 자유롭게 공유할 수 있는 Unix 변형을 개발하는 데 전념했지만 프로그래밍이나 코드 공유에 대해 전적으로 이념적이지는 않았습니다. Torvalds도 마찬가지이므로 Linux의 성공과 다른 Unix 프로젝트의 실패가 이념적이라고 주장하기는 어렵습니다.
 운영체제 설계
Linux의 성공을 이야기할 때 Linux와 다른 Unix 변종 사이에는 무시할 수 없는 기술적 차이가 많이 있습니다. GNU 프로젝트의 창립자인 Richard Stallman은 이메일에서 HURD의 개발이 뒤처진 이유를 나에게 설명했습니다. "GNU Hurd는 실제로 실질적인 성공을 거두지 못했습니다. 그 이유 중 하나는 기본 디자인이 마치 (작동하는 커널을 빠르게 구현하는 지름길이기 때문에 이 디자인을 선택했습니다.)"
Torvalds가 Linux용 코드를 모두 작성한 만큼 Linux도 다른 Unix 변종과 다릅니다. 1991년 8월 그가 처음 Linux를 출시했을 때 그의 원래 의도 중 하나는 다른 사람의 코드를 사용하지 않고 자신만의 Unix를 갖는 것이었습니다. 이 기능은 일반적으로 AT&T Unix 또는 Berkeley의 BSD에서 기본 코드를 파생한 같은 기간의 대부분의 Unix 변형과 Linux를 다르게 만들었습니다.
저는 컴퓨터 과학자가 아니기 때문에 Linux의 성공을 설명하기 위해 Linux 코드가 다른 Unix 코드보다 우수한지 여부를 판단할 자격이 없습니다. 이것이 Linux와 다른 Unix 커널 사이의 문화적, 개인적 차이를 설명하지는 않지만, Linux의 성공을 이해하는 데 있어 운영 체제 디자인이 코드보다 더 중요해 보이기 때문에 제게는 이해가 됩니다.
 Linux 커뮤니티는 강력한 지원을 제공합니다
Stallman은 또한 Linux 성공의 "주된 이유"는 "Torvalds가 Linux를 무료 소프트웨어로 만들었기 때문에 Hurd는 Linux 개발에 더 많은 커뮤니티 지원을 쏟아부었습니다." 그러나 이것은 Linux의 성장 궤적에 대한 완벽한 설명이 아닙니다. 왜냐하면 자유 소프트웨어 개발자가 왜 HURD나 다른 사람 대신 Torvalds를 따랐는지 설명하지 않기 때문입니다. Unix이지만 여전히 이러한 변화를 보여줍니다. 이는 Linux가 인기를 얻는 이유 중 큰 부분을 차지합니다.
자유 소프트웨어 커뮤니티가 Linux를 지원하기로 결정한 이유와 개발자가 그렇게 한 이유는 더 포괄적입니다. 처음에 Linux는 NET BSD 및 386/BSD와 같이 더 자유로운 Unix를 만들려는 동시대의 다른 시도에 비해 어떤 표준으로든 별 의미가 없는 모호한 작은 프로젝트였습니다. 마찬가지로 처음에는 Linux의 목표와 자유 소프트웨어 운동이 일치하는지 여부가 불분명했습니다. 처음에 Torvalds는 Linux가 상업적으로 사용되는 것을 방지하는 인증서로만 Linux를 출시했습니다. 나중에 소스 코드의 개방성을 보호하기 위해 GNU의 일반 공개 인증서를 사용하도록 전환한 것에 대해서는 나중에 이야기합니다.
그래서 제가 찾아낸 오픈 소스 운영 체제로서의 Linux의 성공에 대한 설명은 어떤 측면에서는 확실합니다(그러나 예를 들어 Linux의 데스크톱 버전은 한 번도 성공하지 못했습니다). 지지자)가 되고자 하는 열망은 이미 측정 가능한 성공입니다. 간단히 말해서, Linux는 다른 Unix 계열 운영 체제와는 달리 컴퓨팅 세계의 초석이 되었습니다. 어쩌면 BSD에서 유래한 애플의 OS X나 iOS 시스템도 이에 가깝지만, 리눅스가 인터넷에 영향을 미치는 만큼 다른 측면에서는 그다지 중요한 중심 역할을 하지 못한다.
Linux가 왜 지금의 모습을 갖추게 되었는지, 아니면 왜 Unix 세계의 경쟁자들이 거의 잊혀졌는지에 대한 다른 생각이 있으신가요? 그렇다면 귀하의 의견을 듣고 싶습니다. (물론 BSD 변종은 오늘날에도 여전히 인기를 끌고 있으며 일부 상용 Unix는 Red Hat(RHT)이 사용자를 지원하는 데 여전히 중요합니다. 그러나 이러한 Unix 중 어느 것도 Linux만큼 세계를 거의 정복하지 못했습니다. 웹 서버에서 스마트폰까지 모든 분야를 포괄합니다. )
LAMP Brothers의 오리지널 Linux 운영 및 유지보수 엔지니어 동영상/자세한 Linux 튜토리얼을 무료로 받아보세요. 자세한 내용은 공식 웹사이트 고객 서비스에 문의하세요: http://www.lampbrother.net/linux/



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.