Skip to content

Commit 214b8e8

Browse files
Add newcomer section
Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com>
1 parent 8fa59f0 commit 214b8e8

1 file changed

Lines changed: 244 additions & 15 deletions

File tree

Lines changed: 244 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,311 @@
11
Are you new to Scancode-Toolkit?
22
================================
33

4-
This is the perfect place to start from if you are new to ScanCode-Toolkit.
4+
This is the perfect place to start, if you are new to ScanCode-Toolkit. Have a quick look at the
5+
table of contents below, as these are the main sections you might need help on. These sections
6+
have extensive links to other important documentation pages, and make sure you go through them
7+
all.
58

69
Table of Contents
710
-----------------
811

9-
#. :ref:`newcomer_start_using_scancode`
12+
#. :ref:`newcomer_try_scancode`
1013

14+
- :ref:`newcomer_before`
1115
- :ref:`newcomer_scan_codebase`
1216
- :ref:`newcomer_use_scancode_better`
1317
- :ref:`newcomer_all_tutorials`
18+
- :ref:`newcomer_whats_new`
19+
20+
#. :ref:`newcomer_learn_scancode`
21+
22+
- :ref:`newcomer_cli_ref`
23+
- :ref:`newcomer_explanations`
24+
- :ref:`newcomer_plugins`
1425

1526
#. :ref:`newcomer_contribute`
1627

28+
- :ref:`newcomer_contribute_general_info`
1729
- :ref:`newcomer_code`
1830
- :ref:`newcomer_good_first_issue`
1931
- :ref:`newcomer_add_functionalirty`
20-
- :ref:`newcomer_more_support`
21-
- :ref:`newcomer_gsoc_gsod`
2232
- :ref:`newcomer_update_docs`
33+
- :ref:`newcomer_gsoc_gsod`
34+
35+
----
36+
37+
.. _newcomer_try_scancode:
38+
39+
Try ScanCode Toolkit
40+
--------------------
41+
42+
This section is about using the Scancode-Toolkit, i.e. Performing a scan on a codebase/files to
43+
determine their license, copyrights and other information, according to your requirements.
44+
45+
#. The :ref:` newcomer_scan_codebase` section helps you with configuring your virtual environment,
46+
installing Scancode and performing a basic scan, and subsequently visualize the results.
47+
48+
#. The :ref:`newcomer_use_scancode_better` section helps you customize the scan according to your
49+
requirements, and better understand the advanced features you can use.
2350

24-
.. _newcomer_start_using_scancode:
51+
#. The :ref:`newcomer_all_tutorials` is essentially an exhaustive list of all Tutorials and How To's
52+
with a brief description on what they help you to achieve.
2553

26-
Start Using ScanCode Toolkit
27-
----------------------------
54+
.. _newcomer_before:
55+
56+
Before you start using Scancode
57+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
58+
59+
#. You need to make sure :ref:`install_prerequisites` are installed, and a `virtualenv <https://docs.python-guide.org/dev/virtualenvs/>`_
60+
is created.
61+
62+
#. Now you can either run ``pip install scancode-toolkit`` like that in the
63+
:ref:`pip_install` documentation, or follow the instructions for the
64+
:ref:`latest_release_download_install` method. Alternatively, you can also
65+
:ref:`source_configure_install`.
66+
67+
#. Run ``scancode -h`` to make sure Scancode was installed properly.
68+
If this shows any Error, refer the `Common Installation Errors Issue <https://github.com/nexB/scancode-toolkit/issues/1837>`_
69+
for common errors. The documentation also has tips on :ref:`ide_config`.
70+
71+
.. note::
72+
73+
Refer :ref:`synopsis_quickstart` to make sure you are using the scan command correctly.
2874

2975
.. _newcomer_scan_codebase:
3076

3177
Scan a Codebase
3278
^^^^^^^^^^^^^^^
3379

80+
Once you are all set up with Scancode Toolkit, i.e. Running ``scancode -h`` shows the
81+
:ref:`cli_help_text`, you can start scanning files or a codebase.
82+
83+
#. Refer :ref:`synopsis_quickstart` for commonly used scan commands, and commonly used
84+
:ref:`synopsis_output`. (The recommended output format is ``JSON``)
85+
86+
#. Refer `this section <file:///home/ayansm/Desktop/GSoD/main_repo/aboutcode/docs/build/html/scancode-toolkit/cli-reference/list-options.html#all-extractcode-options>`_ for Extractcode Options.
87+
88+
#. :ref:`how_to_run_a_scan` is a sample tutorial for absolute beginners, to walk them through the
89+
process of running a scan. Follow this tutorial and perform a scan on the ``sample`` folder
90+
distributed with ScanCode, or any file/folder of your choice. Avoid advanced options, and just
91+
follow the basic instructions.
92+
93+
#. ScanCode generates output files with scan results. You can visualize ``JSON`` result files using
94+
`Scancode Workbench <https://github.com/nexB/scancode-workbench>`_. Follow this tutorial :ref:`how_to_visualize_scan_results`
95+
to visualize the scan results.
96+
3497
.. _newcomer_use_scancode_better:
3598

