<span class="latin" style="width:19px;height:19px;">G</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">o</span><span class="latin" style="width:19px;height:19px;">u</span><span class="latin" style="width:19px;height:19px;">p</span><span class="latin" style="width:19px;height:19px;">:</span><span class="latin" style="width:19px;height:19px;">S</span><span class="latin" style="width:19px;height:19px;">o</span><span class="latin" style="width:19px;height:19px;">f</span><span class="latin" style="width:19px;height:19px;">t</span><span class="latin" style="width:19px;height:19px;">w</span><span class="latin" style="width:19px;height:19px;">a</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">/</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">s</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">a</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">c</span><span class="latin" style="width:19px;height:19px;">h</span><span class="latin" style="width:19px;height:19px;">/</span><span class="latin" style="width:19px;height:19px;">E</span><span class="latin" style="width:19px;height:19px;">x</span><span class="latin" style="width:19px;height:19px;">t</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">n</span><span class="latin" style="width:19px;height:19px;">a</span></span><span class="tktr-gyo" style="height:640px;margin:0 0 180px 22px;font-size:19px;_width:19px;/width:19px;"><span class="latin" style="width:19px;height:19px;">l</span><span class="latin" style="width:19px;height:19px;">R</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">p</span><span class="latin" style="width:19px;height:19px;">o</span><span class="latin" style="width:19px;height:19px;">s</span><span class="latin" style="width:19px;height:19px;">i</span><span class="latin" style="width:19px;height:19px;">t</span><span class="latin" style="width:19px;height:19px;">o</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">i</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">s</span><span class="latin" style="display:block;width:19px;height:19px;"> </span><span class="latin" style="width:19px;height:19px;">-</span><span class="latin" style="display:block;width:19px;height:19px;"> </span><span class="latin" style="width:19px;height:19px;">L</span><span class="latin" style="width:19px;height:19px;">i</span><span class="latin" style="width:19px;height:19px;">b</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">P</span><span class="latin" style="width:19px;height:19px;">l</span><span class="latin" style="width:19px;height:19px;">a</span><span class="latin" style="width:19px;height:19px;">n</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">t</span>  

Navigation menu




LibrePlanet


About 
About LibrePlanet
Mission Statement
Founding documents
Support this Community
Code of Conduct
Anti-harassment policy
Teams 
Activists
Wiki Helpers
LibrePlanet Artists
FSF Community Team
Local & Student Teams
Conferences 
LibrePlanet Conference
Non-official
Get involved 
Participate
Discussion channels
Events
 


Login
 










Group: Software/research/ExternalRepositories

 

From LibrePlanet

< Group:Software | research

Jump to: navigation, search  

