{"action":"created","issue":{"url":"https://api.github.com/repos/fossology/fossology/issues/456","labels_url":"https://api.github.com/repos/fossology/fossology/issues/456/labels{/name}","comments_url":"https://api.github.com/repos/fossology/fossology/issues/456/comments","events_url":"https://api.github.com/repos/fossology/fossology/issues/456/events","html_url":"https://github.com/fossology/fossology/issues/456","id":86124119,"number":456,"title":"Folder level remove selected license works unreliably","user":{"login":"rlintu","id":9692647,"avatar_url":"https://avatars.githubusercontent.com/u/9692647?v=3","gravatar_id":"","url":"https://api.github.com/users/rlintu","html_url":"https://github.com/rlintu","followers_url":"https://api.github.com/users/rlintu/followers","following_url":"https://api.github.com/users/rlintu/following{/other_user}","gists_url":"https://api.github.com/users/rlintu/gists{/gist_id}","starred_url":"https://api.github.com/users/rlintu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rlintu/subscriptions","organizations_url":"https://api.github.com/users/rlintu/orgs","repos_url":"https://api.github.com/users/rlintu/repos","events_url":"https://api.github.com/users/rlintu/events{/privacy}","received_events_url":"https://api.github.com/users/rlintu/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/fossology/fossology/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/fossology/fossology/labels/Category:%20License%20Browser","name":"Category: License Browser","color":"ededed"},{"url":"https://api.github.com/repos/fossology/fossology/labels/Category:%20UI","name":"Category: UI","color":"ededed"},{"url":"https://api.github.com/repos/fossology/fossology/labels/Priority:%20Normal","name":"Priority: Normal","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/fossology/fossology/milestones/4","html_url":"https://github.com/fossology/fossology/milestones/3.1.0","labels_url":"https://api.github.com/repos/fossology/fossology/milestones/4/labels","id":1260624,"number":4,"title":"3.1.0","description":null,"creator":{"login":"mcjaeger","id":3418977,"avatar_url":"https://avatars.githubusercontent.com/u/3418977?v=3","gravatar_id":"","url":"https://api.github.com/users/mcjaeger","html_url":"https://github.com/mcjaeger","followers_url":"https://api.github.com/users/mcjaeger/followers","following_url":"https://api.github.com/users/mcjaeger/following{/other_user}","gists_url":"https://api.github.com/users/mcjaeger/gists{/gist_id}","starred_url":"https://api.github.com/users/mcjaeger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mcjaeger/subscriptions","organizations_url":"https://api.github.com/users/mcjaeger/orgs","repos_url":"https://api.github.com/users/mcjaeger/repos","events_url":"https://api.github.com/users/mcjaeger/events{/privacy}","received_events_url":"https://api.github.com/users/mcjaeger/received_events","type":"User","site_admin":false},"open_issues":59,"closed_issues":2,"state":"open","created_at":"2015-08-18T13:45:39Z","updated_at":"2015-10-13T12:23:56Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2015-06-08T10:41:40Z","updated_at":"2015-10-15T14:10:37Z","closed_at":null,"body":"License browser view, select [Edit] for a folder.\r\nSelect license which you want to remove from all files in a folder.\r\nSelect 'Remove selected licenses'.\r\n\r\nVery often instead of removing the license it is set as a clearing decision.\r\nIf the remove license procedure is repeated, the license may be removed\r\nfrom the file but the clearing decision is not deleted but it is still shown in\r\nEdited results.  "},"comment":{"url":"https://api.github.com/repos/fossology/fossology/issues/comments/148397592","html_url":"https://github.com/fossology/fossology/issues/456#issuecomment-148397592","issue_url":"https://api.github.com/repos/fossology/fossology/issues/456","id":148397592,"user":{"login":"rlintu","id":9692647,"avatar_url":"https://avatars.githubusercontent.com/u/9692647?v=3","gravatar_id":"","url":"https://api.github.com/users/rlintu","html_url":"https://github.com/rlintu","followers_url":"https://api.github.com/users/rlintu/followers","following_url":"https://api.github.com/users/rlintu/following{/other_user}","gists_url":"https://api.github.com/users/rlintu/gists{/gist_id}","starred_url":"https://api.github.com/users/rlintu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rlintu/subscriptions","organizations_url":"https://api.github.com/users/rlintu/orgs","repos_url":"https://api.github.com/users/rlintu/repos","events_url":"https://api.github.com/users/rlintu/events{/privacy}","received_events_url":"https://api.github.com/users/rlintu/received_events","type":"User","site_admin":false},"created_at":"2015-10-15T14:10:37Z","updated_at":"2015-10-15T14:10:37Z","body":"Case: No clearing decision exists\r\n\r\n| action -| no license found | license X found | license Y found | Multiple licenses including X and Y | Multiple licenses, but not including X | \r\n| --- | --- | --- | --- | --- | --- |\r\n| adding license X | no effect (1) | added and clearing decision created | added, no clearing decision created | added, no clearing decision created | added, no clearing decision created |\r\n| removing license X | no effect | removed and clearing decision created | no effect | removed X bot no clearing decision created | no effect |\r\n| adding license X and Y | no effect (1) | added but no clearing decision created | added but no clearing decision created | added but no clearing decision created | added but no clearing decision created |\r\n\r\n(1) The case when a scanner does not found a license and there is a license, is not a common case.\r\nTherefore these cases can be handled on a file level and folder level editing is not needed. You have argued that file level license should be set according to packet level license (https://github.com/fossology/fossology/issues/457). I still disagree with that approach and probably we cannot reach a common view on that. \r\n\r\nCase: Clearing decision exist. \r\n\r\n| action -| no license found (2) | all licenses removed (3) | scanner findings irrelevant | clearing decision Y | \r\n| --- | --- | --- | --- | --- | \r\n| adding license X | no effect  | no effect | no effect | no effect |\r\n| removing license X | no effect  | no effect | no effect | no effect |\r\n\r\n(2) No_license_found case should be interpreted as No_license_known clearing decision.\r\n\r\n(3) All detected licenses have been removed and No_license_known clearing decision has been made.\r\n\r\nThe behaviour described in above tables supports nicely the following working process:\r\n1. Make first Clearing decisions for all licenses/files which differ from the main license\r\n2. Set the main license for the rest of the files (in an approprietary folder level)\r\n\r\nI have tested this approach (with DeciderJobAgent.php patch) for one large package and it was very handy."}}