Closed waldyrious closed 8 years ago
3 programs that are well known, at least among *nix developers/admins:
Found with a wikidata query.
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.
I've created a category on the English Wikipedia based on the Wikidata query, and also added OpenStreetMap's iD to the list above.
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.
@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!
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.
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)...
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.
Agreed, sounds like a good compromise to me, although I'm somewhat bummed about tmux and sudo. Anyway, shall I make a PR?
Yes, please do make a PR.
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.)
@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!
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.
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 |
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.
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
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?
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.
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)
@bconry how should kea's COPYING file be changed to reflect the MPL 2.0 license that you mentioned above?
@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.").
@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.
@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)?
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 :)
@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 ).
@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).
@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)"?
@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.
@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.
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:
It appears that several of @mapbox's repositories are released under the ISC license, but there are a lot of them so I need to sift through them to find the best representative sample.The Node.js package init tool defaults to ISC, so there are bound to be popular packages using the ISC license. I need to find a way to filter the npm repository by license and find the most popular ones.NetBSD appears to have some components licensed under ISC, need to confirm.Any additional pointers?