David's progress on the Free Software Directory, internship weeks 2-3
For context, see the previous blog post, Introducing David Hedlund, intern with the FSF tech team.
I'm working on creating a list of free software extensions for Mozilla-based browsers on the Free Software Directory based on data from addons.mozilla.org. This is needed because the official extensions repository includes many proprietary extensions.
I found out that it's not possible to use the addons.mozilla.org API to list add-on collections, so I submitted a bug report for this. To my surprise they declined my suggestion, so I had to add a function to my program to parse it manually. Then I went on and wrote a detailed README file to describe the philosophy for the project to make it easy for anyone to contribute. I merged my source code to the Savannah GNU package called Free Software Directory, which also has scripts for importing data from Debian.
I started a collection of IceCat add-ons and recommended IceCat (and Abrowser) to use it in Tools -> Add-ons (about:addons) -> Get Add-ons.
During a Free Software Directory meeting, I started to work on my idea to set up an IRC bot to send automatic messages in our channel, #fsf. For example, "The Free Software Directory meeting starts now." Eggdrop is an old stable bot program, so I decided that we should use it. With some help from a great volunteer, I wrote an Eggdrop script and configuration script for the FSF along with some documentation.
I wrote a really simple script to figure out the WebExtension support status for IceCat add-ons on the Directory. Then I deleted all legacy add-ons for IceCat from the Directory with the edit summary: “Not a WebExtension so it's not compatible with IceCat 60 that will be released soon. We don't have resources to maintain legacy add-ons too.” Over 100 entries were deleted. Then I updated my program used to sync selected add-ons with the Directory, reducing my old legacy collection from 137 to 79. Some of them have functionality that is now part of Firefox. Finally I removed IceCat legacy add-ons from the Directory's unapproved revision list. I started a buggy entries page and fixed some entries.
There is an existing package to import data from Debian into the Directory, but it hasn't been maintained recently. I ran those scripts, but got stuck and submitted a bug.
Pywikibot is a Python library and collection of scripts that automate changes and analysis on MediaWiki sites. I ran into some problems running it on the Directory, but a developer in #pywikibot helped me out. I documented the complete instructions for using pywikibot to upload files in the Directory.
I feel like I'm making good progress and looking forward to getting automated edits working with Pywikibot or some other way so that Debian and addons.mozilla.org data can be synced with the directory.