-
Notifications
You must be signed in to change notification settings - Fork 231
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Project needs a CLA #14
Comments
OK, I added a CLA and a CONTRIBUTING.md file. I hope I didn't mess things up; IANAL! |
Is it OK now? Can I close this issue? |
I would paste the CLA's text into a Gist and set the repo up for having cla-assistant review pull requests (and maybe include the HTML version of the CLA in the repo rather than the PDF), but other than that, it looks good. |
Just an idea: What we have done for our projects is setup a separate repo for CLA. There is a template text file which people can copy, edit and then send a PR back to the repo. This leaves a verifiable trail (short of getting a hard copy). |
@hrj That's actually what I was thinking would be best - what I'd like to see is an ability in cla-assistant (or a fork of it) to operate on repos like that automatically. |
@jonsneyers The CLA you've generated looks very nice, except that it unfortunately only effectively allows relicensing to AGPLv3 (hypothetically also to GFDL). The reason is that LGPL is not on the FSF's list of "Recommended copyleft licenses", presumably because it is "suggested for use in more narrow circumstances". You could either hand-pick licenses that you're considering, or just select the OSI-approved licenses option for now, even though not all of them are free software licenses. I hope that you will still stick to copyleft in spite of this annoyance, and despite the overwhelming peer pressure interspersed with FUD in virtually all FLIF discussions around the web. But if you decide it is essential that |
I didn't look too closely at the CLA's content - @lmarcetic is right. For the outbound licensing, you should pick the comprehensive OSI-approved list, which would allow you to move to non-GPL copyleft licenses like the Mozilla Public License (which I recommend as the next step for keeping the library copyleft while not forcing it for unrelated code), as well as non-copyleft but still open-source licenses like the Apache license and the MIT license (@lmarcetic raises a good point about patent concerns, though I think there will need to be much more discussion before a call can be made on the patent front). The FSF-approved list of "recommended copyleft licenses", as @lmarcetic pointed out, is effectively just a euphemism for the Affero GPLv3 (it doesn't even include the LGPL, which @jonsneyers mentioned he was considering). In the long-term, I don't think sticking to copyleft will be necessary, and replacing copyleft with a permissive license will help the project without limiting contributions (the way the MIT license has worked for projects such as Lua, Node.JS, and Bootstrap) - however, this is a long-term issue. For now, all that needs to happen is that the CLA needs to be changed so that these options are kept on the table. |
Agreed; The current CLA pdf text is insufficient for the licenses listed in CONTRIBUTING.md since it only allows re-licensing later with a license listed on the FSF's 'Recommended Licenses List', which does not include the licenses in CONTRIBUTING.md, afaik. This needs to be fixed ASAP, before the list of contributors becomes too large to handle having people re-sign the CLA. |
this is silly. can't it just read something like,
and leave it at that? this is the most unproductive discussion... I think everyone is interested in this being successful. (err, more than discussing licenses endlessly, that is - I hope). |
CONTRIBUTING.md: "That allows us to relicense FLIF, including your contributions, under a more permissive license like for example the GNU LGPL v3+, MIT, BSD or Apache 2.0 license." disagrees with: FLIF-CLA.pdf: Section 2.3: Outbound License: The FSF list of "Recommended copyleft licenses" (which can be found at http://www.gnu.org/licenses/recommended-copylefts.en.html ) only lists 3 licenses currently as of writing this comment: Documentation licenses |
oh, I dunno man... this is silliness. then, by contributing your contribution is your signature. |
Not silly at all. The CLA should allow the project author to later, at his/her discretion, re-license the project to at least the licenses listed in CONTRIBUTING.md |
@jonsneyers's intent is clear in CONTRIBUTING.md: he wants this to be relicensable under a permissive license in the future. It is not our place to make this decision for him. The issue is that the CLA here does not allow relicensing it under such a permissive license. |
OK, I think it should be better now. |
Pleased to see this, it was my only concern about getting behind the FLIF phenomenon. Sorry to be a pain, but FLIF-CLA-template.txt still has a list of outbound licenses that disagrees with those listed in CONTRIBUTING.md. — The original PNG guy |
Wow, very exciting to see Thomas Boutell here! And yes, oops, you're right about the list of outbound licenses. I now removed those mentions of the BSD and MIT license from CONTRIBUTING.md, because they're not mentioned in the CLA template. So at the moment it's GPL v3, but we can add LGPL v2.0, v2.1 and/or v3.0, AGPL v3 and Apache 2.0. |
The big appeal of the MIT and BSD licenses is that they are significantly more simple than the Apache license (they can be read and understood by most humble programmers), though they are maybe more appropriate for projects like programming languages that are less likely to step on toes in the patent arena. In any case, the current list of languages is still very narrow - it should really be the OSI-approved list, since that allows the potential to discuss these other options, while still accepting pull requests. There's very little downside to keeping the outbound options broad - I've never seen somebody contribute a useful patch but refuse to release it under the terms of a CLA with outbound OSI licensing. |
Please note there are several BSD licenses: 2-clause, 3-clause, 4-clause and even 5-clause. It is important to clarify which one is being used. This is why I recommend the MIT license, which doesn't have that "number of clauses" issue.
The OSI approves non-free licenses like the NPOSL and the OpenWatcom license. It also doesn't approve CC0. This is a much better list of free licenses that also comes with comments: https://gnu.org/licenses/license-list.html To date, the CLA says this:
Am I reading it right? No "or later" clause? Only the long and GPLv2-incompatible Apache 2.0 license as permissive license? |
What I meant is GPLv3.0(+), LGPLv2, LGPLGv2.1, LGPLGv3.0(+), AGPLv3(+) and Apache 2.0. Anyway, does it really matter that much? This is just a reference implementation, I think the thing to focus on now is to finalize the format (in a future-proof way) and write out the specification. |
The LGPL/Apache2 are just fine. Listing all the other licenses when the maintainer himself isn't too keen on them is cruft. |
Yes, definitely. It is a very simple license, making it attractive for users and developers. It also is the most used license on GitHub.
Isn't Apache 2.0 the same thing? It lacks copyleft too. If you absolutely want this, then you can choose LGPLv2.1 or later, but this will complicate adoption on extremely closed platforms like iOS. |
I would go with the most permissive license you can possibly stand, if your libpng found its way into all major browsers and is still there. That A good question is, what is the goal of using a copyleft license? If it is Sourceforge has an incorrect statement that the IJG library is GPL. The IJG But that was before these licenses were so widely recognized, and in this On Sun, Oct 4, 2015 at 4:10 PM, Calinou notifications@github.com wrote:
*THOMAS BOUTELL, *DEV & OPS |
OK. I changed the template and CONTRIBUTING.md and now explicitly refer to a broad list For now, I want to keep this GPL. I do want to give the FOSS world "a head start", and I absolutely don't mind if Adobe Photoshop or Microsoft Internet Exploder don't support FLIF from the beginning -- they would probably support it poorly anyway. If I can help to give The GIMP and other FOSS image tools and browsers a competitive advantage, then why not? The point of copyleft in this particular case is that there is no spec yet, and no formal standard defining group or anything like that either. So I think it is important to avoid allowing proprietary variants of FLIF that are better in whatever way and which becomes the de facto file format, perhaps not even with a public spec. If I would have released this as public domain software without any form of copyleft, that could very well happen. So, is the current version of the CLA good enough? Can we move on to discussion about the actual file format now? :) |
That sounds better. I understand the desire to avoid incompatible implementations before I was about to ask about the spec (: On Mon, Oct 5, 2015 at 8:04 AM, Jon Sneyers notifications@github.com
*THOMAS BOUTELL, *DEV & OPS |
About the spec: let's move that discussion elsewhere. Maybe to #17 ? Another thing missing is robustness wrt transmission errors. PNG has CRCs on every chunk, while FLIF atm just has one big CRC at the very end, and that's it. Maybe some extra CRCs could be useful, but then again, I think it shouldn't be the responsibility of the file format to detect transmission problems. Perhaps those extra CRCs could be optional and part of the metadata? |
The chunks are nice for metadata. PNG got kicked around on the playground at first because very small GIFs .tar itself is archaic and probably a can of worms you don't want to open. By reusing a more general-purpose container format you might inadvertently invite |
@jonsneyers In this Hacker News comment, you stated that you intend to relicense the project under a more permissive license (as desired by issues #3 and #9) after the project has matured slightly.
However, if you wish to change the project's licensing terms at a later point, you need to have contributors release their contributions under the terms of a Contributor License Agreement starting now. Otherwise, at said point of future maturation, you'll have to get everybody who's ever contributed a patch to the project to explicitly sign off on your desired relicensing, which is a pain (as the maintainers of projects which have had to do this in the past, such as Bootstrap, can attest).
http://www.harmonyagreements.org/ has a relatively simple generator for CLAs - once you've generated one, you can add it to the repo, and then request in any pull request that contributors explicitly state that they agree to the terms of the CLA and release their contribution under it (you can also automate this with cla-assistant, clahub, and/or clabot). You can (and should) also add a mention and further explanation of these terms to a CONTRIBUTING.md file in the repo's root.
With these agreements in place, you will be able to relicense the project in the future under whatever terms you decide, without having to get unanimous agreement from every user you choose to accept contributions from (no matter how minor).
The text was updated successfully, but these errors were encountered: