|
From: | bill-auger |
Subject: | Re: [directory-discuss] Unable to search for GPL packages |
Date: | Tue, 05 Jun 2018 18:03:12 -0400 |
a few things i should note about your wiki page 1. why do you have gitea and notabug listed under non-free? Phabricator also listed under non-free notes that it is "Apache licensed, not GPL" - so it seems that your definition of non-free is: "anything that is not GPL licensed" - the FSF would not agree with that distinction - permissive licenses are considered free - the distinction with the GPL is that they are not copyleft - if that is the distinction you really want to highlight, then the headers should be "Copyleft" vs "Permissive" rather than "Free" vs "NonFree" also it is not clear why both gitea and notabug would appear on the same list - gitea is a self-hosted option and notabug is a public host - that is an important distinction to make - the code running notabug is gogs which is extremely similar to gitea - that particular distinction is hardly worth making - gitea is a fork of gogs and the vast majority of the code-base is in common between them - the main distinction between the two is in the project management philosophy - for that reason, the entry for "gitea" may as well be for both "gitea/gogs" because they are nearly identical from the user perspective -presenting them as such would then make it obvious that gitea/gogs is listed twice with no meaningful distinction noted as to why 2. i notice that some entries have quite good explanation of features while other say very little - for example, the pagure description probably describes every other one that page accurately aside from it is "written in Python" pagure has some unique feature that are attractive to downstreams that i would emphasize such as: * customizations can be done out of tree which makes upgrading fairly painless * entire projects can be easily exported and imported from one instance to another, all by using only git, including issues, pull requests, and their comments because they are stored as git repos - this means for example one could host their project on pagure.io for some time and then migrate everything to their own instance once they decide to self-host - the project can even be mirrored on multiple servers with everything perpetually synchronized by external cron tasks or pagure hooks 3. the URL to the evaluation comparison spreadsheet by peers should not be used formally because it exists only as a public etherpad which is still world writable - it could disappear or be vandalized at any time - i have attached a pristine copy to this message - if you would like to present that information, please host this static file on your server rather than the etherpad link - also, note that this was done almost 2 years ago - some things have changed - for one, we were not aware of gitea at the time, i think it did not exist yet; but gitea would now have the distinction of being the only one that is fully librejs compatible - otherwise, most everything else about gogs would be applicable to gitea - if gitea had been considered at the time, it probably would be displayed as a single column: "gogs/gitea"
August 2016 | Gogs | GitLab CE | Pagure | Kallithea | Phabricator | Launchpad | FusionForge | Vervis | Trac | GitBucket | CodingTeam | |
Live demo instance | http://try.gogs.io | http://gitlab.com/explore | https://stg.pagure.io/ | http://kallithea-scm.org/repos | http://admin.phacility.com | http://launchpad.net | http://fusionforge.org/projects/fusionforge/ | http://dev.seek-together.space | http://trac.edgewall.org/demo-1.0 | http://gitbucket.herokuapp.com (root/root) | http://codingteam.net | Live demo instance |
Language | Go | Ruby | Python | Python | PHP | Python | PHP | Haskell | Python | Scala | PHP | Language |
Test suite | FAIL | PASS | PASS | PASS | PASS - E2E | FAIL | PASS | PASS (core) | FAIL | Test suite | ||
Copyleft License | FAIL - MIT | FAIL - MIT | PASS - GPLv2+ | PASS - GPLv3 | FAIL - Apache 2.0 | PASS - AGPL | PASS - GPL2+ | FAIL - CC0 (standalone/binary release would be GPL though because depends on Darcs and Pandoc which have GPL libraries) | FAIL - Modified BSD | FAIL - Apache | PASS - AGPL | Copyleft License |
Free _javascript_ | PASS | PASS | PASS | PASS | FAIL | PASS | PASS - no JS at all | PASS | PASS | PASS - (except for google analytics) | Free _javascript_ | |
Are the developers libre-concious? (or are they "open source"?) | FAIL - (Independent) | FAIL - (GitLab) | PASS - (Fedora) | PASS - (Software Freedom Conservancy) | FAIL - (faebook/phacility) | FAIL - (Canonical) | PASS - (FSF France) | PASS - (Independnet) | PASS - (Independnet) | ? (Independent) (needs feedback) | PASS - (Independnet) | Are the developers libre-concious? (or are they "open source"?) |
Does NOT require CLA for contributions | PASS - (they had one for a day and then removed it) | FAIL - https://gitlab.com/help/legal/individual_contributor_license_agreement.md | PASS - CLA is very liberal - it is not a copyright assignment https://fedoraproject.org/wiki/Legal:Fedora_Project_Contributor_Agreement | PASS - contribution guidelines are similar to Pagure but not formal | FAIL - (is not a copyright assignment but they reserve the right to dual licence permissive) | PASS | PASS | PASS | PASS | PASS | Does NOT require CLA for contributions | |
Can disable 3rd party services (or uses none) | FAIL - Slack (mandatory - WONTFIX), Gravatar (optional), CDNs to serve libraries (optional) | FAIL - Google reCAPTCHAS and other Google CDN. Social auth (google, twitter, github, bitbucket). Asks users for their "social" accounts (I'm afraid they won't remove this "feature") | PASS - libravatar or gravatar (optional) openID (optional) | PASS - gravatar (optional) | FAIL - reCAPTCHAS, Google auth, cloudfront.net (need feedback), AWS (probably optional) | PASS - need more feedback | PASS - (gravatar, trivialdev.com) | PASS - Libravatar | PASS - (needs feedback) | PASS - Omnipresence, Google Analytics (on their website at least) | Can disable 3rd party services (or uses none) | |
Issue tracker | PASS | PASS | PASS | FAIL - (proposed - but can integrate external tracker) | PASS | PASS | PASS | PASS | PASS | PASS | PASS | Issue tracker |
Gogs | GitLab CE | Pagure | Kallithea | Phabricator | Launchpad | FusionForge | Vervis | Trac | GitBucket | CodingTeam | ||
Milestones / Roadmap | PASS | PASS | PASS | FAIL | PASS | PASS | FAIL | PASS | PASS | Milestones / Roadmap | ||
Forks and Merge Requests | PASS | PASS | PASS | PASS | FAIL - (couldn't find it) | FAIL - (only within teams) | FAIL - (forks only - pull requests propsed) | FAIL | FAIL | PASS | FAIL | Forks and Merge Requests |
On-site alerts | FAIL | FAIL | FAIL | FAIL - it does appear that this feature is in progress because admins do get on-site alerts and issue comments auto-complete @mantions | PASS | FAIL | FAIL | FAIL | FAIL | FAIL | On-site alerts | |
External alerts | PASS - Webhooks, Email (push only) | PASS - Email, RSS | PASS - Webhooks, Email | PASS - RSS | PASS - Email | PASS - Email, Atom | PASS - Email, RSS | FAIL | PASS - Email, RSS | PASS - Webhooks, Email, RSS | PASS - Webhooks, Email, XMPP, RSS, Atom | External alerts |
Public API | PASS | PASS | PASS | PASS | PASS | FAIL - (Issues only - via plugin) | PASS (can use curl etc. for modifying actions, since there's no JS and the web API is plain RESTful | PASS - (GitHub compatible) | FAIL | Public API | ||
Code viewer | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | Code viewer |
Diff viewer | PASS | PASS | PASS | PASS | PASS | PASS | PASS | FAIL | PASS | PASS | PASS | Diff viewer |
History viewer | PASS | PASS | FAIL | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | History viewer |
Blame viewer | FAIL | PASS | FAIL | FAIL | PASS | FAIL | FAIL | FAIL | PASS | PASS | FAIL | Blame viewer |
Raw viewer (or cherry-pick files) | PASS | PASS | PASS | PASS | PASS | PASS | FAIL | PASS | PASS | PASS | Raw viewer (cherry-pick files) | |
Markdown (aside from wiki) | PASS | PASS | PASS | FAIL | FAIL | PASS | PASS | PASS | PASS | PASS - not markdown but HTML on project description, wiki, and issues | Markdown (aside from wiki) | |
Releases (or binary hosting) | PASS | FAIL - (need feedback) | PASS | PASS | FAIL | PASS | PASS | FAIL | FAIL | FAIL | PASS | Releases (or binary hosting) |
Wiki | PASS | PASS | FAIL - (documentation via HTML) | PASS | PASS | FAIL | PASS | PASS | PASS | PASS | PASS | Wiki |
Project Forums | FAIL | FAIL | FAIL | FAIL | FAIL | PASS | FAIL | FAIL | PASS | Project Forums | ||
Code snippets / pastebin | FAIL | PASS | FAIL | PASS | FAIL | PASS | FAIL | FAIL | PASS | PASS | Code snippets / pastebin | |
Federation | FAIL - (WONTFIX) | FAIL | PASS - (allows PR from remote instance) | FAIL | FAIL | FAIL | FAIL | PASS - (WIP core feature) | FAIL | FAIL | PASS - (allows cross-forge searching and forkin?) | Federation |
Gogs | GitLab CE | Pagure | Kallithea | Phabricator | Launchpad | FusionForge | Vervis | Trac | GitBucket | CodingTeam | ||
Private repos | PASS | PASS | PASS | PASS | PASS | FAIL - (premium feature) | PASS | FAIL | FAIL | PASS | PASS | Private repos |
VCS supported | Git | Git | Git | Git, Mercurial | Git, Mercurial, SVN | Git, Bazaar | Bazaar, CVS, Darcs, Git, Mercurial, and Subversion | Git, Darcs | SVN and Git and plugins for Mercurial, Bazaar, Darcs, Perforce, Monotome and CVS | Git | SVN, Git, Mercurial | VCS supported |
Already works with LibreJS | FAIL | FAIL | FAIL | FAIL | FAIL | FAIL | FAIL | PASS | FAIL | FAIL | PASS - Almost, besides google analytics only 2 pages do not | Already works with LibreJS |
Works without _javascript_ | FAIL - Mostly good, but some important features don't | FAIL - cannot register without JS | PASS - except branch selector | FAIL | FAIL - Mostly good, but there are some dropdown menus that don't | FAIL - (gitweb) | PASS | PASS | FAIL - Mostly good, but there are many dropdown menus that don't work without JS | PASS | Works without _javascript_ | |
Does NOT require non-free plugins (eg Flash, Silverlight, Facebook) | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | Does NOT require non-free plugins (eg Flash, Silverlight, Facebook) |
License selection when creating new repo | PASS (free licenses only) | FAIL | FAIL - (not yet?) | FAIL | FAIL | PASS | PASS - (free licenses only) | FAIL | FAIL | FAIL | PASS - (license is mandatory - free licenses only) | License selection when creating new repo |
Gogs | GitLab CE | Pagure | Kallithea | Phabricator | Launchpad | FusionForge | Vervis | Trac | GitBucket | CodingTeam | ||
Allows users to export data | FAIL - (WONTFIX) | PASS | PASS - each project has 4 git repos: * sources * docs * tickets metadata * PRs metadata |
FAIL | FAIL - (need feedback) | PASS - (via plugin) | FAIL | FAIL? | FAIL | PASS - (if you host your own federated server) | Allows users to export data | |
Use libgit | FAIL - Forks all commands to git binary | PASS | PASS - libgit2 (pygit2) | FAIL | FAIL | FAIL | PASS - Uses hit (git repo format impl in Haskell) for repo view and git binary for pull&push | PASS - libgit2 (pygit2) | FAIL | Use libgit | ||
Good Performance | PASS | FAIL | PASS | PASS - (optional async request queues) | PASS | PASS | PASS | PASS | demo instance is rather slow (need feedback) | PASS | Good Performance | |
Acceptable UI (by user vote) | PASS | PASS | PASS | FAIL | FAIL | FAIL | FAIL | FAIL | FAIL | FAIL | PASS | Acceptable UI (by user vote) |
Responsive UI (does it work on smartphones?) | FAIL (very buggy) | PASS | PASS - some pages have small issues | FAIL | PASS | FAIL | FAIL | PASS - few minor issues that should be easily fixable | FAIL - partially responsive, but many pages have issues | FAIL - mostly works but like Gogs forcibly removes horizontal scrollbars, making the pages with issues completely unusable | FAIL | Responsive UI (does it work on smartphones?) |
Build / CI Server Integration | FAIL | PASS | PASS | FAIL | PASS | PASS | PASS | FAIL | FAIL | FAIL | 'Build / CI Server Integration | |
Dogfooding | FAIL - https://github.com/gogits/gogs | PASS - https://gitlab.com/gitlab-org/gitlab-ce/ | PASS - https://pagure.io/pagure | PASS - https://kallithea-scm.org/repos/kallithea | FAIL - https://github.com/phacility/phabricator | PASS - https://launchpad.net/launchpad | PASS - https://fusionforge.org/projects/fusionforge/ | PASS - https://dev.seek-together.space/s/fr33domlover/r/vervis | PASS - https://trac.edgewall.org/browser | FAIL - https://github.com/gitbucket | PASS - http://codingteam.net/project/codingteam | Dogfooding |
Gogs | GitLab CE | Pagure | Kallithea | Phabricator | Launchpad | FusionForge | Vervis | Trac | GitBucket | CodingTeam | ||
TALLY | ||||||||||||
NOTE: sums are based on a crude grep of the cell string content - PASS(+1) FAIL(-1) - so ensure that all colored cells start with one of those tokens | ||||||||||||
Pass | 19 | 23 | 27 | 20 | 13 | 15 | 25 | 18 | 20 | 17 | 27 | Pass |
Fail | 16 | 12 | 8 | 15 | 12 | 16 | 10 | 17 | 14 | 10 | 8 | Fail |
Net Points | 3 | 11 | 19 | 5 | 1 | -1 | 15 | 1 | 6 | 7 | 19 | Net Points |
NotABug Grade | 54% | 66% | 77% | 57% | 52% | 48% | 71% | 51% | 59% | 63% | 77% | NotABug Grade |
UNCERTAINTY | ||||||||||||
Margin of error (Missing entries) | 0 | 0 | 0 | 0 | 10 | 4 | 0 | 0 | 1 | 8 | 0 | Margin of error (Missing entries) |
Lowest Possible Grade | 54% | 66% | 77% | 57% | 37% | 43% | 71% | 51% | 57% | 49% | 77% | Lowest Possible Grade |
Highest Possible Grade | 54% | 66% | 77% | 57% | 66% | 54% | 71% | 51% | 60% | 71% | 77% | Highest Possible Grade |
NOTABLE RESULTS | ||||||||||||
* Vervis is exempted from this list because it is still alpha - but notably it scored higher than some Unique Properies: * CodingTeam and Launchpad are the only ones that are AGPL * CodingTeam is the only one that is nearly librejs compatible * CodingTeam is the only one that has federation * CodingTeam is the only one that requires all repos to have a license * FusionForge is the only one that has an agile issue tracker Unique Missing Properies: * Pagure is the only one that does not have per-file history view * Kallithea is the only one that does not have any sort of issue tracker (but integrates external trackers) * Launchpad is the only one that does not have some sort of external nofitications Possibly Unique Properies (missing data on some): * Gogs and CodingTeam are probably the only ones that do not have a test suite (missing data for Phabricator and Launchpad) * FusionForge is probably the only one that has full E2E tests (missing data for Launchpad) * Pagure is probably the only one with complete export (missing data for Phabricator and Launchpad) * Trac is probably the only one that does not have private repos (missing data for Launchpad) * Pagure is probably the only one that does not have a wiki (but has HTML docs) (missing data for Launchpad) * Phabricator is probably the only one that has on-site alerts (missing data for GitBucket) * Kallithea is probably the only one that does not have milestones (missing data for GitBucket, Phabricator, and Launchpad) * Kallithea is probably the only one that does not render markdown (missing data for Phabricator and Launchpad) * Launchpad is probably the only one that has non-free _javascript_ (missing data for Phabricator) * GitLab is probably the only one that has a copyright assignment agreement (missing data for Phabricator and Launchpad) * There are probably none that do not have raw file view (or cherry-pick dl) (missing data for Phabricator and Launchpad) | ||||||||||||
signature.asc
Description: This is a digitally signed message part
[Prev in Thread] | Current Thread | [Next in Thread] |