Release announcements

Posted on .

If you’re a package maintainer for a Linux distribution, or a user who likes to compile a few packages by yourself, you’ll have faced the problem of noticing when a piece of software has a new release.

In the Windows world, which (still) lacks a centralized repository of software packages and users normally download and install the programs they need, it’s almost a requirement nowadays to include some kind of version checking mechanism with your program. Many major programs have it, like Firefox and Thunderbird, Chrome, Adobe Flash, Oracle Java, Steam, etc. Windows itself has Windows Update.

In the Linux world, usually you don’t want to be notified in-app because the user who is running the program doesn’t have privileges to overwrite program files without an intermediate mechanism like sudo and, furthermore, the version they’re running probably has been installed as a package and the proper way to upgrade the program is by upgrading its package. Still, package maintainers need to be notified of new releases.

Before Github and Bitbucket, many FOSS packages were hosted at SourceForge. In this site, you can create a user account and subscribe to file releases for any project hosted there. If the project was self-hosted or hosted anywhere else, or even if it was hosted at SourceForge, you also had the option of going to Freecode (formerly Freshmeat). It’s a project database (it doesn’t hold project contents) and also allowed subscribing to new releases. Many people still use it to announce new releases reliably (for example, I’m subscribed to Iotop). Release announcements are approved by humans, but everyone can submit new releases for any project which hasn’t forbidden doing so. This can make announcing new releases a collective effort. Obviously, it works best if it’s the project maintainer who submits releases. Notably, Freecode also features an API that can be used to get and post releases automatically. It started more than 9 years ago as an XML-RPC API. Now I feel old because I remember reading that announcement when it was published.

The best solution to the problem, in my humble opinion, is the announce mailing list, but not many projects have one. It’s a simple read-only mailing list that only gets release announcements. By being read-only, spam is not a problem and you only get what you’re interested in, but it requires setting up mailing list software and a server somewhere, which is not an immediate option for many FOSS authors. Some other projects have mailing lists but not an announce one, which exposes you to much more traffic. A few examples of projects that have one: Valgrind, i3 (see the bottom of the page) or Wireshark.

In the Wireshark mailing lists page you can see what is in my opinion the second best solution to this problem. They publish an RSS feed of Wireshark announce messages. RSS feeds need no subscription (in the mailing list sense) and barely any infrastructure. If the site you’re hosting your project in gives you a bit of web space, you can automatically create and host an RSS feed, leveraging the power of the web to provide information in a standardized format that is easy to manage for your users. This seems to be the best solution when hosting in Github or by yourself.

As I’m myself guilty of not providing proper release announcements for my software sometimes, nothing’s better than a public promise to do the right thing in the future. If you’re the maintainer of a FOSS project, consider using RSS feeds or announce mailing lists if possible.

comments powered by Disqus