오픈 소스 할당. 오픈소스 소프트웨어 사용권에 대한 라이선스 종류

Coin Center의 연구 책임자이자 Zcash 재단의 이사회 구성원인 Peter Van Valkenburg가 그 이유를 설명합니다. 오픈 소스 소프트웨어의 개발은 블록체인 네트워크에서 신뢰를 구축하고 보안을 보장하는 데 중요합니다.

모든 주요 암호화폐 및 공개 블록체인 프로젝트의 기반이 되는 컴퓨터 코드는 오픈 소스 소프트웨어로 개발되었습니다. 암호화폐를 이해하려고 노력하지만 그러한 소프트웨어에 익숙하지 않은 규제 기관 및 정책 입안자는 이러한 시스템이 하나 이상의 상업 회사에 의해 개발되었으며 개발되어야 한다고 오해할 수 있습니다. 많은 잘 알려진 소프트웨어가 실제로 이러한 방식으로 개발되었지만(예: Microsoft의 Windows 또는 Oracle의 RDBMS) 오픈 소스 프로젝트의 경우는 그렇지 않으며 이러한 차이가 여론을 형성할 수 있고 그래야 합니다. 오픈 소스 소프트웨어는 공동으로 제작되고, 자유롭게 배포되고, 공개적으로 게시되며, 단일 회사나 개인의 재산이 아닌 커뮤니티의 제품으로 개발됩니다. 이 경우에는 독점이 없으며 소프트웨어를 만들고 판매하거나 소유하는 회사나 개인이 없습니다. 비트코인 네트워크를 소유한 단일 회사가 없는 것처럼 인터넷에 연결된 컴퓨터에서 실행되어 네트워크를 형성하는 소프트웨어를 생산하는 단일 회사도 없습니다. 이러한 분산화에는 소프트웨어 개발에 익숙하지 않은 사람들이 이해하기 어려울 수 있는 몇 가지 근본적인 이점이 있습니다. 오픈 소스의 힘과 특성을 더 잘 이해하려면 특히 성공적인 오픈 소스 소프트웨어에 대한 통찰력을 얻는 것이 도움이 될 수 있습니다. 우리는 Linux 운영 체제에 대해 이야기하고 있습니다.

어디서나 오픈소스

Linux를 하루에 몇 번이나 사용하는지 계산하는 것은 어렵습니다. 왜냐하면 인터넷에 있는 대부분의 서버 작동의 기초가 되는 운영 체제이기 때문입니다. Facebook, Google, Pinterest, Wikipedia 및 수천 개의 기타 주요 사이트와 이러한 (매우 다른) 사이트에서 제공하는 서비스를 방문할 때마다 Linux 운영 체제를 실행할 가능성이 가장 높은 컴퓨터를 다루고 있습니다. Linux는 훨씬 더 가까이에서 찾을 수 있습니다. 당신이 그것을 가지고 있을 가능성이 있습니다. Android 스마트폰의 운영체제가 Linux 기반이라고 가정해 보겠습니다. Chromebook을 사용하고 있다면 Linux 기반 노트북을 사용하고 있는 것입니다. 이 운영 체제는 텔레비전, 온도 조절기, 비행기, 자동차 등의 멀티미디어 시스템에서 점점 더 많이 사용되고 있습니다.

이것이 왜 흥미로운가요? Linux는 한 명의 프로그래머나 프로그래머 그룹의 제품이 아니기 때문입니다. MacOS나 Windows와는 달리, 한 개 또는 심지어 십여 개의 기업이 개발한 것이 아닙니다. Linux에는 수천 명의 기여자가 있습니다. 운영 체제의 개방형 개발을 촉진하는 비영리 조직인 Linux Foundation이 2015년에 보고한 바와 같이, 1,300개 이상의 회사에서 약 14,000명의 개발자가 코드 조각을 기여했습니다. 2015년에만 2,355명의 개발자가 처음으로 코드 개선에 참여했습니다. 따라서 추정을 통해 2017년까지 약 18,000명이 기부한 것으로 계산할 수 있으며 이 숫자는 계속 늘어날 것입니다.

5년 전(1991년)만 해도 세계적 수준의 운영 체제가 마치 마술처럼 전 세계에 흩어져 있고 오직 연결되어 있는 수천 명의 개발자들의 프리랜서 작업 조각들로부터 하나의 전체로 엮어질 수 있다고 누가 생각이나 했을까요? 인터넷의 유령 스레드에 의해?

오픈소스의 이점

그의 책에서 Raymond는 오픈 소스가 어떻게 기술을 창조하는 혁명적인 방법인지에 대해 이야기합니다. 수천 명의 독립 개발자가 공개 협업 모드로 작업하는 Linux는 오픈 소스 모델의 좋은 예입니다. 암호화폐는 동일한 모델을 따르지만 이에 대해서는 아래에서 설명하겠습니다.

Raymond는 오픈 소스 모델의 몇 가지 이점을 강조했습니다. 우리 논의의 맥락에서 주요 내용은 다음과 같습니다.

  • 모든 좋은 소프트웨어는 개발자의 개인적인 욕구를 충족시키는 것에서 시작됩니다.대부분의 오픈 소스 프로젝트 개발자는 자신이 만든 제품을 개인적으로 사용하려는 욕구에서 동기를 부여받습니다. 그들은 다른 사람을 위해 무언가를 창조해야 한다는 계약에 구속되지 않습니다. 그들은 그들이 만족시키는 개인적인 필요를 가지고 있습니다. 따라서 질적으로 다른 동기가 발생하여 문제에 대한 자세한 지식이 생성됩니다.
  • 좋은 프로그래머는 무엇을 써야할지 알고 있습니다. 위대한 사람들은 무엇을 다시 작성하고 재사용할지 알고 있습니다.개발이 공개적으로 이루어지면 중복을 피할 수 있고 문제가 있거나 복잡하거나 중복된 코드를 식별하고 단순화할 수 있습니다.
  • 어떤 프로그램에 흥미를 잃었을 때, 그 프로그램에 대한 당신의 마지막 의무는 그것을 유능한 후임자에게 넘겨주는 것입니다. 사람들은 자신의 관심과 역량에 따라 오픈소스 프로젝트에 참여하고 탈퇴합니다. 더 이상 흥미롭지 않은 프로젝트에 매달리는 사람은 없습니다. 오랜 문제나 새로운 개발 전망에 대해 다양한 관점을 제시하는 새로운 헤드가 등장합니다.
  • 사용자를 동료 개발자로 보는 것이 코드를 개선하고 소프트웨어를 효과적으로 디버깅하는 가장 쉬운 방법입니다. 많은 오픈 소스 사용자는 문제를 식별하고 솔루션을 제공하는 데 도움을 줍니다. 오픈 소스 소프트웨어의 소비자와 생산자 사이의 경계가 모호해졌습니다. 소프트웨어 작업은 투명하고 공개적으로 수행되며 제작 과정에 누구나 참여할 수 있습니다.
  • 베타 테스터와 개발자의 기반이 충분히 넓다면 거의 모든 문제가 신속하게 식별될 것이며 그 해결책은 아마도 누군가에게 분명할 것입니다. 이 가정은 오랫동안 이 운영 체제의 주요 개발자로 남아 있던 Linux 커널 창시자인 Linus Torvalds를 기리기 위해 Linus의 법칙이라고 불립니다. 코드 개발 프로세스가 종료되면 개발자는 약점을 놓치거나 특정 버그를 알아차리지 못할 위험이 있습니다. 독특한 관점을 가진 숙련된 사용자들 사이에서 개발하면 버그를 식별하고 수정할 가능성이 높아져 오픈 소스 소프트웨어가 더욱 안전하고 탄력적으로 만들어집니다.

이러한 개발의 결과는 사용자가 사용자를 위해 만든 매우 안정적인 소프트웨어 코드입니다. 목표는 제품을 만들고 판매하는 회사를 풍요롭게 하는 무언가를 만드는 것이 아니라 재능 있는 프로그래머로 구성된 대규모 커뮤니티가 기꺼이 기여할 만큼 일반적인 문제를 해결하는 것입니다. 프로그래밍 기술이 없는 사람들도 이 모델을 통해 큰 이점을 얻을 수 있습니다. 무료 소프트웨어는 모든 사람이 무료로 사용할 수 있고 전문가 수준의 사용자도 사용에 관심이 있는 한 허공에서 실현되는 것처럼 보입니다.

법률과 자유 소프트웨어

현행법은 오픈 소스 소프트웨어 개발을 지원하고 경우에 따라 장려합니다. 모든 소프트웨어와 마찬가지로 저작권으로 보호되지만 작성자는 특정 허가나 작성자에 대한 비용 지불 없이 누구나 사용하고 수정할 수 있는 라이선스(즉, MIT에서 개발한 라이선스)에 따라 코드를 릴리스합니다. -MIT).

일부 라이센스에는 소프트웨어의 파생물도 동일한 조건에 따라 출시되어야 한다는 요구 사항이 포함되어 있습니다. 이 체계 덕분에 오픈 소스 코드 기반이 성장하고 확산됩니다. 이러한 현상을 자유 소프트웨어 라이센스 또는 LGPL-3(Lesser General Public License)이라고 합니다.

암호화폐 및 토큰 프로젝트의 오픈 소스

Linux는 오픈 소스 모델의 가장 크고 중요한 예일 수 있지만 다른 것들도 있습니다. 여기에는 모든 주요 암호화폐 및 블록체인 프로젝트가 포함됩니다. 그들은 모두 참가자들이 공유 데이터(암호화폐 블록체인)에 대한 합의에 도달할 수 있도록 하는 컴퓨터 네트워크를 만듭니다.

모든 참가자에게 네트워크에 연결할 수 있는 기능을 제공하는 소프트웨어를 클라이언트라고 하며 이는 오픈 소스 소프트웨어입니다. 종종 클라이언트 소프트웨어는 마이닝 소프트웨어, 지갑, 교환 또는 네트워크와 호환되는 기타 소프트웨어를 기반으로 네트워크 소프트웨어의 가장 간단한 버전(즉, 소위 참조 클라이언트)으로 관련되지 않은 여러 참여자에 의해 개발됩니다. 세워짐.

