Commercial off-the-shelf or commercially available off-the-shelf (COTS) products are packaged or canned (ready-made) hardware or software, which are adapted aftermarket to the needs of the purchasing organization, rather than the commissioning of custom-made, or bespoke, solutions. A related term, Mil-COTS, refers to COTS products for use by the U.S. military.

In the context of the U.S. government, the Federal Acquisition Regulation (FAR) has defined "COTS" as a formal term for commercial items, including services, available in the commercial marketplace that can be bought and used under government contract. For example, Microsoft is a COTS software provider. Goods and construction materials may qualify as COTS but bulk cargo does not.  Services associated with the commercial items may also qualify as COTS, including installation services, training services, and cloud services.

COTS purchases are alternatives to custom software or one-off developments – government-funded developments or otherwise.

Although COTS products can be used out of the box, in practice the COTS product must be configured to achieve the needs of the business and integrated to existing organizational systems. Extending the functionality of COTS products via custom development is also an option, however this decision should be carefully considered due to the long term support and maintenance implications. Such customized functionality is not supported by the COTS vendor, so brings its own sets of issues when upgrading the COTS product.

The use of COTS has been mandated across many government and business programs, as such products may offer significant savings in procurement, development, and maintenance.

Motivations for using COTS components include hopes for reduction system whole of life costs. 

In the 1990s, many regarded COTS as extremely effective in reducing the time and cost of software development. COTS software came with many not-so-obvious tradeoffs— a reduction in initial cost and development time over an increase in software component-integration work, dependency on the vendor, security issues and incompatibilities from future changes.

Software and services 

Commercial off-the-shelf (COTS) software and services are built and delivered usually from a third party vendor. COTS can be purchased, leased or even licensed to the general public.

COTS can be obtained and operated at a lower cost over in-house development, and provide increased reliability and quality over custom-built software as these are developed by specialists within the industry and are validated by various independent organizations, often over an extended period of time.

Security implications 
According to the United States Department of Homeland Security, software security is a serious risk of using COTS software. If the COTS software contains severe security vulnerabilities it can introduce significant risk into an organization's software supply chain. The risks are compounded when COTS software is integrated or networked with other software products to create a new composite application or a system of systems. The composite application can inherit risks from its COTS components.

The US Department of Homeland Security has sponsored efforts to manage supply chain cyber security issues related to the use of COTS. However, software industry observers such as Gartner and the SANS Institute indicate that supply chain disruption poses a major threat. Gartner predicts that "enterprise IT supply chains will be targeted and compromised, forcing changes in the structure of the IT marketplace and how IT will be managed moving forward". Also, the SANS Institute published a survey of 700 IT and security professionals in December 2012 that found that only 14% of companies perform security reviews on every commercial application brought in house, and over half of other companies do not perform security assessments. Instead companies either rely on vendor reputation (25%) and legal liability agreements (14%) or they have no policies for dealing with COTS at all and therefore have limited visibility into the risks introduced into their software supply chain by COTS.

Issues in other industries
In the medical device industry, COTS software can sometimes be identified as SOUP (software of unknown pedigree or software of unknown provenance), i.e., software that has not been developed with a known software development process or methodology, which precludes its use in medical devices. In this industry, faults in software components could become system failures in the device itself if the steps are not taken to ensure fair and safe standards are complied with. The standard IEC 62304:2006 "Medical device software – Software life cycle processes" outlines specific practices to ensure that SOUP components support the safety requirements for the device being developed. In the case where the software components are COTS, DHS best practices for COTS software risk review can be applied. Simply being COTS software does not necessarily imply the lack of a fault history or transparent software development process. For well documented COTS software a distinction as clear SOUP is made, meaning that it may be used in medical devices.

Obsolescence

A striking example of product obsolescence are PlayStation 3 clusters, which used Linux to operate. Sony disabled the use of Linux on the PS3 in April 2010, leaving no means to procure functioning Linux replacement units. In general, COTS product obsolescence can require customized support or development of a replacement system. Such obsolescence problems have led to government-industry partnerships, where various businesses agree to stabilize some product versions for government use and plan some future features, in those product lines, as a joint effort. Hence, some partnerships have led to complaints of favoritism, to avoiding competitive procurement practices, and to claims of the use of sole-source agreements where not actually needed.

There is also the danger of pre-purchasing a multi-decade supply of replacement parts (and materials) which would become obsolete within 10 years. All these considerations lead to compare a simple solution (such as "paper & pencil") to avoid overly complex solutions creating a "Rube Goldberg" system of creeping featurism, where a simple solution would have sufficed instead. Such comparisons also consider whether a group is creating a make-work system to justify extra funding, rather than providing a low-cost system which meets the basic needs, regardless of the use of COTS products.

