Skip to content


cabal init / cabal check inconsistency #1074

dudebout opened this Issue · 5 comments

3 participants


cabal init allows me to specify a license that it does not recognize, by using option 11. However, cabal check, which is used by hackage, rejects an unrecognized field, such as ISC.

Haskell member

Thanks for the report. As things currently stand, I'm not sure whether this counts as a bug (or what should be done about it). The specification of the .cabal format allows unrecognized licenses. However, cabal check does not check whether a .cabal file is valid, but whether it would be accepted by Hackage. Hackage apparently does not allow arbitrary licenses. That is, the policy (as implemented -- whether intentional or not) is that only packages with one of a list of recognized license types may be distributed on Hackage.

So it is not technically an inconsistency. The question is whether Hackage should allow unrecognized licenses. I will let others weigh in there.


Ross Paterson told me Hackage was using cabal check to determine if it should accept a package. It seems that we have a circular dependency here ;-)

Haskell member

Haha! OK, point taken. =) In any case, it seems to me there are three options:

  1. Change cabal check (and therefore Hackage as well) to accept unrecognized licenses.
  2. Change cabal init so it does not allow specifying an unrecognized license.
  3. Do nothing.

I have chimed in here since as the maintainer of cabal init, I would implement option (2) if that is decided upon. But I am really not sure which option is best. Perhaps someone else with more knowledge about Hackage and the history/reasoning behind the current choice can comment.


My only concern with (2) is that unrecognized licences is a feature that has been added in the last version of cabal init. This addresses the following issue:

On another note, I do not see (3) as an option. Offering a choice in cabal init that cannot be uploaded on Hackage is not really friendly.

Haskell member

Ah, I see. For reference, it looks like the unrecognized license feature was added by @dcoutts in @d448be2.

@ttuegel ttuegel added the bug label
@ttuegel ttuegel added this to the Cabal-1.24 milestone
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.