비트코인 코어 클라이언트는 코드에 총 15,000회 이상 기여한 450명 이상의 독립 개발자의 작업 결과입니다. 이 소프트웨어는 MIT 자유 소프트웨어 라이선스에 따라 무료로 사용하고 수정할 수 있으며, 누구나 계정을 만들고, 새 코드를 업로드하고, 변경 사항을 추적할 수 있는 클라우드 서비스인 Github의 공개 저장소에서 전체 개발 내역을 검토할 수 있습니다. 생성한 저장소가 공개 보기, 댓글 및 변경 제안에 공개된 경우 Github 계정 비용을 지불할 필요조차 없습니다.

공개 저장소는 소위 원본 클라이언트의 포크도 추적합니다. 포크는 원본 소프트웨어의 복제본을 생성한 다음 원본 저장소를 변경하지 않고도 어떤 목적으로든 수정할 수 있습니다. 개발자는 Github의 비트코인 ​​코어 저장소를 자유롭게 포크하여 비트코인과 호환되는 특정 애플리케이션(예: 스마트폰용 지갑)을 만들거나 더 이상 비트코인 ​​네트워크와 호환되지 않으며 새로운 암호화폐 네트워크(예: Litecoin 또는 Zcash). 현재까지 원래의 비트코인 ​​코어 클라이언트는 10,000회 이상 포크되었으며 새로운 저장소가 등장하는 것은 파생 제품의 생성이 계속되고 있음을 보여줍니다.

Ethereum에는 현재 최소 121개의 저장소가 있으며, 각 저장소는 프로젝트의 특정 측면(예: 스마트 계약 작성을 위한 프로그래밍 언어, Ethereum 네트워크와 최종 사용자 상호 작용을 위한 그래픽 브라우저, 참여를 위한 호환 클라이언트)에 중점을 둡니다. 네트워크 등). 이더리움 호환 클라이언트 개발을 목표로 하는 프로젝트는 8개 이상이며, 가장 인기 있는 클라이언트(go-ethereum 및 Parity)에는 수백 명의 독립 개발자가 작업하고 있습니다. 이더리움 코드와 비트코인의 코드 및 기록과 같은 전체 기록은 Github 및 기타 온라인 저장소에서 공개적으로 볼 수 있으며 모든 코드는 LGPL-3 라이센스에 따라 릴리스되므로 향후 모든 파생 저작물은 LGPL-3 라이센스에 따라 릴리스되어야 합니다. 동일한 라이센스.

상업 스타트업이 추진하는 최근 프로젝트에서도 오픈 소스 신조에 대한 헌신이 드러납니다. Zcash Company는 공개 저장소를 통해 Zcash 프로토콜을 개발합니다. 주요 개발자 중 일부는 회사에서 일하지 않으며 특별히 만들어진 비영리 조직은 회사 주도 개발에서 커뮤니티 중심 개발로 점진적인 전환을 보장하는 데 전념하고 있습니다. Zcash 소스 코드 베이스는 MIT 라이센스에 따라 릴리스됩니다. Filecoin의 개발자인 Protocol labs는 유사한 개방형 모델을 만들 계획이며 이미 IPFS 프로젝트에서 이를 테스트하고 개방형 저장소에서 코드로 작업하고 MIT 라이선스에 따라 출시했습니다.

오픈소스가 중요한 이유

암호화폐와 퍼블릭 블록체인은 단일 기업에서 나온 경우 규제되는 기능을 제공할 수 있습니다. 리버티 리저브(Liberty Reserve) 또는 E-골드(E-gold)와 같은 중앙 집중식 디지털 통화 발행자는 금융 서비스였으며 미국 재무부의 금융 범죄 집행국에 등록하고 각 주에서 송금 라이센스를 취득해야 했습니다. 이러한 토큰이 투자자를 유치하기 위해 판매되는 경우 유가증권이 될 수 있으며, 이 경우 미국 증권거래위원회에 등록해야 합니다. 중앙 집중식 서비스에는 계획의 중심에 있는 당사자가 제품을 적절하게 테스트하고 보안을 유지하겠다는 약속을 이행하지 못할 위험이 있기 때문에 이러한 제한은 의미가 있습니다.

그러나 비트코인과 같은 기술은 개방형 독점 네트워크를 통해 유사한 기능을 제공할 수 있습니다. 여기에는 법인이 없습니다. 사용자는 이러한 네트워크에 참여하고 오픈 소스 소프트웨어는 이들의 협업을 장려합니다. 궁극적으로 모든 참가자는 통화를 생성하는 데 필요한 모든 데이터에 동의합니다. 분산화는 개방형 합의 메커니즘과 오픈 소스 소프트웨어라는 두 가지 기둥에 기반을 두고 있습니다. 만약 코드가 오픈소스가 아니라면 참여자(인터넷상에서 서로 모르는 사람들)가 자신이 참여하고 있는 시스템을 어떻게 이해하고 신뢰할 수 있겠습니까?

실제로 독점 코드를 기반으로 한 토큰 프로젝트는 단순히 전문 속어와 “블록체인 괴짜” 뒤에 숨어 있는 중앙 집중식 서비스일 수도 있습니다. 그러나 "진정한" 프로젝트에는 참여자들이 서로를 신뢰하고, 공통된 동기를 갖고, 사기꾼을 처벌할 수 있도록 하는 분산형 네트워크를 생성하는 코드가 있으며, 자체적으로 분산되어 있습니다. 수백 명의 매니아 앞에서 개발되었으며 전 세계 모든 사람이 사용하고 수정할 수 있으며 기업 이익과 완전히 독립적입니다.

강력한 마케팅 지원을 바탕으로 솔루션을 홍보하려는 컴퓨터 장비 제조업체의 노력은 널리 알려졌습니다. 오픈 소스 소프트웨어(오픈 소스 소프트웨어). 현대 러시아어 공식 사용법에서는 이 현상을 일반적으로 다음과 같이 부릅니다. 무료 소프트웨어(SPO).

개념의 본질은 오픈 소스 소프트웨어의 생성 및 배포에 대한 몇 가지 원칙으로 구성됩니다.

  • 모든 사람을 위한 소스 코드 가용성;
  • 커뮤니티 승인 라이선스 중 하나를 기반으로 한 배포 라이선스 정책(opensource.org 참조)
  • 소프트웨어의 오류 개발 및 수정에 직접 참여할 수 있는 기회
  • 일부 소프트웨어 기능을 변경하고 새로운 조건에 적응할 수 있는 능력(전체 커뮤니티에 대한 변경 가능 여부에 따라 다름)
  • 개방형 표준과의 최대 호환성;
  • 다양한 운영 체제와 여러 플랫폼(크로스 플랫폼)에서 작업할 수 있는 능력.

이러한 원칙은 대다수를 생성하는 데 사용됩니다.

SPO. 눈에 띄는 차이가 있다는 점은 주목할 가치가 있습니다. 무료그리고 무료에 의해. 대부분의 오픈 소스 소프트웨어 라이센스가 무료 배포를 제공한다는 사실에도 불구하고 이 속성만으로는 소프트웨어가 무료로 간주되기에 충분하지 않습니다.

오픈 소스는 이미 가장 강력한 독점 소프트웨어 제조업체를 상대로 여러 가지 중요한 승리를 거두었습니다. 구체적으로 웹서버는 아파치다른 회사의 유사한 제품보다 훨씬 앞서 있습니다(포함). 마이크로소프트)저렴한 비용, 공급업체로부터의 독립성, 관리 경험이 있는 많은 사용자의 존재 및 개발자의 지원으로 인해 시장 점유율 측면에서 그렇습니다. 리눅스공급량 측면에서 모든 유형을 능가함 유닉스플랫폼용 인텔,오랫동안 집권한 리더십을 비롯해 SCO.오픈 소스 DBMS는 오픈 소스 운영 체제 및 널리 사용되는 저가형 인터넷 솔루션 시장에서 강력한 위치를 차지하고 있습니다. 독점 소프트웨어에 대한 위협은 인터넷과 유사한 오픈 소스 소프트웨어의 이점에서 비롯됩니다. 개방성, 적응의 자유 등

무료 소프트웨어는 이미 서버 운영 체제, 인터넷 인프라, 웹 애플리케이션 서버, 중소기업을 위한 DBMS 및 웹 페이지의 동적 생성을 갖춘 웹 데이터베이스 기반 부서, 기술 및 임베디드 컴퓨팅 시스템, 서버 장치용 소프트웨어 분야에서 강력한 입지를 확보하고 있습니다. . 인터넷 인프라에 관해 말하자면, 대부분의 장치는 운영 체제와 기타 오픈 소스 소프트웨어를 실행한다는 점에 유의해야 합니다. 이러한 장치에는 도메인 이름 서버, 라우터, 스위치, 방화벽, 게이트웨이, 로드 밸런서, 애플리케이션 및 데이터베이스 서버 등이 포함됩니다.

이러한 발전을 고려할 때, 오픈 소스 소프트웨어는 클라이언트 액세스 비용과 독점 소프트웨어에 대한 라이센스 비용을 주요 수익원으로 삼는 기업에 위협이 됩니다. 오픈 소스는 하드웨어 시장의 노후화 및 범용화 비즈니스 모델을 소프트웨어에 도입합니다. 이는 전통적인 소프트웨어 공급업체, 특히 선두업체가 적응하기 어려운 모델입니다.

오픈 소스 비즈니스 모델을 사용하는 많은 공급업체는 처음부터 전통적인 소프트웨어 제공업체로 발전하지 않았습니다. 오픈 소스 시장 점유율이 증가하고 전략적 온라인 시장에서의 입지가 커지면서 기존 소프트웨어 제공업체는 오픈 소스로 인한 위협과 새로운 비즈니스 모델이 제공하는 기회를 인식하고 있습니다. 당연히 기존 소프트웨어 제공업체는 제품 범위에 따라 이러한 비즈니스 모델을 전체 또는 부분적으로 채택할 수 있는 기회를 갖습니다. 그러나 그럼에도 불구하고 오픈 소스는 소프트웨어 회사의 비즈니스 방식에 실질적이고 실질적인 위협을 가하고 있습니다.

