Open source software has become a significant component of all software development activities, intentionally and sometimes unintentionally, thanks to the wealth of available source code, its apparent free cost, and high degree of stability and security. But while open source appears to be cost free, it is not without obligations, as it comes laden with licensing and copyright responsibilities enforceable by law. Lack of knowledge about these obligations and ignoring them can lead to dire consequences for technology firms, and some of the ensuing legal cases have been well documented.\nThis does not mean that outsourcing or open source usage should be avoided. The cause for concern is not with the use of open source, but with the unmanaged adoption of third party code and its accompanying copyright and licensing duties. It is important for software organisations to establish appropriate intellectual property (IP) policies that determine what specific open source licenses and license terms are acceptable for a specific product and business. Managers need to validate the IP cleanliness of their products and services to make sure all legal obligations are met before they go to market.\nA cost model for assuring software legal compliance is essential for CIOs.\u00a0 A cost model must take into account factors such as the extent of open source or other third party content in a product, the extent to which the content violates an organisation\u2019s licensing policies, and the probability of detecting a violation after a product launch and the cost associated with fixing the problem. Considering a number of scenarios with varying project complexity, organisation size, and introducing cost numbers for correcting licensing violations during development, this model provides a glimpse of the effectiveness and the economies of automated software scanning and licensing compliance.\nThird Party Software Content and IP Violations \nNowadays, it\u2019s common to have software products consisting of thousands of software files (source code or binaries). Some of the components brought into the product may have license requirements and copyright obligations that are at variance with the corporate IP policy. For example a corporation may be legally compelled to release the source code for a commercial product, creating a serious loss in revenue for the company. On the other hand, another scenario involves modification of a software file while the license specifically forbids any tampering with the code, resulting in legal action. Some of these violations are significant enough to warrant specific copyright compliance actions or software corrections, although determination of what is a significant legal violation is ultimately for a judge to decide; and getting in front of a judge is an expensive proposition.\nThe level of external content in the software could be as little as 10 per cent and as high as 100 per cent if the software component of the product is completely outsourced. For an illustration of our cost model, let\u2019s assume that only 45 per cent of the software components are open source, or otherwise of external origin.\u00a0 In this model we shall assume that only four per cent of all external content is in violation of the associated corporate IP policy.\u00a0If a licensing violation is detected after the software is released to the market, then costly post-release corrections are necessary. The model presented here allows for a range of non-compliance visibility in the market. Here we will assume that about 15 per cent of the violations are some how detected and reported in the field.\u00a0 In other words, 85 per cent of IP policy violations remain unnoticed in the field and cause no problems (until they may be discovered, of course).\n\nMethods Deployed For Software Licensing ComplianceTraditionally, assessing IP-cleanliness has been done manually, by relying on developer records, expert analysis of the final software, and due diligence processes. The licensing and copyright assessment is mostly undertaken in advance of important financial transactions \u2013 an investment, a merger\/acquisition, or an impending product release. Manual assessments are prone to error, consume expert resources, take a long time and are becoming quite expensive nowadays as the use of open source and outsourcing grows.\nMitigating business risks associated with software legal compliance is best addressed by adopting a process, including legal considerations, within an organisation\u2019s software quality development process. The following options are available to organisations, and address compliance measures at different points in the development process. \n\n\u201dHead-in-the-Sand\u201d Do Nothing:Popular up until recently, this option ignores the compliance issue because it carries the lowest up-front cost, but bears the highest business risks and largest corrective costs post market introduction.\nDeveloper Training and Project Planning:Some companies consider that proper training and project planning is sufficient in normal situations, accepting to undertake an audit during imposed due-diligence efforts. Naturally, the more the developers are trained on matters of software legal compliance issues, the more effective the development process can be. This is, however, a rather expensive proposition, given the growth in number of distinct software licenses, the cost of developer training, and the constant churn within the development environment. With this option, compliance depends solely on developers and there is still no assurance of legal compliance before going to market.\nPost Development Licensing Analysis and Correction:Taking action later in the project lifecycle can take the form of external or internal auditing, and impacts the final stages of testing and the quality assurance process. This option can become expensive due to any necessary changes to the software after licensing analysis, subsequent re-testing and re-assessment. However, this option does not impact development workflow, and can be rendered more cost effective with software tools designed for this purpose. It can nevertheless prolong the project lifecycle near the end, resulting in unpredictable delays to the delivery of the final product.\n\nPeriodic Analysis and Correction:Periodic licensing analysis and assessment of software during development leads to corrections along the way if IP policy violations are detected. The analysis can be done with automatic tools, and is less expensive than assessment the conclusion of development process, thanks to shorter delays in getting the fixes done and re-tested.\n\n\nReal-time Preventive Assistance at the Developer Workstation:The most pro-active measure for software licensing compliance is to detect license violations immediately at the developer workstation in real-time.\u00a0 The development process is not disturbed, and the cost of corrections is minimized as any necessary corrections are done on the spot without involvement of other resources and without need for re-testing.\u00a0 This process can be automated via software tools in ways that are unobtrusive, easy to adopt and, most importantly, do not require developer training in matters of legal compliance.\u00a0 Managing licensing or copyright in real-time is the most cost efficient and lowest risk option in the long term.\n\n\nSome of these options, such as real-time and periodic or build-stage assessment, can be used in combination for better results. Generally the sooner problems are detected and fixed, the lower the cost of the licensing management would be. The efforts to fix the software IP issues and the associated delays in product readiness will drive the economics of software licensing management.\nEffectiveness of Automated Software Scanning and Licensing Management Tools\nFortunately, there are tools available to automatically scan software (source code or binaries) and conduct a software pedigree analyses, detecting all licensing and copyright policy violations.\u00a0 These tools can operate on demand, on schedule or even in real-time within the development process.\nSome of the automated software scanning solutions allow the software analyses to be done in accordance with corporate IP policies and lend themselves well to instituting proper record keeping and safe software development practices.\nMost software IP scanning and licensing analysis tools have a performance-correctness factor between 80 per cent and 98 per cent, where performance is negatively affected by leaving-out IP policy violations or reporting false positives (i.e. false assertions of violations). This performance depends on the accuracy of the analysis engine and the size of the external software (including open source) database used for reference. For illustration, our model will assume a degree of performance for the corrective analysis tool of 95 per cent.An automated, preventive, licensing management tool has a higher degree of performance, as it scans and detects every new software component which is saved\/filed at the developer workstation. Its ability to detect external content is close to 100 per cent, but for a conservative analysis we shall assume a 98 per cent performance correctness.\nCosts to Detect and Fix IP Policy Violations\nThe worst case is to have license or copyright violations discovered in the field, or during an audit prior to a major financial event. In such cases the costs are much higher due to involvement of legal personnel and the corrections necessary after development completion. Not taking into account having to face a judge, the costs can be anywhere between $5,000 and beyond $50,000. Any involvement in a judicial process will raise such costs exponentially. For our conservative model illustration, we shall assume a \u201clicensing correction\u201d cost of $20,000 after product development is launched.\nThere are extensive studies on the cost of fixing software defects during development at the Quality Assurance (QA) stage or in the field. Regarding licensing and copyright violations, there is insufficient statistical data to define precisely the cost of addressing IP policy violations. In this case the situation changes with the nature of the violation and the remedies applied.\nA policy violation, detected at the QA testing stage, usually involves the testing personnel, the development managers and the actual developers in order to decide what to be done and implement the necessary correction (for example, replace the offending code). This may take more than one person\u2019s day of work and usually ranges between $500 and $3,000. For this example, we will assume $1,500 cost of fixing a problem at the QA stage.\nThe cost of fixing the problem right at the developer workstation, in real-time as developer brings an offending code segment into his project, is substantially lower. This may take only minutes of the developer\u2019s time and does not involve any other expensive resources. Therefore, the cost, based on the time taken, for fixing issues right at the developer workstation could be between $25 and $60. For illustration in our RoI model, we assume a cost of $40. \u00a0\u00a0In some cases the developer, once notified of IP policy violation at his workstation, can provide an explanation such as \u201cthis code is brought in for testing and will be replaced\u201d. The explanation is captured by the tool and kept for the records.\nProject and Organisation Size impact on RoI\nWe have applied the RoI cost model to four different software projects and covering a wide range of organisations in the industry:\n-\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Large projects with over 100,000 software components (files) and more than 100 developers.\n-\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Mid-size projects with over 30,000 software components and more than 40 developers in the team.\n-\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Small projects with less than 10,000 software components and less than 20 developers in the team.\n-\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Projects with less than 3,000 software components and fewer than seven developers.\nFor simplicity, we shall assume three distinct approaches:\nNo software IP management action prior to market.\nLicensing compliance assessment and correction at QA stage.\nPreventive automatic IP management with final licensing compliance assurance at the build stage.\n\nResults\nIn summary,\nThe larger the project (number of files involved) the higher the amount of external components (open source or otherwise) and the more number of infractions, and there is a higher probability of being \u201ccaught\u201d in the field, with the associated cost of \u201cfixing\u201d it.\nCorrective licensing assessment and management can catch the licensing infractions at QA stage, with a resulting cost\/correction.\n\nPreventive licensing assessment and correction, at the developer\u2019s workstation, catches nearly all infractions and cost of fixing each violation in real-time will be lower.\n\nPlugging the numbers into our RoI model reveals the following conclusions on the cost and savings associated with the three IP management approaches described above.\nIn our cost model we can vary the assumptions and figures without affecting the generality of results.\u00a0 Ignoring licensing compliance can be costly, and it is difficult to put an upper bound on the cost of shipping tainted software.\u00a0 Corrective analysis, using automated tools in regular intervals and at QA time reduces the cost exposure significantly.\nCombining real-time IP management right at the developer\u2019s desk with scanning at QA or build time reduces cost of potential non-compliance significantly.\nSoftware is ubiquitous these days, in devices and equipment, in desktop applications, and in servers.\u00a0\u00a0 Software results from internal developments, are comes from suppliers of sub-systems and chips, outsourced development contractors, open source repositoriesor simply from the previous work of the developers themselves. Software, unlike hardware, is easily replicable, accessed, copied and re-used. Any product that contains software can be potentially infringing on the Intellectual Property (IP) rights of someone or some organisation that originally developed all or part of that software.\u00a0 Automated applications for scanning software to determine its composition, the pedigree of its components, and the status of compliance to licensing and copyright obligations are key elements of an effective software IP management.\nConsciously implementing measures for legal compliance in a software development quality process and incorporating aspects of effective software IP management into the organisation are crucial for any entity concerned with software development and delivery.\u00a0 Proper licensing and copyright compliance, implemented as part of the normal QA process, can bring savings of up to 40 per cent - 65 per cent, compared to the potential costs of non-compliance. Even better, combining proper QA testing with preventive tools for software IP management right at the developer\u2019s workstation can raise the level of savings to over 85 per cent.\nAbout the author:\nMahshad Koohgoli is the CEO of Protecode, based in Ottawa, Ontario, Canada. He has more than 25 years of experience in the telecommunications industry and specializes in technology start-up businesses. Mahshad has a BSc and a PhD from the University of Sussex.