My Projects

These are the free open source software projects I'm currently involved in or have been in the past.

CAcert

CAcert LogoCAcert is a free certificate authority that issues personal and server certificates to the public at large. Its aim is to secure the part of the net that currently communicates unencrypted. It does so by issuing X.509 certificates for use in servers (e.g. for HTTPS-secured websites) or personal communication (e.g. encrypted email via S/MIME, signing documents or code-signing) and signing PGP keys.

For CAcert “free” not only means that its certificates are provided free of charge, but also that it is completely run based on free software components and tries to be transparent about its processes. In order to also be able to verify the identity of users free of charge, the CAcert community runs a worldwide web of trust. I often describe CAcert as a “hack” to bring the web of trust into the X.509/SSL/TLS world.

What I did at CAcert: I started in the support team (support engineer and support team leader), then I moved on to software development (software assessment and development team leader). As the treasurer in the CAcert Inc. board I took care of the finances. Along the way I also administrated some of the many services operates by CAcert surrounding the core CA, like the bug tracker, translation server, git server etc.

Omnibus Filetransfer

Omnibus LogoOmnibus is a small utility to make sending a file to a friend of yours easy. It can send the files over various network environments be it the Internet, LAN or even Bluetooth and tries to establish an optimal direct connection for the transfer. The project was started in 2011 by a fellow student and friend of mine as an entry for the SpoVNet programming contest where it came in second place. It uses the ariba underlay abstraction library that was developed at the Telematics Institute of the KIT to provide the network abstraction. For Omnibus I mainly did the graphical user interface and a Python module one can use to interface the Omnibus back end.

ariba

ariba LogoThe ariba underlay abstraction is a library that allows to send messages over an overlay network of other clients running the same software (peer-to-peer). If a direct connection between two clients is not possible e.g. because they're not in the same network or communication is hindered by firewalls or NAT devices, the message may be routed via the overlay network. The overlay can also implement advanced networking services like distributed key value stores, multicast or event-based messages. On ariba I did some performance optimisations, ported the network interface code from a custom library to Boost.Asio, moved the build system from Autotools to CMake and began with a Win32 port (but that's still unfinished).

The Freenet Project

Freenet LogoFreenet is a document-based peer-to-peer network with an emphasis on anonymity. That means you can publish and retrieve documents (like HTML pages, audio files or other files) without having to fear that it's discovered which documents you have requested or uploaded into the network. In contrast to Tor Freenet is not sender/receiver oriented but only relies on documents for all applications, so interactive applications like chats, searches or submitting forms are not trivially implemented but for each of these applications there are solutions that are implemented on top of Freenet. My involvement with Freenet is now quite some time ago. Back then in 2007 I provided the initial German translation and maintained it for about a year.