Hi, I'm Nils Gillmann.
I'm a full stack freelance developer, working as a consultant. At least I think 'Full Stack' is fitting: I have written python based single-purpose applications without a frontend, I am currently moving the infrastructure of a company to another Operating System which involves porting package definitions and writing code in addition to "just" the System Administration work, and in my spare time I am involved with whatever has to be done right now (and of course what interests me) - build-systems, integrating new languages into an Operating System I am writing, writing and designing the beforementioned OS, learning new languages, debugging compiler builds, and so forth. Furthermore I explore many side projects that you can find (mostly) on my git server and git servers of friends. I (ir)regularly author a blog section, "b", about my Free Software work. These days my writings are mainly focused on GNUnet, infotropique, infotropique projects like the upcoming infotropique OS/core and plant. There's also entries about some GNU projects I contribute to, like GNU Guix and, private projects of mine.
Most software I develop and contribute to is Free, Libre Software. Some Feature projects:
GNU Guix and GuixSD — I'm involved in Guix since late 2015, contributing to almost every aspect of development. Through my work which lead to infotropique's plant and more, I have learned a great deal about Guix and GuixSD and learned to like it (I use a GuixSD-like system daily). Guix is written as a Guile library. On the technical side it extends and implements what NixOS and Nix pioneered with purely functional Operating Systems and package management (or better: implemented what is described in "Eelco Dolstra. The Purely Functional Software Deployment Model. PhD thesis, Faculty of Science, Utrecht, The Netherlands. January 2006. ISBN 90-393-4130-3.", the concept alone predates Nix). In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and more. The best part is, it runs not only on GuixSD but also on many other Operating Systems.
gnunet — GNUnet is a new network protocol stack for building secure, distributed, and privacy-preserving applications. With strong roots in academic research, our goal is to replace the old insecure Internet protocol stack. GNUnet is typically run as an overlay network on top of the the existing Internet infrastructure forming the basis of a hybrid peer-to-peer mesh and relay backbone for applications to run on. It could just as well be run independently of the Internet, over dedicated radio and cable. GNUnet is made for an open society: It's a self-organizing network and it's free software as in freedom. GNUnet puts you in control of your data. You determine which data to share with whom, and you're not pressured to accept compromises.
My work on GNUnet at the moment includes mostly Build-system related work, writing the documentation as well as other system-integration work. Other parts of my involvement are intersections between Guix and GNUnet, work towards a new public look and appearance of gnunet (website, etc), and more.
gnurl — As part of my work on gnunet I maintain gnurl, a feature restricted build of curl. gnurl can be found in some Operating Systems, and it is available for all platforms Guix supports. Known users of it are gnunet, and software which makes use of gnunet (for example GNU Taler).
plant — Is a project I maintain, develop, and design as a continuation and experimentation with ideas based on Guix and GuixSD. It is developed within infotropique as part of an developer exploration into (among other things) full system integration of gnunet.
infotropique OS/core — is developed side by side with plant as an implementation of a plant-based Operating System. infotropique OS/core is a Free, Unix-like purely functional operating system mostly written in Scheme (specifically: Guile), with a focus on modularity, security, and meshnetworking support. It is being written with gnunet first in mind. Major features of plant are being developed with this goal. infotropique OS/core in its current generation provides systems based on Linux as a kernel as well as "Linux-libre" (a blob-free variant), with other kernels to follow in later generations. infotropique OS/core takes inspiration from NixOS and GuixSD (its base, plant, originated in Guix), as well as various other operating systems. More on this can soon be found on the dedicated website.
Good software requires good documentation. It is said to be a lost craft we need to rediscover. I have liked writing ever since I can remember. I'm doing my share in contributing to documentation, having contributed and written various forms of documentation, ranging from MediaWiki format to LaTex over Texinfo, Markdown, ReST, Mdoc, Groff and more.
GNUnet Reference Documentation — In early 2017 I started working on writing the (new) Reference Documentation of GNUnet. The previous generation was a collection of (html) books kept in Drupal by various authors. As per GNU recommendations, this book is kept in Texinfo. This is a long on-going project with countless hours already invested.
libidn2 in gnunet
October 25, 2018
Since we are going to deprecate the 'blog' function on gnunet.org soon'ish (sometime in 2019), here's to sporadic public notes on gnunet changes. Today: libidn2 support. …
My GnuPG keys
October 6, 2018
Since there are many keys with my name, nicks or past and current email addresses on keyservers, I should mention the following: pub rsa4096/0x13F267F66A4B733B 2018-05-30…
[draft] infotropique roadmap
October 4, 2018
This occasionally updated posts describes the tentative roadmap of infotropique projects. Since I am not very good with being bothered to updated such documents, it naturally does…