오픈소스로 인해 폐쇄된 회사에 대한 네 가지 주요 위협이 있습니다.

  • 가격 압박.오픈 소스 라이선스는 본질적으로 소프트웨어의 무료 배포 및 수정을 요구하기 때문에 오픈 소스 소프트웨어를 따라잡고 시장 점유율 손실을 막기 위해 유사한 기존 제품의 가격을 낮춰야 합니다. 예를 들어, SCO 2,000달러를 청구할 수 없습니다. 유닉스플랫폼용 인텔,~하는 동안 리눅스무료로 이용 가능 마이크로소프트데스크톱 부문을 독점합니다. 그러나 기존 공급업체는 자사의 소프트웨어 제품을 SP O보다 더 좋게 만들고 이에 대해 추가 비용을 청구함으로써 손실을 부분적으로 만회할 수 있습니다.
  • 꽤 좋은 기능."충분히 좋은" 소프트웨어(최고는 아니지만)는 너무 자주 대중 시장을 목표로 하는 기존 소프트웨어 공급업체의 제품을 부분적으로 대체할 수 있습니다. 개발 초기 단계의 보다 복잡하고 비용이 많이 드는 기능은 항상 상대적으로 소수의 전문 사용자 그룹을 대상으로 합니다. 그러나 이 시장에서 활동하는 제조업체라도 고도로 발전된 소프트웨어 시장이 확대되고 심화될 것이라는 점을 분명히 이해해야 합니다. 고급 기능이 더 넓은 범위의 사용자를 유치하지 못하면 고객은 덜 개발된 기능이라 할지라도 자연스럽게 오픈 소스 대안을 구매하게 됩니다. 매우 큰 대중 시장에서 지배적인 오픈 소스 소프트웨어 제공업체는 공급량을 늘리는 것 외에도 추가 제품 및 서비스 전략의 구현을 통해 성장할 수 있는 많은 기회를 갖고 있습니다. 대중시장의 규모 자체가 높은 공급량으로 인해 낮은 가격을 보장하므로 최종 소비자는 제품 가격이 약간 상승하더라도 상당한 이익을 얻을 수 있습니다.

어떤 경우에는 오픈 소스 소프트웨어가 기능 면에서 기존 제품을 능가할 수도 있습니다. 예를 들어, 아파치공급자 사이에서 인기 있는 인터넷 기능을 도입한 최초의 웹 서버가 되었습니다. IP 앨리어싱하나의 시스템에서 여러 인터넷 도메인 이름을 호스팅할 수 있습니다.

  • "네트워크 효과"대량 사용을 위한 소프트웨어와 도구에 대한 지식과 연구를 바탕으로 만들어졌습니다. 새로운 기술의 사용자 교육 비용은 소프트웨어 제품 자체의 가격을 초과하여 총 소유 비용의 상당 부분을 차지합니다. 제품 및 관련 도구에 익숙한 대규모 사용자 기반을 보유한 회사는 새 버전을 출시하거나 인접 시장에 진출하여 이러한 친숙성을 활용할 수 있습니다. 이러한 유형의 네트워크 효과는 사용자 유형(소프트웨어 개발자가 사용하는 소프트웨어)에 따라 달라질 수 있습니다. API,시스템 관리자는 특정 관리 도구를 처리하고, 사용자는 그래픽 사용자 인터페이스를 작동하며, 관리자는 공급업체와 관계를 설정합니다. 일단 형성되면 오픈 소스 솔루션의 파트너 및 사용자 네트워크는 더 이상 파괴되지 않으며 지지자 확보 및 고객 충성도 확보와 같은 소규모 마케팅 문제를 해결할 수 있습니다.
  • 표준화 압력.오픈 소스 운동의 마지막 위협은 전통적인 소프트웨어 공급업체가 세운 모든 종류의 기술 장벽을 적으로 간주하는 도구와 문화입니다.

최근 소프트웨어 분야에서 가장 빠르게 발전하고 있는 분야는 소위 말하는 "광고오픈소스",저것들. 일반 상업 회사가 지원하는 JV O입니다. 기업은 이 방향의 리더 중 하나로 간주되어야 합니다. 해,이 부문에서 여러 대규모 프로젝트를 개발하고 있습니다. 오픈솔라리스 OS DBMS MySQL오피스 스위트 오픈오피스.org및 가상화 환경 가상 상자.일반적으로 이러한 소프트웨어에는 상업용 버전을 포함하여 여러 버전이 있습니다. 라이선스 비용을 지불하면 사용자는 기술 지원을 받을 수 있을 뿐만 아니라 경우에 따라 오픈 라이선스에서는 사용할 수 없는 편리한 작업을 위한 특수 도구도 받을 수 있습니다. 즉, 소규모 요구 사항의 경우 회사는 무료 또는 무료 버전의 소프트웨어를 사용할 수 있으며, 요청이 증가하면 인프라 및 애플리케이션을 변경하지 않고 상용 확장을 구입할 수 있습니다. 따라서 오픈 소스 소프트웨어의 상용 버전은 예를 들어 전통적인 회사의 개발과 직접적으로 경쟁합니다. 마이크로소프트,인터넷 환경에서 사용하기 위한 특별한 라이센스 체계를 적극적으로 생성합니다(서버 소프트웨어에 대해 이야기하고 있습니다).

결과적으로 인터넷상의 오픈 소스 소프트웨어는 네트워크 구축의 기본 원칙을 지원하고 개발하는 시스템을 구성하는 역할을 합니다. 또한, 오픈소스 소프트웨어의 활용은 상품 판매보다는 서비스 제공에 중점을 둔다는 관점에서 의미가 있다. 따라서 인터넷 시스템을 만들 때 이를 구현하는 개방형 표준과 소프트웨어에 초점을 맞추는 것이 좋습니다. 왜냐하면 이 방법만이 비즈니스 개발 기회를 제공하고 전자 시장에서 새로운 기회를 얻을 수 있기 때문입니다.

인터넷 기술을 지원하기 위해 오픈 소스 소프트웨어를 사용하는 것은 확장성, 글로벌성 및 호환성이라는 속성의 관점에서 자연스럽고 필요합니다. 예를 들어, 서버나 기타 인프라 장치 수를 늘리는 경우 추가 소프트웨어 투자가 필요하지 않으므로 독점 소프트웨어보다 더 큰 유연성을 제공합니다. 이는 소프트웨어 비용이 프로젝트의 하드웨어 구성 요소를 초과할 때 특히 그렇습니다. 글로벌성 및 호환성 요구 사항은 크로스 플랫폼 오픈 소스 소프트웨어에 대한 우수한 지원과 개방형 표준 사용 덕분에 구현되므로 시장에 나와 있는 많은 경쟁 제품 및 플랫폼과도 높은 수준의 호환성을 유지할 수 있습니다.

웹 기술을 기반으로 하는 서비스 애플리케이션의 현대적인 개발에 비추어 볼 때, 저렴한 컴퓨터(넷탑 및 넷북)와 결합된 오픈 소스 소프트웨어는 운영 체제를 기반으로 하는 기존 데스크톱 및 모바일 시스템을 크게 대체할 수 있습니다. 윈도우그리고 전통적인 오피스 스위트. 커널 기반 GUI를 갖춘 경량 맞춤형 OS 사용 리눅스최신 웹 브라우저를 사용하면 오픈 소스 소프트웨어만 사용하여 넷플랫폼에서 대부분의 일상 작업을 수행할 수 있습니다.

오픈소스 소프트웨어의 성공은 매우 놀랍습니다. 대규모 상용 소프트웨어 생산업체도 아끼지 않았습니다. IBM, Hewlett-Packard, Oracle 및 Microsoft는 그의 영향력을 인정했으며 어떤 경우에는 그의 방법을 채택했습니다. IT 기능을 갖춘 대부분의 기업은 이미 오픈소스 제품에 대해 꽤 익숙하고, 적극적으로 활용하는 경우가 많은 것 같습니다.

그러나 오픈 소스 소프트웨어의 편재성은 여전히 ​​답변보다 더 많은 질문을 제기합니다. 그럼 가장 인기있는 것들에 답해 봅시다.

오픈 소스 소프트웨어란 무엇입니까?

1997년으로 돌아가 보자. 재능 있는 Linux 운영 체제 개발자 Bruce Perens는 Debian Linux 배포판 준비 및 배포와 관련된 문서를 작성하고 있습니다. 그는 나중에 데비안에 대한 모든 언급을 제거하고 오늘날 오픈 소스 정의로 알려진 개념을 도입했습니다. 무엇보다도, 정의 문서에는 오픈 소스 소프트웨어가 개발자에게 로열티 없이 배포되어야 하며, 배포자는 모든 사람에게 프로그램 소스 코드에 대한 무료 액세스를 제공할 의무가 있으며, 프로그램의 모든 추가 개선 및 업그레이드도 이루어져야 한다고 명시되어 있습니다. 동일한 조건으로 제공됩니다.

본질적으로 오픈 소스 소프트웨어 운동은 1983년 Richard Stallman이 제안한 자유 소프트웨어 운동과 가까운 친척입니다. 주요 목표는 소프트웨어를 무료로 배포하여 상용 프로그램의 표준 제한에서 벗어나는 것이었습니다. 무료 소프트웨어 배포 규칙은 2006년 10월 제3판에서 승인된 GPL(General Public License)에 의해 규제됩니다.

오늘날 전 세계적으로 수십 가지의 다양한 오픈 소스 이니셔티브 라이선스가 사용되고 있으며, 각 라이선스에는 오픈 소스 소프트웨어 사용을 고려하는 기업이 연구해야 하는 고유한 규칙이 있습니다. 일반적으로 이러한 규칙은 오픈 소스 프로그램에 액세스하려는 사람들에게 엄격한 제한을 가하지 않습니다. 배포 요구 사항에 관해서는 라이센스 규칙 위반과 관련된 잠재적인 문제를 피하기 위해 더 심각한 주의를 기울여야 합니다.

