Skip to content

Commit 485773c

Browse files
committed
initial push for gsoc report
Signed-off-by: NucleonGodX <[email protected]>
1 parent 023167e commit 485773c

File tree

2 files changed

+244
-0
lines changed

2 files changed

+244
-0
lines changed

docs/source/archive/gsoc-toc.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ designed to encourage university student participation in open source
88
software development. It was started by Google in 2005. More about GSoC -
99
`<https://summerofcode.withgoogle.com/about/>`_
1010

11+
GSoC 2025
12+
---------
13+
14+
.. toctree::
15+
:maxdepth: 2
16+
17+
gsoc/reports/2025/scancodeio_manit
18+
1119
GSoC 2024
1220
---------
1321

Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
=====================================================
2+
Enhance Compliance Mechanisms and CI Provider Support
3+
=====================================================
4+
5+
6+
**Organization:** `AboutCode <https://aboutcode.org>`_
7+
8+
9+
**Projects:** `Scancode.io <https://github.com/aboutcode-org/scancode.io>`_ and `Scancode-action <https://github.com/aboutcode-org/scancode-action>`_
10+
11+
12+
**Mentee:** `Manit Singh (NucleonGodX) <https://github.com/NucleonGodX>`_
13+
14+
15+
**Mentors:**
16+
17+
18+
- `Thomas Druez <https://github.com/tdruez>`_
19+
- `Dennis Clark <https://github.com/DennisClark>`_
20+
- `Pranay Das <https://github.com/404-geek>`_
21+
- `Avishrant Sharma <https://github.com/avishrantsSh/>`_
22+
23+
24+
Overview
25+
--------
26+
ScanCode.io previously supported compliance mechanisms only based on license policies,
27+
which limited the comprehensive assessment of software projects for organizations
28+
with diverse compliance requirements.
29+
30+
31+
This project enhanced ScanCode.io to support additional compliance mechanisms beyond
32+
license policies, including license clarity scores, vulnerability levels, and scorecard scores.
33+
Additionally, the project expanded scancode-action support to multiple CI providers beyond
34+
GitHub Actions, including Azure Pipelines and Jenkins CI.
35+
36+
37+
--------------------------------------------------------------------------------
38+
39+
40+
Implementation
41+
--------------
42+
- **Independent Compliance Mechanisms:**
43+
44+
- Developed an independent mechanism for compliance based on scorecard scores and license clarity scores.
45+
- Integrated these mechanisms into the database's project extra_data field, API endpoints,
46+
check compliance command, and UI project view.
47+
- Created a unified threshold mechanism for both license clarity and scorecard compliance,
48+
reducing code duplication and improving maintainability.
49+
50+
51+
- **Unified Script Structure:**
52+
53+
- Implemented a unified Python script structure that generates bash code for use across
54+
different CI providers including GitHub Actions, Azure Pipelines, and Jenkins CI.
55+
- This approach significantly reduces redundancy in CI provider implementations and
56+
ensures consistent behavior across platforms.
57+
58+
59+
- **CI Provider Expansion:**
60+
61+
- Added comprehensive support for Azure Pipelines with proper configuration templates
62+
and integration workflows.
63+
- Added PR for using scancode-action with Jenkins.
64+
- Ensured all CI providers utilize the same core scanning functionality through
65+
the unified script approach.
66+
67+
68+
- **Policy Validation Improvements:**
69+
70+
- Fixed policy validation logic to properly handle different compliance mechanisms
71+
without requiring license_policies for all policy files.
72+
- Enhanced error handling and validation messages for better user experience.
73+
74+
75+
Linked Pull Requests
76+
--------------------
77+
78+
79+
.. list-table::
80+
:widths: 10 60 30 10
81+
:header-rows: 1
82+
83+
84+
* - Sr. no
85+
- Name
86+
- Link
87+
- Status
88+
* - 1
89+
- Introduce Independent License Clarity Thresholds Mechanism
90+
- `scancode.io#1689
91+
<https://github.com/aboutcode-org/scancode.io/pull/1689>`_
92+
- Merged
93+
* - 2
94+
- Integration of Clarity compliance mechanism
95+
- `scancode.io#1705
96+
<https://github.com/aboutcode-org/scancode.io/pull/1705>`_
97+
- Merged
98+
* - 3
99+
- Refactor a common threshold mechanism for both license clarity and scorecard score
100+
- `scancode.io#1799
101+
<https://github.com/aboutcode-org/scancode.io/pull/1799>`_
102+
- Merged
103+
* - 4
104+
- Add compliance support based on OpenSSF Scorecard score
105+
- `scancode.io#1800
106+
<https://github.com/aboutcode-org/scancode.io/pull/1800>`_
107+
- Merged
108+
* - 5
109+
- Fix policies validation
110+
- `scancode.io#1814
111+
<https://github.com/aboutcode-org/scancode.io/pull/1814>`_
112+
- Merged
113+
* - 6
114+
- Add Azure pipelines support
115+
- `scancode-action#19
116+
<https://github.com/aboutcode-org/scancode-action/pull/19>`_
117+
- Open
118+
* - 7
119+
- Add support for jenkins-ci
120+
- `scancode-action#21
121+
<https://github.com/aboutcode-org/scancode-action/pull/21>`_
122+
- Open
123+
* - 8
124+
- Add support for python script for ci providers
125+
- `scancode-action#23
126+
<https://github.com/aboutcode-org/scancode-action/pull/23>`_
127+
- Open
128+
129+
130+
Related Issues
131+
--------------
132+
133+
134+
.. list-table::
135+
:widths: 10 60 30
136+
:header-rows: 1
137+
138+
139+
* - Sr. no
140+
- Name
141+
- Link
142+
* - 1
143+
- Add license clarity score-based Compliance support
144+
- `#1678
145+
<https://github.com/aboutcode-org/scancode.io/issues/1678>`_
146+
* - 2
147+
- Add Vulnerability Severity-Based Compliance Support
148+
- `#1679
149+
<https://github.com/aboutcode-org/scancode.io/issues/1679>`_
150+
* - 3
151+
- Add support for Azure pipelines
152+
- `#18
153+
<https://github.com/aboutcode-org/scancode-action/issues/18>`_
154+
* - 4
155+
- Add support for Jenkins
156+
- `#20
157+
<https://github.com/aboutcode-org/scancode-action/issues/20>`_
158+
* - 5
159+
- Add scorecard based compliance support
160+
- `#1794
161+
<https://github.com/aboutcode-org/scancode.io/issues/1794>`_
162+
* - 6
163+
- Add a mechanism to eliminate redundant Bash code across CI providers
164+
- `#22
165+
<https://github.com/aboutcode-org/scancode-action/issues/22>`_
166+
* - 7
167+
- Refactor License Clarity and Scorecard Compliance Thresholds into Unified Module
168+
- `#1797
169+
<https://github.com/aboutcode-org/scancode.io/issues/1797>`_
170+
* - 8
171+
- Policies validation incorrectly requires license_policies for all policy files
172+
- `#1813
173+
<https://github.com/aboutcode-org/scancode.io/issues/1813>`_
174+
175+
176+
Pre GSoC Work
177+
-------------
178+
179+
180+
Here are some of the PRs I submitted before GSoC:
181+
182+
183+
- `Enhanced package detection and improved license detection accuracy
184+
<https://github.com/aboutcode-org/scancode-toolkit/pull/4031>`_
185+
- `Fixed vulnerability data processing issues
186+
<https://github.com/aboutcode-org/vulnerablecode/pull/1744>`_
187+
- `Improved license classification and detection mechanisms
188+
<https://github.com/aboutcode-org/scancode-toolkit/pull/4138>`_
189+
- `Enhanced vulnerability database integration
190+
<https://github.com/aboutcode-org/vulnerablecode/pull/1758>`_
191+
192+
193+
Post GSoC
194+
---------
195+
196+
197+
I plan to continue contributing by:
198+
199+
200+
- Completing the Pull requests of integrating other CI providers in scancode-action
201+
202+
Links
203+
-----
204+
205+
206+
* `Project Idea
207+
<https://github.com/aboutcode-org/vulnerablecode/pull/1758>`_
208+
209+
210+
* `Official GSoC project page
211+
<https://summerofcode.withgoogle.com/programs/2025/projects/DsDoR5eF>`_
212+
213+
214+
* `GSoC Proposal
215+
<https://docs.google.com/document/d/1cmDTq3aq2J9iFNOo37V6C7ahy_ofbGRRtvtwDvW_Rrc/edit?tab=t.0>`_
216+
217+
218+
* `Project Board <https://github.com/orgs/aboutcode-org/projects/27>`_
219+
220+
221+
Acknowledgements
222+
----------------
223+
224+
225+
I would like to thank my mentors:
226+
227+
228+
- `Thomas Druez <https://github.com/tdruez>`_
229+
- `Dennis Clark <https://github.com/DennisClark>`_
230+
- `Pranay Das <https://github.com/404-geek>`_
231+
- `Avishrant Sharma <https://github.com/avishrantsSh/>`_
232+
233+
234+
Their guidance was instrumental throughout the project development. The regular feedback sessions
235+
helped me navigate complex architectural decisions, especially when designing the unified compliance
236+
mechanism.

0 commit comments

Comments
 (0)