Developing a software forge such as GitLab or Gitea can easily keep dozens of volunteers and paid staff occupied full time daily. Creating Free Software forges and federating them to make centralized forges obsolete does not require less resources. Funding so many people in a sustainable way could be very challenging if it was not for the French governmental incentive for R&D.
An employee of a French company who wants to help Free Software forges succeed can be delegated to a project during a few months every year. And during that time the governmental incentive for R&D pays for their salary. There is no limit in time nor is it a competition: every company is eligible. The only condition is that their goal is to solve a problem for which there is no known solution at this time. And we know that federating Free Software forges is one of them.
I hope people with various backgrounds employed by French companies will jump at this opportunity. Now is the perfect time to take part in this revolution. I’ll wait for you in the the chatroom.
Continue reading “A solution for sustaining Free Software forge development”
When Gitea Ltd took over Gitea, they claimed the intention is to solve an alleged sustainability problem. The announcement says “…there are a few corporations […] building on Gitea for core products without even contributing back enhancements. This is of course within the scope of the license, however prevents others from the community from also benefiting.” and “Some companies are unable to contribute back to open source via sponsorship or code contribution. Many more cannot contract individuals due to internal policies.”
However, not only is this the first time sustainability has been mentioned as a problem in over five years of existence of the Gitea project, there also is not a single proof it exists. On the contrary, the Gitea project is one of the few sustainable Free Software projects I know. I analyzed it in depth back in 2021 when filling grant applications for its benefit. The existence of Gitea Ltd cannot be justified to solve a problem that does not exist in the first place.
Continue reading “The Gitea Ltd sustainability smokescreen”
For the longest time I’ve been very proud that there was a Wikipedia page about me. Not a year passes without someone telling me about it and it had a positive influence whenever I looked for a job. However, as I became more and more conscious of the problems associated with centralized services and the personification of software projects, an uneasy feeling grew in me.
Continue reading “Please remove my Wikipedia page”
I’m a Free Software vegetarian, meaning I don’t use proprietary software. In the same way a vegetarian won’t eat meat, even when it is really good. My day job is to further forge federation, to allow forges to communicate with each other. To enable a developer to file a bug from the comfort of their forge even when the software project is located in another forge. I write software daily, run online services, fix problems sent my way by the monitoring service watching over services running in production, answer support requests, take an active role in the well being team and try my best to create an inclusive environment where diversity is cherished.
As can be expected, I’m often in a difficult position when trying to communicate or work with other developers because the easiest path requires the use of proprietary software. For instance I may have to send a patch via email to contribute to a project hosted on GitHub, and it will take a lot longer to be merged.
I’m however very happy to live in a universe where only Free Software exists. I can do things that would not be possible if proprietary software was around and I think every Free Software project deserves the same amicable environment. A universe made of a constellation of Free Software forges, each populated by hundreds of projects where thousands of developers work together. Everything there is grown locally and organically, in a way that would not be possible in a gigantic forge populated by millions of projects and tenths of millions of people.
Continue reading “Hostea: a seed to create a constellation of Free Software forges”
In the world of Free Software some of the most treasured values are sharing and cooperation. When an idea emerges it is not uncommon to share it publicly and that’s what Aravinth and myself did a few weeks ago. Our primary motivation was to create a sustainable online service based on Free Software. Although there are not many examples to follow the technical and ethical part of the problem only took us a few hours to crack: this is what we do. But the marketing part of the equation turned out to be well above our paygrade.
Continue reading “The inconclusive story of four failed project offers”
When an organization asks me about Gitea, I would like to direct them to a provider where they can rent an instance and just use it, in the same way they can go to https://discourse.org for a forum, or https://nextcloud.com for storage. Instead of waiting for that to happen, Aravinth and myself decided to do something about it, in a way that is in line with our shared values: transparency and Free Software.
After doing some research we found counter examples that showed the pitfalls to avoid. GitLab because its business model heavily relies on selling proprietary licenses. CiviCRM because setting it up is complex and requires training: users can’t figure it out on their own. Gitea images provided by Digital Ocean because they do not include security upgrades. MySQL configured and run by AWS because of the vendor lock-in that makes it impossible to self-host.
Continue reading “Project plans for a hosted Gitea online service”
During the year 2021 I worked on grant applications to fund my work on Free Software and published everything in public, down to the last detail. All the drafts and discussions that led to the document submitted to the organization managing the grant, the contract that was signed after the grant was accepted, the reports submitted for milestones etc. It turns out to be unusual: one can hardly find any organization with such a radical transparency.
Continue reading “Radical transparency and funding”
Earlier this year I applied for funding: a call was opened by the European Union and someone told me it was worth a shot for a project related to software forges. My lack of experience writing grant applications was a handicap but I went ahead anyway. I asked a friend if he would agree to apply with me because I felt it would increase the chances of success. I soon discovered that there was no example of grant applications to get inspiration from. Although people and organizations share such documents in private, within their own network, they are shy about publishing them for everyone to see. This was a handicap to get started. In the spirit of sharing, I then decided to be 100% transparent about my own work: not only by publishing the drafts of the grant application but also the discussions with everyone involved.
Continue reading “On transparency, funding and efficiency”
In march 2021 the libreboot project was taken over by one of the core developers and went from a democratic governance to being controlled by a single person. In July 2021 the same happend to the misskey project. Such a “coup” is a bug in how a democratic project is setup: it should not be possible for a single person to take control of the entire project. But it is possible, by design, in horizontal communities such as Enough or fedeproxy.
Continue reading “How do horizontal Free Software communities respond to a takeover?”
When a command requires a tty although it should not (some OpenStack client subcommands do), it will fail when included in a crontab. Unfortunately there is no packaged utility such as ptyget to allocate a pty. Fortunately ssh -tt can be used instead:
-t‘ Force pseudo-tty allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services. Multiple -t options force tty allocation, even if ssh has no local tty.
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
$ ssh -tt $USER@127.0.0.1 tty < /dev/null
$ ssh -t $USER@127.0.0.1 tty < /dev/null
Pseudo-terminal will not be allocated because stdin is not a terminal.