{"action":"created","issue":{"url":"https://api.github.com/repos/rubygems/rubygems/issues/1249","labels_url":"https://api.github.com/repos/rubygems/rubygems/issues/1249/labels{/name}","comments_url":"https://api.github.com/repos/rubygems/rubygems/issues/1249/comments","events_url":"https://api.github.com/repos/rubygems/rubygems/issues/1249/events","html_url":"https://github.com/rubygems/rubygems/pull/1249","id":75436820,"number":1249,"title":"Warn about invalid SPDX license identifiers","user":{"login":"kemitchell","id":205760,"avatar_url":"https://avatars.githubusercontent.com/u/205760?v=3","gravatar_id":"","url":"https://api.github.com/users/kemitchell","html_url":"https://github.com/kemitchell","followers_url":"https://api.github.com/users/kemitchell/followers","following_url":"https://api.github.com/users/kemitchell/following{/other_user}","gists_url":"https://api.github.com/users/kemitchell/gists{/gist_id}","starred_url":"https://api.github.com/users/kemitchell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kemitchell/subscriptions","organizations_url":"https://api.github.com/users/kemitchell/orgs","repos_url":"https://api.github.com/users/kemitchell/repos","events_url":"https://api.github.com/users/kemitchell/events{/privacy}","received_events_url":"https://api.github.com/users/kemitchell/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":32,"created_at":"2015-05-12T02:48:20Z","updated_at":"2015-07-20T03:31:55Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rubygems/rubygems/pulls/1249","html_url":"https://github.com/rubygems/rubygems/pull/1249","diff_url":"https://github.com/rubygems/rubygems/pull/1249.diff","patch_url":"https://github.com/rubygems/rubygems/pull/1249.patch"},"body":"This pull request adds warnings about invalid [SPDX license identifiers](http://spdx.org/licenses) in `licenses` metadata.\r\n\r\nI mentioned in #1247 that despite [mention of SPDX in the current specification](https://github.com/rubygems/rubygems/blob/master/lib/rubygems/specification.rb#L561), a [frequency chart of `licenses` strings in current RubyGems metadata](https://gist.github.com/kemitchell/31911e3b750af04e6186) shows that variations on `\"BSD-2-Clause\"`, `\"Apache-2.0\"`, and other identifiers abound. Ambiguous strings that could reference any one of several distinct license versions, like `\"Apache\"` and especially `\"BSD\"`, are very common. This makes automated license audit more difficult than it should be.\r\n\r\n~~This pull request does _not_ update the documentation or specification code regarding non-standard or custom licenses. For npm/npm#8179, we decided to coin a custom ID, valid within the broader SPDX 2.0 spec, to mean \"refer to weirdness in LICENSE\", and recommended that for non-standard license situations.~~\r\n\r\n~~That kind of licensing is thankfully rare on RubyGems, but without further change, non-standard licensors won't have any way to both comply with the spec and clear the warning. It's a bit of a bikeshed. Let me know if it needs to be painted to match this PR, and how.~~\r\n\r\nPlease forgive any style faux pas in my patch. This is my first PR to RubyGems, and while Ruby's a fond old friend, it's been a little while. I will push and force-push as directed to make it clean.\r\n\r\nThanks to all for continuing to make RubyGems amazing!"},"comment":{"url":"https://api.github.com/repos/rubygems/rubygems/issues/comments/122747396","html_url":"https://github.com/rubygems/rubygems/pull/1249#issuecomment-122747396","issue_url":"https://api.github.com/repos/rubygems/rubygems/issues/1249","id":122747396,"user":{"login":"kemitchell","id":205760,"avatar_url":"https://avatars.githubusercontent.com/u/205760?v=3","gravatar_id":"","url":"https://api.github.com/users/kemitchell","html_url":"https://github.com/kemitchell","followers_url":"https://api.github.com/users/kemitchell/followers","following_url":"https://api.github.com/users/kemitchell/following{/other_user}","gists_url":"https://api.github.com/users/kemitchell/gists{/gist_id}","starred_url":"https://api.github.com/users/kemitchell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kemitchell/subscriptions","organizations_url":"https://api.github.com/users/kemitchell/orgs","repos_url":"https://api.github.com/users/kemitchell/repos","events_url":"https://api.github.com/users/kemitchell/events{/privacy}","received_events_url":"https://api.github.com/users/kemitchell/received_events","type":"User","site_admin":false},"created_at":"2015-07-20T03:31:55Z","updated_at":"2015-07-20T03:31:55Z","body":"@djberg96, thanks for such a quick reply, and for continued guidance.\r\n\r\nI've pushed a commit to rename the class. Let me know if/when to squash. Happy to make any other changes required. I know I'm out of my league. :sweat_smile:\r\n\r\nAnd to the extent something is easier to accomplish by your own hands, please don't hesitate. I'm by no means invested in whether or how much my name appears on anything. Y'all may, however, wish to keep me around for attributing blame. :wink:"}}