Homebrew-cask: Change license for all repos to be more open

Created on 2 Nov 2015  Â·  21Comments  Â·  Source: Homebrew/homebrew-cask

Currently, all but one of our repos use the same license that requires a copyright notice (the former using a more permissive one).

I strongly believe this makes a difference. When I was starting out, licenses were the bane of building stuff. You worry more about following a license than building something good. I don’t want to bore anyone with a long text on this, so you can read some of @zacharyvoase’s ideas on this.

I’ll point out, though, that having licenses on cask files themselves is nonsensical, so even if the main repo retains the license (which I believe it should not), there’s no reason for the others to do so as well. Also, attribution isn’t an issue, and many very popular projects thrive extremely well (considerably better than us, even) with public domain licenses (like youtube-dl).

Naturally, I want the opinions of every @caskroom/maintainers (even if it is “I have no opinion”) and our users and contributors. Above all, though, we require @phinze’s permission, since it says clearly in the top of the license:

Copyright © 2013-2015, Paul Hinze & Contributors

So @phinze, what do you think? Can we release this to the public domain?

All 21 comments

So @phinze, what do you think? Can we release this to the public domain?

Definitely! I don't even think I was the original person to drop my name into the license heh. :smile:

I like the language of the more permissive license. Let's do it! :+1:

ACK :+1:

Only thing to consider is will this have any affect if we integrate with Homebrew. This is their current license, so I don't think it would?

I'm very much in favor of releasing this and all repos into the public domain, likely through explicit inclusion of the Unlicense.

Integration with Homebrew is a concern, though. @mikemcquaid, would this be an issue?

I also think this is a good idea. :+1:

Don't think that it will become an issue when integrating with Homebrew.

Seems good to me :+1:

Be very of any license not created by a lawyer: it may open you to being sued or simply be invalid meaning no companies can use your software. Homebrew will stay being MIT BSD 2 Clause (NetBSD) license and if Cask will need to be at least compatible if they are integrated further. It's also worth noting if you wish to change your license technically you'll need to legally OK it with every single previous Cask contributor, unfortunately.

Homebrew will stay being MIT

Aren't we BSD, not MIT?

WHOOPS YES

BSD 2 Clause (NetBSD) license to be exact.

"Mike quietly relicenses Homebrew at 11pm on a Tuesday evening without telling anyone" :wink:

Cask will need to be at least compatible if they are integrated further.

If we’re public domain, we’re compatible with everything, so no issues there.

meaning no companies can use your software.

We’re very responsive, so I imagine if that indeed becomes a problem a company wants solved, we can probably work something out. SQLite does it.

Be very of any license not created by a lawyer: it may open you to being sued

CC0 is presumably created by lawyers, and public domain is public domain, so that could work as well. Though there are many questions regarding the validity of public domain dedications, I seem to remember reading (should’ve kept that source) that for the most part, the _clear expressed intent of public domain dedication_ is enough. The unlincense is also provided by github, and with holes or not, that lends it credibility, reinforcing the intent part.

Casks are also almost exclusively a bunch of copied text: you copy words every other cask has (and is baked to the core) and then copy values specific to each one from their websites. I very much doubt you can consider the inclusion of a link copyrighted, and the most of the cask is already based of a single file, anyway.

All that said, I also never trusted other open-source licenses like MIT and BSD 2 Clause to be airtight. What does “[r]edistribution (…) with or without modification” mean, anyway? At which point is the code so modified that it is no longer the original? If you use the same file and replace everything inside but a single letter, is it still the original and requires the license? Most licenses are just as unspecific as public domain dedications (even more so, I’d say, since at least public domain shows clear intent).

if you wish to change your license technically you'll need to legally OK it with every single previous Cask contributor, unfortunately.

I thought about that. Although it’d be a dick move for a contributor to contest it, it is still a possibility. My though here is that is extremely unlikely and we can deal with that problem _if_ it happens. Since our plans for the future of homebrew-cask include large changes, from casks themselves to the way the core works, this improbability will cease to exist completely with time.

At the very least, we’ll be tied to homebrew’s license for the most part (when we go back to using your core, instead of a copy of it) and casks will be freely available.

That sounds cool. I would say that unless you've had individuals and/or businesses complaining that they can't use Cask due to the current license you may inadvertently find that changing licenses (even to one more permissive) makes Cask harder to use rather than easier. Some businesses literally have internally approved lists of open-source licenses they can use. That's not to say what you should or shouldn't do but it's worth bearing in mind.

if you wish to change your license technically you'll need to legally OK it with every single previous Cask contributor, unfortunately.

I thought about that. Although it’d be a dick move for a contributor to contest it, it is still a possibility… At the very least, we’ll be tied to homebrew’s license for the most part (when we go back to using your core, instead of a copy of it) and casks will be freely available.

Depending on implementation of #14384 mightn't this potentially take care of itself? I don't generally favor a "wrong but nobody cares" path, but if enough of the core is integrated to homebrew under BSD, whatever remains could be more easily re-licensed by the five (or whatever) people who will have actually written it. There's a good argument that the cask files aren't particularly copyrightable anyway, as they are unlikely to pass any originality threshold.

