SCANOSS Code Compare
SCANOSS Code Compare is a streamlined desktop application for managing open source findings with a clean, distraction-free interface. It features vim-style navigation (j/k), side-by-side code comparison for both snippet and 100% matches, and robust decision management that persists across scans. Users can quickly filter results, mark components as included/omitted/replaced with single keystrokes, and access their previous decisions in future scans.
Features
- 🔍 Advanced code scanning and component identification
- 📊 Detailed dependency analysis and visualization
- 📝 License compliance checking and management
- 🔄 Real-time scanning results
- ⚡ Fast and efficient local processing
- 🎯 Accurate component matching
- 🖥️ Cross-platform support
Prerequisites
- Go 1.x or higher
- Node.js and npm
- Wails CLI (
go install github.com/wailsapp/wails/v2/cmd/wails@latest)
Installation
Quick Install (Recommended)
Install SCANOSS Code Compare with a single command:
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/scanoss/scanoss.cc/main/scripts/install.sh | bash
Windows (PowerShell as Administrator):
irm https://raw.githubusercontent.com/scanoss/scanoss.cc/main/scripts/install-windows.ps1 | iex
Security-Conscious Installation
Download and inspect the script before running:
curl -fsSL https://raw.githubusercontent.com/scanoss/scanoss.cc/main/scripts/install.sh -o install.sh
cat install.sh # Review the script
bash install.sh
Alternative Installation Methods
macOS
Homebrew
brew install scanoss/dist/scanoss-code-compare
Direct Download
- Download
scanoss-cc-mac.zip from the releases page
- Extract and open the DMG
- Drag the app to Applications
See INSTALLATION.md for detailed instructions.
Windows
- Download
scanoss-cc-win.zip from the releases page
- Extract the ZIP file
- Run
scanoss-cc.exe
See INSTALLATION.md for PATH setup and installation to Program Files.
Linux
Choose the appropriate binary for your system from the releases page:
Extract and run:
# For Ubuntu 22.04 and older
unzip scanoss-cc-linux-amd64.zip
sudo mv scanoss-cc-linux-amd64 /usr/local/bin/scanoss-cc
# For Ubuntu 24.04+ (webkit 4.1)
unzip scanoss-cc-linux-amd64-webkit41.zip
sudo mv scanoss-cc-linux-amd64-webkit41 /usr/local/bin/scanoss-cc
See INSTALLATION.md for detailed instructions.
Verify Installation
After installation, verify that the CLI is available:
scanoss-cc --version
Uninstalling
For complete uninstall instructions for all platforms, see INSTALLATION.md.
Usage
CLI Parameters
| Parameter |
Description |
Default Value |
| scan-root |
Scanned folder |
$WORKDIR |
| input |
Path to results.json file of the scanned project |
$WORKDIR/.scanoss/results.json |
| config |
Path to configuration file |
$HOME/.scanoss/scanoss-cc-settings.json |
| apiUrl |
SCANOSS API URL |
https://api.osskb.org |
| key |
SCANOSS API Key token (not required for default OSSKB URL) |
- |
| debug |
Enable debug mode |
false |
Example Commands
# Open the GUI application
scanoss-cc
# Open the GUI application with custom parameters (you can also change these from the GUI)
scanoss-cc --scan-root /path/to/scanned/project --input /path/to/results.json
# Basic scan with default settings
scanoss-cc scan /path/to/project
# Scan with custom results path
scanoss-cc scan --input /path/to/results.json
# Scan current directory with multiple parameters
scanoss-cc scan . --key $SCANOSS_API_KEY --apiurl $SCANOSS_API_URL --debug
Development
Dependencies
Before setting up the development environment, ensure you have the following dependencies installed:
Prerequisites:
System Dependencies (Debian/Ubuntu):
For Ubuntu 22.04 and older:
sudo apt-get update
sudo apt-get install -y build-essential pkg-config libgtk-3-dev libwebkit2gtk-4.0-dev
For Ubuntu 24.04+ / Debian 13+:
sudo apt-get update
sudo apt-get install -y build-essential pkg-config libgtk-3-dev libwebkit2gtk-4.1-dev
Install Wails CLI:
go install github.com/wailsapp/wails/v2/cmd/wails@latest
Setting Up the Development Environment
- Clone the repository:
git clone https://github.com/scanoss/scanoss.cc.git
cd scanoss.cc
- Run in development mode:
make run
Pre-commit Setup
This project uses pre-commit hooks to ensure code quality and consistency. To set up pre-commit, run:
pip3 install pre-commit
pre-commit install
This will install the pre-commit tool and set up the git hooks defined in the .pre-commit-config.yaml file to run automatically on each commit.
Development with Custom Parameters
# Using make command
make run APPARGS="--scan-root <scanRootPath> --input <resultPath>"
# Using wails command
wails dev -appargs "--input <resultPath>"
Building
# Build for the current platform
make build
Building for Different Linux Versions
SCANOSS Code Compare provides two Linux build variants to support different WebKit versions:
- Use
make build for Ubuntu 22.04 and older (WebKit 4.0)
- Use
make build_webkit41 for Ubuntu 24.04+/Debian 13+ (WebKit 4.1)
Contributing
We welcome contributions! Please read our Contributing Guidelines and Code of Conduct before submitting pull requests.
Reporting Bugs
When submitting bug reports, please include:
- SCANOSS Code Compare version
- Your system information (OS, Go version, etc.)
- Steps to reproduce the issue
- Expected vs actual behavior
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For support, please:
- Check our documentation
- Open an issue in this repository