Los productos comerciales listos para usar o disponibles comercialmente ( COTS ) son hardware o software empaquetados o enlatados (listos para usar), que se adaptan al mercado de posventa a las necesidades de la organización de compras, en lugar de encargar productos personalizados. Soluciones hechas o a medida . Un término relacionado, Mil-COTS , se refiere a los productos COTS para uso del ejército de EE. UU.
En el contexto del gobierno de EE. UU. , el Reglamento Federal de Adquisiciones (FAR) ha definido "COTS" como un término formal para artículos comerciales, incluidos servicios, disponibles en el mercado comercial que pueden comprarse y utilizarse bajo contrato gubernamental. [1] Por ejemplo, Microsoft es un proveedor de software COTS. Los bienes y materiales de construcción pueden calificar como COTS, pero la carga a granel no. Los servicios asociados con los artículos comerciales también pueden calificar como COTS, incluidos los servicios de instalación, los servicios de capacitación y los servicios en la nube. [2]
Las compras COTS son alternativas al software personalizado o desarrollos únicos ( desarrollos financiados por el gobierno o de otro tipo).
Aunque los productos COTS se pueden utilizar de forma inmediata, en la práctica el producto COTS debe configurarse para satisfacer las necesidades del negocio e integrarse a los sistemas organizativos existentes. Ampliar la funcionalidad de los productos COTS mediante desarrollo personalizado también es una opción; sin embargo, esta decisión debe considerarse cuidadosamente debido a las implicaciones de soporte y mantenimiento a largo plazo. El proveedor de COTS no admite dicha funcionalidad personalizada, por lo que genera sus propios problemas al actualizar el producto COTS.
El uso de COTS ha sido obligatorio en muchos programas gubernamentales y empresariales, ya que dichos productos pueden ofrecer ahorros significativos en adquisiciones, desarrollo y mantenimiento.
Las motivaciones para utilizar componentes COTS incluyen la esperanza de reducir los costos de vida útil del sistema.
En la década de 1990, muchos consideraban que los COTS eran extremadamente eficaces para reducir el tiempo y el coste del desarrollo de software . [ cita necesaria ] El software COTS vino con muchas compensaciones no tan obvias: una reducción en el costo inicial y el tiempo de desarrollo frente a un aumento en el trabajo de integración de componentes de software, dependencia del proveedor , problemas de seguridad e incompatibilidades de cambios futuros. [3]
El software y los servicios COTS generalmente los construye y entrega un proveedor externo. Los COTS se pueden comprar, alquilar o incluso conceder licencias al público en general.
Los COTS se pueden obtener y operar a un costo menor que el desarrollo interno, [ cita necesaria ] y proporcionar mayor confiabilidad y calidad que el software personalizado, ya que son desarrollados por especialistas dentro de la industria y validados por varias organizaciones independientes, a menudo durante más de un período prolongado de tiempo. [ cita necesaria ]
Según el Departamento de Seguridad Nacional de los Estados Unidos , la seguridad del software es un riesgo grave al utilizar software COTS. Si el software COTS contiene vulnerabilidades de seguridad graves, puede introducir un riesgo significativo en la cadena de suministro de software de una organización . Los riesgos se agravan cuando el software COTS se integra o se conecta en red con otros productos de software para crear una nueva aplicación compuesta o un sistema de sistemas. La aplicación compuesta puede heredar riesgos de sus componentes COTS. [4]
El Departamento de Seguridad Nacional de EE. UU. ha patrocinado esfuerzos para gestionar los problemas de seguridad cibernética de la cadena de suministro relacionados con el uso de COTS. Sin embargo, observadores de la industria del software como Gartner y el Instituto SANS indican que la interrupción de la cadena de suministro representa una amenaza importante. Gartner predice que "las cadenas de suministro de TI empresariales serán atacadas y comprometidas, forzando cambios en la estructura del mercado de TI y en cómo se gestionará la TI en el futuro". [5] Además, el Instituto SANS publicó una encuesta de 700 profesionales de seguridad y TI en diciembre de 2012 que encontró que solo el 14% de las empresas realizan revisiones de seguridad en cada aplicación comercial incorporada, y más de la mitad de las otras empresas no realizan evaluaciones de seguridad. . En cambio, las empresas dependen de la reputación de los proveedores (25%) y de los acuerdos de responsabilidad legal (14%) o no tienen ninguna política para lidiar con los COTS y, por lo tanto, tienen una visibilidad limitada de los riesgos introducidos por los COTS en su cadena de suministro de software. [6]
En la industria de dispositivos médicos , el software COTS a veces puede identificarse como SOUP ( software de pedigrí desconocido o software de procedencia desconocida), es decir, software que no ha sido desarrollado con un proceso o metodología de desarrollo de software conocido, lo que excluye su uso en dispositivos médicos. . [7] En esta industria, las fallas en los componentes de software podrían convertirse en fallas del sistema en el propio dispositivo si no se toman las medidas necesarias para garantizar que se cumplan estándares justos y seguros. La norma IEC 62304:2006 "Software de dispositivos médicos - Procesos del ciclo de vida del software" describe prácticas específicas para garantizar que los componentes de SOUP cumplan con los requisitos de seguridad para el dispositivo que se está desarrollando. En el caso de que los componentes del software sean COTS, se pueden aplicar las mejores prácticas del DHS para la revisión de riesgos del software COTS. [4] El simple hecho de ser software COTS no implica necesariamente la falta de un historial de fallas o un proceso de desarrollo de software transparente. Para el software COTS bien documentado se hace una distinción como SOUP claro , lo que significa que puede usarse en dispositivos médicos. [8] [9]
Un ejemplo sorprendente de obsolescencia de productos son los clústeres de PlayStation 3 , que utilizaban Linux para funcionar. Sony desactivó el uso de Linux en la PS3 en abril de 2010, [10] sin dejar medios para conseguir unidades de reemplazo de Linux que funcionaran . [11] En general, la obsolescencia de los productos COTS puede requerir soporte personalizado o el desarrollo de un sistema de reemplazo. Estos problemas de obsolescencia han dado lugar a asociaciones entre el gobierno y la industria, en las que varias empresas acuerdan estabilizar algunas versiones de productos para uso gubernamental y planificar algunas características futuras, en esas líneas de productos, como un esfuerzo conjunto. Por lo tanto, algunas asociaciones han dado lugar a quejas de favoritismo, a evitar prácticas de adquisiciones competitivas y a afirmaciones sobre el uso de acuerdos de fuente única cuando en realidad no eran necesarios.
También existe el peligro de precomprar un suministro de piezas (y materiales) de repuesto para varias décadas que quedarían obsoletos en 10 años. Todas estas consideraciones llevan a comparar una solución simple (como "papel y lápiz") para evitar soluciones demasiado complejas que creen un sistema " Rube Goldberg " de caracteristicismo progresivo , donde una solución simple habría sido suficiente. [ se necesita aclaración ] Estas comparaciones también consideran si un grupo está creando un sistema de trabajo para justificar financiación adicional, en lugar de proporcionar un sistema de bajo costo que satisfaga las necesidades básicas, independientemente del uso de productos COTS.
Aplicando las lecciones de obsolescencia del procesador aprendidas durante el Lockheed Martin F-22 Raptor , el Lockheed Martin F-35 Lightning II planeó actualizaciones del procesador durante el desarrollo y cambió al lenguaje de programación C++, más ampliamente compatible. También han pasado de los ASIC a los FPGA . Esto traslada una mayor parte del diseño de aviónica de circuitos fijos a software que se puede aplicar a futuras generaciones de hardware. [12]
Los componentes COTS son parte de las actualizaciones del sonar de los submarinos de la Armada de los Estados Unidos. [13]