왜 오픈소스 소프트웨어인가?

기업들이 오픈소스 소프트웨어를 주목하는 첫 번째 이유는 매우 간단합니다. 바로 가격입니다. 오픈 소스 모델의 ROI는 이를 명확하게 보여줍니다. 오픈 소스 소프트웨어는 완전히 무료로 다운로드, 설치 및 사용할 수 있습니다. 처음에는 저렴한 비용으로 인해 돈을 투자하지 않고 새로운 도구를 사용하거나 새로운 애플리케이션을 설계하려는 개발자가 관심을 끌었습니다. 새로운 자유로 인해 많은 사람들이 오픈 소스 소프트웨어 운동을 지원하게 되었습니다. 그 결과, Linux 운영 체제, Apache 웹 서버, Java 애플리케이션 서버 JBoss, Eclipse 개발 환경 등 업계 수준의 오픈 소스 소프트웨어가 수천 개의 다른 프로젝트와 함께 전 세계적으로 등장하기 시작했습니다.

1990년대 후반, 기업 경영진은 마침내 오픈 소스 소프트웨어에 주목하기 시작했습니다. IT 예산이 지속적으로 줄어들면서 개발자들은 오픈 소스 소프트웨어를 사용하여 달성한 품질과 비용 절감 효과를 자랑했고, 많은 기업이 엔터프라이즈 프로젝트에서 오픈 소스 소프트웨어 구성 요소 사용을 진지하게 고려하기 시작했습니다. 오픈 소스 소프트웨어를 구현한 최초의 대기업은 The Weather Channel, Cendant Travel, Employease 및 Sabre였습니다.

전 세계적으로 인터넷이 성장하는 시기에 오픈 소스 소프트웨어를 사용하면 기업은 상용 소프트웨어에 대한 새로운 라이센스를 지속적으로 구매하지 않고도 전자 운영을 신속하게 확장할 수 있습니다. 이점은 개발 및 테스트에도 적용됩니다. 이를 통해 기업은 상용 소프트웨어와 관련된 추가 비용과 그러한 경우에 필요한 예산 초과 프로세스 없이 새로운 것을 시도할 수 있습니다.

오픈 소스 제품에서 소스 코드의 가용성을 활용하는 사람이 거의 없다는 것은 아마도 비밀이 아닐 것입니다. 소프트웨어 코드를 자유롭게 수정하고 수정할 수 있는 권리는 큰 장점으로 간주되어야 하지만 실제로는 소프트웨어 자체를 유지 관리하는 것보다 소프트웨어를 신속하게 업데이트하고 디버그하는 개발자 커뮤니티에 의존하는 것이 훨씬 쉽습니다. 모든 인기 제품의 프로그램 코드.

오픈소스 소프트웨어를 거부하는 이유

오픈 소스 소프트웨어에 대한 반대 주장은 일반적으로 한 손으로 쉽게 셀 수 있습니다.

    무료 소프트웨어를 얻는 것은 "무료 강아지를 주는 것"과 같습니다. 완전히 무료로 다운로드하여 설치할 수 있지만 교육 및 사용자 지원 비용은 상용 소프트웨어의 총 비용 또는 이에 상응하는 금액보다 더 비쌉니다. Microsoft가 특히 좋아하는 이 주장은 잠재의식 수준에서 작동합니다. 이것이 공정한지 아닌지는 특정 상황과 현재 읽고 있는 분석 보고서에 따라 다릅니다.

    기술 지원을 조직하는 것은 어렵습니다. 오픈소스 운동 초기에는 개발과 지원이 주로 자원봉사자 그룹이나 '커뮤니티'에 의해 이루어졌는데, 이는 실제로 시급한 문제였습니다. 그러나 많은 조직에서는 커뮤니티 지원이 자신의 요구 사항을 충족하기에 충분하다고 생각했지만 오늘날에는 Hewlett-Packard 및 IBM의 대규모 오픈 소스 프로젝트에 대한 지원을 포함하여 다른 많은 기회가 열려 있습니다. 결과적으로 “질식하려면 목 하나를 막는 것만으로도 충분하다”는 말은 타당성을 잃습니다.

    새로운 기능을 개발하는 데는 상용 소프트웨어에 비해 시간이 더 오래 걸립니다. 실제로 사용하는 특정 유형의 소프트웨어에 따라 많이 달라집니다. Firefox 웹 브라우저는 오픈 소스 소프트웨어가 사용자의 요구에 얼마나 신속하게 맞춰질 수 있는지 보여주는 가장 좋은 예입니다. 또한 Linux 개발자가 새로운 기술, 특히 USB 포트에 대한 지원을 얼마나 신속하게 구성했는지 기억할 수 있습니다. 이와 관련하여 Linux는 실제로 Windows보다 뒤처지지 않았습니다. 그러나 엔터프라이즈 소프트웨어의 경우 최신 비디오 카드나 오디오 칩을 지원하는 메커니즘을 구축하는 것은 높은 안정성과 성능을 보장하는 것보다 훨씬 덜 중요한 역할을 합니다.

    추가 개발 및 분기의 불확실성. 다양한 오픈 소스 소프트웨어 라이센스와 프로그램 코드에 대한 최종 사용자의 적극적인 개입 가능성으로 인해 기업 고객이 이러한 프로그램을 구현하는 것을 방해합니다. 그러나 변호사가 오픈 소스 애플리케이션 라이센스를 면밀히 조사하면 이러한 두려움이 대부분 완화됩니다. 일부 오픈 소스 소프트웨어 제공업체와 제3자 회사는 손해 배상을 제안하기도 하므로 귀하가 사용하는 오픈 소스 애플리케이션이 소송의 대상이 될 수도 있습니다.

어디서부터 시작해야 할까요?

오늘날 이메일 서버부터 VoIP 시스템까지 거의 모든 유형의 비즈니스 소프트웨어가 오픈 소스 제품으로 제공됩니다. 많은 회사들은 우선 꽤 오랫동안 존재해왔고 이미 그 가치를 입증한 제품이 있는 웹 애플리케이션에 관심을 기울이고 있습니다. 일반적인 참조는 LAMP 스택(특정 상황에 따라 Linux, Apache, MySQL 및 PHP, Perl 또는 Python)입니다. 유닉스 계열의 리눅스 운영체제가 널리 보급되었습니다. 오늘날 가장 인기 있는 웹 서버 중 하나는 Apache입니다. MySQL 데이터베이스 관리 시스템은 값비싼 상용 제품과 성공적으로 경쟁합니다. 그리고 프로그래밍 및 스크립팅 언어인 PHP, Perl 및 Python은 오픈 소스 웹 애플리케이션을 개발하기 위한 도구로 널리 사용됩니다. 오픈 소스 Java 기반 웹 사이트는 JBoss 애플리케이션 서버에 의존하는 경우가 많습니다. 오픈 소스 도구에 더 익숙해지고 해당 도구와 상용 제품 간의 유사점과 차이점을 발견하면 다른 가능성도 발견하게 될 것입니다. 개발자가 때때로 자신의 책임 하에 특정 오픈 소스 제품을 사용한다는 사실을 알면 놀랄 수도 있습니다.

애플리케이션 서버는 훌륭하지만 오픈 소스 데스크톱 소프트웨어는 어떻습니까?

최종 사용자가 다양한 오픈 소스 데스크탑 도구를 사용하는 것은 매우 일반적입니다. 이러한 솔루션의 놀라운 예는 Mozilla Firefox 웹 브라우저입니다. 일부 정부 및 상업 조직은 Microsoft Office보다 Sun OpenOffice 오피스 제품군을 선호합니다. 그러나 일부 플레이어가 데스크톱 컴퓨터에 Linux 운영 체제를 설치하여 미지의 세계로 모험을 떠나는 동안 Windows는 여전히 지배적인 플레이어입니다. 최종 사용자 친화적인 Linux 버전(LinSpire 등)은 사용자 교육에 시간과 비용이 소요되기 때문에 현 상태를 깨뜨릴 수 없습니다. 또한 많은 회사에서 사용하는 대부분의 상용 소프트웨어 패키지는 Windows용으로 먼저 개발되고 Linux용으로 두 번째로 개발됩니다(Linux 버전이 출시된 경우).

오픈소스 제품을 판매할 수 있나요?

예, 물론입니다. 하지만 오픈 소스 이니셔티브의 규칙은 귀하의 코드를 다른 사람에게 판매하는 것을 방해하는 것을 금지합니다. 그럼에도 불구하고 많은 기업은 오픈 소스 제품으로 수익을 창출할 수 있는 방법을 찾고 있습니다. 실제 코드 외에도 많은 기업이 기업 지원 서비스를 제공하며 이는 기업에서 매우 쉽게 구매할 수 있습니다. 다른 회사에서는 두 가지 버전의 소프트웨어 코드를 제공합니다. 하나는 개방형 자유 형식이고 다른 하나는 추가 유용한 기능을 포함하고 독점 구성 요소를 포함하며 고객이 비용을 지불해야 합니다. 이 혼합 모델은 점점 인기를 얻고 있습니다. SourceFire, SugarCRM, Alfresco 및 기타 여러 회사에서 적극적으로 사용됩니다.

기타 오픈소스 리소스

인터넷에서 많은 오픈 소스 프로그램을 찾을 수 있습니다.

    싱싱한 고기. 다운로드 가능한 소프트웨어의 거대한 데이터베이스(대부분 오픈 소스 형식)

    소스포지. 수천 개의 오픈 소스 프로젝트를 한자리에 모아 놓은 오픈 소스 소프트웨어 개발자를 위한 거대한 사이트입니다. 그들 중 일부는 계속 발전하고 다른 일부는 이미 존재하지 않습니다.