3699
Use ScanCode Better
37100
^^^^^^^^^^^^^^^^^^^
38101

102+
#. Go through all the options in the page :ref:`cli_list_options`, to know about Scancode Command
103+
Line options. You can then modify the Scan according to your requirements.
104+
39105
.. _newcomer_all_tutorials:
40106

41107
All Tutorials/How-Tos
42108
^^^^^^^^^^^^^^^^^^^^^
43109

110+
The Tutorials are:
111+
112+
#. :ref:`how_to_run_a_scan`
113+
#. :ref:`how_to_visualize_scan_results`
114+
#. :ref:`how_to_set_what_scan_detects`
115+
#. :ref:`how_to_extract_archives`
116+
#. :ref:`how_to_specify_output_format`
117+
#. :ref:`how_to_add_post_scan_plugin`
118+
119+
The How-To's are:
120+
121+
#. :ref:`add_new_license_for_det`
122+
#. :ref:`add_new_license_det_rule`
123+
124+
.. _newcomer_whats_new:
125+
126+
ScanCode Versions
127+
^^^^^^^^^^^^^^^^^
128+
129+
#. You can see all Scancode Toolkit versions on the `GitHub release page <https://github.com/nexB/scancode-toolkit/releases>`_.
130+
#. Refer :ref:`whats_new_this_release` to know more about the latest release.
131+
#. You can also refer the `CHANGELOG <https://github.com/nexB/scancode-toolkit/blob/develop/CHANGELOG.rst>`_ for more information on specific releases.
132+
#. If you want to use/test a specific version of Scancode Toolkit, you can follow the instructions
133+
in :ref:`source_configure_install` docs.
134+
135+
----
136+
137+
.. _newcomer_learn_scancode:
138+
139+
Learn more about ScanCode Toolkit
140+
---------------------------------
141+
142+
Here we give an introduction on the Scancode Toolkit Documentation Sections that can help you to
143+
learn more about Scancode Toolkit.
144+
145+
.. _newcomer_cli_ref:
146+
147+
CLI Reference
148+
^^^^^^^^^^^^^
149+
150+
This section contains a complete guide to ScanCode Toolkit Command Line options, i.e. What the
151+
command-line options are, how different options affect the scan and outputs, how to use these
152+
options and examples of their use cases.
153+
154+
Now this section has three types of pages:
155+
156+
#. The :ref:`cli_synopsis` page and the :ref:`how_to_run_a_scan` page as summaries.
157+
#. An exhaustive list of all Command Line Options at :ref:`cli_list_options`
158+
#. All the other pages detailing the :ref:`scancode_cli_options`
159+
160+
Note that the page for one type of options also has a short list of all the options detailed on
161+
that page in the beginning. The :ref:`cli_list_options` page just has all of them together, and
162+
also the extractcode options.
163+
164+
.. _newcomer_explanations:
165+
166+
How Scancode Works
167+
^^^^^^^^^^^^^^^^^^
168+
169+
This section has documentation on :ref:`explain_how_scancode_works`.
170+
171+
.. _newcomer_plugins:
172+
173+
Plugins
174+
^^^^^^^
175+
176+
Plugins are an integral part of ScanCode Toolkit in the sense they are used to easily extend
177+
Scancode capabilities, and developers can code their own plugins according to their requirements.
178+
179+
This section has documentation on:
180+
181+
#. The :ref:`plugin_arch`
182+
#. The :ref:`license_policy_plugin`
183+
#. All :ref:`plugin_tutorials`
184+
185+
----
44186

45187
.. _newcomer_contribute:
46188

47189
Contribute
48190
----------
49191

192+
If you are looking to Contribute to Scancode Toolkit, this is where you start.
193+
194+
.. _newcomer_contribute_general_info:
195+
196+
General Information
197+
^^^^^^^^^^^^^^^^^^^
198+
199+
#. Also refer the `Contribution <https://github.com/nexB/scancode-toolkit/blob/develop/CONTRIBUTING.rst>`_ page here.
200+
#. For more Project Ideas, refer :ref:`contributor_project_ideas`.
201+
#. Before committing your work, make sure you have read this post on :ref:`good_commit_messages`.
202+
50203
.. _newcomer_code:
51204

52205
Contribute Code
53206
^^^^^^^^^^^^^^^
54207

208+
If you haven't contributed to Scancode Toolkit refer :ref:`newcomer_good_first_issue`.
209+
210+
To determine where to contribute, you can refer:
211+
212+
#. ScanCode Toolkit tracks issues via the `GitHub Issue tracker <https://github.com/nexB/scancode-toolkit/issues>`_
213+
#. Broad `milestones <https://github.com/nexB/scancode-toolkit/milestones>`_ for upcoming versions are also maintained.
214+
215+
And documentation related to contributing code can be referred at :ref:`contrib_code_dev`. The main
216+
sections are:
217+
218+
#. :ref:`contrib_code_conven`
219+
#. :ref:`scancode_toolkit_developement_running_tests`
220+
#. :ref:`contrib_dev_pip_and_configure`
221+
55222
.. _newcomer_good_first_issue:
56223

