github / choosealicense.com

A site to provide non-judgmental guidance on choosing a license for your open source project
https://choosealicense.com
MIT License
3.66k stars 1.33k forks source link

Add list of projects using the ISC license [WIP/RFC] #377

Closed waldyrious closed 8 years ago

waldyrious commented 8 years ago

I'm not creating a PR yet because I'm still collecting projects to figure out which 3 examples would be a good representative sample. Here's what I've got so far:

Some additional notes/TODO:

Any additional pointers?

mlinksva commented 8 years ago

3 programs that are well known, at least among *nix developers/admins:

Found with a wikidata query.

waldyrious commented 8 years ago

Nice, thanks for the additional data and for the Wikidata query example. I hope the interface for those gets more intuitive sometime soon :) I have some questions regarding those:

I've updated my comment above with more info. Some items are tasks I can perform myself, others are questions I'd need help answering.

By the way, @benbalter, is there any way to use Licensee and the Github API to automatically find the most popular repos in github licensed under the ISC license? That would be the ideal way to kickstart this and the other licenses that currently lack examples.

waldyrious commented 8 years ago

I've created a category on the English Wikipedia based on the Wikidata query, and also added OpenStreetMap's iD to the list above.

benbalter commented 8 years ago

is there any way to use Licensee and the Github API to automatically find the most popular repos in github licensed under the ISC license?

No, that's not currently possible via the API.

mlinksva commented 8 years ago

@waldyrious you're right, the ideal example uses are straightforward and none of the three I pointed out are. (BTW, the license notice in each file/one for a repo is something some people feel strongly about one way or the other; I don't.)

I think the ISC projects and OpenBSD are also not straightforward.

Thanks for adding the ISC category on English Wikipedia. Also for all your work on Wikipedia!

waldyrious commented 8 years ago

Thank you both for the comments. At this point I've reached the limit of what info I can collect or what suggestions I can make. I'll need help addressing the two checkboxes that are still open. Can you guys comment on those?

Afterwards we should agree on a list of tools to present as examples. I'm not strongly opposed to complex licenses; I think we're going to have to find a balance between popularity/recognizability and license file clarity/conciseness. Ideally we'd have both, but the most recognizable projects (I'd say sudo, tmux and OpenBSD) are also the more complexly-licensed... The only one that's both quite popular and clearly licenced as ISC is the iD editor, so that should probably be included in the final list.

waldyrious commented 8 years ago

A possible option is mentioning ISC being the default license for new Node.js projects, rather than picking a single node.js package. But that would deviate from the format we've been using for the examples (name+link only)...

mlinksva commented 8 years ago

I think default for Node.js projects and for OpenBSD both face the same problem -- deviation from concrete LICENSE file example.

Given the existing candidates and tradeoffs you've explained, I'd probably go with documentationjs, node-semver, and OpenStreetMap iD ... all straightforward and somewhat popular, and a somewhat good mix of projects.

waldyrious commented 8 years ago

Agreed, sounds like a good compromise to me, although I'm somewhat bummed about tmux and sudo. Anyway, shall I make a PR?

mlinksva commented 8 years ago

Yes, please do make a PR.

waldyrious commented 8 years ago

I'll use this issue to continue listing projects using this license, until a better database is available. (I could add entries to Wikidata, but I suspect entries without a Wikipedia article are kind of a grey area, depending on the popularity of the project.)

mlinksva commented 8 years ago

@waldyrious you're more than welcome to use this issue, though I think Wikidata is the right place longer term. There should be a WikiProject FLOSS (or similar) there, but it seems there isn't yet.

Also useful, https://directory.fsf.org/wiki/Main_Page

The Vis LICENSE file is pretty interesting -- very clear and helpful on noting files using and terms of code taken from other projects -- but unfortunately not in a format programs can easily parse. Thanks for noting here!

waldyrious commented 8 years ago

I've worked a bit on (English) Wikipedia's category structure to have a complete list of categories for each of the licenses covered by choosealicense. Eventually I'll propose adding an automatic link to the category corresponding to each license. Right now I'm only missing the MS-RL and Unlicense, as well as the non-code licenses (not sure how to name the categories). Any suggestions welcome!

As for Wikidata, I agree, although I'm torn on the inability of using it as a comprehensive directory (even for personal pet projects). Besides, the query interface is very poor for presentation at the moment. Reasonator is an interesting alternative, but I wish we could link directly to the "related items" section.

Ideally, some sort of semantic filtering of publicly available codebases (like openhub or searchcode) would be available, but I haven't found anything comprehensive that allows easy filtering by license yet. Maybe Libraries.io could be it -- I need to investigate further.

