
On Sun, Mar 1, 2015 at 3:03 AM, fr33domlover
Hello Mike, I think there's some confusion here. I wan't talking about GPL compatible licenses, but about *any* free software license!
According to Gershom's letter, it already does that. Or at least "cabal check" does.
It looks like Creative Commons licenses may apply too, in particular the version 4 ones. CC by 4 is even GPL-compatible. The same for EPL and CDDL! Check out this: http://www.gnu.org/licenses/license-list.HTML Both are free sofware licenses. GPL compatibility isn't the issue here :)
That URL gets a 404 error. However, if you look at this page: http://www.gnu.org/licenses/license-list.HTML you'll find that the EPL and CDDL are listed as incompatible. The CC licenses are only mentioned as non-software licenses, and not all of them are listed. Nuts, it's even documented that the CC licenses aren't all compatible with each other! https://wiki.creativecommons.org/Wiki/cc_license_compatibility
And what if I want something like the CDDL or the EPL? Those are both licenses that the OSI says are popular. The FSF approves them as well, like I said.
Well, I found them on a free license list. Of course, some of those include things like "We urge you not to use the CDDL" in them, which hardly sounds like approval to me. 5
You're addressing the nits, not the core issue I tried to raise: placing restrictions on what licenses (or lack thereof) are acceptable will discourage people from making software available via Hackage. I don't think it will, because people are already making free software. Look at other existing hosting services - they're *full* of free software! This is what people are making anyway. All I suggest is to make it official, providing a guarantee so people know each `cabal install` indeed installs only free software.
As long as you're willing to accept any license that the author thinks of as free, then it won't. But that's such a broad scope as to make this change effectively negligible, even from my nit-picking standpoint.
Or I may not care. If I build a binary that uses one package that's GPL-licensed and one that uses an incompatible OSI-approved license, I can distribute my source under whatever terms I want, because my source doesn't include source from those packages. I can build and run binaries myself with no problems, and that may be fine. But I can't distribute binaries because I can't satisfy both licenses simultaneously, and that may not be acceptable. That's true, but eventually you wouldn't want to do that. I mean, if you build some program, you'd be happy to have it packaged for distros and make binary releases for people who don't want to build from source.
Sure, I may be happy to have the binaries build and packaged for all distros. Then again, I know there are people building software using Haskell - and hence hackage or stackage - that aren't planning on distributing the software in any form, so don't care about this issue. For me personally, the FreeBSD package system allows for adding things that have to be built from source for some reason or another, and make building them as easy as installing the binaries. I'm happy providing FreeBSD ports, but making it possible for people building packages for less flexible systems who actually check all the licenses involved isn't something I'm going to spend a lot of effort on. And you're proposed change - or possibly non-change, given what Gershom reported - won't change that effort. All the licenses involved are free. However, some of them aren't compatible with each other, so the only way to fix this is to use different packages. I suppose I could try and get some of the authors to change their license, but that's probably even more work.
This is essentially the question I'm asking the community: do you care about the packages being free software, allowing legal distribution of binaries? Specifically, would you make a step forward and make it official, build-in into Hackage?
Except you can't answer the question "does it allow legal distribution
of binaries" by just looking at the license on the package. You also
have to consider the licenses on the transitive closure of the
libraries it uses, as they will be included in the binary, or at least
dynamically linked to it, and thus may be considered a derivative work
of the packages it includes. So your binary has to comply with the
terms of all those licenses, which may not be possible even if all the
licenses are approved by the OSI or on the FSF's list of free
licenses.
Which is also why even the relatively minor restriction "must allow
free redistribution of binaries" isn't one I'd be happy with. Sure, it
probably won't affect most people. But it equally won't help most
people who want to distribute binaries, because it only removes a
minor source of barriers to doing so.
Unless, of course, by "must allow free redistribution of binaries",
you mean "doesn't place any restrictions whatsoever on the
distribution of binaries", which would eliminate the not only many of
the CC licenses, but also the GPL and some of the BSD licenses.