< Index

About xpr, a rewrite of the core POSIX/Single Unix Specification utilities

I've recently been working on a reimplementation of the Single Unix Specification/POSIX utilities as defined in the standards posted by the IEEE and The Open Group. Here is the project itself and here is the standard that the utilities are based on. Yes, I know this is kind of a trend or a meme right now to rewrite the core utils, but I don't really care. It's just a fun little side project of mine - I chose this particular idea because some of the utilities are really easy like echo or cat, and, having never worked on any major programming project before, it gave me a good jumping off point to build my way to harder programs and understand things like standard input/output, command line arguments, and the C programming language in general. I'm also very interested in POSIX standard utilities and standard compliance, being pedantically minded, so this project gave me a great excuse to start reading the POSIX standards and lighten up how dry and dull the technical writing in the standard can be.

The project is licensed under an AGPLv3+ license because I think that the AGPLv3+ is probably the best copyleft license available right now, and for 99% of users it doesn't affect them negatively at all because the only case where you're compelled to share source code when used on a server is if you are hosting a modified version; otherwise it works exactly the same as the GPLv3. 99% of people don't personally modify the source code of projects they use on their servers, and those that do know enough to use GitLab or GitHub, so it's not a big deal.

I'm not taking code contributions on the project for the foreseeable future because its purpose is for me to learn how to program. If I end up with something that I'm actually happy about opening up to the public, then that potential exists for the future. (Or you can just fork it, that's obviously fine.) This is mostly just a little update about what I've been doing lately since I haven't updated the site much. I basically did nothing in July and a bit of August but work on this project nonstop, and a lot of it is surprisingly functional, so I'm happy with the progress I've made so far and I'm satisfied with what I got out given the time I put into it. If you make an interesting fork, it would be cool if you emailed me at xerxes@persrex.xyz so I can see what you've done with it; you aren't required to do this or anything but I think it would be rad.

August 23, 2022