waldyrious commented 8 years ago

Btw, the FSF directory is an awesome resource! Too bad they don't expose clean query URLs...

For future reference, I'll dump below the current results that are categorized as exclusively ISC-licensed:

Project link Description License file
:octocat: 9mount Tools for mounting 9p filesystems on the Linux kernel COPYING
🔗 BIND BIND, the most widely used DNS software on the Internet COPYRIGHT
:octocat: Configgy Simple config and logging setup for scala. deadlink, apparently now Apache: LICENSE
:octocat: Cowlib Erlang library for manipulating web protocols LICENSE
🔗 Crda wireless Central Regulatory Domain Agent LICENSE
🔗 Distro-info provides information about the distributions' releases copyright
:octocat: FontTools tools to manipulate font files. LICENSE
:octocat: Hitimes fast, high resolution timer for recording performance metrics LICENSE
🔗 Iw tool for configuring Linux wireless devices COPYING
🔗 Libkibi library for byte prefixes COPYING
🔗 Libpuzzle quick similar image finder - shared library COPYING
🔗 MudPy a MUD engine implemented in Python. LICENSE
:octocat: Ocaml-ipaddr library for manipulation of IP (and MAC) address representations (runtime) LICENSE
🔗 OpenClonk A 2D adventure game with mining, building and fighting COPYING
🔗 Openpgp-asciiarmor OpenPGP (RFC4880) ASCII Armor codec; documentation LICENSE
:octocat: Ranch socket acceptor pool for TCP protocols in Erlang LICENSE
:octocat: Read-package-json Read package.json for npm module for Node.js LICENSE
🔗 Red Matrix a webapp platform providing a complete decentralised publishing, sharing, and communications system. LICENSE
🔗 Requestbuilder command line-driven HTTP request builder COPYING
:octocat: Rinku autolinker for Ruby COPYING
🔗 Schelte Bron file selection dialog for Ttk license.txt
🔗 Symmetrica Symmetrica Combinatoric C Library COPYRIGHT STATEMENT
🔗 Tmux Terminal multiplexer COPYING
🔗 Ttyload console based color-coded graphs of CPU load average LICENSE
:octocat: Vcversioner Use version control tags to discover version numbers COPYING
🔗 Wireless-regdb wireless regulatory database LICENSE
mlinksva commented 8 years ago

For software in Debian, there's also https://codesearch.debian.net/perpackage-results/License%3A%20ISC%20path%3Adebian%2Fcopyright/2/page_0 but something more comprehensive is needed. http://upsilon.cc/~zack/talks/2016/2016-01-31-fosdem-compliance.pdf has one interesting vision.

bconry commented 8 years ago

With regard to

I would expect (naturally) @isc-projects's repos to also use this license, but the situation isn't exactly clear (see here vs here). Any clues how to interpret this?

I do have some clues. :)

While most ISC projects are licensed using the ISC License, Kea is licensed using the MPL 2.0. Just to keep things confusing, there are other exceptions as well.

Regarding the list of @isc-projects repos: kea - MPL 2.0 kea-contrib - MPL 2.0 forge - ISC License bind9-stats - Perl 5 isc-dnssec-guide - ISC License mini-kea - ISC License

waldyrious commented 8 years ago

Thanks @bconry! I hope to be able to add those to a proper central repository sometime soon.

@mlinksva could this be an idea for another project by github? i.e. what's-the-license? :) Ideally something merging the properties of a wiki and a database -- probably built on top of Wikibase?

mlinksva commented 8 years ago

Yes, thanks @bconry. bind9-stats is curious -- the README says same license as Perl 5 (Artistic or GPL), but LICENSE contains the text of BSD-2-clause.

@waldyrious :) I concluded a recent talk saying that there should be more sharing of licensing evaluations. BTW I wanted to use the Node.js ISC default you mention above as an example in https://github.com/github/choosealicense.com/pull/394 but couldn't find any documentation other than that commit.

waldyrious commented 8 years ago

@mlinksva besides that commit, I used this link as a reference on Wikipedia -- I don't know it that helps.

mlinksva commented 8 years ago

Thanks, that link is better, but ideally would have some explanation to serve as a good example of community license preference.

Tangentially, a new specialized interface for Wikidata is somewhat helpful, though its features really need to be in the default interface: http://tools.wmflabs.org/sqid/#/view?id=P275 (license property)

waldyrious commented 8 years ago

@bconry how should kea's COPYING file be changed to reflect the MPL 2.0 license that you mentioned above?

