Skip to content

Roadmap

Philippe Ombredanne edited this page Oct 19, 2016 · 25 revisions

Legend

βœ… completed πŸ•₯ In progress ⬜ Planned, not started

Next release

license detection

  • βœ… approximate license detection
  • βœ… unknown license detection

additional clue detection

  • βœ… URLs, emails, authors

UI

Other


Other work in progress

UI

packaged code metadata details scans

  • πŸ•₯ Java Maven POM : parsing complete
  • πŸ•₯ RPMs : parsing complete
  • πŸ•₯ Docker images : parsing complete
  • πŸ•₯ npm : parsing complete
  • πŸ•₯ RubyGems : parsing complete
  • πŸ•₯ Windows Nuget, PE : parsing complete

additional file information

  • ⬜ File classification

speed!

  • βœ… accelerate license detection indexing and scanning; include caching
  • πŸ•₯ scan using multiple processes to speed up overall scan

Beyond

packaged code metadata details scans

  • πŸ•₯ Python
  • πŸ•₯ CRAN
  • πŸ•₯ Debian
  • ⬜ Plain packages

license detection

  • πŸ•₯ sync with external sources (DejaCode, SPDX, etc.)
  • ⬜ web ui for easier license rules contribution

copyrights

  • ⬜ improved detected lines range
  • ⬜ streamline grammar
  • ⬜ normalized holders and authors for summarization

documentation

  • ⬜ integration in a build/CI loop
  • ⬜ end to end guide to analyze a codebase
  • ⬜ hacking guides

CI integration

  • ⬜ Plugins for CI (Jenkins, etc)
  • ⬜ Integration for CI (Travis, Appveyor, Drone, etc)
  • πŸ•₯ Integration / webhooks for Github, Bitbucket

Package mining and matching

  • πŸ•₯ exact matching
  • πŸ•₯ attribute-based matching
  • πŸ•₯ fuzzy matching
  • ⬜ peer-reviewed meta packages repo
  • ⬜ basic mining of package repositories
  • ⬜ NVD and CVE lookups

Misc

  • ⬜ Crypto code detection

Data exchange

  • πŸ•₯ native support for ABC Data
  • ⬜ SPDX data conversion #338

core features

  • ⬜ transparent archive extraction (as opposed to on-demand with extractcode)
  • ⬜ support scan pipelines to organize more complex scans
  • πŸ•₯ .scancode configuration file for exclusions, defaults, scan failure conditions, etc.
  • πŸ•₯ scan baselining, delta scan and failure conditions (such as license change, etc)
  • πŸ•₯ dedupe and similarities to avoid re-scanning
  • ⬜ logging

packaging

  • ⬜ simpler installation, automated installer

packaged code and dependencies support

  • πŸ•₯ Java Maven POM.XML files, Ivy, Graddle, etc.
  • πŸ•₯ RPMs
  • πŸ•₯ debs
  • πŸ•₯ Windows Nuget, PE
  • πŸ•₯ Gems
  • ⬜ Perl, CPAN
  • πŸ•₯ npm and other JavaScript (jspm, bower, etc.)
  • πŸ•₯ Python
  • πŸ•₯ Go : parsing complete for Godep
  • πŸ•₯ Docker images
  • ⬜ PHP
  • ⬜ AttributeCode and ABC Data
  • ⬜ other Linux distro packages

source code support

  • πŸ•₯ symbols : parsing complete
  • πŸ•₯ metrics
  • ⬜ classification

compiled code support

  • πŸ•₯ ELFs : parsing complete
  • πŸ•₯ Java byte code : parsing complete
  • πŸ•₯ Windows PE : parsing complete
  • πŸ•₯ Mach-O : parsing complete
  • ⬜ Dalvik/dex

Completed features

  • βœ… exact license detection
  • βœ… copyright detection
  • βœ… archive extraction with extractcode
  • βœ… simple command line with outputs in:
  • βœ… JSON
  • βœ… plain HTML tables, also usable in a spreadsheet
  • βœ… fancy HTML 'app' with a file tree navigation, and scan results filtering, search and sorting
  • βœ… provide basic file information in results (size, type, etc.)
  • βœ… common model for packages data
  • βœ… basic support for common packages format
  • βœ… scan summaries
  • βœ… improved scans GUI now as its own project: https://github.com/nexB/aboutcode-manager
Clone this wiki locally