IBM's Rational Software division is extremely fond of creating taglines for its developer events that place the word 'software' above all other elements of the IT stack. Software Runs the World, Better Software = Better Business and, if you need one more, Software in Concert.
By why do I rant thusly? Because we must now realise that software drives hardware - and I don't mean that in the obvious sense; I mean that production and manufacturing of hardware now depends more on software development than on all other R&D.
This is a view backed up by provider of open source management software Protecode who has recently discussed the management of open source licensing for semiconductors.
Software is a massive enabler for the semiconductor industry says Protecode. Drivers, real-time operating systems (RTOS), software development kits (SDKs), networking & security, administration, media formatting & compression and of course an endless list of applications - without these things, the hardware production engine simply doesn't get started.
So let's repeat this point. The semiconductor industry now spends more on software development than on all other R&D aspects, but how do developers build all of this software at a reasonable cost?
"Increasingly, developers supplement custom coding with open source software, enabling rapid development at a reduced cost with a high degree of flexibility, security and stability. Open source opens up new opportunities that did not exist even a few years ago. As with every significant opportunity comes the need for responsible practices to ensure fairness and sustainability. In simple cases, managing third party content and the associated licensing obligations manually is possible. However, in larger projects, this becomes cumbersome and inaccurate, leading to potential quality or licensing issues. In these cases, automation can help," says Protecode.
Assuring open source license compliance will generally include three aspects:
1. Definition of a licensing policy.
2. Auditing of software to detect open source code that violates the licensing policy.
3. Corrective processes to ensure that all software conforms to the licensing policy.
"The cost of managing software license obligations is analogous to managing defects in the development process and the earlier 'licensing bugs' are identified and corrected, the less expensive it is to correct them. Consequently the selection of an audit methodology is pivotal in determining the speed and hence cost of detection and correction."
"External content management can range from ad hoc developer training and post-development cycle auditing to proactive fully-automated real time scanning approaches. Each organisation must consider their approach, balancing the short term cost of developer training and tools versus the potential longer term cost of post-release quality or licensing problems. Regardless of the approach, the overall goal is to minimise the life cycle cost of the final software release."
The above quotes are attributed to Kamal Hassin, director of R&D & product management at Protecode.