Ian Jackson's free software

I have written a number of pieces of free software. Almost all of these are released under one of the GNU General Public Licences. Some of them are more-or-less proper software products.

This page is ordered not by quality or importance. Rather, at the top you will find things which are you less likely to find elsewhere.

Projects of my own

Things that other people have actually used, or which are otherwise particularly interesting include: I also have a large amount of other software stuff which is not very productised. I tend to push even unproductised and unreleased stuff to my several sets of personal git repositories which as you will see also contain random clones of other projects, generally because I wanted to share some (proposed) changes with someone.


I am a GNU maintainer (despite having differences with RMS).

adns, an alternative, asynchronous resolver library

adns is a replacement resolver library. Its programming interface is at once easier to use and more powerful than the standard libresolv. For example, responses are automatically decoded into native C formats, and it is possible to launch many queries and once and deal with the responses asynchronously.

It also provides a convenient shell utility for querying the DNS and getting directly useable answers. (Tools like dig and host are less useful for scripting DNS clients, but much better for debugging the DNS itself.)

userv, the `user services' trust-boundary-crossing program call facility

userv (pronounced you-serve) is a program which, according to the specification, is
a Unix system facility to allow one program to invoke another when only limited trust exists between them.


I now maintain secnet, an interesting VPN program. It is currently mainly used by the Sinister Greenend Organisation but I feel it has potential for much wider application. I inherited it from Steve Early and I am trying to improve and properly productise it.

In lieu of anyone else, I now appear to be the only person maintaining the X11 window manager I use, vtwm.


I have been heavily involved in Debian approximately forever.

My current main project in Debian is dgit (source), which is part of various plans to try to make git workflows in and around Debian more official, more useful and more automatic.

I'm a founder member of the Debian Ecosystem Init Diversity Team, a joint venture between Debian contributors, folks from Devuan, and upstream developers, working to maintain and improve support in Debian and its derivatives for running with a variety of non-systemd init systems.

I'm the current maintainer of a number of packages, including a few of my own, and quite a number on a caretaker basis.

Past work

I originally wrote: These have been substantially improved and extended, and are now maintained, by others. I've maintained a number of Debian packages at one point or another. I also served a term as Project Leader, during which I drafted the Constitution which the project accepted by a plebiscite, and I served for many years on the Debian Technical Committee.

Tor, Arti

Since the start of 2022, I have worked for the Tor Project on Arti, the project to rewrite the primary Tor implementation in Rust.


Until the end of 2021, my day job was to work on Xen for Citrix.

As a Xen committer and maintainer, I was a key contributor to of libxl, the main Xen toolstack library.

I wrote and help maintain osstest, the Xen Project's CI system.

I helped the Xen Project draft and adopt its Security Policy and I am member of the Security Team. I also try to help maintain the Xen packages in Debian.

Ian Jackson / ijackson@chiark.greenend.org.uk