{"action":"opened","number":1069,"pull_request":{"url":"https://api.github.com/repos/heremaps/oss-review-toolkit/pulls/1069","id":234019022,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM0MDE5MDIy","html_url":"https://github.com/heremaps/oss-review-toolkit/pull/1069","diff_url":"https://github.com/heremaps/oss-review-toolkit/pull/1069.diff","patch_url":"https://github.com/heremaps/oss-review-toolkit/pull/1069.patch","issue_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/issues/1069","number":1069,"state":"open","locked":false,"title":"reporter: Improve copyright statements of generated notices","user":{"login":"fviernau","id":42963794,"node_id":"MDQ6VXNlcjQyOTYzNzk0","avatar_url":"https://avatars3.githubusercontent.com/u/42963794?v=4","gravatar_id":"","url":"https://api.github.com/users/fviernau","html_url":"https://github.com/fviernau","followers_url":"https://api.github.com/users/fviernau/followers","following_url":"https://api.github.com/users/fviernau/following{/other_user}","gists_url":"https://api.github.com/users/fviernau/gists{/gist_id}","starred_url":"https://api.github.com/users/fviernau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fviernau/subscriptions","organizations_url":"https://api.github.com/users/fviernau/orgs","repos_url":"https://api.github.com/users/fviernau/repos","events_url":"https://api.github.com/users/fviernau/events{/privacy}","received_events_url":"https://api.github.com/users/fviernau/received_events","type":"User","site_admin":false},"body":"Notice files contain a set of relevant licenses each along with a list of\r\ncopyright statements. Prior to this change those copyright statements were,\r\nbesides simple lexicographical sorting, taken as is from the scan result.\r\nIn some cases this lead to heavily redundant lists e.g. when many statements\r\ndiffer only by year or by special characters.\r\n\r\nAs the notice generation cannot be fully automated, that is notices do always\r\nrequire a manual review, it makes a lot of sense to apply safe automated\r\ntransformations which simplify the manual reviews. Reducing those manual efforts\r\nis actually the ultimate goal of this change.\r\n\r\nLet's say a copyright statement can be decomposed into the following componenents:\r\n\r\n-prefix, e.g. 'Copyright (c)'\r\n-years, e.g. '2008 - 2010'\r\n-owner, e.g. 'HERE Technologies'\r\n\r\nThe idea of the algorithm implemented in this change is mainly driven by the hard\r\nlegal requirement not to modify any characters of the 'prefix'. The only way to\r\nguarantee this is to not process copyright statements without a known / valid\r\nprefix at all.\r\nAll other items with a valid prefix are merged if they have the same prefix and\r\nan equivalent owner. The owner equivalence uses a case- and special character\r\ninsensitive comparions.\r\nIn addition to the above mentioned merging the ordering of copyright statements\r\nhas been improved as they are now sorted by the tuple:\r\n(hasPrefix, hasYears, owner, years, prefix)\r\n\r\nNote: a separate test case has been added and its assertions are made on the\r\ndebug output in order to make it obvious how the entries actually get merged.\r\n\r\nSigned-off-by: Frank Viernau <frank.viernau@here.com>","created_at":"2018-11-27T18:40:48Z","updated_at":"2018-11-27T18:40:48Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/pulls/1069/commits","review_comments_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/pulls/1069/comments","review_comment_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/pulls/comments{/number}","comments_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/issues/1069/comments","statuses_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/statuses/a289b9a1948e0f8813bf16b00d7138128685379d","head":{"label":"heremaps:copyright-statements-refurbished","ref":"copyright-statements-refurbished","sha":"a289b9a1948e0f8813bf16b00d7138128685379d","user":{"login":"heremaps","id":2835506,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4MzU1MDY=","avatar_url":"https://avatars0.githubusercontent.com/u/2835506?v=4","gravatar_id":"","url":"https://api.github.com/users/heremaps","html_url":"https://github.com/heremaps","followers_url":"https://api.github.com/users/heremaps/followers","following_url":"https://api.github.com/users/heremaps/following{/other_user}","gists_url":"https://api.github.com/users/heremaps/gists{/gist_id}","starred_url":"https://api.github.com/users/heremaps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heremaps/subscriptions","organizations_url":"https://api.github.com/users/heremaps/orgs","repos_url":"https://api.github.com/users/heremaps/repos","events_url":"https://api.github.com/users/heremaps/events{/privacy}","received_events_url":"https://api.github.com/users/heremaps/received_events","type":"Organization","site_admin":false},"repo":{"id":107540288,"node_id":"MDEwOlJlcG9zaXRvcnkxMDc1NDAyODg=","name":"oss-review-toolkit","full_name":"heremaps/oss-review-toolkit","private":false,"owner":{"login":"heremaps","id":2835506,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4MzU1MDY=","avatar_url":"https://avatars0.githubusercontent.com/u/2835506?v=4","gravatar_id":"","url":"https://api.github.com/users/heremaps","html_url":"https://github.com/heremaps","followers_url":"https://api.github.com/users/heremaps/followers","following_url":"https://api.github.com/users/heremaps/following{/other_user}","gists_url":"https://api.github.com/users/heremaps/gists{/gist_id}","starred_url":"https://api.github.com/users/heremaps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heremaps/subscriptions","organizations_url":"https://api.github.com/users/heremaps/orgs","repos_url":"https://api.github.com/users/heremaps/repos","events_url":"https://api.github.com/users/heremaps/events{/privacy}","received_events_url":"https://api.github.com/users/heremaps/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/heremaps/oss-review-toolkit","description":"A suite of tools to assist with reviewing Open Source Software dependencies.","fork":false,"url":"https://api.github.com/repos/heremaps/oss-review-toolkit","forks_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/forks","keys_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/teams","hooks_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/hooks","issue_events_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/issues/events{/number}","events_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/events","assignees_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/assignees{/user}","branches_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/branches{/branch}","tags_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/tags","blobs_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/git/refs{/sha}","trees_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/statuses/{sha}","languages_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/languages","stargazers_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/stargazers","contributors_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/contributors","subscribers_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/subscribers","subscription_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/subscription","commits_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/commits{/sha}","git_commits_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/git/commits{/sha}","comments_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/comments{/number}","issue_comment_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/issues/comments{/number}","contents_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/contents/{+path}","compare_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/merges","archive_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/downloads","issues_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/issues{/number}","pulls_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/pulls{/number}","milestones_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/milestones{/number}","notifications_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/labels{/name}","releases_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/releases{/id}","deployments_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/deployments","created_at":"2017-10-19T11:59:49Z","updated_at":"2018-11-27T14:10:26Z","pushed_at":"2018-11-27T18:37:29Z","git_url":"git://github.com/heremaps/oss-review-toolkit.git","ssh_url":"git@github.com:heremaps/oss-review-toolkit.git","clone_url":"https://github.com/heremaps/oss-review-toolkit.git","svn_url":"https://github.com/heremaps/oss-review-toolkit","homepage":null,"size":57008,"stargazers_count":117,"watchers_count":117,"language":"Kotlin","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":22,"mirror_url":null,"archived":false,"open_issues_count":53,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":22,"open_issues":53,"watchers":117,"default_branch":"master"}},"base":{"label":"heremaps:master","ref":"master","sha":"ea257d1eb3cac27e8ab05326c61b9812f58100b9","user":{"login":"heremaps","id":2835506,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4MzU1MDY=","avatar_url":"https://avatars0.githubusercontent.com/u/2835506?v=4","gravatar_id":"","url":"https://api.github.com/users/heremaps","html_url":"https://github.com/heremaps","followers_url":"https://api.github.com/users/heremaps/followers","following_url":"https://api.github.com/users/heremaps/following{/other_user}","gists_url":"https://api.github.com/users/heremaps/gists{/gist_id}","starred_url":"https://api.github.com/users/heremaps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heremaps/subscriptions","organizations_url":"https://api.github.com/users/heremaps/orgs","repos_url":"https://api.github.com/users/heremaps/repos","events_url":"https://api.github.com/users/heremaps/events{/privacy}","received_events_url":"https://api.github.com/users/heremaps/received_events","type":"Organization","site_admin":false},"repo":{"id":107540288,"node_id":"MDEwOlJlcG9zaXRvcnkxMDc1NDAyODg=","name":"oss-review-toolkit","full_name":"heremaps/oss-review-toolkit","private":false,"owner":{"login":"heremaps","id":2835506,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI4MzU1MDY=","avatar_url":"https://avatars0.githubusercontent.com/u/2835506?v=4","gravatar_id":"","url":"https://api.github.com/users/heremaps","html_url":"https://github.com/heremaps","followers_url":"https://api.github.com/users/heremaps/followers","following_url":"https://api.github.com/users/heremaps/following{/other_user}","gists_url":"https://api.github.com/users/heremaps/gists{/gist_id}","starred_url":"https://api.github.com/users/heremaps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heremaps/subscriptions","organizations_url":"https://api.github.com/users/heremaps/orgs","repos_url":"https://api.github.com/users/heremaps/repos","events_url":"https://api.github.com/users/heremaps/events{/privacy}","received_events_url":"https://api.github.com/users/heremaps/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/heremaps/oss-review-toolkit","description":"A suite of tools to assist with reviewing Open Source Software dependencies.","fork":false,"url":"https://api.github.com/repos/heremaps/oss-review-toolkit","forks_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/forks","keys_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/teams","hooks_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/hooks","issue_events_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/issues/events{/number}","events_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/events","assignees_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/assignees{/user}","branches_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/branches{/branch}","tags_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/tags","blobs_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/git/refs{/sha}","trees_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/statuses/{sha}","languages_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/languages","stargazers_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/stargazers","contributors_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/contributors","subscribers_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/subscribers","subscription_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/subscription","commits_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/commits{/sha}","git_commits_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/git/commits{/sha}","comments_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/comments{/number}","issue_comment_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/issues/comments{/number}","contents_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/contents/{+path}","compare_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/merges","archive_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/downloads","issues_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/issues{/number}","pulls_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/pulls{/number}","milestones_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/milestones{/number}","notifications_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/labels{/name}","releases_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/releases{/id}","deployments_url":"https://api.github.com/repos/heremaps/oss-review-toolkit/deployments","created_at":"2017-10-19T11:59:49Z","updated_at":"2018-11-27T14:10:26Z","pushed_at":"2018-11-27T18:37:29Z","git_url":"git://github.com/heremaps/oss-review-toolkit.git","ssh_url":"git@github.com:heremaps/oss-review-toolkit.git","clone_url":"https://github.com/heremaps/oss-review-toolkit.git","svn_url":"https://github.com/heremaps/oss-review-toolkit","homepage":null,"size":57008,"stargazers_count":117,"watchers_count":117,"language":"Kotlin","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":22,"mirror_url":null,"archived":false,"open_issues_count":53,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":22,"open_issues":53,"watchers":117,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/heremaps/oss-review-toolkit/pulls/1069"},"html":{"href":"https://github.com/heremaps/oss-review-toolkit/pull/1069"},"issue":{"href":"https://api.github.com/repos/heremaps/oss-review-toolkit/issues/1069"},"comments":{"href":"https://api.github.com/repos/heremaps/oss-review-toolkit/issues/1069/comments"},"review_comments":{"href":"https://api.github.com/repos/heremaps/oss-review-toolkit/pulls/1069/comments"},"review_comment":{"href":"https://api.github.com/repos/heremaps/oss-review-toolkit/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/heremaps/oss-review-toolkit/pulls/1069/commits"},"statuses":{"href":"https://api.github.com/repos/heremaps/oss-review-toolkit/statuses/a289b9a1948e0f8813bf16b00d7138128685379d"}},"author_association":"CONTRIBUTOR","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":2807,"deletions":281,"changed_files":9}}
{"actor":{"display_login":"fviernau"}}