Skip to content
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

Select a license #7

Open
szaghi opened this issue Jan 16, 2016 · 23 comments
Open

Select a license #7

szaghi opened this issue Jan 16, 2016 · 23 comments

Comments

@szaghi
Copy link
Member

szaghi commented Jan 16, 2016

EDIT by @zbeekman: This thread is now locked. Please see #8 for a discussion on how to treat Fortran software/project licensing in this document, and #9 to discuss how to license this document and any code snippets, and continue the discussion there. Off topic comments will be removed.

In case some poor Fortraners will stumble into our document in the future (and even more sadly they want to use it) it could be necessary to provide a license.

member gpl lgpl cc mit bsd 2 bsd 3
@zbeekman 👍
@rouson 👍
@cmacmackin 👍 👍
@LadaF
@nncarlson 👍 👍 👍
@milancurcic 👍 👍
@szaghi 👍 👍
@zbeekman
Copy link
Member

👍

@rouson
Copy link
Collaborator

rouson commented Jan 16, 2016

I generally recommend 3-clause BSD for software for software because it makes it more likely that corporations can use the software. I don't know that it matters much for this document, but presumably the document will contain code.

@cmacmackin
Copy link
Collaborator

I'm fine with a creative commons license for this document, and a fairly lenient one at that. I'm more evangelical about open source that @rouson and tend to favour the GPL for software. My logic is that I am donating my time to produce software with the intent that it be open source. I don't want someone to be able to privatize the public good which I have helped produced and hence I opt for a strong copyleft license. I'm fine with adding something like the linking exception, although I gather that people generally consider that to be implicit to the GPL anyway. I suppose the LGPL could also be a compromise between GPL and BSD.

I know that some companies shy away from using GPL software even when the license wouldn't pose any problems for them (e.g. if they were only going to use modified versions of the software internally), but if that's the case then it's their own fault and ignorance and I can't say I have much sympathy.

Anyway, just my personal view. It's not like I'll refuse to work on a project if it uses a BSD license.

@LadaF
Copy link
Collaborator

LadaF commented Jan 16, 2016

For software it depends on the aim of the project. If one wants to prepare
a library which will become a new common way of doing things, the licence
should be as permissible as possible.

My personal view on the FIAT library project, is that its usefulness will
remain extremely small and will not be used by many, if it will stay under
its current GPL license.

2016-01-16 17:14 GMT+00:00 Chris MacMackin notifications@github.com:

I'm fine with a creative commons license for this document, and a fairly
lenient one at that. I'm more evangelical about open source that @rouson
https://github.com/rouson and tend to favour the GPL for software. My
logic is that I am donating my time to produce software with the intent
that it be open source. I don't want someone to be able to privatize the
public good which I have helped produced and hence I opt for a strong
copyleft license. I'm fine with adding something like the linking
exception, although I gather that people generally consider that to be
implicit to the GPL anyway. I suppose the LGPL could also be a compromise
between GPL and BSD.

I know that some companies shy away from using GPL software even when the
license wouldn't pose any problems for them (e.g. if they were only going
to use modified versions of the software internally), but if that's the
case then it's their own fault and ignorance and I can't say I have much
sympathy.

Anyway, just my personal view. It's not like I'll refuse to work on a
project if it uses a BSD license.


Reply to this email directly or view it on GitHub
#7 (comment)
.

@nncarlson
Copy link
Collaborator

I agree with @rouson for software. I use BSD or MIT whenever possible. I used to be a lot more restrictive, but I've seen too many software projects go no where and die because of a license that focuses on making sure that no one benefits unworthily. Generally better to focus instead on gaining mind share, I feel, through use of a liberal license.

@zbeekman
Copy link
Member

I just want to circle back to the original intent of this thread:

What license should this document (i.e., Fortran-FOSS-Programmers/Best_Practices) be licensed under. If people want to discuss best-practices and recommendations for licensing Fortran software, lets open a new issue to discuss it.

@zbeekman
Copy link
Member

