Ian Jackson's free software
I have written a number of pieces of free software. Almost all of
these are released under the GNU General Public Licence. Some of them
are more-or-less proper software products.
dpkg, the Debian Project's package installation tool
I wrote the current implementation of dpkg, the package installation
tool used by Debian GNU/Linux.
Some of the early specification was done by Ian Murdock; Klee Dienes
now maintains the source tree but I still do development.
adns, an advanced alternative,
asynchronous resolver
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.
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.
Now available in a form suitable for use by other projects, this
system is a set of scripts which maintain a database of problem
reports. All input and manipulation of reports is done by email, and
the outstanding, recently closed and other listings of reports are
made available via a webserver.
I was annoyed at what I saw as deficiencies in Linuxdoc-SGML, so I
wrote my own miniature SGML processing system. It takes input in its
own DTD (which specifies the features of the system precisely) and
generates plain text (optionally with nroff-like overstrikes), HTML
and PostScript
(via Lout,
the typesetter by Jeffrey Kingston).
debiandoc-sgml is available as a Debian package; the
source .tar.gz file from the
Debian FTP
archive should be useable on most modern systems.
A program to smooth the interoperation between Emacs and PGP2. This
can still be found on some PGP FTP sites and I still use this, but
more sophisticated tools are now available.
nntp-merge
A program for demultiplexing a single NNRP connection across several
NNRP servers based on the newsgroup(s) being accessed, and which
supports an [X]AUTHINFO GENERIC authentication mechanism. This is not
a well-documented, well-supported product, but available in the
download area are the source code and
Debian/i386 binary package. The CVS repository is
also available via
cvsweb
and rsync.
SAUCE
- Software Against Unsolicited Commercial Email
An SMTP-receiver that mediates access to your real MTA, and has the
following features:
- Strong syntax checking of envelope addresses and all originator
header fields.
- Reverse SMTP transactions to check that originator addresses
(envelope and all in body) are deliverable.
- Blacklisting based on `bait' addresses, for example
bait@chiark.greenend.org.uk,
advertised on USENET and on web pages.
See the web page for full blurb and download details.
Mokie-coke
- A virtual software project
This is not the software you are looking for. Its main purpose is to
provide exposure for various contact addresses, which are specially
handled as described above.
Miscellaneous
I used to maintain the Linux FAQ. I've write or helped write a number
of the Linux Documentation Project's section 2 manpages (the ones
which document system calls).
I've maintained a number of Debian packages at one point or another;
in the course of this and otherwise I've submitted patches (most of
which were accepted) to many free software packages, including the
Linux kernel, GCC, GNU tar, GNU texinfo.
I've written various other small programs, which may make it onto this
page at some point.
The CVS repositories of many of my software projects, including
some unreleased ones, are available. For these projects, the
repositories are available by the following routes:
Timeliness
Both of these mechanisms access the same mirror of the repository;
they do not access the repositories themselves, most of which are kept
on my home systems. This means there will be a delay of up to a week
between me checking in changes or making a release and the publicly
available CVS being updated.
Any software licences or redistribution permissions, release
status documentation, and the like you get via CVS are NOT INTENDED to
have legal effect. Just because I check a document into CVS
does not mean that I stand by its contents.
For released programs, you may redistribute all versions of the source
code you obtain via the CVS interfaces under the same terms as the
most recently publicly released version of the program.
For unreleased programs, you should check out the CVS HEAD. If it
has a permission notice allowing redistribution under the terms of
the GNU GPL, version 2 or later, then you may redistribute any CVS
version under those terms.
If you check out any version and it has some files whose copyright
holder is not me, and which claim to be licensed under the GNU GPL or
GNU LGPL, then the GNU GPL applies to whole of that version. If you
redistribute you must ensure that the copyright notices reflect this
(for example by changing any references to the LGPL to the GPL).
Otherwise I (and any other authors) retain all rights and you may not
redistribute the program at all.
For the avoidance of doubt, let me restate some consequences of this:
Licences and permissions you find on CVS branches, or non-GPL
licences you find in the CVS repository, do not apply. Even
the GPL, found on the CVS HEAD, may not apply - see above for details.
Ian Jackson /
ian@chiark.greenend.org.uk.
Campaign for a
non-browser-specific WWW
Copyright/acknowledgements.