Hello FOSSologists, HP has been using a proprietary license scanner for many years. It's called Nomos and is based on heuristics gained while vetting the open source that we distribute. We are going to add this license analysis agent to FOSSology as an alternative to the current bSAM license agent. So those looking at the source tree will notice this new addition in the agents directory. Nomos is a complicated program due to many performance optimizations and because it does more than license analysis (for example, it analyzes distros to check for source/ binary package matching, it prints copyright information if there is no significant license information, it implements a "buckets" to categorize and report data, it finds "hot words" like "infringe", "litigate", "patent", etc. Our plan is to integrate these into fossology, starting with the license scanner. The plan is roughly:
Step 1: Unoptimized license analyzer, stand alone 3 weeks (Chan) Input: 1 file (not archive) Output: String of license names Test: Eddy - manual Code refactor (including removing unneeded code) Internal Program docs including Usage() inline comments for clarity *Categorize gozintas for Rules: * INFILE * lmem * INTERESTING * HOT words * 6 line sliding windows * ... add debuging code Plug into eddy tests (Mark: if django see adam) Step 2: Nomos agent Database integration DB table for STRINGS.in (possibly) Global Init of data structures per file initialization map nomos license name to db license record add debugging code preprocess file list external docs UI (scheduling, reports), validate reports needed with osrb reconcile makefiles regression tests Step 3: Optimization add debuging code Map original text to matched text for color artifact(copyright, license, url, hot word, ...) highlighting Step 4: Build/Install integration Bob Gobeille _______________________________________________ fossology mailing list [email protected] http://fossology.org/mailman/listinfo/fossology