At any rate, :+!: for CC0. It's an established and recognized system that is increasingly the major option for PD over Unlicense/WTFPL/etc.

I personally advocate the GNU GPL license, or one that is compatible with it, because my own philosophy is that freedom is ultimately more important than anything else. All things considered, I find that ideal is best manifested by the GPL so far.

I personally advocate the GNU GPL license, or one that is compatible with it, because my own philosophy is that freedom is ultimately more important than anything else.

If there’s an open-source license that does not advocate freedom, it’s the GPL. The GPL _demands_ freedom, it does not grant it, and is a license homebrew-cask maintainers do not like (some of us discussed it in the past) for that very reason.

Public domain is the best way to give freedom of choice. It’s precisely because I highly value freedom that I’ll fight to never use the restrictive GPL. But lets not turn this into a license fight, the points have been made.

The issue is about moving the repos to the public domain, or keep them as they are. GPL is not in the equation.

@vitorgalvao I'm new to this community, but in the past I have also encountered friction with using GPL, and am familiar with the underlying reasons therefore. I actually read Zachary's blog post about the unlicense, and I agree with much of what he says. On occasion I've re-licensed my own work from GPL specifically so that they could be integrated into other projects, because I know that a less restrictive license would result in more people being able to use and benefit from the code that way.

I don't mean to be inflammatory; I simply care about this project and wanted to share my thoughts, since you invited discourse.

Naturally, I want the opinions of every @caskroom/maintainers (even if it is “I have no opinion”) and our users and contributors.

I appreciate you explaining your position to me, and I'll try to refrain from posting things that are off-topic on issues :)

I don't mean to be inflammatory

Oh, I did not think you were, or anything like that. Your opinion was presented in a perfectly polite manner.

and I'll try to refrain from posting things that are off-topic on issues :)

To be clear, I do not think you were off-topic. I just meant I didn’t want this issue to become a license war, since that can be a touchy subject and _in this particular case_ it would lead us nowhere, since we already have the scope for this defined.

Some related reading: I'd advise taking a look at http://choosealicense.com, http://choosealicense.com/licenses/ and http://choosealicense.com/no-license/ http://ben.balter.com/2016/08/01/why-you-shouldnt-write-your-own-open-source-license/ which mostly were written by a software engineer and lawyer who has worked with the US government to increase open-source adoption.

In short: please use a standard open-source license (preferably one that has actually been used/defended in court) as, as I mentioned previously, some businesses will allow software using a preapproved list of licenses. Otherwise you may be making it harder for people to adopt Cask rather than easier. Additionally you may open yourself and other contributors up to additional liabilities; you'll notice the current license states that there's no warranty/fitness for purpose. There's a reason that text is in there; otherwise you (or another contributor) may find yourself being sued in a jurisdiction that does imply warranty/fitness for purpose by default.

Although it’d be a dick move for a contributor to contest it, it is still a possibility.

It's worth commenting on this: unfortunately that's not how licensing their IP to a project works. As they never signed a CLA they may still own their IP on this product but it's under a shared license for use. If you want to change the terms of that license you may literally need to get every contributor (or at least every one still shown in git blame) to sign a bit of paper agreeing to the new license. See http://blog.gerv.net/2013/02/relicensing-when-do-you-have-to-ask/ for more detail here and be willing to white-room rewrite the code (not copy-paste) for anyone who isn't willing to change to the new license.

I mention all of this because: this stuff is really complicated and becomes moreso the more individual contributors your project has, unfortunately. I've seen similarly large open-source projects have to dedicate huge amounts of time on relicensing in the past and I've never been convinced that it's been worth the effort. If you feel it is though: that's obviously up to you.

There's a good argument that the cask files aren't particularly copyrightable anyway, as they are unlikely to pass any originality threshold.

This still rings very true to me, so at least the cask-only repos could be public domain. As for the core, we probably should keep it BSD for the reasons mentioned by @MikeMcQuaid (thank you for worrying about it and looking out for us). Since we’ll be merging with homebrew it’s sensible to keep the same license, as that will actually make things easier for users, not harder.

While I applaud the idea of choosing a more permissive license to the cask repos on principle, I wonder whether this is solving an issue that has no impact. Do you have a specific use case where another project would want to use copies of the cask files, but adding an attribution would make it difficult?

Given the issue has 0 impact, but has a large implementation cost (it requires all contributors to sign a CLA), I vote to close this issue.

@joshka Agreed. I thought I had already closed this.

But for reference, two of the repos are already under the Unlicense (they were created later).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

my2ter picture my2ter  Â·  4Comments

pendolf picture pendolf  Â·  4Comments

CoolTomatos picture CoolTomatos  Â·  3Comments

florianletsch picture florianletsch  Â·  3Comments

GeekOnGadgets picture GeekOnGadgets  Â·  3Comments