-
Notifications
You must be signed in to change notification settings - Fork 417
Deciding on Licenses
This is the core of license compliance. The different agents scan the source code based on stored text phrases. To understand more details check the explanation of the different agents.
These license findings must be checked, perhaps adapted and approved.
Please check, which files are still open (red) and click on the file name.
- File in the folder structure
- On the screen on bottom in the middle you find the legend. Sometimes it pretty big. This you can close with the button 'hide legend'.
- Here you can see the source code text and highlighted the text which was found by the agents (in different colors - please look at the legend to understand the different colors.
- Deciding and going to the next file
- Submit: apply the license decision
- To through all files: goes file by file through the folders, no matter if there are licenses found or not.
- Go through all files with licenses: jumps to the next file with a license, found by the agents, no matter if it is concluded already or not.
- Go through all files without license and no clearing result: jumps to the next file with a license, found by the agents, but no conclusion of a license.
- If a file occurs more often in the component, the decision of one file can be applied also for the other files. But please check if this can really applied for the other files with the same name.
- Clearing Decision Type
- no license known: apply if there is no license in the file
- to be discussed: if there are open questions to be discussed
- irrelevant: sometimes license findings are irrelevant in the context of the file. Then mark them as irrelevant
- identified: if all licenses are decided on (in Section 7) check identified
- do not use: if there is a license found which cannot used in the context of the project, please check 'do not use'
- non functional: It can be decided by the license compliance team to mark non functional files, which are not relevant in the specific use case and do not need a license decision.
- License Finding (of the different agents) : more details in the process of license conclusion)
- Action: fields to decide on the license finding
- License: shows the licenses which are found by the different agents
- Source: the name of the agent who found the license
- License Text: shows the text of the license, if there is a text available in the scanner
- Acknowledgement: shows available acknowledgements per license or acknowledgements can be added.
- Comments: Comments can be added to document the conlcusions
- User Decision: can be concluded indivdually
- Bulk Recognition: a specific text phrase can be conclude for many licenses (in the tree, the component or for all components)
- Clearing History: Shows the whole clearing history for the file
- It is always good to find out the main license, for example in a Readme file or in publicly available information.
**Example: ** ZLIB A Readme file is available:
- Check the reference text
If you click on the link behind the different agent findings, they reference text is highlighted in the sourcecode itself.
The monk result is only 98 % because there is an additional character in the source code:
Based on the result it is clear, that the main license is the zlib license. Click on the star next to the license, mark 'identified license' and submit or click on the '>' next to the submit button, to continue with the next file.
The star next to the license, makes this license the main license for the component.
In this file a reference text is mentioned in zlib.h. Please check this file. In this case also the zlib license is mentioned.
After deselecting the license, the symbol changes to a green '+' in case you want to add the license again.
Click on 'User Decision' and search for the correct license. Press the green '+' to add the license and close the window.
Now 2 licenses are visible, one selected (as a user decision) the other deselected.
If you want to add or/and delete a license for more files at once the Bulk Scan can be used.
Mark the relevant text, this can be also a part of the reference text, found by the agent.
Attention: It is very important to reference to a text part which is really clearly referring to a specific license information and which also available in other files.
Click on 'Bulk Recognition'
If there are characters of comment symbols check 'Clean text' button.
** Remove a license: **
zlib-possibility must be deselected with the red '-'.
** Add a license **
zlib license must be added.
- Click on the License field
- Search for the license
- Add it with the green '+'.
Result:
In the box you see the added and removed licenses.
To undo these selections, click on the red '-' on the right side of the table.
More Options:
- Scope of the bulk:
- Scan the whole upload
- Scan only current folder (sometimes the text reference is only valid in the current folder, e.g. with included dependencies which have another license.
- Ignore Conflicts: If there are other bulk scans, which refer to another license, this shall be ignored.
- Scan files with findings: not all files are scanned, but only the ones with agent findings.
- Ignore irrelevant files: all files which are marked as irrelevant are ignored
- Custom delimiters
- Delimiters are single characters which are used to break text into tokens.
- By default, Bulk uses
\t\n\r\f#^%,*
as list of delimiters. This list can be modified using the "Custom delimiters" option and adding them to the Delimiters textbox. - The delimiters can only be single characters (
xyz
will be treated as 3 delimiters,x
,y
andz
). - Special characters like
\t
,\n
, etc will be treated as single delimiter. (\r\n\t
will create 3 delimiters\r
,\n
and\t
). - Space by default will be used as a delimiter irrespective of it being in the textbox.
Click on 'Schedule Bulk Scan' and the bulk job will be started.
The job number is shown on the bottom, so that you can follow the status.
When the job is done, the result will be shown on the screen (after refreshing).
The correct licenses are chosen and the bulk history is visible:
You can check also in the License Browser Overview the overall result in your component:
OSS License texts or permission notices are usually standardized, but there are also individual license texts, which are not predefined in your system.
Example:
- Here is a specific permission notice, which is not captured in the system.
- The MIT-CMU-style license is not relevant and must be deleted.
- The Permission Notice can be used.
- Both licenses have no license text.
Copy the whole text of the permission notice.
Anyhow the license text must be added here, so click on the 'Click to add' Button.
- Add the text in the field. If the field is to small, open it on the right bottom corner.
- Use the 'Clean Text' Button to delete comment characters.
- Press 'OK'
The License Text is appearing in the overview:
In the same way individual acknowledgements and comments can be added.
For acknowledgements please refer to (to be linked)
-
- Add Acknowledgements
*** 7.1 Acknowledge for Apache License
Some Licenses need to have specific acknowledgements in the Readme.OSS (the file with all license compliance information). This is for example the Apache-2.0 license, which wants to have the content of the notice file added as an acknowledgement.
- Click on Acknowledgement
- In case of Apache-2.0 click on 'Select from Notice File'.
The content of the Notice file of the specific component will be selected and shown in the window. Click on 'use this' and cancel the appearance of the screen.
The content of the notice file is added to the 'Enter Content' field and can be edited here. In this example the reference text to the license requirement should be deleted.
In the 'Change concluded licenses view' the content of the notice file can be seen in the 'Acknowledgememt' field. If wanted a comment can also be added. This will not be printed in the Readme.OSS.
*** 7.3 Any other Acknowledgement
There are also other acknowledgements required, for example for using Dual or Triple Licenses. Here you have to indicate, what options are given and which one you choose.
- Acknowledgements can just be entered in the field.
- Acknowledgements can be chosen from a list of acknowledgements you have created before:
*** 7.3. Manage Acknowledgement
Please check Admin - License Admin - Acknowledgments
- Nomos
- Monk
- MonkBulk
- ReSo-(REUSE.Software)
- Reuse clearing with reuser
- ScanCode agent
- Copyright
- ECC
- Package Agent
- Maintenance Agent
- Mimetype Agent
- Buckets
- Spasht Agent
- Email notification configuration
- Migration to UTF 8 DB
- External authentication configuration
- OpenID Connect authentication configuration
- Access Control