Applying the lessons of processor obsolescence learned during the Lockheed Martin F-22 Raptor, the Lockheed Martin F-35 Lightning II planned for processor upgrades during development, and switched to the more widely supported C++ programming language. They have also moved from ASICs to FPGAs. This moves more of the avionic design from fixed circuits to software that can be applied to future generations of hardware.

COTS components are part of upgrades to the sonar of United States Navy submarines.

See also
Commercial software
Commodity off-the-shelf
Government off-the-shelf
Non-developmental item
Host Based Security System
Independent software vendor
Invented here
Open Trusted Technology Provider Standard
Turnkey

References

Citations

Sources 

 "Commercial" is not the opposite of Free-Libre / Open Source Software (FLOSS)

Procurement
Engineering management
상용 기성품(Commercial off-the-shelf, commercially available off-the-shelf, COTS)이란 미국에서 정부와의 계약하에 상업 시장에서 구매 및 사용 가능한 상품을 의미하는 연방 구매 시행령 (FAR) 용어이다. 예를 들어, 소비재와 건축 자재는 해당되지만 벌크 화물은 이에 해당되지 않는다.
 
COTS 구매는 자체 또는 일회성으로 정부가 지원하는 개발에 대한 대안이다. COTS는 대개 해당 용도에 맞도록 환경을 설정해야 한다. COTS는 조달, 개발 그리고 유지 보수 비용에 상당한 절감 효과가 있어 많은 정부와 기업 프로그램을 통해 의무화 되고 있다.

전반적인 시스템 개발 시간의 단축, 비용의 감소 및 유지 보수 비용의 절감이 COTS 컴포넌트를 사용하는 주 목적이다. (컴포넌트는 새로 개발하는 것이 아니라 이미 개발된 것을 구매하거나 라이센스를 받는다.) 1990년대에 많은 사람들이 COTS가 소프트웨어 개발에 소요되는 비용과 시간 절감에 매우 효과적이라고 생각했다. COTS 소프트웨어를 사용함으로써 초기 비용과 개발 시간은 줄일 수 있었지만 쉽게 예측하지 못했던 반대급부로 소프트웨어 컴포넌트를 통합해야 하는 작업의 증가, 업체에 대한 의존성, 보안 문제 그리고 향후 상황 변화에 따른 호환성 문제가 새로 재기되었다.

소프트웨어

상용 기성품 소프트웨어 (COTS)는 주로 제3자 입장의 업체가 사전에 만들어 놓은 소프트웨어이다. COTS는 일반 대중을 대상으로 판매하거나 임대할 수 있고 라이센스 계약도 가능하다.

COTS는 다음과 같은 몇 가지 이점을 제공한다:
응용 프로그램이 저렴하게 제공된다.
다른 조직에서도 사용되어 검증되었기 때문에 맞춤형 소프트웨어에 비해 신뢰성이 높다.
COTS는 시스템 문서가 응용 프로그램과 함께 제공되기 때문에, 관리하기가 수월하다.
경쟁을 도입하였기에 응용 프로그램의 품질이 더 높다.
업계 전문가들이 소프트웨어를 개발하기 때문에, COTS는 복잡성이 높다.
업계가 아닌 시장이 응용 프로그램의 개발을 주도한다.
납기가 짧아진다.

보안 관련 
미국 국토안보부에 따르면 소프트웨어 보안이 COTS 소프트웨어를 사용하는데 가장 큰 위험요소이다. 심각한 보안 취약성이 있는 COTS 소프트웨어가 기관의 소프트웨어 공급 사슬을 통해 공급되면 큰 위험이 발생할 수 있다. 새로운 조합의 응응 프로그램이나 여러 시스템을 통합한 시스템을 만들기 위하여, COTS 소프트웨어를 다른 소프트웨어 상품들과 통합하거나 연계(network)하면 여러 위험 요소가 혼재하게 된다. 복합된 응용 프로그램은 개별 COTS 컴포넌트의 위험을 그대로 가질 수 있다.

