Skip to content

Commit c100d81

Browse files
authored
Merge pull request #2736 from nexB/roadmap
Add first draft ROADMAP
2 parents d515036 + 1255411 commit c100d81

1 file changed

Lines changed: 109 additions & 0 deletions

File tree

ROADMAP.rst

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
ScanCode IO/TK Roadmap
2+
========================
3+
4+
Top Issues
5+
---------------
6+
7+
1. Primary license detection, top issue.
8+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9+
10+
There is too much cruft in detected licenses, and we know too much without being
11+
to distinguish the forrest from the trees. Therefore reporting the primary
12+
license detection is important: when we get SC results, we can often
13+
get 30 license on a single a package and that's a problem.
14+
It would make the logic of selection the primary license visible
15+
16+
Is this for SCIO or SCTK? Likely a bit a both.
17+
18+
19+
2. Package files.
20+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21+
22+
Reporting the set of package files for each package instance is important as
23+
it allows to naturally group these together in one unit.
24+
25+
26+
3. Go to two-level reporting of detections to provide more effective detections
27+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28+
29+
*Packages*:
30+
31+
- manifest, file-level: package.json
32+
- package: object of its own, and related set of files, not always in the same
33+
directory
34+
35+
*License*:
36+
37+
- many detections in a file at different location, could be merged in a single reported license
38+
- same for primary licenses
39+
40+
*Copyright*:
41+
42+
- Copyrights and authors detection, which are tracked at the line level
43+
- Holder would be for many copyright detections
44+
45+
46+
4. Primary copyright holder
47+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
48+
49+
This is the same issue as for primary license, but for holders
50+
51+
52+
53+
Roadmap
54+
-------------------------
55+
56+
1. Support primary license for packages
57+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58+
59+
- SCTK: add primary license field in package output and populate this based on
60+
package-type/ecosystem conventions.
61+
- SCIO: add primary license field in DiscoveredPackage models and feed it with
62+
the data from packages
63+
- SCIO: Do we track secondary? or is this just aggregated data on the fly.
64+
- SCIO: Refine primary license based on license in "key files"
65+
66+
67+
2. Primary copyright detection for packages
68+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69+
70+
- this is likely closely tied to the primary license detection and should focus
71+
on package manifests and key files. And on package first
72+
73+
74+
75+
3. Package files
76+
~~~~~~~~~~~~~~~~~~~~~~~~~
77+
78+
- SCTK: See https://github.com/nexB/scancode-toolkit/projects/10
79+
- work on the model
80+
- work on updating the package code focus in npm, pypi, maven, go.
81+
- SCIO: adopt the two levels manifests/package instances
82+
83+
84+
85+
4. Go to two-level reporting of detections for licenses
86+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87+
88+
- add top level reference licenses section in the JSON output
89+
- report detections at the file level, one per matched rule
90+
- multiple detections for one or more license expressions in a file, eventually
91+
grouping multiple detection in a single expression in a file
92+
93+
94+
5. Go to two-level reporting of detections for holders
95+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96+
97+
- Reported detections of Copyrights and authors detection, tracked at the line level in a file
98+
- Holder would be for many copyright detections
99+
100+
101+
102+
6. License detection quality improvements
103+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104+
105+
- Finish and merge unknown license detection (this depends on having 4. Go to two-level reporting of detections for licenses done)
106+
- Update scancode-analyze to the new two-level reporting of license detections
107+
- Revamp how common list of suprrious licenses are detected (this is a bug)
108+
- Use important key phrases for license detection https://github.com/nexB/scancode-toolkit/issues/2637
109+

0 commit comments

Comments
 (0)