57224
Good First Issues
58225
^^^^^^^^^^^^^^^^^
59226

227+
A `good first issue <https://github.com/nexB/scancode-toolkit/labels/good%20first%20issue>`_
228+
means it's recommended for people who haven't contributed to Scancode Toolkit before.
229+
230+
#. Refer the detailed documentation for :ref:`good_first_issue`.
231+
#. :ref:`good_1st_issue_links` for Good First issues are also compiled.
232+
#. :ref:`good_1st_issue_understand_b4_solving`
233+
#. :ref:`good_1st_issue_workflow`
234+
235+
A `first timers only <https://github.com/nexB/scancode-toolkit/labels/%20first%20timers%20only>`_
236+
issue means we've worked to make it more legible to folks who either **haven't contributed to our
237+
codebase before, or even folks who haven't contributed to open source before**.
238+
239+
Refer the detailed documentation for :ref:`first_timers_only`.
240+
60241
.. _newcomer_add_functionalirty:
61242

62-
Add new Functionality to ScanCode
63-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
243+
Add new Functionality/Enhancement to ScanCode
244+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
245+
246+
There are two main paths you can follow to add a new functionality to Scancode.
247+
They are:
248+
249+
#. Add the functionality to Scancode itself.
250+
#. Add plugins if the functionality is very much application dependent.
251+
252+
Refer `enhancement issues <https://github.com/nexB/scancode-toolkit/labels/enhancement>`_ for the first type of
253+
enhancements. If you want to add a plugin to implement the functionality, refer all the
254+
:ref:`plugin_tutorials`.
255+
256+
.. _newcomer_update_docs:
257+
258+
Update our Documentation
259+
^^^^^^^^^^^^^^^^^^^^^^^^
260+
261+
Maintaining a comprehensive, accurate, updated and effective documentation is very important
262+
as that directly affects the acceptability of Scancode Toolkit.
263+
264+
To contribute to Scancode Toolkit Documentation, first refer the :ref:`contrib_doc_dev` section.
265+
266+
The sections in this page cover the following:
267+
268+
#. :ref:`contrib_doc_setup_local`
269+
#. :ref:`contrib_doc_share_improvements`
270+
#. :ref:`doc_ci` system for the Documentation
271+
#. :ref:`doc_style_docs8`
272+
#. :ref:`doc_interspinx`
273+
#. :ref:`doc_style_conv`
274+
275+
You can contribute to the following Open Issues on documentation.
64276

277+
#. `Issues with label Documentation <https://github.com/nexB/scancode-toolkit/issues?q=is%3Aopen+is%3Aissue+label%3Adocumentation>`_
278+
#. `Documentation Inconsistencies Tracker <https://github.com/nexB/scancode-toolkit/issues/1813>`_
279+
#. `ScanCode Toolkit Documentation Roadmap <https://github.com/nexB/scancode-toolkit/issues/1824>`_
280+
#. `First Timers Only Issues List <https://github.com/nexB/scancode-toolkit/issues/1826>`_
65281

66-
.. _newcomer_more_support:
282+
.. note::
67283

68-
Where we need more Support
69-
^^^^^^^^^^^^^^^^^^^^^^^^^^
284+
Refer :ref:`improve_docs` to report Documentation Errors or to request Improvements.
70285

286+
Also, consider contributing to other Aboutcode Project Documentations, as they need more support.
71287

72288
.. _newcomer_gsoc_gsod:
73289

74290
Participate in GSoC/GSoD
75291
^^^^^^^^^^^^^^^^^^^^^^^^
76292

77-
.. _newcomer_update_docs:
293+
If you want to participate in any of the two programs:
78294

79-
Update our Documentation
80-
^^^^^^^^^^^^^^^^^^^^^^^^
295+
- `Google Summer of Code <https://summerofcode.withgoogle.com>`_
296+
- `Google Season of Docs <https://developers.google.com/season-of-docs>`_
297+
298+
Then:
299+
300+
#. Keep an eye out for Application Timelines.
301+
#. Solve multiple of these :ref:`good_first_issue` to demonstrate your skills, and improve your
302+
chances of selection.
303+
#. Refer the Projects Ideas list for details on tentative projects.
81304

305+
- :ref:`GSoC2019`
306+
- :ref:`GSoD2019`
82307

308+
#. Remain active in Gitter and talk with the organization mentors well ahead of the deadlines.
309+
#. Select projects according to your skills and finalize project proposals.
310+
#. Discuss your proposals extensively with corresponding mentors.
311+
#. Apply for the Programs well before the Deadline.

0 commit comments

Comments
 (0)