Group: FSF:Tech Team Volunteers

From LibrePlanet
Jump to: navigation, search
(Add Galene issue)
(Updated link. Reuse migrated to codeberg.)
 
(14 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
The FSF tech team wants your help!  
 
The FSF tech team wants your help!  
  
The FSF Tech Team consists of two full time staff members (plus, sometimes, an inter or two).  Along with teams of volunteers (such as the Savannah Hackers and the GNU Webmasters), we maintain and improve the infrastructure and services that power the free software movement. Starting in 2023, our small team began steps to increase the number and types of tasks that we can accept volunteer help with. In 2024 we have even more planned.  
+
The FSF Tech Team consists of two full time staff members (plus, sometimes, an intern or two).  Along with teams of volunteers (such as the Savannah Hackers and the GNU Webmasters), we maintain and improve the infrastructure and services that power the free software movement. Starting in 2023, our small team began steps to increase the number and types of tasks that we can accept volunteer help with. In 2025, we have even more planned.  
  
 
Whether you have a few hours a week, or a few hours every couple of months please read on and consider joining in!
 
Whether you have a few hours a week, or a few hours every couple of months please read on and consider joining in!
Line 10: Line 10:
  
 
* You run GNU/Linux on your personal computer.
 
* You run GNU/Linux on your personal computer.
 +
* You have at least a few hours to spend.
 
* You are reasonably familiar with using the command line.
 
* You are reasonably familiar with using the command line.
 
* You know some basics of GNU/Linux server administration.
 
* You know some basics of GNU/Linux server administration.
* You can create a virtual machine on a computer you own with virt-manager or virsh and expose a port to the internet.
+
* You self-host services for yourself on your own hardware as a hobby.
 
* You are reasonably familiar with using git.
 
* You are reasonably familiar with using git.
 
* You can write technical documentation.
 
* You can write technical documentation.
* You are comfortable communicating on mumble, IRC, and email.
+
* You are comfortable communicating on IRC, mumble, and email.
* You have at least a few hours to spend.
 
  
 
== How to volunteer ==
 
== How to volunteer ==
Line 22: Line 22:
 
* Possibly just dive into different work listed below.
 
* Possibly just dive into different work listed below.
 
* Join IRC: https://libera.chat, channel #fsfsys and say hi and that you are interested in helping out.
 
* Join IRC: https://libera.chat, channel #fsfsys and say hi and that you are interested in helping out.
* Catch up on IRC history. Get 1-2 days of chat history by saying "fsysbot catch me up" in #fsfsys. NOTE: This not a public log. We assume you know that anyone can join and request the last 24-48 hours of logs which are shared only to that person and that sharing does not imply permission to reshare the log. More info on logging is on [https://libera.chat/policies/ Libera.Chat].
+
* Catch up on IRC history. Get 1-2 days of chat history by saying "fsysbot catch me up" in #fsfsys. The bot should take a few minutes to respond. NOTE: This not a public log. We assume you know that anyone can join and request the last 24-48 hours of logs which are shared only to that person and that sharing does not imply permission to reshare the log. More info on logging is on [https://libera.chat/policies/ Libera.Chat].
 
* Join our mailing list https://lists.fsf.org/mailman/listinfo/tech-volunteer-meeting
 
* Join our mailing list https://lists.fsf.org/mailman/listinfo/tech-volunteer-meeting
 
* Apply to a tech team internship by following the [https://www.fsf.org/volunteer/internships FSF internship documentation].
 
* Apply to a tech team internship by following the [https://www.fsf.org/volunteer/internships FSF internship documentation].
Line 38: Line 38:
 
There are many more possibilities, this is just some of the more obvious things.
 
There are many more possibilities, this is just some of the more obvious things.
  
===Skillsharing===
+
===Skill Sharing===
  
 
We are interested in sharing our skills and learning about new concepts. Sharing a small private workshop with the FSF SysOps team in a specific topic would be very helpful. In particular, we are interested in learning more about this topics from a software freedom perspective:
 
We are interested in sharing our skills and learning about new concepts. Sharing a small private workshop with the FSF SysOps team in a specific topic would be very helpful. In particular, we are interested in learning more about this topics from a software freedom perspective:
Line 48: Line 48:
  
 
* Upgrading the operating system and software on one of our virtual machines. Document and fix various issues that come up.
 
* Upgrading the operating system and software on one of our virtual machines. Document and fix various issues that come up.
* Help creating [https://www.fsf.org/blogs/sysadmin/coming-soon-a-new-site-for-fully-free-collaboration the new FSF forge].
+
<!--* Help creating [https://www.fsf.org/blogs/sysadmin/coming-soon-a-new-site-for-fully-free-collaboration the new FSF forge].-->
  
 
===Work that can be done more independently===
 
===Work that can be done more independently===
Line 55: Line 55:
  
 
* Work on external issues that would help the FSF SysOps team.
 
* Work on external issues that would help the FSF SysOps team.
** Galene - [https://github.com/jech/galene/issues/259 Add the ability to give multiple different wildcard-user configurations.]
+
** Reaction (Rust)
** Galene - [https://github.com/jech/galene/issues/206 Fix the issue where recordings are corrupted.]
+
*** [https://framagit.org/ppom/reaction/-/issues/146 Improve ignoreregex capability.]
** UFW - [https://bugs.launchpad.net/ufw/+bug/2083965 Add a --bulk switch as defined in 2083965.]
+
*** [https://framagit.org/ppom/reaction/-/issues/138 Improve test-regex ease of use.]
** LibreJS - Make Software Heritage's [https://gitlab.softwareheritage.org/swh/devel/swh-web/-/tree/master/assets/config/webpack-plugins/generate-weblabels-webpack-plugin generate-weblabels-webpack-plugin] into a [https://gitlab.softwareheritage.org/swh/devel/swh-web/-/issues/4141 stand-alone package].
+
*** [https://framagit.org/ppom/reaction/-/issues/137 Support hierarchical filters.]
 +
*** [https://framagit.org/ppom/reaction/-/issues/43 Add federation functionality.]
 +
*** It would be nice if this was packaged for Debian.
 +
** Galene (Go)
 +
*** [https://github.com/jech/galene/issues/259 Add the ability to give multiple different wildcard-user configurations.]
 +
*** [https://github.com/jech/galene/issues/206 Fix the issue where recordings are corrupted.]
 +
*** It would be nice if this was packaged for Debian.
 +
** Sphinx (Python) - [https://github.com/sphinx-doc/sphinx/issues/13541 Add sleep times between linkcheck requests by default or follow robots.txt files so that our servers do not get frequent bursts of requests from distributed CI/CD systems.]
 +
** License Maven Plugin (Java) - [https://github.com/mojohaus/license-maven-plugin/issues/626 Help this project architect a solution where servers that host licenses are less impacted by CI/CD systems.]
 +
** REUSE (Python) - [https://codeberg.org/fsfe/reuse-tool/issues/293 Add a way to optionally add full standard license headers.]
 +
** LibreJS (JavaScript) - Make Software Heritage's [https://gitlab.softwareheritage.org/swh/devel/swh-web/-/tree/master/assets/config/webpack-plugins/generate-weblabels-webpack-plugin generate-weblabels-webpack-plugin] into a [https://gitlab.softwareheritage.org/swh/devel/swh-web/-/issues/4141 stand-alone package].
 +
** Luanti xban2 mod (Lua) - [https://github.com/minetest-mods/xban2/issues/22 Change xban.db path]
 +
** Uptime Kuma (JavaScript) - [https://github.com/louislam/uptime-kuma/issues/5896#issuecomment-2960485424 Fix bugs preventing a 2.0 release.]
 
* Help make an FSF-run web site available as a Tor hidden service.
 
* Help make an FSF-run web site available as a Tor hidden service.
 
** Helping to convert an existing site to use relative links instead of absolute links is also helpful towards this goal.
 
** Helping to convert an existing site to use relative links instead of absolute links is also helpful towards this goal.
Line 66: Line 78:
 
* Improve our web extensions [https://jshelter.org/ JShelter] and [https://www.gnu.org/software/librejs/ LibreJS].
 
* Improve our web extensions [https://jshelter.org/ JShelter] and [https://www.gnu.org/software/librejs/ LibreJS].
 
* Improve [https://h-node.org/ H-Node].
 
* Improve [https://h-node.org/ H-Node].
 +
** Contribute hardware data to the database.
 +
** Modernize the backend.
 
* Improve the [https://www.fsf.org/history/ FSF History page].
 
* Improve the [https://www.fsf.org/history/ FSF History page].
 
** The page is just HTML and CSS, but we would love help creating a custom static site generator to create the page from markdown. (This is mostly solved now.)
 
** The page is just HTML and CSS, but we would love help creating a custom static site generator to create the page from markdown. (This is mostly solved now.)
Line 77: Line 91:
 
** Adding translation support.
 
** Adding translation support.
 
** Adding optional dark or light mode support.
 
** Adding optional dark or light mode support.
 +
** Make sure that all links are relative.
 
* If you have significant security experience, there might be some specific work to help secure FSF run systems. In that case, please send a detailed resume to sysadmin@fsf.org and we can probably find you a project to work on.
 
* If you have significant security experience, there might be some specific work to help secure FSF run systems. In that case, please send a detailed resume to sysadmin@fsf.org and we can probably find you a project to work on.
 
* Write public documentation on FSF & GNU run services, software, machines, network, etc.
 
* Write public documentation on FSF & GNU run services, software, machines, network, etc.
Line 135: Line 150:
 
List of notable services we maintain or help maintain (including non-major systems we counted 63 services, platforms, and Web sites in 2022 https://www.fsf.org/blogs/sysadmin/join-the-fsf-and-support-the-tech-team):
 
List of notable services we maintain or help maintain (including non-major systems we counted 63 services, platforms, and Web sites in 2022 https://www.fsf.org/blogs/sysadmin/join-the-fsf-and-support-the-tech-team):
  
* https://www.fsf.org/ (plone, we plan to migrate away from that)
+
* [https://www.fsf.org/ https://www.fsf.org/] (Plone, and we plan to migrate away from that.)
** https://www.fsf.org/history/ (Custom static site)
+
** [https://www.fsf.org/history/ https://www.fsf.org/history/] (Custom static site)
** https://sysops.fsf.org/ (New FSF SysOps wiki)
+
** [https://sysops.fsf.org/ https://sysops.fsf.org/] (New FSF SysOps wiki)
* https://www.gnu.org/ (Custom static site in coordination with the GNU Webmasters team)
+
* [https://www.gnu.org/ https://www.gnu.org/] (Custom static site in coordination with the GNU Webmasters team)
* https://www.defectivebydesign.org/ ([https://www.drupal.org/ Drupal])
+
* [https://www.defectivebydesign.org/ https://www.defectivebydesign.org/] ([https://www.drupal.org/ Drupal])
* https://libreplanet.org/ (Custom static site and [https://www.mediawiki.org MediaWiki])
+
* [https://libreplanet.org/ https://libreplanet.org/] (Custom static site and [https://www.mediawiki.org MediaWiki])
* https://emailselfdefense.org/ (Custom static site)
+
* [https://emailselfdefense.org/ https://emailselfdefense.org/] (Custom static site)
* https://debbugs.gnu.org (debbugs)
+
* [https://debbugs.gnu.org https://debbugs.gnu.org] (debbugs)
* https://savannah.gnu.org (Savannah in coordination with Savannah hackers team)
+
* [https://savannah.gnu.org https://savannah.gnu.org] (Savannah in coordination with Savannah hackers team)
* https://directory.fsf.org ([https://www.mediawiki.org MediaWiki])
+
* [https://directory.fsf.org https://directory.fsf.org] ([https://www.mediawiki.org MediaWiki])
* https://ftp.gnu.org
+
* [https://ftp.gnu.org https://ftp.gnu.org]
* FSF members forum ([https://www.discourse.org/ Discourse])
+
* [https://forum.members.fsf.org/ FSF members forum] ([https://www.discourse.org/ Discourse])
 
* FSF board candidate evaluation forum ([https://www.discourse.org/ Discourse])
 
* FSF board candidate evaluation forum ([https://www.discourse.org/ Discourse])
* [https://my.fsf.org FSF CiviCRM]
+
* [https://my.fsf.org https://my.fsf.org] ([https://civicrm.org/ CiviCRM])
* FSF members XMPP server
+
* FSF members XMPP server ([https://prosody.im/ Prosody])
 
* GNU and Non-GNU mailing lists: https://lists.gnu.org (Mailman, Exim & others).
 
* GNU and Non-GNU mailing lists: https://lists.gnu.org (Mailman, Exim & others).
 
* https://mirror.fsf.org Free GNU/Linux distributions
 
* https://mirror.fsf.org Free GNU/Linux distributions
 
* FSF mumble server
 
* FSF mumble server
* FSF BigBlueButton instance (not a version using nonfree MongoDB).
+
<!--* FSF BigBlueButton instance (not a version using nonfree MongoDB).-->
 
* DNS ([https://gitlab.isc.org/isc-projects/bind9 Bind] & [https://github.com/NLnetLabs/unbound Unbound])
 
* DNS ([https://gitlab.isc.org/isc-projects/bind9 Bind] & [https://github.com/NLnetLabs/unbound Unbound])
 
* BGP daemon
 
* BGP daemon
* https://media.libreplanet.org ([https://mediagoblin.org/ MediaGoblin])
+
* [https://media.libreplanet.org https://media.libreplanet.org] ([https://mediagoblin.org/ MediaGoblin])
* https://ryf.fsf.org ([https://www.drupal.org/ Drupal])
+
* [https://ryf.fsf.org https://ryf.fsf.org] ([https://www.drupal.org/ Drupal])
 
* FSF single sign-on service (based on [https://github.com/simplesamlphp/simplesamlphp SimpleSAMLphp])
 
* FSF single sign-on service (based on [https://github.com/simplesamlphp/simplesamlphp SimpleSAMLphp])
* https://live.fsf.org ([https://icecast.org/ Icecast2] for LibrePlanet, workshops, and other live streams)
+
* [https://live.fsf.org https://live.fsf.org] ([https://icecast.org/ Icecast2] for LibrePlanet, workshops, and other live streams)
* https://h-node.org
+
* [https://h-node.org https://h-node.org]
* https://shop.fsf.org ([https://www.drupal.org/ Drupal] [https://drupalcommerce.org/ Commerce])
+
* [https://shop.fsf.org https://shop.fsf.org] ([https://www.drupal.org/ Drupal] [https://drupalcommerce.org/ Commerce])
* https://gplv3.fsf.org
+
* [https://gplv3.fsf.org https://gplv3.fsf.org]
* https://elpa.gnu.org
+
* [https://elpa.gnu.org https://elpa.gnu.org]
* https://endsoftwarepatents.org/ ([https://www.mediawiki.org MediaWiki] and [https://wordpress.org/ WordPress])
+
* [https://endsoftwarepatents.org/ https://endsoftwarepatents.org/] ([https://www.mediawiki.org MediaWiki] and [https://wordpress.org/ WordPress])
* https://gaming.libreplanet.org/ ([http://nethack.org/ NetHack] and [https://www.minetest.net/ Minetest])
+
* [https://gaming.libreplanet.org/ https://gaming.libreplanet.org/] ([http://nethack.org/ NetHack] and [https://www.minetest.net/ Minetest])
* https://vcs.fsf.org ([https://gitolite.com/ Gitolite])
+
* [https://vcs.fsf.org https://vcs.fsf.org] ([https://gitolite.com/ Gitolite])
* tor relay
 
  
 
Web browser extensions we assist in developing:
 
Web browser extensions we assist in developing:
Line 193: Line 207:
 
Notable tools used internally:
 
Notable tools used internally:
  
 +
* [https://trisquel.info/ Trisquel]
 +
* [https://libvirt.org/ libvirt]
 
* [https://github.com/ansible/ansible Ansible]
 
* [https://github.com/ansible/ansible Ansible]
 
* [https://www.gnu.org/software/bash/ Bash]
 
* [https://www.gnu.org/software/bash/ Bash]
* [https://trisquel.info/ Trisquel]
 
 
* [https://librecmc.org/ LibreCMC]
 
* [https://librecmc.org/ LibreCMC]
* [https://libvirt.org/ libvirt]
 
  
 
=== FAQ ===
 
=== FAQ ===

Latest revision as of 10:01, 24 November 2025

This page is linked from the FSF volunteer page.

The FSF tech team wants your help!

The FSF Tech Team consists of two full time staff members (plus, sometimes, an intern or two). Along with teams of volunteers (such as the Savannah Hackers and the GNU Webmasters), we maintain and improve the infrastructure and services that power the free software movement. Starting in 2023, our small team began steps to increase the number and types of tasks that we can accept volunteer help with. In 2025, we have even more planned.

Whether you have a few hours a week, or a few hours every couple of months please read on and consider joining in!

What makes a good volunteer

  • You run GNU/Linux on your personal computer.
  • You have at least a few hours to spend.
  • You are reasonably familiar with using the command line.
  • You know some basics of GNU/Linux server administration.
  • You self-host services for yourself on your own hardware as a hobby.
  • You are reasonably familiar with using git.
  • You can write technical documentation.
  • You are comfortable communicating on IRC, mumble, and email.

How to volunteer

  • Possibly just dive into different work listed below.
  • Join IRC: https://libera.chat, channel #fsfsys and say hi and that you are interested in helping out.
  • Catch up on IRC history. Get 1-2 days of chat history by saying "fsysbot catch me up" in #fsfsys. The bot should take a few minutes to respond. NOTE: This not a public log. We assume you know that anyone can join and request the last 24-48 hours of logs which are shared only to that person and that sharing does not imply permission to reshare the log. More info on logging is on Libera.Chat.
  • Join our mailing list https://lists.fsf.org/mailman/listinfo/tech-volunteer-meeting
  • Apply to a tech team internship by following the FSF internship documentation.

It it also helpful to email sysadmin@fsf.org and tell us:

  • Things you are interested in working on (see project ideas below).
  • Overview of skills you have or a resume.
  • How much time you estimate you have.

The tech team or other volunteers will reply.

Examples of ways to contribute

There are many more possibilities, this is just some of the more obvious things.

Skill Sharing

We are interested in sharing our skills and learning about new concepts. Sharing a small private workshop with the FSF SysOps team in a specific topic would be very helpful. In particular, we are interested in learning more about this topics from a software freedom perspective:

  • Containers
  • CI/CD agnostic of a specific forge.

Core FSF work that needs lots of collaboration with the tech team

  • Upgrading the operating system and software on one of our virtual machines. Document and fix various issues that come up.

Work that can be done more independently

Ideas and tasks for making the tech team more volunteer-centric

  • Migrate most FSF tech internal documentation & code to be public. Make much of the remainder open to trusted volunteers.
  • Create a FSF tech team public bug/issue tracker. We plan to use Savannah bug tracker first. Eventually, we could also use debbugs or another system we deploy.
  • Redirect most emails to sysadmin@fsf/gnu.org from staff request tracker to become public or open to trusted volunteers.
  • Make our monitoring systems be more public.
  • Do outreach: Talk about volunteer opportunities & our work in various places. Social media, blogs, podcast, etc.
  • Have more visible fun.
  • Respond faster to volunteers.
  • The new name for the tech team volunteers plus tech team staff is FSF SysOps (short for system operators). The goal for the new name will help us speak about it, give the group an identity, and help recruit people.
  • Idea: Event for volunteers to hack on something together.

About the FSF tech team

We blog about our work at https://www.fsf.org/blogs/sysadmin/

Overview of FSF Tech Team work:

  • Support the Free Software movement, the FSF, FSF staff, GNU and GNU developers in a wide variety of ways including technical support and advice.
  • Install and maintain fully free GNU/Linux systems on servers, desktops, laptops, and embedded devices.
  • Coordinate and mentor interns and volunteer system administrators.
  • Support GNU developers and FSF representatives in their use of FSF-run systems.
  • Blog and speak for the FSF.
  • Coordinate and do technical work needed for the LibrePlanet conference.
  • Report bugs, fix bugs and submit patches upstream for the software we use.
  • Occasionally help design, write, and release software when there is a specific need.
  • (staff only) Share in the on-call rotation to deal with core system emergencies.

Tech team staff:

Active tech team volunteers:

  • Amin Bandali
  • Corwin Brust
  • Bob Proulx

Tech team staff are able to give roughly daily assistance to volunteers, but we have to balance other priorities and limit our assistance based on how much we expect a volunteer to contribute. In the past few years, two big projects we announced plans for, the FSF forge and the FSF website remake, have not been completed as other work took priority. In 2022, we started to work on more volunteer outreach. We want your help!

We publish some technical documentation on the Savannah wiki.

We store various things in the repositories at vcs.fsf.org. Note: How to email a patch or A longer & more opinionated guide for emailing patches.

List of notable services we maintain or help maintain (including non-major systems we counted 63 services, platforms, and Web sites in 2022 https://www.fsf.org/blogs/sysadmin/join-the-fsf-and-support-the-tech-team):

Web browser extensions we assist in developing:

Non-public services/software for GNU and/or FSF:

Notable tools used internally:

FAQ

Nothing here yet. You can edit this page!

Ideas for things to add to this page:

  • Tips for handling when it feels like you have taken on too much or cannot keep up.
  • Tips for communicating with the tech team and the rest of the FSF.