waldyrious commented 8 years ago

@bconry also, does bind9-stats use the Artistic License 1.0? That's the one used by Perl 5, according to the actual text of the license, even though v2.0 seems to be preferred according to the article I linked ("The OSI recommends that all developers and projects licensing their products with the Artistic License adopt Artistic License 2.0.").

bconry commented 8 years ago

@waldyrious regarding bind9-stats... First, since the reference is to Perl version 5.12.4 it is definitely referencing the Artistic License 1.0 with the option to use the license from any later version of Perl 5. I just checked Perl 5.25.2 and it's still using the Artistic License 1.0. Second, I have just spoken with Michael Richardson and the inclusion of LICENSE appears to have been accidental. His intent was to use the same licensing terms as Perl 5.

bconry commented 8 years ago

@waldyrious regarding kea's COPYING file, doesn't it already specify the MPL 2.0 (at least for those things not covered by other licenses)?

waldyrious commented 8 years ago

Thanks for the clarifications @bconry. There are slight differences in the text of the Artistic Licence 1.0 from https://opensource.org/licenses/artistic-license-1.0, https://opensource.org/licenses/Artistic-Perl-1.0 and http://dev.perl.org/licenses/artistic.html (the latter matches the version on the git repository). Can you confirm which version should be used for bind9-stats?

As for kea, yes the COPYING file does mention the MPL but I thought it was a requirement to have the full text of the license present. If not, that's fine by me as it is :)

bconry commented 8 years ago

@waldyrious I have confirmed that, aside from whitespace, there are no differences between the 'Artistic' file in the perl-5.12.4.tar.gz ( http://www.cpan.org/src/5.0/perl-5.12.4.tar.gz ) and the version found at the current git HEAD ( http://perl5.git.perl.org/perl.git/blob_plain/HEAD:/Artistic ).

waldyrious commented 8 years ago

@bconry yes, that's correct; as I said, the version in http://dev.perl.org/licenses/artistic.html does match the version on the git repository. The actual differences in content lie between that version and the two Artistic License 1.0 pages hosted by the Open Source Initiative, i.e. https://opensource.org/licenses/artistic-license-1.0 and https://opensource.org/licenses/Artistic-Perl-1.0. If these two are the ones officially recognized as FOSS licenses by the OSI, it might not be a good idea to use the different wording present in the Perl source code. Of course, this could just be an issue of missing synchronization. Got any clues?

In any case, I've just sent this message to OSI:

It appears that neither the text of https://opensource.org/licenses/artistic-license-1.0 nor https://opensource.org/licenses/Artistic-Perl-1.0 match the text of the license in the Perl5 repository: http://perl5.git.perl.org/perl.git/blob/HEAD:/Artistic. Is this just a matter of lacking synchronization, or has the OSI not approved the current text of the license? (note that in all 3 cases above we're talking about the 1.0 version of the license).

waldyrious commented 8 years ago

@bconry I believe I might have figured out what's happened. It turns out there ate not two, but three variants of the Artistic License 1.0. SPDX calls these "Artistic License 1.0", "Artistic License 1.0 w/ clause 8" and "Artistic License 1.0 (Perl)". Here's how they match up with the texts from OSI:

1) OSI's "Artistic License 1.0 (Artistic-1.0)" indeed does match SPDX's "Artistic License 1.0"

2) OSI's "Artistic License (Perl) 1.0" actually corresponds to SPDX's "Artistic License 1.0 w/ clause 8" (i.e. the same as the original, with an extra clause added, which corresponds to how OSI describes it:

This version of the Artistic License 1.0 contains a clause introduced for licensing an implementation of the Perl programming language. (...) Without this clause present, it is called simply the Artistic License 1.0 (abbreviated as Artistic-1.0).

3) SPDX's "Artistic License 1.0 (Perl)" is not present in the OSI website, despite the title of the license in 2) above. This license indeed does match the contents of the file in the Perl repository, the text displayed in the Perl website, and the 'Artistic' file in v5.12.4, as you pointed out.

So, is it safe to assume that bind9-stats uses the license SPDX calls "Artistic License 1.0 (Perl)"?

waldyrious commented 6 years ago

@bconry could you confirm that bind9-stats is intended to be released under the license SPDX calls "Artistic License 1.0 (Perl)" as described in my last comment above? I'd like to submit a PR updating the LICENSE file accordingly.

bconry commented 6 years ago

@waldyrious I'm getting @vrisk to help me look at this. It appears that the copyright might be misattributed, which needs to be cleared up before licensing can be settled.