(This is a stripped-down version of the news letters sent out to members of Codeberg e.V. – not member of the non-profit association yet? Consider joining it!)
Dear Codeberg e.V. Members and supporters!
It's been a while since our last update. The past few months have been relatively calm for Codeberg. Nevertheless, some interesting things have happened this year and you deserve to hear the great news.
Some contributors were quite limited on time in the past months for various reasons. Additionally, many people focused on the development of Forgejo. There are some success stories that we want to share, but we will keep it down to the essentials, as Forgejo has its own blog where you can find the latest monthly report for August.
Highlights
- Codeberg is an employer again, sustaining our long-term goals
- We are extending our focus to usability and user research.
- Forgejo is now a hard-fork and accepts donations directly.
- Federation is slowly turning from a dream into a work-in-progress.
- Load-balancing the human aspect: There are now more ways to contribute.
Codeberg e.V. has 556 members in total, these are 386 members with active voting rights, 163 supporting members and 7 honorary members.
Codeberg is an employer again
Greatest news first: Codeberg is an employer again, compensating one of the past founding members part-time for their work on Codeberg. Signing the contract felt so good:
Since September 1st, Andreas Shimokawa (@ashimokawa) is paid by Codeberg for 20 hours per week. We have some big plans and modernization ideas that we haven't managed to get to in a while.
Many of you probably noticed that onboarding in the Codeberg e.V. is currently a little lacking. Some are confused about the status of their application, or what to do next. We have many ideas to improve the workflows and make contributing within Codeberg e.V. easier, hopefully encouraging more people to help with the project in the long run.
Further, the paid job will coordinate some projects that have been stuck for a while, including the expansion of our infrastructure. There have been some volunteers who are committed to help, but some projects were blocked because people with the necessary access privileges were not available often enough. Privileged access to our systems is a big scaling issue, since we need to keep access to sensitive data within a small and trusted group for legal reasons.
From summer 2022 to 2023, Codeberg employed a different contributor for less hours per week. We did all the paperwork and payroll on our own. That turned out to be a lot of effort in a domain we are not super familiar with. Now, we have decided to get a payroll office to assist with the formal bureaucratic stuff, so that we can focus on the things we love.
Software is for humans
Software is obviously written for machines. But in the end, the goal of every software project, from user interfaces to command line tools and webservers, exists to help humans perform tasks.
Sometimes, it can be challenging for developers to assess the usability of their tools. Some of us love the feeling of introducing new features, or perhaps refactoring that very old and rusty part of our codebase.
Free/Libre Software is in a good position regarding usability. Compared to proprietary software, which is sometimes created for the sole purpose of generating revenue, free/libre software was created to serve at least one user - the author. It is natural to use your own software and improve it as you go.
We want to do better and improve the usability for diverse user groups, including those who have no technical background. But the software was written by developers for developers, not yet considering that it might be used by endusers who want to get help, for example.
We got our first ideas on improving usability back in February, when three Codeberg e.V. contributors attended FOSS Backstage Design in Berlin. During workshops, we quickly identified some usability flaws, became ideas how to fix them and have met the awesome design community.
Since April, Forgejo contributors have conducted more than 20 interviews and have aggregated feedback from other sources to get inspiration for improving the platform.
On that note, we also started to question the current approach to feature requests. Sometimes, feature requests explain what a user thinks they want, not what would actually solve their problem best. And, often enough, you can find a solution that solves multiple different problems (thus feature requests) at once, saving volunteers valuable time.
Forgejo
Since Forgejo is our flagship project and the core of our platform, a lot of care is being invested to make the most out of it. The community has gained a lot of momentum and the progress is immense. We encourage interested developers to get involved with the project. There are plenty of people available to help others get started. Check out the good first issues.
Early this year, the Forgejo project turned into a hard-fork. This gives the project more independence to evaluate which changes to pick from Gitea (some are still ported) and simplifies the development workflow a lot, without having to rebase all of our changes and pull requests weekly. If you tried to contribute, but the workflow annoyed you: Consider giving it another try!
One aspect that is important for public instances like Codeberg is size limitations ("quotas") for Git repositories and other storage aspects. Together with a project to use Forgejo in schools (of the wonderful German state of Baden-Württemberg), a contributor was hired to implement the foundations for this feature, and it will be available to all Forgejo instances soon. Why does this matter? Less abuse leaves more resources on the table for you and more free time for us!
Of course, we will share more details about our timeline to quota and exceptions for large projects before activating the restrictions.
We also have more great news: Federation features are making progress in Forgejo. The number of related work has noticeably increased in the past months. There is still little visible for users, but the foundations have matured and allow building user-facing changes soon. If you want to stay up to date on federation, we recommend to read this issue and to take a look at domaindrivenarchitecture.org.
The Forgejo project is transparently funded, in part by budget allocated by Codeberg e.V. However, while this can compensate for some large and important work, it is not yet sufficient to compensate the Forgejo maintainers continuously. Therefore, we established a Liberapay team. The funds go to the Forgejo developers directly, without an additional roundtrip (and extra paperwork) to Codeberg. If you value the work of the developers, your financial support their work (either one-time or recurringly) would be appreciated!
Next to the official Forgejo project, we are looking for frontend developers to help us improve the dark Codeberg theme, or alternatively adding more themes to our fork (a long-standing wish of many users). If this sounds interesting to you, get in touch with us!
AI and Crawling
Codeberg was running smoothly overall, except for one thing: Occassionally, AI scrapers crawled our site too much and caused downtimes. There is an upwards trend in companies and startups dedicating numerous IP subnets for this, effectively bypassing our existing ratelimits.
We opted out of some of these scrapers using the robots.txt file and blocked several malicious IP ranges. We are monitoring the access logs for suspicious web traffic to some big repos, which works for the time being. However, due to our not-yet-instant reaction time (as volunteers), new startups or updated IP ranges will probably still bring slowness from time to time.
If they can use so much power to bring our systems down, imagine how much power they use by doing this to the entire Internet: We are concerned about the environmental and social impact of the current AI hype.
Growth at all costs is something that we, as a non-profit, are not interested in. We believe in frugal computing and that the resources our planet provides are limited. It is no coincidence that we directly "compete" against a company that funnels billions into the AI hype.
Events
We received a stand during the FOSDEM conference in Brussels, and organized a self-organized session during the "Gulaschprogrammiernacht" (GPN22) conference in Karlsruhe, Baden-Württemberg, Germany.
During our time there, we talked to lots of users, contributors, associations interested in using Forgejo, and also printed out some stickers.
Be reminded that the Codeberg event calendar is not only for Codeberg-internal events, but you can also share events for your own communities there!
There are two potential event ideas that might benefit from your help and commitment: An idea to organize a game night for playing games developed on Codeberg as well as a Translathon to do a translation sprint together.
Better workflow for CI approvals
For a while now, we have been manually approving requests for our hosted CI offering, which helps developers regularly build and test their applications, or update their websites on Codeberg Pages.
With free resources come the malicious actors. We have decided to fix it the German way: Bureaucracy! Users can request access using standard forms at our requests tracker.
Okay, we tried to be more modern than our government. Thorben Günther ("xenrox") made a bot that allows any Codeberg e.V. to approve a requestby replying with "lgtm" ("looks good to me"), and the bot will take care of granting the access: Codeberg-CI/cibot
(When the robots take over, we hope that they will be as nice as the cibot and not like these AI robots...)
This change seems trivial, but the time we spent manually navigating menues before was significant. Moreover, the work previously required admins of the "Codeberg-CI" organization and is now distributed among Codeberg e.V. members - feel free to help! This is a low commitment activity that helps us a lot.
Reviewers will just see new requests in their notifications when they visit Codeberg.org - our goal is to distribute the load among many members, to keep the pressure low and the responses fast. We coordinate using a Matrix room and have made the review guidelines publicly available.
Public Relations
Codeberg is an effort by humans, and the public relations team is one example of how things might look in the future. We are using a Matrix channel to quickly organize our efforts and more people got access to the Mastodon account.
This is the first monthly letter that was prepared outside a small circle (thanks a lot!), and we hope this can act as a blueprint for other teams.
Check out the Contributing Repo and discover teams that are interesting to you.
Oh, and we printed lots of stickers with the Codeberg and Forgejo logos on them. If you want to distribute them in your office or your hackspace / makerspace, get in touch with us.
Thank you for reading! Your Codeberg Public Relations team
--
https://codeberg.org
Codeberg e.V. – Arminiusstraße 2 - 4 – 10551 Berlin – Germany
Registered at registration court Amtsgericht Charlottenburg VR36929.