Feature Focus: Proprietary Component Governance
Software Composition Analysis (SCA) has become an essential part of modern software development, with a primary focus on analyzing and managing the risks associated with open-source software (OSS) components. However, the importance of proprietary components in software applications cannot be overlooked. These homegrown components are the backbone of many software systems and contribute significantly to a business as they are not open-source and publicly available, by definition. In this tutorial, we will explain the significance of governing proprietary components and how CAST Highlight’s SCA capabilities help you address this requirement. To start with, it's essential to understand that proprietary components make up much of the software application’s value. While OSS could represent as much as 70% of the codebase of a custom application, proprietary source code includes proprietary algorithms, business logic, or other code that is specific to the needs of the organization. Think of a software application as a cake, and the proprietary components as the secret ingredient that makes the cake unique and special. The OSS components are the icing on top, but without the secret ingredient, the cake wouldn't be complete. Just like a secret ingredient, proprietary components play a crucial role in the software application and must be managed properly, especially since they’re often shared by multiple applications across an organization. A Software Intelligence product such as CAST Highlight supports governance of proprietary/commercial components for several reasons including:- Improved visibility: Proprietary components are often developed and maintained in-house, and as such, their usage and status may not be well documented or understood. A Software Intelligence product that automatically inventories proprietary components can provide organizations with a centralized repository of information about these components, enabling more informed decision-making about the software application.
- Obsolescence risks: Proprietary components may become obsolete over time, leading to compatibility issues or other problems with the software application. By having a Software Intelligence product for governing these components, organizations can keep track of obsolescence risks and take proactive measures to address any potential issues.
- Better collaboration: Proprietary components may be developed by different teams within an organization or by external contractors. A common platform for cataloging proprietary components – in the context of the applications using them – can help teams collaborate more effectively, ensuring that all components of the software application are up-to-date and functioning properly.
- Component name: the name of the component as declared in the dependency files of an application (e.g., pom.xml, package.json, etc.) and extracted during a scan (see the list of supported package managers and dependency files).
- Component Type: by default, a component is categorized as Unknown until a user marks it as Proprietary.
- Component Status: similar to OSS components, proprietary components can be marked as Allowed, Denied or To be reviewed. The case for a Denied proprietary component can be, for example, a legacy homegrown framework which has been replaced by another one and needs to be removed from applications.
- Component tags: similar to application tags, users can create and attach custom tags to a component to organize and aggregate the Proprietary Component view. The top tags are displayed at the top of the dashboard.
- Component description: users can add a description for each component so that non-technical users can easily understand the purpose of a component. The description can also be used to give more details on the component’s lifecycle (e.g., this component should be decommissioned by 2024, ensure your application are not using version 5.0.0 or below, etc.).
- Component Versions: this number indicates how many distinct versions of a given component are referenced across the application portfolio.
- Applications: this number indicates how many applications reference a given component, by version.
For reference only. For the complete details please refer the original article
https://doc.casthighlight.com/feature-focus-proprietary-component-inventory-governance/
https://doc.casthighlight.com/feature-focus-proprietary-component-inventory-governance/
Comments