Group: Software/research/ExternalRepositories
(→FSDG compliant repositories: Add linux-libre packages repositories. Rationale: There is only linux-libre in these repositories and linux-libre is fully free software and it's used by some FSDG compliant distributions without patching it.) |
(→FSDG compliant repositories: Add rationale for Guix being FSDG compliant.) |
||
(20 intermediate revisions by the same user not shown) | |||
Line 16: | Line 16: | ||
! Repository type | ! Repository type | ||
! FSDG compliant implementations | ! FSDG compliant implementations | ||
+ | ! References for FSDG compliance | ||
|- | |- | ||
| Browser addons | | Browser addons | ||
Line 24: | Line 25: | ||
* [https://elpa.gnu.org/ ELPA GNU] | * [https://elpa.gnu.org/ ELPA GNU] | ||
* [https://elpa.nongnu.org/ ELPA non-GNU] | * [https://elpa.nongnu.org/ ELPA non-GNU] | ||
+ | |- | ||
+ | | Source packages manager for GNU packages (and their dependencies) | ||
+ | | | ||
+ | * [https://www.gnu.org/software/gsrc/package-list.html GSRC] | ||
+ | | GNU Package: | ||
+ | * Free software licenses<ref>https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages</ref> | ||
+ | * No nonfree dependencies<ref>https://www.gnu.org/help/evaluation.html</ref> | ||
+ | * Does not recommend nonfree programs<ref>https://www.gnu.org/prep/maintain/maintain.html#Ethical-and-Philosophical-Consideration</ref> | ||
|- | |- | ||
| General purpose package manager on top of existing distributions | | General purpose package manager on top of existing distributions | ||
| | | | ||
* [https://guix.gnu.org Guix] | * [https://guix.gnu.org Guix] | ||
+ | | In the [https://www.gnu.org/distros/free-distros.html list of FSDG compliant GNU distros] | ||
|- | |- | ||
| Kernel packages repositories | | Kernel packages repositories | ||
Line 43: | Line 53: | ||
== Research == | == Research == | ||
− | == Programming languages == | + | === Programming languages === |
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 52: | Line 62: | ||
! Reliability of license fields | ! Reliability of license fields | ||
! Status | ! Status | ||
+ | |- | ||
+ | ! Akku | ||
+ | | [https://akkuscm.org/ Akku] | ||
+ | | R6RS/R7RS scheme | ||
+ | | Its [https://akkuscm.org/docs/manpage.html its man page] has: "Please pay some attention to the license field to make sure that it is accurate. Use the identifiers from the SPDX project, making sure to use an open source license.". This means that it probably allows the artistic license 1.0 which is non-free as [https://opensource.org/license/artistic-1-0/ it is open-source] but [https://www.gnu.org/licenses/license-list.html#ArtisticLicense not free according to GNU] unless someone convince them to change this. | ||
+ | | ? | ||
+ | | | ||
+ | {| class="wikitable" border="1" | ||
+ | ! Distribution | ||
+ | ! Status | ||
+ | |- | ||
+ | | Dragora | ||
+ | | | ||
+ | |- | ||
+ | | Dynebolic | ||
+ | | | ||
+ | |- | ||
+ | | Guix | ||
+ | | {{DistroPackage|Guix|akku}} | ||
+ | |- | ||
+ | | Hyperbola | ||
+ | | | ||
+ | |- | ||
+ | | LibreCMC | ||
+ | | | ||
+ | |- | ||
+ | | Parabola | ||
+ | | Doesn't have Akku | ||
+ | |- | ||
+ | | ProteanOS | ||
+ | | | ||
+ | |- | ||
+ | | Replicant | ||
+ | | | ||
+ | |- | ||
+ | | PureOS | ||
+ | | | ||
+ | |- | ||
+ | | Trisquel | ||
+ | | Doesn't have Akku | ||
+ | |- | ||
+ | | Ututo S | ||
+ | | | ||
+ | |} | ||
+ | |- | ||
+ | ! Alire | ||
+ | | alire (pureOS?) | ||
+ | | Ada, SPARK | ||
+ | | colspan=3 | [https://alire.ada.dev/docs/#the-alire-manifest Not reliable, even allows no license]: "The manifest [...] contains [...] information about the crate [...] such as the name and version, others optional like the licenses" | ||
|- | |- | ||
! [https://conan.io/center/ ConanCenter] | ! [https://conan.io/center/ ConanCenter] | ||
Line 90: | Line 149: | ||
| ? | | ? | ||
| | | | ||
+ | |- | ||
+ | ! [https://luarocks.org/ luarocks] | ||
+ | | luarocks | ||
+ | | Lua | ||
+ | | ? | ||
+ | | ? | ||
+ | | | ||
+ | {| class="wikitable" border="1" | ||
+ | ! Distribution | ||
+ | ! Status | ||
+ | |- | ||
+ | | Dragora | ||
+ | | [https://repo.or.cz/dragora.git/blob/HEAD:/recipes/lua/luarocks/recipe Has luarocks] | ||
+ | |- | ||
+ | | Dynebolic | ||
+ | | | ||
+ | |- | ||
+ | | Guix | ||
+ | | Doesn't have luarocks | ||
+ | |- | ||
+ | | Hyperbola | ||
+ | | | ||
+ | |- | ||
+ | | LibreCMC | ||
+ | | | ||
+ | |- | ||
+ | | Parabola | ||
+ | | Has luarocks | ||
+ | |- | ||
+ | | ProteanOS | ||
+ | | | ||
+ | |- | ||
+ | | Replicant | ||
+ | | | ||
+ | |- | ||
+ | | PureOS | ||
+ | | | ||
+ | |- | ||
+ | | Trisquel | ||
+ | | | ||
+ | |- | ||
+ | | Ututo S | ||
+ | | | ||
+ | |} | ||
|- | |- | ||
! [https://www.npmjs.com/ npm Registry] | ! [https://www.npmjs.com/ npm Registry] | ||
Line 248: | Line 351: | ||
| Emacs Lisp Package Archive | | Emacs Lisp Package Archive | ||
| {{yes|Yes, since emacs 28.1}}<ref name="emacswiki-elpa"></ref> | | {{yes|Yes, since emacs 28.1}}<ref name="emacswiki-elpa"></ref> | ||
− | | Free software<ref name="savannah"> | + | | Free software<ref name="savannah"></ref> |
| {{Yes|Very strict}}<ref name="savannah"></ref> | | {{Yes|Very strict}}<ref name="savannah"></ref> | ||
| {{Yes|FSDG compliant}}<ref name="savannah"></ref> | | {{Yes|FSDG compliant}}<ref name="savannah"></ref> | ||
Line 261: | Line 364: | ||
| | | | ||
|- | |- | ||
+ | |} | ||
+ | |||
+ | === Browser addons === | ||
+ | |||
+ | For known FSDG compliant repositories that have browser addons, see the [[Group:Software/research/ExternalRepositories/BrowserAddons|BrowserAddons]] wiki page. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | ! Repository name / URL | ||
+ | ! Compatible browsers | ||
+ | ! Licenses requirements | ||
+ | ! Reliability of license fields | ||
+ | ! Status | ||
+ | ! Comments | ||
+ | |- | ||
+ | | addons.mozilla.org | ||
+ | | | ||
+ | * Firefox and derivatives | ||
+ | | | ||
+ | | | ||
+ | * Don't seem very strict. | ||
+ | * I was told that it wasn't possible to make certain distinctions (multiple licenses? GPL specific versions? Licenses with exceptions (GPL + exception), etc. | ||
+ | | | ||
+ | * Not FSDG compliant | ||
+ | * Already removed from most/all FSDG compliant distributions. | ||
+ | | | ||
|} | |} | ||
Line 273: | Line 401: | ||
! Reliability of license fields | ! Reliability of license fields | ||
! Status | ! Status | ||
+ | |- | ||
+ | ! Arduino | ||
+ | | IDE | ||
+ | | Repository of software to support microcontroller boards (available in "Boards Manager") | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | The Arduino IDE has a package manager in "Tools" -> "Board: [...]" -> "Boards Manager". | ||
+ | {| class="wikitable" border="1" | ||
+ | ! Distribution | ||
+ | ! Status | ||
+ | |- | ||
+ | | Dragora | ||
+ | | | ||
+ | |- | ||
+ | | Dynebolic | ||
+ | | | ||
+ | |- | ||
+ | | Guix | ||
+ | | Doesn't ship arduino (yet) | ||
+ | |- | ||
+ | | Hyperbola | ||
+ | | | ||
+ | |- | ||
+ | | LibreCMC | ||
+ | | | ||
+ | |- | ||
+ | | Parabola | ||
+ | | Present | ||
+ | |- | ||
+ | | ProteanOS | ||
+ | | | ||
+ | |- | ||
+ | | Replicant | ||
+ | | Doesn't ship arduino | ||
+ | |- | ||
+ | | PureOS byzantium | ||
+ | | Has an arduino package | ||
+ | |- | ||
+ | | Trisquel | ||
+ | | | ||
+ | |- | ||
+ | | Ututo S | ||
+ | | | ||
+ | |} | ||
|- | |- | ||
! Docker | ! Docker | ||
Line 292: | Line 465: | ||
|- | |- | ||
| Guix | | Guix | ||
− | | | + | | Has a docker package |
|- | |- | ||
| Hyperbola | | Hyperbola | ||
Line 301: | Line 474: | ||
|- | |- | ||
| Parabola | | Parabola | ||
− | | [https://labs.parabola.nu/issues/3422?next_issue_id=3421 #3421] | + | | <s>[https://labs.parabola.nu/issues/3422?next_issue_id=3421 #3421]</s> Patched to not use docker.io by default. Users have to manually specify which docker repository to use when using docker commands that use docker repositories. |
|- | |- | ||
| ProteanOS | | ProteanOS | ||
Line 310: | Line 483: | ||
|- | |- | ||
| PureOS | | PureOS | ||
− | | | + | | Has a docker.io package |
|- | |- | ||
| Trisquel | | Trisquel | ||
Line 354: | Line 527: | ||
| Doesn't ship GNOME Boxes | | Doesn't ship GNOME Boxes | ||
|- | |- | ||
− | | PureOS | + | | PureOS byzantium |
+ | | Has a gnome-boxes package | ||
+ | |- | ||
+ | | Trisquel | ||
+ | | | ||
+ | |- | ||
+ | | Ututo S | ||
+ | | | ||
+ | |} | ||
+ | |- | ||
+ | ! Kidad | ||
+ | | PCB design software | ||
+ | | Repository of Kicad plugins | ||
+ | | https://repository.kicad.org/ | ||
+ | | | ||
+ | | | ||
+ | | In tools->Plugin and content manager, there is a package manager of Kicad addons. | ||
+ | {| class="wikitable" border="1" | ||
+ | ! Distribution | ||
+ | ! Status | ||
+ | |- | ||
+ | | Dragora | ||
+ | | | ||
+ | |- | ||
+ | | Dynebolic | ||
+ | | | ||
+ | |- | ||
+ | | Guix | ||
+ | | Has Kicad | ||
+ | |- | ||
+ | | Hyperbola | ||
+ | | | ||
+ | |- | ||
+ | | LibreCMC | ||
+ | | | ||
+ | |- | ||
+ | | Parabola | ||
+ | | Has a kicad package | ||
+ | |- | ||
+ | | ProteanOS | ||
| | | | ||
+ | |- | ||
+ | | Replicant | ||
+ | | Doesn't ship kicad | ||
+ | |- | ||
+ | | PureOS byzantium | ||
+ | | Has a kicad package | ||
|- | |- | ||
| Trisquel | | Trisquel | ||
Line 384: | Line 602: | ||
|- | |- | ||
| Guix | | Guix | ||
− | | | + | | {{DistroPackage|Guix|libreoffice}} |
|- | |- | ||
| Hyperbola | | Hyperbola | ||
Line 401: | Line 619: | ||
| Doesn't ship libreoffice | | Doesn't ship libreoffice | ||
|- | |- | ||
− | | PureOS | + | | PureOS byzantium |
− | | | + | | Has a libreoffice package |
|- | |- | ||
| Trisquel | | Trisquel | ||
− | | | + | | {{DistroPackage|Trisquel|libreoffice}} |
|- | |- | ||
| Ututo S | | Ututo S | ||
Line 567: | Line 785: | ||
| | | | ||
|- | |- | ||
+ | |} | ||
+ | |||
+ | === GNU packages === | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | ! Repository name | ||
+ | ! Repository type | ||
+ | ! Licenses requirements | ||
+ | ! Reliability of license fields | ||
+ | ! Status | ||
+ | |- | ||
+ | ! [https://launchpad.net/~dns/+archive/ubuntu/gnu?field.series_filter= GNU PPA] | ||
+ | | | ||
+ | | | ||
+ | | | ||
|} | |} | ||
Latest revision as of 13:59, 30 April 2024
Contents
Introduction
While distributions typically have high quality packages that work fine, a lot of software is not packaged in distributions.
This often lead users to rely on third party package managers that are often provided by the distribution.
This page tries to summarize the research about such third party package managers, especially to understand which one can be added in or kept in FSDG compliant distributions, and which ones should be removed or replaced.
Read a related article: Keeping track of freedom while managing packages
FSDG compliant repositories
This contains lists of FSDG compliant repositories.
Repository type | FSDG compliant implementations | References for FSDG compliance |
---|---|---|
Browser addons | See BrowserAddons | |
Emacs packages repositories | ||
Source packages manager for GNU packages (and their dependencies) | GNU Package: | |
General purpose package manager on top of existing distributions | In the list of FSDG compliant GNU distros | |
Kernel packages repositories |
The CrossDistroBootstrap also has some information on how reusable are some FSDG distribution repositories. For instance PureOS is now in upstream debootstrap, but other FSDG compliant distributions need to wait for a new debootstrap release, and they might also need to package the PureOS keyring to enable users to safely use their repositories.
As for using other distribution repositories, the DistroExecutionEnvironments page has more information about which container/virtualization systems work with which distribution.
Research
Programming languages
Repository name | Programs / Packages | Repository type | Licenses requirements | Reliability of license fields | Status | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Akku | Akku | R6RS/R7RS scheme | Its its man page has: "Please pay some attention to the license field to make sure that it is accurate. Use the identifiers from the SPDX project, making sure to use an open source license.". This means that it probably allows the artistic license 1.0 which is non-free as it is open-source but not free according to GNU unless someone convince them to change this. | ? |
|
||||||||||||||||||||||||
Alire | alire (pureOS?) | Ada, SPARK | Not reliable, even allows no license: "The manifest [...] contains [...] information about the crate [...] such as the name and version, others optional like the licenses" | ||||||||||||||||||||||||||
ConanCenter | Conan | C/C++ Conan and repository | ? | ? | |||||||||||||||||||||||||
CPAN | ? | Perl | Allow any license (including nonfree software) | ? | |||||||||||||||||||||||||
CRAN | ? | R | The CRAN policy has strict license requirements, but it also allows the following nonfree licenses:
|
Very high. See "Source packages" in the CRAN policy. | |||||||||||||||||||||||||
Guix CRAN
(unofficial Guix repository) |
N/A | R | Same as CRAN. | Not referenced by FSDG distributions, so nothing to fix.
Since CRAN licensing information is very strict, it might be very easy to make an FSDG compliant repository out of it, by removing packages with licenses considered nonfree by GNU / The FSF. That repository is already fully automated so it might be very easy to fix and maintain. |
|||||||||||||||||||||||||
Hackage | Cabal | Haskell | FLOSS license required, points to FSF and OSI for the licenses list. | ? | |||||||||||||||||||||||||
luarocks | luarocks | Lua | ? | ? |
|
||||||||||||||||||||||||
npm Registry | npm | JavaScript | ? | ? | |||||||||||||||||||||||||
PECL | ? | PHP | Allow nonfree software, GPL and LGPLv3 (libraries?) not accepted | ? | |||||||||||||||||||||||||
pkg.go.dev | Go | ? | ? | ||||||||||||||||||||||||||
Python Package Index |
|
Python | Allow any license (including nonfree software) | ? |
|
||||||||||||||||||||||||
RubyGems | rubygems | Ruby | Allow any license (including nonfree software) | ? |
|
||||||||||||||||||||||||
Crates | Cargo | Rust | ? | ? | lib.rs is a a free frontend to crates so the repository can be viewed without non-free JS. |
Parabola has a bug report (bug #1035) about programming language package managers, it has more reference and information on the issue.
Docker and flatpak registries
See Group:Software/research/ExternalRepositories/DockerRegistries for more details about Docker registries, how to run your own registry easily, etc.
There is also a page about flatpak: Group:Software/research/ExternalRepositories/FlatpakRegistries.
Emacs
Repository name | Repository type | Enabled by default? | Licenses requirements | Reliability of license fields | Status | Comments |
---|---|---|---|---|---|---|
guix-emacs | Guix packages for MELPA | N/A | Same than MELPA? | ? | ? | The packages are generated automatically, so maybe it's possible somehow to filter-out nonfree software if there is some. |
ELPA GNU | Emacs Lisp Package Archive | Yes, since emacs 24[4] | Free software[5] | Very strict[5] | FSDG compliant[5] | |
ELPA non-GNU | Emacs Lisp Package Archive | Yes, since emacs 28.1[4] | Free software[5] | Very strict[5] | FSDG compliant[5] | |
MELPA | ELPA-compatible package repository | No | ? | ? | ? |
Browser addons
For known FSDG compliant repositories that have browser addons, see the BrowserAddons wiki page.
Repository name / URL | Compatible browsers | Licenses requirements | Reliability of license fields | Status | Comments |
---|---|---|---|---|---|
addons.mozilla.org |
|
|
|
Programs
Program name | Program type | Repository type | Repository website | Licenses requirements | Reliability of license fields | Status | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Arduino | IDE | Repository of software to support microcontroller boards (available in "Boards Manager") | The Arduino IDE has a package manager in "Tools" -> "Board: [...]" -> "Boards Manager".
|
|||||||||||||||||||||||||||
Docker | Virtualization software | Repository of distribution installation images and software images | Docker has a default repository for images according to the docker bug #7203 and to a stackoverflow comment. Since that repository is used in the 'docker' command line tool, it needs to be replaced or removed.
|
|||||||||||||||||||||||||||
GNOME Boxes (+osinfo-db) | Virtualization software | Repository of distribution installation images that is constructed with libosinfo and osinfo-db |
|
|||||||||||||||||||||||||||
Kidad | PCB design software | Repository of Kicad plugins | https://repository.kicad.org/ | In tools->Plugin and content manager, there is a package manager of Kicad addons.
|
||||||||||||||||||||||||||
Libreoffice | Document editing software | Extensions | extensions.libreoffice.org | ? | ? |
TODO:
|
||||||||||||||||||||||||
LXC | Virtualization software | Repository of distribution packages / rootfs | images.linuxcontainers.org | ? | ? | LXC provides $prefix/share/lxc/templates/lxc-download which can download various distributions like Debian, Ubuntu, etc.
|
||||||||||||||||||||||||
Nextcloud | Collaboration server | Addons | apps.nextcloud.com | ? | ? | TODO: Check if Nextcloud uses apps.nextcloud.com
|
||||||||||||||||||||||||
phoronix-test-suite | Performance benchmarking tool | tests |
|
|||||||||||||||||||||||||||
Wesnoth | Game | Addons | ? | ? | ? | |||||||||||||||||||||||||
Xonotic | Game | Content downloaded during online games:
|
? | ? | ? |
GNU packages
Repository name | Repository type | Licenses requirements | Reliability of license fields | Status |
---|---|---|---|---|
GNU PPA |
List of pages
This set of pages talks about external repositories.
(Note that this page does not automatically update; if you add another page under Hardware/, make sure to refresh/purge this page.)
See also
- DistroUpstreamSupport: This page has a list of which FSDG distributions are supported in some of the external repositories present here.
- CrossDistroBootstrap: For how to bootstrap an FSDG distribution from another FSDG compliant distribution.
References
- ↑ https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
- ↑ https://www.gnu.org/help/evaluation.html
- ↑ https://www.gnu.org/prep/maintain/maintain.html#Ethical-and-Philosophical-Consideration
- ↑ 4.04.1 Reference: https://www.emacswiki.org/emacs/ELPA
- ↑ 5.05.15.25.35.45.5 The repository is hosted in savannah. Since Savannah has extremely strict licensing requirements for hosting, so it should be OK.
"issue" is not in the list (interest, location, project, school) of allowed values for the "Organized around" property.