For this document my preference is CC-by or CC-by-sa. Using the copyleft share alike license will help discourage other document supersedes this one in adoption and popularity by making sure any contributions to "downstream" projects can be added back to this document on best practices. At the very least we want to be attributed for originally creating this work.

@milancurcic
Copy link
Collaborator

Ditto Creative Commons-like license for the written non-code content, and BSD-3 for code.

GPL is great as an idea. In practice it hurts more than it helps, as others have already pointed out. I recommend against using GPL here or in other Fortran-FOSS projects.

datetime-fortran was initially licensed under GPL when I first released it in 2013. Several people asked me since to make a more permissive release for them so they can use it in their projects, and very soon after I switched to BSD-3.

@cmacmackin
Copy link
Collaborator

Not meaning to sound whiny at my views generally being panned, but I'm genuinely curious. Why do people have a problem using something under the LGPL or GPL with the linking exception (which I'll take as synonymous with LGPL when writing this comment)? Technically anything compiled with GCC is using code licensed under the GPL with the linking exception, in the form of glibc. LGPL only restricts people if they want to change the the actual code licensed under it. It doesn't restrict people from using the libraries as is with proprietary software. Seeing as the argument against LGPL is that it hurts something being adopted as a standard, we don't really want a plethora of subtly altered versions of a library out there anyway. In any case, even the strong GPL only restricts people if they want to distribute modified versions of your code. There is nothing to stop them using modified versions internally, as far as I'm aware.

Also, surely @zbeekman's arguments for using CC-by-sa can also be used to argue for using something like the (L)GPL for software, rather than BSD-3. Sorry, Zaak, for continuing this discussion on this thread, by the way.

@cmacmackin
Copy link
Collaborator

Two things:

  1. I was doing some reading on the GNU website and we are going to need a license for any bits of source code in this document. They reccomend the CC0 license for short snippets (an extremely permissive license). For long snippets they recommend whatever license you use for your source code.
  2. On that note, I just thought I'd add one last argument for the GPL before inevitably giving in: Why you shouldn't use the Lesser GPL for your next library. In particular, it addresses the point about attracting more users at the end. My preference would be to follow their advice and license libraries for which there are competitors under the LGPL and all others under GPL.

However, I concede that I will likely loose this argument, so instead I would nominate the LGPL as a
compromise between the GPL and the BSD licenses. (Again, sorry for continuing this conversation here, Zaak).

@milancurcic
Copy link
Collaborator

I found this website very useful for studying various licenses.

@cmacmackin , if I understand correctly, the main issue with GPL is that it swallows the whole project in a legal sense. If a project uses a GPL-licensed library, the whole thing must be released under GPL. Many companies or government institutions have their own custom open-source licenses. As a consequence, they cannot use GPL-licensed libraries. Most people that asked me to release a library to them under a more permissive license said that the lawyers at their company/research institute instructed them so. I could've said something like "well, that's too bad, I really believe in free software", but I was rather thinking "these people want to use the thing I made; hell yeah I want to change the license!".

LGPL is more permissive, but it still requires the whole project to be released in source form, if I'm not mistaken. This is not an option for many companies and research groups. The point you raise about code compiled with gcc is valid only in case you distribute the compiled binaries.

I personally don't care much and don't have a strong belief about how should the code be licensed. Rather, I tend to think how can I and my code benefit the most by being reused and modified.

@cmacmackin
Copy link
Collaborator

@milancurcic
Your summary of the GPL is, I believe, correct. Fair point that someone at, say, NASA, shouldn't have to switch away from their in-house free license to link to your library, especially if said in-house license is similar in spirit to the GPL.

No, the LGPL does not require the whole project to be released in source form--only the library modules which are under the LGPL and anything directly derived from them. Code which simply calls said libraries can be licensed in whatever manner its developer wishes. At least, that is my understanding from browsing the license text, although I admit that I could have misunderstood it. I'm not quite sure I follow your point about code compiled with GCC. The point I was making is that it is legal to link LGPL code (or something similarly licensed) to non-(L)GPL code. GCC is simply one of the most prominent cases of this--there are other bits of software with similar provisions.