Contents

  • 1.2 Goals
  • 1.3 Similar issues
  • 2 FSDG compliant or 100% free software repositories
  • 3 Research
  • 4 List of pages
  • 5 See also
  • 6 References
  • Introduction

    Context

    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

    Goals

    For some reasons, FSDG compliant distributions have many packages that are configured to use third party repositories that contain nonfree software. This makes it complicated for end users to understand what is provided by the distribution and what is not, especially because the FSDG distributions are supposed to be fully free.

    In order to solve this problem, we need to:

    Similar issues

    Some programs are not package managers but have a similar effect: they download and run code from remote locations.

    A well known example of that is web browsers that in many cases automatically run nonfree JavaScript from web pages. And there are several ways to avoid that. Some FSDG distributions even configure some browsers (but usually not all of them) to not run nonfree JavaScript by default. But this typically doesn't cover all browsers, and when a browser is covered, the user is still not in control of the code that is being run (there are legal freedoms as the code is free and that the user can get the source, but it is usually extremely unpractical to run a modified version, even for very technical users).

    But there are also less well known programs that run code from remote locations, and this is dangerous because users are not aware of that. For instance yt-dlp in some situation can also run nonfree JavaScript. Knowing in which conditions it does that requires more research. We also need to do more research to understand which programs are affected. For instance does python-woob also run nonfree JavaScript? If so which version do that? In which conditions?

    FSDG compliant or 100% free software repositories

    This contains repositories that are either 100% free or FSDG compliant.

    Repository type FSDG compliant implementations Policies
    Browser addons See BrowserAddons
    Emacs packages repositories
    GNU Package:
    • Free software licenses[1]
    • No nonfree dependencies[2]
    • Does not recommends nonfree programs[3]
    Source packages manager for GNU packages (and their dependencies)
    Boot software distribution
    Voluntarily follows the FSDG (non official => no process for notifying users if it stops following it)[4]
    General purpose package manager on top of existing distributions
    Unmaintained software Voluntarily follows the FSDG (non official => no process for notifying users if it stops following it)[5]
    Kernel packages repositories

    The CrossDistroBootstrap also has some information on how reusable are some FSDG distribution repositories. For instance PureOS and Trisquel are now in upstream debootstrap, but to use that safely and easily distributions also need to package the PureOS/Trisquel keyrings.

    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 Guix import[6]
    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. ?
    Distribution Status
    Dragora
    Dynebolic
    Guix

    akku

    Hyperbola
    LibreCMC
    Parabola Doesn't have Akku
    ProteanOS
    Replicant
    PureOS
    Trisquel Doesn't have Akku
    Ututo S
    No
    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" No
    anaconda.com repositories
    • Conda
    • Miniconda
    Python According to the What’s in a package blog post from guix-hpc.info, we have package like PyTorch that bring in nonfree dependencies like CUDA in conda. Also note that there are terms of services associated with the use of the servers: "Use of Anaconda’s Offerings at an organization of more than 200 employees requires a Business or Enterprise license. For more information, see our full Terms of Service, or read Frequently Asked Questions about our Terms of Service."[7] ?
    Distribution Status
    Dragora
    Dynebolic
    Guix

    conda

    Hyperbola
    LibreCMC
    Parabola
    ProteanOS
    Replicant
    PureOS
    Trisquel
    Ututo S
    No
    anaconda.org repositories Python Seem to have non-free dependencies. For instance in the recipe of PyTorch) we can see CUDA as dependencies. ?
    Distribution Status
    Dragora
    Dynebolic
    Guix
    Hyperbola
    LibreCMC
    Parabola
    ProteanOS
    Replicant
    PureOS
    Trisquel
    Ututo S
    No
    ConanCenter Conan C/C++ Conan and repository ? ? No
    Composer PHP Yes
    CPAN ? Perl Allow any license (including nonfree software) ? Yes
    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. Yes
    CRAN (via the Guix CRAN channel)

    (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.

    Yes[8]
    crates.io Cargo Rust ? ? lib.rs is a a free frontend to crates so the repository can be viewed without non-free JS. Yes
    Eggs Scheme Yes
    Elm Elm Yes
    Hackage Cabal Haskell FLOSS license required, points to FSF and OSI for the licenses list. ? Yes
    luarocks luarocks Lua ? ?
    Distribution Status
    Dragora Has luarocks
    Dynebolic
    Guix Doesn't have luarocks
    Hyperbola
    LibreCMC
    Parabola Has luarocks
    ProteanOS
    Replicant
    PureOS
    Trisquel
    Ututo S
    npm Registry npm JavaScript ? ?
    hex.pm Erlang Yes
    opam OCaml Yes
    PECL ? PHP Allow nonfree software, GPL and LGPLv3 (libraries?) not accepted ?
    pkg.go.dev Go ? ? Yes
    Python Package Index
    • pip
    Python Allow any license (including nonfree software) ?
    Distribution Status
    Dragora
    Dynebolic
    Guix
    Hyperbola
    LibreCMC
    Parabola blacklisted
    ProteanOS
    Replicant
    PureOS
    Trisquel blacklisted
    Ututo S

    It is also possible to run your own private repository: pypi.org mentions that "PyPI does not support publishing private packages. If you need to publish your private package to a package index, the recommended solution is to run your own deployment of the devpi project."[9] and Guix has the

    python-devpi-server package.

    Yes
    RubyGems rubygems Ruby Allow any license (including nonfree software) ?
    Distribution Status
    Dragora
    Dynebolic
    Guix
    Hyperbola
    LibreCMC
    Parabola blacklisted
    ProteanOS
    Replicant
    PureOS
    Trisquel
    Ututo S
    Yes
    Stackage Haskell Yes
    Texlive Tex, LaTeX Yes

    Parabola has a bug report (bug #1035) about programming language package managers, it has more reference and information on the issue.

    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[10] Free software[11] Very strict[11] FSDG compliant[11]
    ELPA non-GNU Emacs Lisp Package Archive Yes, since emacs 28.1[10] Free software[11] Very strict[11] FSDG compliant[11]
    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
    • 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.

    Containers and VM

    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.

    Program name Repository type Repository website Licenses requirements Reliability of license fields Status
    Docker Repository of distribution installation images and software images https://hub.docker.com/ Allows nonfree software There is no standard way to report the licenses being used. In many cases this makes it extremely complicated to know the license of a container. In other cases, (like a PureOS image) you can use the tools of the distribution to find out (PureOS packages do have licenses). 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.
    Distribution Status
    Dragora
    Dynebolic
    Guix Has a docker package
    Hyperbola
    LibreCMC
    Parabola #3421 Patched to not use docker hub by default. Users have to manually specify which docker repository to use when using docker commands that use docker repositories.
    ProteanOS
    Replicant Doesn't ship docker
    PureOS Has a docker package
    Trisquel
    Ututo S
    GNOME Boxes (+osinfo-db) Repository of distribution installation images that is constructed with libosinfo and osinfo-db
    Distribution Status
    Dragora
    Dynebolic
    Guix Bug #60109
    Hyperbola
    LibreCMC
    Parabola Gnome Boxes and/or libosinfo are patched to only show FSDG compliant distributions.
    ProteanOS
    Replicant Doesn't ship GNOME Boxes
    PureOS byzantium Has a gnome-boxes package
    Trisquel
    Ututo S
    LXC 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.
    Distribution Status
    Dragora
    Dynebolic
    Guix '/gnu/store/*-lxc-*/share/lxc/templates/lxc-download --list' lists non-fsdg compliant distributions.
    Hyperbola
    LibreCMC
    Parabola '/usr/share/lxc/templates/lxc-download --list' lists non-fsdg compliant distributions.
    ProteanOS
    Replicant
    PureOS
    Trisquel
    Ututo S

    Games

    Program name Repository type Repository website Licenses requirements Reliability of license fields Status
    Supertuxkart Addons ? ? ?
    Wesnoth Addons ?
    • For code: License(s) compatible with the GPLv2 or later[12].
    • For the rest: or "GPLv2 or later", or creative common (including nonfree ones)[13].
    Xonotic Content downloaded during online games:
    • Maps
    • Music
    • Other?
    ? ? ?
    Distribution Status
    Dragora
    Dynebolic
    Guix

    xonotic

    Hyperbola
    LibreCMC
    Parabola Bug #2360
    ProteanOS
    Replicant Doesn't ship xonotic
    PureOS byzantium Doesn't ship xonotic
    Trisquel Doesn't ship xonotic
    Ututo S

    Other 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".
    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
    Gajim Instant messaging client Repository of plugins plugins from ftp.gajim.org ? ?
    Distribution Status
    Dragora
    Dynebolic
    Guix
    Hyperbola
    LibreCMC
    Parabola
    ProteanOS
    Replicant Doesn't ship Gajim
    PureOS byzantium
    Trisquel
    • Has

    gajim-plugininstaller

    Ututo S
    Kicad 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.
    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
    Ututo S
    Libreoffice Document editing software Extensions extensions.libreoffice.org ? ?

    TODO:

    • Needs confirmation of the bug (Does upstream have licenses requirements or not?).
    Distribution Status
    Dragora
    Dynebolic
    Guix

    libreoffice

    Hyperbola
    LibreCMC
    Parabola Bug #3412
    ProteanOS
    Replicant Doesn't ship libreoffice
    PureOS byzantium Has a libreoffice package
    Trisquel

    libreoffice

    Ututo S
    Nextcloud Collaboration server Addons apps.nextcloud.com ? ? TODO: Check if Nextcloud uses apps.nextcloud.com
    Distribution Status
    Dragora
    Dynebolic
    Guix Doesn't have nextcloud
    Hyperbola Doesn't have nextcloud
    LibreCMC
    Parabola Has nextcloud
    ProteanOS
    Replicant Doesn't have nextcloud
    PureOS
    Trisquel Doesn't have nextcloud
    Ututo S
    phoronix-test-suite Performance benchmarking tool tests
    Distribution Status
    Dragora Doesn't have phoronix-test-suite
    Dynebolic
    Guix Filters out nonfree tests
    Hyperbola Doesn't have phoronix-test-suite
    LibreCMC
    Parabola Filters out nonfree tests
    ProteanOS
    Replicant Doesn't have phoronix-test-suite
    PureOS
    Trisquel
    * Only available in Trisquel 9.0 (etiona)
    * bug #23630 (for etiona)
    
    Ututo S

    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.

  • DockerRegistries
  • FlatpakRegistries

  • (Note that this page does not automatically update; if you add another page under Hardware/, make sure to refresh/purge this page.)


    See also

    References

    1. 1.01.1 https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
  • 2.02.1 https://www.gnu.org/help/evaluation.html
  • 3.03.1 https://www.gnu.org/prep/maintain/maintain.html#Ethical-and-Philosophical-Consideration
  • The Canoeboot declared that "Canoeboot adheres to GNU FSDG, which means it must not directly distribute proprietary software, and neither should it lead people towards proprietary software." on the GNU Boot mailing list. And Canoeboot isn't listed in the list of FSDG compliant distributions in gnu.org/distros. This means that the maintainer voluntarily follows the FSDG. If the maintainer stops following it there is no way to notify users though.
  • The project declared that "This channel provides exclusively free software in accordance with the FSDG." on the project README.md. This means that the maintainers voluntarily follows the FSDG. If the maintainers stops following it there is no way to notify users though.
  • This could help avoiding the use of the repository as it makes it easier to create packages and/or check licensing information for the software you want/need. See the "10.5 Invoking guix import" section in the Guix manual for more information. Also note that guix import also works on some 100% free repositories like elpa, and it also has an importer for GNU packages as well.
  • https://www.anaconda.com/pricing/
  • Guix-cran probably already uses guix import to generate the packages.
  • https://pypi.org/help/#private-indices
  • 10.010.1 Reference: https://www.emacswiki.org/emacs/ELPA
  • 11.011.111.211.311.411.5 The repository is hosted in savannah. Since Savannah has extremely strict licensing requirements for hosting, so it should be OK.
  • https://wiki.wesnoth.org/Wesnoth:Copyrights#User_Made_Content_-_Code
  • https://wiki.wesnoth.org/Wesnoth:Copyrights#User_Made_Content_-_Visual_and_Audio_Content

  • "issue" is not in the list (interest, location, project, school) of allowed values for the "Organized around" property.

    This page was a featured resource in October 2024.


    Retrieved from "https://libreplanet.org/wiki?title=Group:Software/research/ExternalRepositories&oldid=72236" 



















    FSF
    The Free Software Foundation (FSF) is a nonprofit with a worldwide mission to promote computer user freedom.

    We defend the rights of all software users. (Read more)
     



    Campaigns


    High Priority Free Software Projects

    Free JavaScript

    Secure Boot vs Restricted Boot

    GNU Operating System

    Defective by Design

    See all campaigns
     



    Get Involved



    Contact
     




    Send your feedback on our translations and new translations of pages to campaigns@fsf.org.

    Copyright © 20132023 Free Software Foundation, Inc.  Privacy Policy, JavaScript license information