오픈 소스 리소스 - 공식 및 비공식

    오픈 소스 이니셔티브. 오픈 소스 소프트웨어의 추가 개발을 주요 임무로 여기고 이 분야에서 오랫동안 활동해 온 수많은 플레이어의 자금 지원을 받는 비영리 조직입니다.

    오픈 소스 기술 그룹. 틀림없이 세계 최고의 오픈 소스 기술 발기인이 될 것입니다. 뉴스 사이트 Slashdot과 SourceForge 및 FreshMeat 리소스를 소유한 것이 바로 이 협회입니다.

    오픈 소스 위험 관리. 규제 요구 사항을 준수할 수 있는 메커니즘을 제공합니다.

    오픈 소스 개발 연구소. 기업 고객에게 Linux 운영 체제를 홍보하는 것이 주요 목표인 조직입니다.

마크 로버츠
제품 관리 이사
QNX 소프트웨어 시스템
이메일: [이메일 보호됨]

주석

이 기사에서는 상용 제품에서 오픈 소스 소프트웨어를 사용하는 것과 관련된 이점, 전략적 고려 사항, 장벽 및 기회에 중점을 둡니다. Eclipse 기반 통합 개발 환경(IDE)을 예로 들어 보호용 소프트웨어 소스 코드 라이센스와 비보호용 소프트웨어 소스 코드 라이센스의 차이점을 논의합니다. 오픈 소스 코드를 "독점" 폐쇄 소스 코드와 통합하거나 연결할 때 적절한 주의와 주의가 필요한 경우가 많습니다. 특허 침해 가능성 등 주의해야 할 다양한 법적 문제도 있습니다. 또한 정보기술(IT) 환경에서 오픈소스 소프트웨어의 기본 원칙이 상용 임베디드 제품에는 적용되지 않는 이유도 설명하려고 한다.

오픈 소스 소프트웨어를 사용한 사례인 QNX Momentics 개발 환경

2001년으로 돌아가 보면, IT 주식 시장, 특히 인터넷 e-비즈니스 관련 시장이 전반적으로 붕괴되면서 많은 소프트웨어 회사들이 생존을 위해 고군분투하고 있을 때 QNX Software Systems는 새로운 통합 개발 환경(IDE) 개발을 시작하기로 전략적 결정을 내렸습니다. 시장을 위해. 회사는 이미 임베디드 장치 개발에 사용되는 일련의 도구를 개발한 탄탄한 경험을 가지고 있었지만 회사 경영진은 IDE를 만드는 것이 치열한 경쟁에서 앞서 나가는 데 도움이 될 것이라는 것을 깨달았습니다. IDE를 만들기로 한 결정은 고객 요구 사항의 변화에도 영향을 받았습니다. 비즈니스 활동이 침체되는 동안 현금이 부족한 고객은 생산성을 극대화하고 작업 수행 시 이동성(유연성)을 높여 전반적인 경제 효율성을 향상시킬 수 있는 솔루션에 더 관심을 갖게 되었습니다.

QNX의 경우 IDE 개발은 "미래에 대한 내기"였습니다. 프로젝트 개발에 드는 비용과 노력이 당시 대부분의 임베디드 시스템 도구 공급업체의 범위를 넘어서는 것이기 때문입니다. 다행히 QNX는 임베디드 시장의 다양한 부문에서 IBM과 긴밀하게 협력했습니다. IBM은 긴밀한 협력을 통해 나중에 Eclipse 플랫폼의 기반이 되는 오픈 소스 통합 개발 환경을 출시할 계획을 QNX와 공유했습니다.

IBM은 C/C++ 언어를 기반으로 임베디드 애플리케이션을 만드는 개발자의 요구에 맞게 IDE 기술을 적용하기 위해 QNX의 전문 지식을 사용할 것을 제안했습니다. QNX 전문가들은 오픈 소스 IDE 사용의 강력한 이점을 거의 즉각적으로 지적했습니다. 예를 들어, 이러한 환경에서는 다음이 가능합니다.

  • 일반적으로 윈도우 플랫폼 라이센스 필요성과 관련된 단일 공급업체에 대한 의존성을 제거합니다.
  • 고객 요구에 맞게 사용자 정의할 수 있는 소스 프로그램 코드를 제공합니다.
  • 지원을 제공하고 보완적인 기술과 플러그인의 생태계를 조성하기 위해 주요 산업계 참여자를 유치합니다.
  • 고객에게 제품 차별화를 지원할 수 있는 안정적인 아키텍처를 제공합니다.
  • 임베디드 장치 개발자가 표준 워크스테이션을 정보 기술 애플리케이션(다양한 애플리케이션) 작업에 적합한 개발 플랫폼으로 사용할 수 있도록 합니다.

마지막으로, IDE 플랫폼이 인기를 얻고 사실상의 표준이 되어 QNX가 이러한 플랫폼을 통해 개발자 및 타사 도구로 구성된 대규모 생태계 시장을 포착할 수 있는 별도의 가능성이 있었습니다.

오픈소스 프로젝트 Eclipse.org 창립

2001년 11월 Borland, IBM, Merant, QNX Software Systems, Red Hat 및 SUSE가 Eclipse 컨소시엄을 설립했습니다. 2004년 초, Stewards 이사회는 Eclipse 컨소시엄을 Eclipse 재단이라는 비영리 기업으로 재조직했습니다.

Eclipse는 처음부터 진정한 오픈 소스 프로젝트였습니다. 이 프로젝트는 무료 오픈 소스 기술과 해당 분야에서 가장 교육을 많이 받은 고급 개발자로 구성된 커뮤니티에 대한 액세스를 제공했습니다. 따라서 이 기술은 모든 유형의 개발 도구를 통합하기 위한 보편적인 플랫폼으로 판명되었습니다. 개방적이고 확장 가능한 아키텍처를 기반으로 하며 로열티가 없는 무료 제품으로 명확하게 라이센스가 부여됩니다. Eclipse 프로젝트에 대한 커뮤니티 기여는 표준 OSS(오픈 소스 소프트웨어) 개발 모델을 기반으로 하지만 대부분의 회원은 Eclipse 플랫폼을 기반으로 한 상용 개발에도 기여합니다.

도구 저장소 프로젝트

2001년 12월, QNX는 Eclipse 플랫폼 IDE를 기반으로 QNX® Neutrino® RTOS를 구축하기 시작했습니다. 회사의 비전에 따르면 IDE는 더 많은 기능을 갖고 C/C++ 언어 작업에 중점을 두며 임베디드 애플리케이션 디버깅, 프로파일링, 분석 및 생성을 위한 긴밀하게 통합된 도구를 포함해야 했습니다. QNX 팀은 처음부터 이를 여러 도구 플랫폼을 지원하는 다목적, 다국어 IDE로 구상했습니다. 여기에는 다음이 포함됩니다.

  • 여러 도구 플랫폼: Windows, Solaris, QNX Neutrino RTOS(자체 호스팅 개발);
  • 여러 대상 아키텍처: ARM, MIPS, PowerPC, SH-4, x86;
  • 프로그래밍 언어 C, C++, Java.

그 이후로 IDE는 계속해서 성장하여 Linux 플랫폼에 대한 지원과 XScale 프로세서를 포함한 추가 프로세서 아키텍처에 대한 지원을 포함했습니다.

이 프로젝트는 "극단적 프로그래밍" 스타일로 시작되었습니다. 12명의 최고의 엔지니어로 구성된 팀이 회사에서 선정되었습니다. 그들은 특별한 방을 받았고 모든 방해 요소로부터 격리되었으며 프로젝트가 그들에게 완전히 주어졌습니다.

팀에는 필요한 의사 결정 권한이 부여되었으며 16주 안에 제품의 베타 버전을 출시하고 2002년 7월 4일까지 상용 버전을 출시하기 위해 빡빡하고 위험도가 높은 작업 일정이 주어졌습니다. 그룹은 모든 목표 마감일을 충족했습니다. 그리고 예정대로 QNX Momentics® IDE라는 신제품을 출시하여 출시 시간을 단축할 수 있는 오픈 소스 소프트웨어의 잠재력을 입증했습니다.

아이디어부터 제품 배송까지 7개월 미만

Eclipse 플랫폼을 기반으로 구축된 QNX 팀은 6개월 만에 임베디드 소프트웨어 개발을 위한 매우 강력하고 포괄적인 IDE를 완성했습니다. IDE는 다중 도구 플랫폼 및 다중 프로그래밍 언어에 대한 크로스 플랫폼 개발을 지원했으며 임베디드 대상 장치에 가장 널리 사용되는 프로세서 보드도 지원했습니다. Eclipse 플랫폼을 사용하여 QNX는 다음을 수행할 수 있었습니다.

  • 교차 개발을 위해 GNU 컴파일러와 명령줄 도구를 사용합니다.
  • 임베디드 Java 애플리케이션용 IBM WebSphere 및 모델 기반 개발용 Rational ClearCase와 같은 타사 플러그인에 대한 지원을 제공합니다.
  • 시스템 구축, 대상 장치 관리, 메모리 분석, 시스템 및 애플리케이션 프로파일링 등을 위한 추가 도구를 만듭니다.

그림에서. 그림 1은 Eclipse 플랫폼을 사용하면 IDE 생성 비용이 어떻게 절감되는지 보여주는 예를 제공합니다. 이를 통해 기업은 실제 혁신이 창출되는 상위 개발 수준에 집중할 수 있습니다. 예를 들어, Eclipse 플랫폼을 사용하여 QNX는 임베디드 시스템에 깊이 들어가 해당 동작을 보여줄 수 있는 여러 가지 혁신적인 시각화 도구를 쉽게 만들 수 있었습니다.

지역사회에 환원하세요

성공적인 오픈 소스 프로젝트의 강점은 개발자 커뮤니티의 협력과 코드 기반의 지속적인 개선에 있습니다. 회사가 오픈 소스 코드를 채택하고 잘 활용한다면 단순히 커뮤니티에 기여할 의무가 있습니다. 이를 위해 QNX는 2002년 6월 Eclipse CDT 프로젝트의 리더십을 이어받았습니다.