As I understand it, there are a hierarchy of licenses:

  1. Strong copyleft (e.g. GPL, CC-by-sa): require all derivative works based on or using this work to be released under the same license.
  2. Weak copyleft (e.g. LGPL): require all derivative works to be licensed under the LGPL (or GPL) but client code which merely use it as a library may be released under any license.
  3. Permissive (e.g. BSD, MIT): allow derivative work or work linking to this code as a library to be released under any license.

While, in my heart of hearts, my preference is for (1), I consider (2) to be a reasonable compromise. Ideally there would be something like the LGPL except it required the client code to have a free (but not necessarily GPL) software license, as recognized by the FSF, although I'm still happy to accept LGPL as it is. If the group decides that we should use BSD or MIT licenses then I will, of course, go along with that decision.

@szaghi
Copy link
Member Author

szaghi commented Jan 17, 2016

Dear all,
I have very few seconds now (Angelica is waking up...), so just a comment quit off topic: my soul is with @cmacmackin , but I understand all other considerations, this is the reason why I recently switched my own FOSS codes to a very permessive licensining system, e.g. FLAP. My feeling is now that libraries/snippets should be very permessive while standalone programs could be still GPL. My preferred license is wtpl, but it contains too much bad words for a Sir 😄

@zbeekman
Copy link
Member

@szaghi I think your table summary above is wrong. The subject of this thread is to vote on what license to use for THIS repository. Your summary table is a mix of what people want to use for this best practices repository, and what they think is a good license for Fortran software. This is why we needed to split out the conversation into two separate threads: 1) What license to use for this documentation project, and 2) what license to use for new Fortran projects.

@zbeekman
Copy link
Member

I'm tempted to lock this issue, and create two new ones to address both questions, since clearly there is interest in both.

@szaghi
Copy link
Member Author

szaghi commented Jan 17, 2016

@zbeekman 👍

Sorry, I had few seconds for it, please correct.

@szaghi
Copy link
Member Author

szaghi commented Jan 17, 2016

@zbeekman one thing: consider @rouson and other siggestion that also code snippets indide the document should be licensed (my mix would like to cover that)

@cmacmackin
Copy link
Collaborator

Well, on the subject of the above table, I should make it clear that I support using CC for this repository. Which one is up for debate; I don't think we should add a no-commercial clause and I'm open to hearing both sides of whether we should use a share-alike license. But CC shouldn't really be compared to GPL, MIT, BSD, etc., because CC is quite explicitly not meant to be used for code. For code snippets within this document, I have no problem with an extremely permissive license. As I mentioned above, even GNU considers the maximally permissive CC0 license to be a good choice for code snippets within documentation.

@zbeekman
Copy link
Member

OK, guys, unless anyone is really offended, I'm going to lock this issue and open up two new ones:

  1. Licensing for this document and code snippets within this document
  2. General Fortran project Licensing considerations.

The second of which, I don't anticipate coming to a consensus on, and I feel in many ways is beyond the scope of this project, however a section on licensing considerations would be very helpful to help illustrate the differences between licenses and the consequences of choosing a particular license for a project. At the end of the day, I don't think that there is a one-size-fits-all solution here, and it is also very personal, so I think we should limit it to a discussion of software licenses in the context of Fortran and scientific computing.

@rouson
Copy link
Collaborator

rouson commented Jan 17, 2016

👏

@zbeekman
Copy link
Member

#blameDamian (haha)

@Fortran-FOSS-Programmers Fortran-FOSS-Programmers locked and limited conversation to collaborators Jan 17, 2016
@rouson
Copy link
Collaborator

rouson commented Jan 17, 2016

✌️

@zbeekman
Copy link
Member

ALL: I have created #8 and #9. Please go move your comments or weigh in there, as appropriate.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants