Players
We found only a couple of players in the open source scanning space, BlackDuck, Palamida and OpenLogic. There are a couple of other supporting groups like Veracode (they are mostly for security), Protecode (the engine used by OpenLogic), and FOSSology (a community that develops a package to analyze code for open source software), but our evaluation stuck pretty much to BlackDuck, Palamida and Open Logic.
Overall, BlackDuck is the front runner in the field. Gartner, Forrester and the like all recognize BlackDuck as having the largest structure, customer base and offerings of the three. Palamida labels themselves as "application security for open source software", but their sales person dismisses the security talk and concentrate their message about their scanning capabilities. OpenLogic is pretty small, but they have a decent scanning tool and a hosted offering to upload a fingerprint to analyze and then review the results.
Requirements
The requirements we looked at were:
- Ability to review source code and binaries
- Understand license obligations
- Provide software inventory (bill of materials)
- Comprehensive library
- Multi-user/Multi-role system
- Common IDE interface
- Report generation
- Installation ease
- Ease of use
- File comparison feature
- Performance
- Automation
- Cryptography
Stakeholders
- The following groups participated in the requirement gathering process and product evaluations:
- Legal
- Open Source Policy Subcommittee
- Open Source Risk Assessment Subcommittee
- IT Risk Management/GA Audit
- Business Unit R&D Leadership
We did a POC with BlackDuck, Palamida and OpenLogic. We used the same code package and gave each vendor a week to do the scan, reconcile the findings and do a presentation of their findings. Both BlackDuck and Palamida came onsite to do their scans, while OpenLogic did theirs remotely. Palamida brought their own box while BlackDuck had us install their software on a virtual machine in our development center.
All the scans came back with pretty much the same results and luckily our code didn't have any major violations. We compared the found list and there were small variations in the number of exact hits, but between the exact matches and partials, each tool did a similar job of finding the open source components in our code.
All three vendors warned us about the large effort to analyze the scan after it was done and based on their results and presentation, they do have a point. All three had delta scan ability, so the initial scan would have the majority of the work, but once a baseline was set, then later scans would be easier.
This may have been just our thinking, but it appeared to us BlackDuck and Palamida were trying to bundle their scanning software with their analysis service and when we tried to divorce the software from the service, the price of the software rose. Also, the environment overhead for BlackDuck and Palamida was not overly large, but because OpenLogic was a hosted solution, the two were large in comparison.
Each of the tools had a customizable workflow engine, with BlackDuck and Palamida having a fairly robust offering compared to OpenLogic (Palamida's later release had the better workflow engine). The policies and policy rules were the most important to us and all of them had that ability.
Decision
At the end of the day, we decided to go with OpenLogic. During the evaluation, we found pretty quickly that what we wanted was just a scanning tool to tell us what open source components were included. We were not at the point to deal with a robust workflow engine with submission and approval workflows. Nor, did we need a comprehensive library to store all our code as well as open source code our groups were using. Also, we already have architects, configuration managers and enough engineering staff to be able to compare code snippets, so we didn't really need the analysis. When OpenLogic came in with a reasonable price and an option for just the things were looking for, we decided they were the one to fit our needs.
I think BlackDuck and Palamida have a place in this space, but I'm not sure we as an organization were ready for what their strengths are. We may be later, but for right now, we brought OpenLogic online and have done a scan and are happy with what we are seeing. We will work with our Open Source Task Force to come up with a roll-out process and I'll update this blog when we progress down this path with any challenges and findings we have.