Eclipse CDT(C/C++ 개발 도구) 프로젝트의 목표는 Eclipse 플랫폼을 위한 상호 운용 가능한 C/C++ 언어 도구의 공통 세트를 만드는 것입니다. Eclipse CDT는 Eclipse Corporation의 관리 권한을 갖춘 오픈 소스 프로젝트로 포지셔닝되었습니다. CDT 프로젝트를 시작하기 위해 QNX는 개발 리소스와 소스 코드를 QNX Momentics IDE 프로젝트에 기부했습니다. Rational과 Red Hat도 커뮤니티의 구성원으로서 프로젝트에 상당한 지원을 제공했습니다.

쌀. 1. Eclipse 플랫폼을 사용함으로써 도구 공급업체는 실제 혁신이 창출되는 작업 스택의 최상위 수준에 관심을 집중할 수 있습니다.

QNX는 80,000줄의 코드에서 현재 700,000줄 이상의 코드로 성장한 CDT 프로젝트를 계속 유지하고 있습니다. 2006년 초 Eclipse CDT 프로젝트의 진행 기록에 따르면 QNX의 기여도는 52%로 추정되었습니다. 다음으로 IBM이 36%의 기여를 했습니다. CDT 프로젝트는 Eclipse 플랫폼 자체에 이어 Eclipse 회사에서 두 번째로 인기 있는 프로젝트입니다.

코드를 "기부"할 여유가 있나요?

코드를 "기부"하는 것은 상식에 반하는 행동을 의미하는 것처럼 보일 수 있습니다. 그러나 제품의 기능이 유용하다고 입증되면 오픈 소스 커뮤니티에 기여해 보는 것은 어떨까요? 이 단계를 수행하면 제품 지원 전문 지식을 활용하여 "표준" 구현을 제공하는 혜택을 누릴 수 있습니다. 코드베이스 개선을 목표로 하는 전체 커뮤니티의 작업으로부터 이익을 얻을 수 있습니다. 이 전략을 사용하면 제품에 추가 기능을 추가하기 위한 혁신적인 개발에 초점을 맞춘 추가 연구를 수행하는 데 필요한 자원을 확보할 수 있습니다.

더욱이, 귀하는 "표준" 플랫폼의 방향을 어느 정도 통제할 수 있습니다. 물론 커뮤니티에 대한 귀하의 서비스를 통해 얻을 수 있습니다! 프로젝트를 유지하는 경우 훌륭한 지역 사회 시민으로 행동하고, 다른 사람의 의견을 존중하고, 다른 구성원의 의견과 조언을 소중히 여깁니다. 코드 사용의 결과로 누군가가 "당신의 주머니를 훔쳐" 플랫폼 개발 방향에 대한 리더십을 장악하려고 할 것이라고 생각하지 마십시오.

예를 들어, QNX Software Systems의 전략은 Eclipse 및 CDT 플랫폼에서 이미 사용할 수 있는 표준화된 확장 지점을 통해 새로운 기능을 개발하는 동시에 Eclipse에 대한 참여를 활용하는 것입니다. 이를 위해 QNX는 Eclipse 커뮤니티의 활발한 회원으로 남아 기존 코드 기반과 제3자 작업(플러그인)의 이점을 활용하여 고유한 확장 기능을 생성하여 실제 고객 요구 사항을 충족할 계획입니다. 설명된 전략은 그림 1에 설명되어 있습니다. 2.

쌀. 2. 당신의 작업으로 지역사회의 일에 기여할 수 있습니다.

혜택 요약

Eclipse 기반 툴링 플랫폼은 QNX와 같은 애플리케이션 개발자와 플랫폼 툴을 구매하는 고객 모두에게 win-win입니다.

개발자가 얻을 수 있는 이점은 제품을 시장에 출시하는 데 걸리는 시간이 단축되고 다른 사람의 연구로부터 혜택을 받을 수 있다는 것입니다(저렴한 비용으로). 이러한 결과에는 IBM 및 QNX와 같은 유명 기업의 "클린 IP"로 분류된 고품질 코드가 포함될 수 있습니다. 개발자의 또 다른 이점은 상업적 권리와 일부 특허 보호를 포함하여 간단하고 명확한 라이센스 체계를 받는다는 것입니다. 또한 개발자는 Eclipse에서 지원되는 여러 OS 플랫폼에서 작업할 수 있는 기회를 얻고 Eclipse 프로젝트에서 잘 정의된 확장 지점을 마음대로 사용할 수 있습니다.

Eclipse 기반 IDE를 구입하는 고객은 강력한 크로스 컴파일 지원, 손쉬운 디버깅 및 대상 시스템 관리 확장 기능을 갖춘 임베디드 애플리케이션 개발용으로 설계된 도구 플랫폼의 이점을 누릴 수 있습니다. 고객의 개발 팀은 작업을 더 쉽게 만들어 주는 다양한 기능, 필요한 짧은 교육 시간, 제품의 우수한 성능, 대규모 프로젝트를 처리할 수 있는 강력한 플랫폼을 높이 평가할 것입니다. 고객은 자체 애플리케이션(예: RCP, eRCP 등)에서 Eclipse 플랫폼을 사용함으로써 이점을 얻을 수도 있습니다.

Eclipse Corporation의 미래

Eclipse Corporation은 활발하고 활기찬 커뮤니티입니다. 지속적으로 새로운 프로젝트를 도입하고, 기존의 혁신적인 기업이 새로운 아키텍처를 사용할 수 있도록 하며, 심지어 소규모 기업도 기존 기능을 확장하는 새로운 플러그인을 비용 효율적으로 생성함으로써 Eclipse 플랫폼의 상업적 이점을 누릴 수 있습니다(그림 3 참조).

쌀. 3. Eclipse Corporation은 활발하고 빠르게 성장하는 플러그인 개발자 커뮤니티입니다.

오픈소스 라이선스 비교

모든 오픈 소스 소프트웨어 라이선스가 동일한 것은 아닙니다. QNX는 Eclipse Public License를 사용하여 현명한 조치를 취했습니다. 이러한 선택은 부분적으로는 임베디드 고객의 요구에 의해 이루어졌고 부분적으로는 제품을 차별화하는 기술을 제어하고 그로부터 이익을 얻으려는 욕구에 의해 이루어졌습니다.

비영리 오픈 소스 이니셔티브()는 오픈 소스에 대한 유용한 10가지 정의를 제안했습니다. 현재 웹사이트에는 Eclipse Public License를 포함하여 50개가 넘는 OSI 승인 라이센스가 있습니다. 이러한 라이센스에는 귀하가 알아야 할 중요한 차이점이 포함될 수 있습니다. 이러한 차이는 개발자의 지적 재산(IP)과 이를 보호하는 능력에 상당한 영향을 미칠 수 있습니다. 이는 임베디드 장치에서 오픈 소스 코드(또는 오픈 소스 파생물)를 사용할 때 가장 관련성이 높습니다.

방어 및 비방어 라이센스

GPL v2와 같은 보호 라이센스 조건에 따라 파생 저작물은 해당 소스 코드와 함께만 배포될 수 있습니다. 보안 라이선스는 소스 코드가 오픈 소스로 만들어지면 모든 후속 세대 및 파생 작업에서도 오픈 소스로 유지되도록 보장합니다. 나중에 설명하겠지만, 이러한 요구 사항은 임베디드 시스템의 경우 특정한 문제를 야기합니다.

비방어 라이센스의 예로는 원래의 MIT 및 BSD 라이센스가 있습니다. 비방어적 라이센스는 소유자의 저작권을 보존하지만 소프트웨어를 수정하고 제한 없이 무료로 배포(또는 개인적 사용)할 수 있는 권리를 포함하여 사용자에게 광범위한 권리를 제공합니다.

"바이러스 라이센스"란 무엇을 의미합니까?

어떤 사람들은 GPL을 "바이러스 라이센스"라고 부릅니다. 이 이름은 "파생 개발" 개념의 법적 정의가 불확실하기 때문에 발생했습니다. 정의를 엄격하게 해석하면 GPL 라이센스 코드의 작은 조각이라도 독점 응용 프로그램에 포함된 경우 전체 응용 프로그램이 GPL 라이센스를 받아야 한다는 의미입니다. 바이러스와의 비유가 즉시 떠오릅니다.

보상 수령에 관한 질문

최근 IP 면책(IP Indemnification)이 개발자들 사이에서 주요 화두가 되고 있습니다. 이에 일부 오픈소스 벤더들은 특허나 저작권 침해 관련 소송으로부터 고객을 보호하겠다고 밝혔다. 그리고 최신 오픈 소스 라이선스에는 코드베이스의 다른 사용자에 대해 자신의 특허권을 주장하려는 사용자에 대한 처벌이 명시되어 있습니다.

오픈소스 소프트웨어 상용화 시 직면하게 되는 주요 문제점

임베디드와 IT 애플리케이션의 비교

오픈소스 산업의 성공은 IT 조직의 Linux 채택에 힘입어 이루어졌습니다. Linux 사용의 이점은 상대적으로 동질적이고 안정적인 하드웨어(일반적으로 x86 제품군)에서 실행하고 유연하고 리소스가 풍부한 컴퓨팅 플랫폼을 사용한다는 것입니다.

임베디드 소프트웨어를 사용하면 상황이 완전히 달라집니다. 이 소프트웨어는 다양한 아키텍처의 광범위한 하드웨어를 사용하면서 고정된 기능 세트를 갖춘 수많은 장치에서 실행됩니다. 내장형 장치 개발자는 특정 기능 세트, 크기, 성능, 비용, 배터리 수명, 신뢰성, 상호 운용성 및 확장성을 기반으로 경쟁 우위를 확보하는 경우가 많습니다. 이러한 독특한 기능은 일반적으로 낮은 수준의 소프트웨어에서 구현되며, Linux의 경우 OS 커널에 직접 연결해야 합니다. 클라이언트 요구 사항에 맞게 하위 수준 소프트웨어를 사용자 지정하는 것이 예외가 아닌 표준이므로 개발자는 OS 커널을 변경하여 필요한 기능을 달성하는 경우가 많습니다. 라이브러리 제작 비용을 줄이기 위해 코드 조각에 삽입하여 직접 연결하는 방법도 사용됩니다. 이러한 관행이 합쳐지면 GPL과 같은 라이선스에 따라 독점 코드를 보호하는 것이 매우 어려워집니다.

