Open ndmitchell opened 4 years ago
There was an earlier discussion about the license in https://github.com/dhall-lang/dhall-haskell/pull/1248#issuecomment-533409996. HVR's relevant comments are https://github.com/dhall-lang/dhall-haskell/pull/1248#issuecomment-533974298 and https://github.com/dhall-lang/dhall-haskell/pull/1248#issuecomment-534176805.
In the Dhall project we ended up maintaining some YAML conversion logic in two packages: dhall-json
(BSD) and dhall-yaml
(GPL). It would be great to get rid of this duplication eventually.
I wonder how this can be achieved though if HVR doesn't agree to relicense the existing code. I suspect it would require an entire rewrite?! At 3019 LOC this should be feasible I guess.
FWIW, I'm completely unfamiliar with the topic of license changes and any pitfalls that would need to be avoided.
Maybe Herbert would be willing to relicense? Has he made a statement about this?
In https://github.com/dhall-lang/dhall-haskell/pull/1248#issuecomment-533974298 he said:
I'm sorry but I simply can't relicense.
@hvr, could you possibly provide some context or reasons why you can't relicense this project?
Any other advice on navigating this issue would also be welcome! :)
I think Herbert is not following githib notifications. Email could be more lucky. It's a while I phoned him. I can try to remember to bring it up next time.
HsYAML is particularly interesting to me, as it compiles with GHCJS, while the normal yaml does not. That would be useful in HLint, for a web version. However, I strive to avoid GPL dependencies where possible, since in my experience they reduce adoption and don't increase contributions. My current thought is to have an explicit GHSJS Cabal flag + preprocessor flag, and do a compile-time switch on YAML library. That's a bit grim, and I hate writing grim code for legal reasons.
If you would consider moving to the more usual Haskell licenses of BSD/MIT/Apache that would be great - but it's your code, so entirely your choice. If not, perhaps put in the README that the project is deliberately GPL (including the reason, if you feel comfortable sharing) so that people know not to ask?