미국 국토안보부는 COTS를 사용과 관련하여 공급 사슬의 사이버 보안 문제 관리 노력에 지원을 하고 있다. 하지만 가트너나 SANS Institute와 같은 소프트웨어 산업 참관사들은 공급 사슬 붕괴가 주요 위험이라고 지적하고 있다. 가트너는 "기업 IT 공급 사슬이 위태로와질 것이다. IT 시장 구조와 IT를 관리에 대한 변화가 생길 것이다.고 예측한다.  또한 SANS Institute는 2012년 12월에 700개의 IT와 보안 전문가들에 대한 여론 조사를 결과를 발표하였다. 이에 따르면, 14%의 회사만이 내부에서 구매한 모든 상업 응용 프로그램에 대한 보안 리뷰를 하고 있으며, 절반이 넘는 회사는 보안 평가를 하지 않는다. 대신 업체의 평판이나(25%) 법적 책임 계약(14%)에 의존하거나 COTS에 대한 정책이 없어 소프트웨어 공급 사슬로부터 발생할 수 있는 위험에 대해 제대로 인지하지 못하고 있다.

다른 산업에서의 문제점
의료 장비 산업에서는, COTS 소프트웨어를 SOUP (Software of Unknown Pedigree or Provenance)로 취급하기도 한다. 즉 알려진 소프트웨어 개발 프로세스나 방법론에 의해 개발되지 않은 소프트웨어는 의료 장비에 사용하지 못한다.  의료 장비 산업에서는 소프트웨어 컴포넌트의 오류가 장비의 시스템 문제가 될 수 있다. IEC 62304:2006 "의료 장비 소프트웨어 - 소프트웨어 생애 주기 프로세스" 표준에서는 개발할 장비를 위해 SOUP 컴포넌트가 안전 요건을 만족하는지 확인할 수 있는 구체적인 실례들을 개략적으로 기술하고 있다. COTS가 소프트웨어 컴포넌트인 경우, 'DHS best practices for COTS software rick review'를 적용할 수 있다. 단순히 COTS 소프트웨어라고 해서 반드시 고장 이력(fault history)이나 소프트웨어 개발 프로세서의 투명성이 부족하다고 할 수 없다.깨끗한  SOUP이라고 불리는 잘 문서화된 COTS 소프트웨어는 의료 장비에 사용될 수도 있다.

단종
제품 단종의 두드러진 예로 리눅스 운영체제를 올린 플레이스테이션 3 (PS3)로 구성한  미국 공군의 슈퍼컴퓨터 Condor Cluster를 들 수 있다. 소니는 2010년 4월에 리눅스가 돌아가는 대체품을 구할 방법을 남기지 않고, PS3로 리눅스를 돌리는 것을 금지하였다. 일반적으로 COTS 제품이 단종되면 맞춤 지원이나 대체 시스템의 개발이 필요하다. 이러한 단종 문제 때문에 정부와 업계간의 제휴를 통해 여러 기업들은 몇몇 버전의 제품들을 정부가 사용할 수 있도록 안정화하고 미래의 새로운 기능에 대해 상호 협의하게 되었다. 이런 이유로 경쟁 조달 관례를 피하기 위하여 실제로는 필요하지 않는 단독 입찰 양해각서를 요구함으로써 편파적이라는 지적을 받는 제휴 관계도 있다.

또한 10년내에 단종될 수 있는 교환용 부품 (및 재료)를 수십년치 선구매해 두어야 할 위험도 있다. 이런 고려요소에 때문에 "루브 골드버그" 시스템의 점점 더 복잡해짐(creeping featurism)을 가진 매우 복잡한 솔루션 대신 간단한 솔루션(예를 들어 "종이와 연필")으로 충분한지 비교하게 되었다. 비교 과정에서 COTS 제품 사용여부과 관계없이 기본적인 요구사항을 충족하는 저비용 시스템을 제공하는 것이 아니라 추가의 자금을 정당화하기 위하여 불필요한 시스템을 만들려고 하는 것이 아닌지도 검토한다.

프로세서가 단종된 록히드 마틴사의 F-22 랩터에서 교훈으로, 록히드 마틴사의 F-35 라이트닝 II은 개발중에 프로세서 업그레이드를 고려하여 계획하였고, 보다 폭넓게 지지를 받고 있는 C++ 프로그래밍 언어로 바꾸었다. 또한 ASIC 대신 FPGA를 사용하였다. 이로 인해 항공 전자 설계가 고정된 회로 중심에서 다음 세대의 하드웨어에 적용될 수 있는 소프트웨어 중심으로 변화되었다.

미국 해군 잠수함의 소나 업그레이드에도 COTS 컴포넌트가 사용되었다.

같이 보기 
 상용 소프트웨어

각주

참고
 "Commercial" is not the opposite of Free-Libre / Open Source Software (FLOSS) 

사업 용어
공급망 관리