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

Is there a reason why BSD was removed from the list of licenses #413

Closed
sandeepraju opened this issue May 14, 2016 · 16 comments
Closed

Is there a reason why BSD was removed from the list of licenses #413

sandeepraju opened this issue May 14, 2016 · 16 comments

Comments

@sandeepraju
Copy link

I see that the page here (http://choosealicense.com/licenses/) no more lists the BSD license. Is there any specific reason why it was removed?

@mlinksva
Copy link
Contributor

BSD-2 and 3-Clause as well as ISC were removed from /licenses/ in #386 because they aren't substantively different from MIT and more redundant choices adds cognitive overhead for someone learning about and choosing an open source license.

They're all still on the site linked from http://choosealicense.com/appendix/ and if you prefer one of them, please continue using it; they're all fine licenses.

I'm closing this but feel free to follow up if this doesn't make sense.

@parkr parkr mentioned this issue Jun 5, 2016
@svenevs
Copy link

svenevs commented Aug 10, 2016

Would it be appropriate to bring back a choice of GPL v2 or v3? My understanding (as a non-legal expert) is they are quite different. Different enough to stir a enough banter online as to whether it should even be v3 instead of a different name...

Realistically, all of these licenses can be included manually with minimal effort. I just feel that having a GPL v2 as well as GPL v3 option would at least inspire potential users to search online to compare the two.

@mlinksva
Copy link
Contributor

@svenevs inspiring users to search online and compare GPLv2 and GPLv3 falls squarely under "adds cognitive overhead" if anything does. People who want to try to discern the differences between these licenses from reading online banter are not in the main target audience for a site helping people to choose a license, perhaps for the first time and without lots of background knowledge.

For you or future searchers who do want to compare, I recommend Chapter 9: GPL Version 3 of Copyleft and the GNU General Public License: A Comprehensive Tutorial and Guide.

@svenevs
Copy link

svenevs commented Aug 18, 2016

Well, when you put it that way I couldn't agree more x0

Thanks for sending that link along, that was a very well put together document. Dense, but very thorough!

@scopatz
Copy link

scopatz commented Aug 30, 2016

I am posting this here on the suggestion of @arfon.

Disclaimer: This is not about the contents of the choosealicense.com website, which I veiw as disitnctly outside of my perogative.

Rather, this is about the inability of users to select more than the handful of licences at http://choosealicense.com/licenses/ from the drop down when creating a new repository on github.com. See Figures 1 & 2. If there is a more appropriate place to post this, please direct me there. I retain hope that this is simply an interface issue stemming from pulling github’s license options from choosealicense, rather than an intentional removal of options.

no-bsd

Figure 1

no-bsd-nothing

Figure 2

Though my main concern is the lack of BSD 3-clause, this does apply more broadly (e.g. ISC).

As context, BSD licenses, and the 3-clause in particular, are the licenses of the Scientific Python and PyData community. Jupyter, NumPy, SciPy, SciKit-Learn, Pandas, SciKit-Image, SymPy, Conda, dask, et al., all related projects, and the overwhelming majority of projects that are in the PyData ecosystem all use the BSD 3-clause license. Certain projects, such as yt, even migrated from GPL/copyleft licenses to BSD to become more in line with the rest of the ecosystem. BSD is the gold standard license for Scientific Python where there is basically no silver license, and precious little copper.

By removing the BSD license from the drop down, which again I hope is accidental or easily rectified, GitHub is indicating that this choice of license is incorrect, or incorrect for new projects. It wasn’t and it isn’t. A lot time and effort went into selecting BSD over the decades and it evolved into being the reserve license for many major projects that scientists and engineers use on a daily basis.

The stated reason for the removal in the comments above is that it “reduces cognitive load.” While on the surface, it may appear to be the case that fewer selections makes it easier to choose from, this is only examining the part of the picture of people who were going to choose from the remaining licenses anyway. For everyone else who would select one of the axed licenses, the cognitive load is now dramatically increased. What used to be a simple selection from a drop down, now involves copying a license from another repository or grabbing a copy from OSI or Wikipedia. The situation is now much worse than it was previously.

So how many people does this affect? By GitHub’s own data from last year, the number of repositories using a license no longer selectable in new reposiotry creation screen is 34.87%. BSD 3-clause weighs in approximately 4.5%. This is relatively consistent with Black Duck Software’s estimates of 6% for BSD 3-clause. However, many users have more than one repository and may use many licenses depending on need or circumstance. Therefore the number of people that this affects is effectively guaranteed to be greater than the 35% of repos above. (There is no historical evidence that I am aware of that proponents of certain licenses are more prolific repository creators than those of other licenses.) I would not be surprised if this new cognitive burden affects significantly more than half of github users.

Additionally, it is not clear that the set of licenses that were selected do, by virtue of this set, reduce cognitive overhead. There are three GPL licenses in this set, two of which are only used at the ~1% level. If the purpose of this set was to spare new users confusion, it is difficult to see this helping. (If there is evidence to the contrary, I would be very interested in seeing it.)

Setting aside the notion that this set does decrease cognitive burden, it is possible that the remaining licenses were selected out of a strict popularity contest. However, this cannot be the case because BSD 3-clause is ranked 5th by both GitHub and Black Duck and is not among the 7 that are currently available for selection. Unlicense (1.87%), LGPL (1.30%), and AGPL (1.05%) are all far less popular than BSD 3-clause, yet they made the cut.

This indicates that the licenses were selected based on their features. For example, Unlicense was likely included in order to round out the “public-domain” equivalent space that is not covered by other licenses in this set. This again implies that the selection was not solely about cognitive load. Rather the content of the licenses themselves matters.

The suggestion from GitHub support was to use the (included) MIT license in place of BSD “because [it] is very similar.” However, as established above, the text of the licenses matters. The difference between MIT and BSD is of practical importance to academics, scientists, and engineers who rely on reputation to maintain their livelihoods.

The relevant distinguishing term in the MIT license is,

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

While in BSD 3-clause the term is,

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Therefore, the MIT license allows for the copying and redistribution of some of the work of art without attribution. As an academic, I consider copying without attribution plagiarism. BSD licenses require attribution. BSD provides a legal framework for pursuing plagiarism infringements in a way that the MIT license does not.

This partial copying distinction here is critical, even if they are otherwise similar. I wager this is one of the reasons the PyData and Scientific Python community has coalesced around BSD, and not MIT.

The GitHub drop down license selection, which may have been attempting to cover all bases, has failed in this goal. It does not provide a permissive license that adequately protects against plagiarism concerns.

Admittedly, I am a novice web designer on a good day. However, it does seem like the new repository page could find a way to display license information about a more inclusive suite of licenses while simultaneously reducing the cognitive overhead for users for whom an expanded set is not needed.

I truly hope this helps to explain the position in favor of enabling more licenses. I would also deeply appreciate any resolution to this issue in the relatively short term. Thanks for your consideration.

@arfon
Copy link

arfon commented Aug 30, 2016

👋 @scopatz, thanks for taking the time to write up this issue and outlining why the difference between MIT and BSD matters so much for the academic community.

@mlinksva and I have just been talking this through and we agree that the current behaviour of the dropdown can be improved for those users who know a priori what license they want to use.

I don't believe it's going to be to difficult to modify the behaviour of the license picker so that you can type BSD (or whatever other license you like from this list) and have that populate the repository. We'll take a look at doing this 🔜 but it's likely going to be another week or two before we can get to this.

@kyleniemeyer
Copy link

In addition to agreeing that eliminating commonly used licenses seems like a not-great decision, I'm now considering changing away from the MIT license to BSD 3-clause for my projects—thanks to @scopatz I'm now aware of some important differences.

If the goal is to reduce cognitive load, I don't see why simply bolding certain common licenses, while still making a wider selection available, doesn't do just that—people who don't want or need to think much can just click on one of the bolded license names at the top of the list.

@michaelaye
Copy link

There are many ways to reduce cognitive load with today's web technologies. Removing very relevant options seems like overkill and not the right way.

@waldyrious
Copy link
Contributor

By the way (and sorry if this is a little off-topic) I recently came across an interesting text that traced the evolution of BSD licenses towards permissiveness (from 4 clauses to 0 clauses), where the "1-clause BSD" matches pretty closely (though maybe not legally? IANAL) the ISC license, which I personally advocate as the nicest among the short permissive licenses.

@scopatz
Copy link

scopatz commented Aug 30, 2016

Thanks a ton @arfon (and all who 👍). Soon is definitely good enough for me!

@mlinksva
Copy link
Contributor

@waldyrious interesting and seems to date from 2005. 0-clause BSD (0BSD) is now a thing. 1-clause BSD as described there is more permissive than MIT/ISC since it has no conditions for non-source copies.

Thanks to everyone for sharing their strong feedback, it's very helpful -- hard to get most people to realize the importance of licenses, including getting them right, etc (though I understand not wanting to deal with the topic) -- then some people really care, like in this thread. I like to think pressure from both sides can make the overall licensing situation better.

If anyone has ideas to "reduce cognitive overhead with today's web technologies" on the site this repo directly powers, feel free to open an issue or PR.

@waldyrious
Copy link
Contributor

0-clause BSD (0BSD) is now a thing.

Actually, that license seems to be primarily promoted by a single person/project, so I'm not sure I would call it "a thing" :)

As shown in this commit, the project's license was changed from ISC to a (then unnamed) simpler "license" following this proposal.

The license was added to SPDX as "0BSD", following this discussion (this message is particularly informative). However, OSI lists it but redirects to what they call FPL (Free Public License). This state of affairs is unfortunate, so I hope for now choosealicense.com doesn't add to it :) I'm just putting the info I had collected out there.

@ilayn
Copy link

ilayn commented Aug 31, 2016

If you don't mind the wording, WTFPL has been a sort of "0-clause" license for a long time already. However, FSF warns about patent treachery

@inoas
Copy link

inoas commented Aug 31, 2016

While I don't share the rant parts on GPL and don't see the reason for the big wall of text on popularity (which should not be the foundation of judgement) @scopatz I do share your core point that I want to emphasis:

The relevant distinguishing term in the MIT license is,

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

While in BSD 3-clause the term is,

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

This alone should warrant that we put 3C-BSD alongside MIT.

_And to be clear about one thing:_ Popularity is only one factor (Monopoly is popular, adolf was sadly popular, Mc Donald's is popular, Internet Explorer was popular (and now that it is not anymore, it got a whole lot better, if it just were open source...) -
_INSTEAD:_ Licenses themselves offer features which they should be judged upon!

So most of your rant is void to me. However the core statement comparing MIT to BSD still valid IMHO:

So while AGPL3 or BSD-3C may not be as popular as MIT I think both warrant very popular places. Maybe BSD-3C should be used a lot more in practise - instead of MIT - if you closely just compare these clauses?

@ kyleniemeyer

In addition to agreeing that eliminating commonly used licenses seems like a not-great decision

👍 The drop-down should list all popular licenses even if there are "better" options out. Maybe include as the last element "Learn more..." which goes to choosealicense.com ;-)

Suggestions

  • Would you be happy if BSD-3C would appear on the list of choices for new Repos?
  • Would you be happy if on the front page it would list very close alternatives: So that MIT gets say "also look at BSD" and GPL3 gets to say "also look at AGPL3" - not sure what is close/similar but still different to Apache... maybe MPL?

@jeffhammond
Copy link

Fortunately, everyone else knows what BSD actually means and it is described in e.g. https://en.wikipedia.org/wiki/BSD_licenses.

Not everyone insists on painting the bike-shed navy and yellow...

@github github locked and limited conversation to collaborators Aug 31, 2016
@arfon
Copy link

arfon commented Aug 31, 2016

OK, thanks for the feedback all. As I outlined in above we're going to work on a fix for this and make it more straightforward for people who know already know the license they want to use to select it.

There have been some very good comments in this thread but there is also some less helpful language. As a result I'm locking the thread at this point.

For those individuals wishing to have a deep conversation about the relative merits of different open source licenses I encourage you to find a different forum for your discussion 😄

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