일반적으로 이러한 라이센스 문제는 IT 애플리케이션에 영향을 미치지 않습니다. 왜냐하면 독점 기업별 소프트웨어는 기업 외부로 확장되지 않고 내부 요구에만 사용되기 때문입니다. 임베디드 장치의 경우 파생 소프트웨어는 오픈 소스 라이선스의 "강제 공개" 조항에 따라 항상 이를 통해 배포되며, 이는 가치 있는 오픈 소스 제품의 주요 측면을 위태롭게 할 수 있습니다.

또한, 임베디드 제품은 생산 및 사용 중에 수명이 긴 경우가 많습니다. 오픈 소스 조건이 적용되는 임베디드 제품은 장기적인 기술 지원 부족, 잠재적인 보안 문제, IP 위반 등 더 큰 위험에 노출될 수 있습니다.

라이센스 문제

불확실한 법적 지위

일부 오픈 소스 라이선스에 대한 지지자들의 확신에 찬 말에도 불구하고, 임베디드 시스템 개발자가 우려를 표명하는 주요 문제 중 다수는 아직 법학에서 널리 테스트되지 않았습니다. 언급한 바와 같이, "파생 저작물"의 정의는 특정 라이선스 조항을 준수하는 데 핵심입니다. 하지만 오픈 소스 용어를 받아들이는 많은 개인과 조직은 개념을 거의 이해하지 못하거나 고의로 무시합니다.

상업용 제품 공급업체가 Linux에 "독점" 드라이버(예: 로드 가능한 커널 모듈)를 도입할 수 있도록 허용하는 일부 해결 방법은 라이센스 계약 텍스트를 직접 참조하는 것보다 "그가 말했다, 그녀가 말했다" 주장에 더 의존합니다. 실제로 LKM 모듈을 사용하는 드라이버는 GPL 라이센스 요구 사항을 위험하게 우회할 위험이 있습니다. 극단적으로 말하자면, Linux 코드베이스에 이러한 독점 드라이버 중 일부가 포함되어 있지 않으면 대부분의 실제 응용 프로그램에 쓸모가 없는 것으로 해석될 수 있습니다. 이러한 상황은 GPL 라이센스 아이디어의 가치를 상당히 효과적으로 떨어뜨릴 수 있습니다.

IP 침해에 대한 보상 없음

오픈소스를 사용하는 대부분의 경우, 실수로 다른 사람의 특허권을 침해할 가능성이 실제로 있습니다. 특허를 명시적으로 언급하는 오픈 소스 라이선스는 거의 없으며 묵시적 라이선스는 판결을 내릴 수 없습니다. 예를 들어 MP3 알고리즘이나 기타 독점 솔루션을 구현하는 오픈 소스 코덱과 관련된 모든 특허에 대한 라이센스를 별도로 취득해야 합니다. 한편, Microsoft를 포함한 "나쁜 놈들"은 많은 전문가에 따르면 오픈 소스 지지자들을 "공격"하는 데 사용할 수 있는 특허 포트폴리오를 만드는 데 열중하고 있습니다.

일부 라이센스에는 특허에 대한 명시적인 언급이 포함되어 있습니다. 예를 들어 Eclipse Public License에는 특허권이 명시적으로 언급되어 있으며, 누군가가 다른 방식으로 특허권을 주장하려고 하면 처벌을 받는다는 조항이 포함되어 있습니다. Eclipse는 또한 라이센스, 특허 또는 저작권 관점에서 코드를 검토하고 소스를 확인하는 데 많은 노력을 기울입니다.

IP 보존을 위한 추가 노력

오픈소스 코드를 사용하려면 기업은 다음 영역에서 상당한 노력을 기울여야 합니다.

  • 제품 유통 관리;
  • 라이센스 관리;
  • 고객의 의무와 관련된 법적 갈등 해결;
  • 법적 문제에 대한 적절한 주의: IP 권리의 순수성 유지, 오픈 소스 코드에 대한 IP 권리 확인, 코드 출처 식별, GPL v3 등 라이선스 버전 변경 추적 등

고객 요구사항 수용

오픈 소스 소프트웨어의 복잡성과 불확실성에 직면한 일부 대규모 고객은 오픈 소스 코드가 포함된 제품 거래를 거부했습니다. 그러한 클라이언트와 함께 작업하려면 코드에 대한 상용 라이센스 조건을 포함시키거나 포함하도록 제안해야 합니다.

IP 문제

오픈 소스 라이선스의 조건이 귀하의 제품을 차별화하는 지적 재산을 포괄합니까? 그렇다면 귀하의 IP가 위험에 처해 있습니다.

임베디드 시스템에서 자체 소프트웨어와 오픈 소스 소프트웨어를 혼합하여 사용하는 경우 임베디드 소프트웨어의 모든 구성 요소의 특성, 출처 및 관계를 이해해야 합니다. 주제에 대한 깊은 이해가 없으면 실수로 다른 사람의 IP를 침해하거나 자신의 소프트웨어에 대한 권리를 잃을 수도 있습니다.

특허 라이센스 및 보상이 없으면 임베디드 시스템의 수명이 긴 소프트웨어, 상대적으로 높은 판매 가격, 고정 기능 임베디드 장치 판매량으로 인해 앞서 언급한 나쁜 놈들과 주요 경쟁업체의 특허 침해 소송의 명백한 표적이 됩니다.

QNX Momentics IDE가 보여주듯이 오픈 소스 소프트웨어에는 출시 기간 단축, 개발 비용 절감, 추가 기능과 혁신을 제품에 더 자유롭게 추가하는 등 즉각적인 이점이 많이 있습니다. 일부 고객 문제를 해결하는 서비스로 소프트웨어를 제공하는 경우 고객은 오픈 소스 소프트웨어를 사용했는지 여부에 관심이 없으며 필요한 기능에 대한 비용만 지불하면 됩니다.

그러나 다양한 오픈 소스 라이선스 간의 차이점을 이해하고 애플리케이션 및 클라이언트 요구 사항에 맞는 라이선스를 선택해야 합니다. 또한 선택한 소프트웨어의 라이센스 의무를 충족할 준비를 하십시오. 소프트웨어 코드와 관련된 기타 IP 요구 사항(예: 특허권)을 알고 있어야 합니다. IP 위반 결과에 대한 메시지를 표시하지 않는 코드베이스에 주의하세요. 대신, 발생할 수 있는 손해에 대한 보상을 제공하고 저작권이나 특허 침해 등과 관련된 비용을 보상하기 위해 코드 개발을 위한 금전적 기부에 대한 화면 메시지가 표시되는 프로젝트를 찾으십시오. 또한 사용하는 오픈 소스 소프트웨어가 지적 재산권 정책과 일치하는지 확인하고 코드의 고유한 부분을 공개하도록 강요할 수 있는 보호 라이센스를 피하십시오. 귀하의 제품이 시스템에 내장되어 있는 경우 귀하의 IP에 대한 상용 라이선스 조건을 제공하는 것도 고려해 보십시오.

임베디드 장치에 오픈 소스 코드를 사용하면 IT 애플리케이션에 해당 소프트웨어를 사용하는 경우보다 더 복잡한 문제가 발생합니다. 첫 번째 옵션이 더 위험하기 때문입니다. 오픈 소스 소프트웨어를 사용하기로 결정하기 전에 해당 소프트웨어의 실제 소유 비용(TTCO)과 프로젝트 적합성을 고려하십시오.

마지막으로 사용자와 개발자로 구성된 오픈 소스 커뮤니티에 참여하여 최대한 활용해 보세요!

오픈 소스 소프트웨어는 생성되는 프로그램의 소스 코드가 공개되어 공개적으로 열람 및 수정이 가능한 소프트웨어 개발 방법입니다. 이를 통해 누구나 이미 생성된 코드를 자신의 필요에 맞게 사용할 수 있으며, 오픈 소스 프로그램 개발에 도움을 줄 수도 있습니다.

"개방형" 라이센스는 소프트웨어가 항상 무료로 제공될 것을 요구하지 않습니다. 그러나 가장 성공적인 오픈 소스 소프트웨어 프로젝트 중 다수는 여전히 무료입니다.

압도적 인 대다수 열려 있는프로그램이 동시에 무료(GNU GPL)과 그 반대의 경우도 마찬가지입니다. 왜냐하면 개방형 소프트웨어와 자유 소프트웨어의 정의가 유사하고 대부분의 라이선스가 두 가지 모두를 준수하기 때문입니다.

차이점동작 사이 오픈 소스그리고 무료 소프트웨어주로 우선순위에 있습니다. 오픈 소스 소프트웨어 지지자들은 다음과 같이 강조합니다. 오픈소스 코드의 효율성프로그램을 개발 방법으로 사용합니다. 자유 소프트웨어 지지자들은 이념적 고려에 기초하고 있으며, 진상프로그램의 배포, 수정 및 연구가 주요 장점입니다. 무료 소프트웨어.

마이크로소프트 윈도우 OS

쌀. 39. OC 윈도우 로고.

MS Windows(Vindouz로 발음)는 Microsoft(Microsoft)의 운영 체제 제품군입니다. Microsoft Corporation의 대표 - 빌 게이츠.

1995년부터 Windows는 개인용 컴퓨터 시장에서 가장 인기 있는 운영 체제이자 사실상의 표준이 되었습니다. 2005년까지 Microsoft Windows는 89% 이상의 개인용 컴퓨터에 설치되었습니다.

그러나 많은 사용자는 MacOS, Linux, BSD와 같은 대안에 전혀 익숙하지 않기 때문에 Windows OS를 선택했습니다. 러시아에서는 2000년대 초반까지 거의 모든 개인용 컴퓨터에 Windows 운영 체제가 사전 설치된 상태로 판매되었습니다. 소프트웨어 제품의 불법 복제 버전 확산에 맞서 싸우면서 다른 운영 체제에 대한 관심이 높아졌습니다. 예를 들어, 사전 설치된 개인용 컴퓨터를 구입하는 것이 가능해졌습니다. 무료 리눅스 OS.

Windows 버전 릴리스 연대기


윈도우 1.0(1985)

1. 윈도우 2.0(1987)

2. 윈도우/386(1987)

3. 윈도우 3.0(1990)

4. 윈도우 3.1(1992)

5. 윈도우 NT 3.1(1993)

6. 윈도우 NT 3.5(1994)

7. 윈도우 95(1995)

8. 윈도우 NT 4.0(1996)

9. 윈도우 98(1998)

10. 윈도우 2000(2000)

11. 윈도우 미(2000)

12. 윈도우 XP(2001)

13. 윈도우 2003(2003)

14. 윈도우 비스타(2007)

15. Windows 가제 비엔나(2010)


통합 소프트웨어 제품 및 응용 소프트웨어

Microsoft Windows 운영 체제에는 다음과 같은 표준 응용 프로그램이 포함되어 있습니다. 인터넷 익스플로러 브라우저, 아웃룩 익스프레스 이메일 클라이언트, 윈도우 미디어 플레이어.

이러한 표준 제품을 Windows 운영 체제에 포함시키는 것에 대해 많은 논란과 논란이 있어 왔습니다. 이는 경쟁 제품을 채택하는 데 심각한 장벽이 되기 때문입니다.

쌀. 40. MS Office 패키지 로고.

MS Windows의 경우 대부분의 사용자가 매우 편리하고 숙달한 방법이 있습니다. Microsoft Office 애플리케이션 패키지, 포함:

워드 프로세서 MS워드,

테이블 프로세서 MS 엑셀,

조직자 MS 아웃룩,

프레젠테이션 준비 신청 MS 파워포인트,

데이터베이스 관리 애플리케이션 MS 액세스.

Windows OS와 Windows용 널리 사용되는 대부분의 응용 프로그램에는 모두 저작권 라이센스가 있다는 점을 잊지 마십시오. ~이다 소유권에 의해. 따라서 그러한 프로그램의 각 사본은 돈을 내고 구입해야 합니다. 예를 들어, 2006년 말 Windows XP Home Edition 러시아어 BOX(SP2) 가격은 185달러였고 Office 2003 러시아어 CD 가격은 322달러였습니다.

저작권 라이센스로 보호되는 라이센스가 없는(해적판) 소프트웨어를 사용하면 저작권법을 위반하는 것입니다.

OS GNU/리눅스

쌀. 41. GNU/Linux OS 로고 – 턱스 펭귄.

GNU/Linux 운영 체제("gnu Linux"로 발음)는 UNIX와 유사한 무료 운영 체제입니다. 일반적으로 역사적인 이유와 간결함을 위해 이 시스템을 간단히 "Linux"라고 부릅니다. 이것은 MS Windows에 대한 가장 강력한 대안으로, XP 및 Vista 버전에서 Microsoft의 Windows OS 라이센스 사용 준수에 대한 제어가 강화됨에 따라 서버로 인기가 높아지고 최근 몇 년 동안 데스크톱 운영 체제로 빠르게 인기를 얻고 있습니다.

GNU/Linux 운영 체제에는 종종 이 운영 체제를 보완하는 프로그램과 완전한 다기능 운영 환경을 만드는 응용 프로그램이 포함되어 있습니다.

대부분의 다른 운영 체제와 달리 GNU/Linux에는 단일 "공식" 패키지가 없습니다. 대신, GNU/Linux는 소위 말하는 수많은 버전으로 제공됩니다. 분포, GNU 프로그램이 Linux 커널 및 기타 프로그램과 결합됩니다. 세계에서 가장 일반적인 배포판:

미국 사람 빨간 모자그리고 그의 상속인 페도라 코어;

독일 사람 수세;

프랑스 국민 만드리바(이전의 맨드레이크);

비국내 국제 유통 데비안 GNU/리눅스;

가장 오래된 배포판 중 하나 슬랙웨어;

상대적으로 젊고 활발하게 발전하는 배포판 젠투;

젊지만 유망한 유통 우분투 리눅스.

Linux 커널의 창시자 - 리누스 토발즈. GNU/Linux에는 지리적인 개발 센터가 없습니다. 이 시스템을 소유한 조직은 없습니다. 조정 센터도 하나도 없습니다. GNU/Linux용 프로그램은 수천 개의 프로젝트 작업의 결과입니다. 이러한 프로젝트 중 일부는 중앙 집중화되어 있고 일부는 회사에 집중되어 있지만 대부분은 서신을 통해서만 서로를 아는 전 세계의 프로그래머를한데 모았습니다. 누구나 자신의 프로젝트를 만들거나 기존 프로젝트에 참여할 수 있으며, 성공하면 작업 결과가 수백만 명의 사용자에게 알려지게 됩니다. 사용자는 무료 소프트웨어 테스트에 참여하고 개발자와 직접 소통하므로 오류를 신속하게 찾아 수정하고 새로운 기능을 구현할 수 있습니다.

Linux는 이미 호주 서버 운영 체제 시장의 약 30%를 점유하고 있습니다. 호주인이 브라질인의 뒤를 따랐습니다. 브라질 정부는 소프트웨어에 대한 비용 지출을 중단하고 Microsoft 제품에서 오픈 소스 시스템, 특히 Linux OS로 전환하기로 결정했습니다. 변화의 주된 이유는 경제적입니다. 우리나라의 리눅스 시장은 아직 작습니다.

파일 시스템

컴퓨터의 모든 정보는 운영 체제가 작동하는 파일에 저장됩니다.

파일(파일) - 이것은 명명된 바이트 시퀀스입니다., 다양한 유형의 정보를 영구적으로 저장하는 장소입니다.

파일은 다음과 같이 구성됩니다. 카탈로그,디렉토리 또는 폴더라고도 합니다. 목록이름, 크기, 생성 날짜, 디스크의 파일 주소 등 다른 파일에 대한 정보를 저장하는 파일입니다.

모든 디렉토리에는 임의의 숫자가 포함될 수 있습니다. 하위 디렉터리, 각각 파일 및 기타 디렉터리를 저장할 수 있습니다.

각 디스크에는 마스터 또는 루트 디렉토리, 하위 디렉터리라고 하는 다른 모든 디렉터리와 일부 파일이 포함되어 있습니다. 그리하여 생성된 계층적 구조. 사용자가 현재 작업하고 있는 디렉터리는 다음과 같습니다. 현재의.

파일과 디렉터리는 파일 시스템에서 가장 중요한 개체입니다. 파일 시스템- 미디어에서 데이터를 구성, 저장 및 명명하는 방법을 결정하는 규정입니다. 파일의 물리적 저장 형식을 정의합니다. 특정 파일 시스템은 파일 이름의 크기, 가능한 최대 파일 크기 및 파일 속성 세트를 결정합니다.

데이터가 바이트로 구성되는 방식을 호출합니다. 파일 형식. 스프레드시트와 같은 파일을 읽으려면 바이트가 각 셀의 숫자(공식, 텍스트)를 어떻게 나타내는지 알아야 합니다. 텍스트 편집기 파일을 읽으려면 문자를 나타내는 바이트, 글꼴이나 필드, 기타 정보를 알아야 합니다.

모든 파일은 두 부분으로 나눌 수 있습니다 - 텍스트그리고 바이너리.

텍스트 파일- 컴퓨터 세계에서 가장 일반적인 데이터 유형입니다. 1바이트는 각 문자를 저장하는 데 가장 자주 할당되며 텍스트 파일은 특수 인코딩 테이블을 사용하여 인코딩됩니다.

그러나 순수한 텍스트 파일은 점점 더 드물어지고 있습니다. 사람들은 문서에 그림과 도표가 포함되고 다양한 글꼴이 사용되기를 원합니다. 결과적으로 텍스트, 그래픽 및 기타 형태의 데이터가 다양하게 조합된 형식이 나타납니다.

바이너리 파일, 텍스트와 달리 보기가 쉽지 않으며 일반적으로 우리에게 친숙한 단어가 포함되어 있지 않으며 이해할 수 없는 기호가 많이 포함되어 있습니다. 이러한 파일은 사람이 직접 읽을 수 있도록 만들어지지 않았습니다. 바이너리 파일의 예로는 실행 가능한 프로그램과 그래픽 파일이 있습니다.

디스크의 각 파일에는 지정( 이름)은 두 부분으로 구성됩니다. 이름그리고 확장, 점으로 구분됩니다.

파일 이름 확장자- 파일 이름에 추가되고 파일의 유형(형식)을 식별하기 위한 선택적 문자 시퀀스입니다. 이는 사용자나 컴퓨터 소프트웨어가 파일에 저장된 데이터 유형을 결정할 수 있는 일반적인 방법 중 하나입니다.

초기 운영 체제에서는 확장자의 길이가 3자로 제한되었지만 최신 운영 체제에서는 이러한 제한이 없습니다.

운영 체제 또는 파일 관리자는 파일 확장자와 응용 프로그램 간의 매핑을 생성할 수 있습니다.

사용자가 등록된 확장자를 가진 파일을 열면 해당 확장자에 해당하는 프로그램이 자동으로 실행됩니다. 일부 확장자는 파일 자체가 프로그램임을 나타냅니다. 종종 파일 확장자는 아이콘으로 사용자에게 표시됩니다.

드라이버

비디오 카드, 사운드 카드, 프린터, 스캐너, 포인팅 장치, 디스크 드라이브, 디지털 카메라, 휴대폰 등 다양한 장치를 PC와 인터페이스할 수 있습니다. 각 장치에는 고유한 명령 세트, 즉 고유한 "언어"가 있습니다. . 특정 운영 체제가 특정 장치를 제어하기 위해 한편으로는 특정 장치의 명령 언어를 알고 다른 한편으로는 특정 운영 체제의 언어를 아는 "번역기" 프로그램의 도움을 받습니다. 이 장치가 작동해야 하는 시스템입니다.

이 프로그램은 운전사(드라이버)이며 제조업체에서 장치와 함께 제공됩니다. 하드웨어 제조업체는 일반적으로 자신이 만든 장치의 드라이버를 웹 사이트에도 게시합니다.