FooSoft Productions

Ongoing Changes to FooSoft.net

As of late, I’ve been rethinking the role this website serves as my personal brand. Up through the end of last year, I have been pretty burned out on open source development. The satisfaction I receive from the programming was unchanged, but the support burden was taking a big toll on the enjoyment I was getting from engaging with my own projects. This has led me to reconsider the way I think about my projects; they are now more an artifact resulting from my hobby as opposed to a product for external consumption.

Adopting this model of focusing on code instead of stars and visibility has been extremely reinvigorating. I still value high quality code contributions, but only to the extent that they improve use cases which are relevant to me. As part of this new outlook, I’m making several changes to my homepage as well.

Homepage

For many years, the primary purpose of this website was to host information about the projects I’m currently working on. Over time this became increasingly redundant as literally all forges support rendering of the README.md file to help explain what a given repository is all about. Nevertheless, I have been maintaining an intricate static generation pipeline which would generate pages based on git submodules hosted in the site’s projects subdirectory. I’m now doing away with all of this, not because it’s difficult to maintain, but more because it’s unnecessary complexity which doesn’t add anything of value to the site.

After removing projects, I’m left with an outdated website design which can be significantly trimmed down to essentially the blog and portfolio sections. I haven’t yet figured out a new visual design, but it’s going to be rather minimalist. I’ve already started making structural changes in that now there are only two sections: the blog and the about page (which also serves as the portfolio). I’ve been adding a lot of HTTP 301 redirects in my nginx configuration to prevent broken links where possible.

Repositories

At the start of last year, I’ve migrated all my projects off GitHub to a self-hosted Gitea instance. After overcoming the initial FOMO of missed user engagement, I’ve instead discovered Zen in the email-based patch workflow and the utter lack of caring about project popularity. The lack of other social features and Copilot upsells has been another benefit which cannot be overstated.

Alas, all things good things must come to an end, and within the past couple of weeks, my Gitea instance has been getting completely destroyed by AI content scraping bots, the majority of which completely ignore the robots.txt file telling them to stay out. My choices were playing cat and mouse with the scrapers or moving back to a publicly forge. As the former was a lot more work then the latter, I got to searching for a new home for my projects.

The first forge I evaluated was Codeberg, an up-and-coming GitHub alternative which is running Forgejo, a fork of Gitea, the software I was previously self-hosting. I’ve gotten as far as moving several projects over, but then a couple of days later Codeberg decided to go political over a two word remark (n****r balls) by some juvenile spammer, blowing up everything into yet another left versus right conflict.

We will not be discouraged in our fight against far-right ideologies. They are currently on the rise in many parts of the world, and we believe it is important to protect all kinds of marginalized groups. However, if you believe this does not affect your project, you are wrong. Far-right forces pose a threat to all of us.

As I do not want to associate my work with politics, virtue signaling, or activism of any kind, it was time to move on. I eventually landed on SourceHut. While I can’t say the user interface is very intuitive, I do like that this forge supports a patch-based workflow and clearly advertises itself as a paid service. It seems to support everything I need, without turning into another social network. I’ve updated the redirects on my nginx instance so that old links to git.foosoft.net should now redirect to SourceHut (for both viewing project information and cloning over HTTPS). Sorry if I missed something and broke your workflow!

Finally, I’ve de-listed a lot of projects that are no longer maintained, and for all practical purposes are dead. I obviously still have copies of the repositories on my home server and can re-add anything if need be.