News from the tech team
In addition to our role in the educational project you read about on page one, for the last six months, the FSF tech team continued our daily work of maintaining and improving infrastructure for the FSF and GNU, as well as supporting the mission of growing the free software movement. We welcomed Web developer Michael McMahon as a new addition to the team.
At LibrePlanet 2019, in April, we took charge of streaming all the talks live, and publishing the videos in our GNU MediaGoblin instance at media.libreplanet.org. All systems were automatically deployed and managed using Ansible provisioning software, including the streaming and recording tool HUBAngl, written by former FSF intern David Testé. Our spring intern, Valessio Brito, created an information screen system showing schedule information and announcements in the lobby and in talk rooms. All of the tools used to run LibrePlanet are 100% free software, from registration to video streaming.
The tech team herds over a hundred virtual machines running on 9 servers across 4 locations. At the main data center, a new donor, Hurricane Electric, agreed to provide our Internet service. Migrating to the new IP range took many hours of carefully changing and testing configurations, which was accomplished without causing any significant downtime.
We continued to migrate virtual machines into our new cluster, also upgrading them to newer software based on Trisquel 8. Senior systems administrator Ian Kelling is upgrading and fixing our email server infrastructure, which will make it follow best practices and be more reliable. As we write this, he has just finished upgrading GNU Mailman on our internal instance, and is tackling our main instance at lists.gnu.org. We have also been upgrading other systems, including our CiviCRM instance, a freedom-respecting relationship manager.
Last year, we deployed a Ceph redundant storage system to host our critical infrastructure hosting. One server eventually developed hard-to-diagnose hardware issues that required intervention, resulting in a lengthy research and testing process, ending with replacing the disk controllers on all the servers. The incident was resolved with little downtime, and a performance upgrade.
In 2017, GNU volunteer Nate Nichols started a reimplementation of the LibreJS code to make it compatible with the WebExtensions API, which was continued with research by FSF intern Ethan Dorta, and code by FSF chief technology officer Ruben Rodriguez. Since then, it has been extensively improved by Giorgio Maone, the author of the NoScript extension, as an FSF contractor funded by HandShake. His work made LibreJS fast, robust, and compatible with mobile Mozilla-derived browsers. He also added automated testing for developers, revamped the user interface, implemented whitelist and blacklist management, and fixed many quirks and corner cases.
All our work could not be possible without the continuous support of our members and donors, and the work of thousands of free software contributors. You can help by joining the GNU developer community, or by applying for an internship at the Free Software Foundation.