Podonian Show ep. 1: techknowlogick talk on Gitea

It was recorded on August 24th, 2022 during the Podonian Show ep. 1 where @techknowlogick was interviewed on the topic of decentralized and federated forges (15 minutes).

Hello welcome, could you please introduce yourself and your project a bit?
Gitea
@giteaio
Hi yes, uh, I’m tech. I’m one of the project leads of Getty and we’re a self hosted code forge, so analogous to GitHub. However, you can run it on any hardware you like.
Seeing people run it on one of the earlier generation Raspberry pies all the way to some supercomputers and mainframes, it’s and everything in between.
And we allow for collaboration on building software projects and.
Even some pretty unique uses of non code uses of gity of.
Just like.
Hosting blogs, community organizing, a lot of rather interesting things.
IONIAN
@IonianNetwork
Awesome, awesome.
OK, first let’s talk about the the issues of decentralized GitHub and what kind of solutions that decentralized GitHub can bring. And then I think I would love to hear more about your project, where you guys are and where where you guys are heading. So what is your your stand on on on what do you see as flaws of a centralized GitHub?

Gitea
@giteaio
Yeah, with centralization, specifically in the code world, you’re not in. Like you don’t control your own data. So there’s data sovereignty issues. In the case of GitHub specifically, they’re the arbiters of.
Can you access your own code?
And we’ve seen false DMCA takedowns of the YouTube downloader, for example, where rather another rather popular software project got a DMCA from a Media Group and.
Locked out this project with 10s of thousands of GitHub stars and.
While the code is backed up, you’re locked in with all of the issues and pull requests and comments and like building up that history of the project, why certain decisions were made, because even though you may still have a backup of the code, there’s so much more metadata that is necessary to build a software project of that size.
And even in the case of.
GitHub you have certain countries that do block access to GitHub and so.
You have this centralized repository of.
Source code that.
Is not available everywhere. Our first guest talked about in the 90s of crypto like cryptography where they’re printing off books and distributing it that way.
That’s in a similar situation. You have these.
I I guess it’s in the opposite direction, but it’s.
Yeah, and even in the case of other sanctions of like.
Sanctioning Iran and other countries. There are some developers in the US who go visit their family and because they open up their laptop and ping GitHub from an IP from a certain country and even though there may be the only there for a week and they didn’t even use GitHub, it’s just they had it open in a browser tab by the time they’re back in the US their accounts are locked down.
Unable to access their code and so.
With centralization, there’s always the risk that you’re handing over control over your own self to a third party.

IONIAN
@IonianNetwork
I see, I see. Yeah, I even heard that there are solutions that might have those around. What kind of repos? How repos get governed and and they might even have tokens of what?
PR’s get into the to the code itself.
So there is another aspect of of forming a, A, A governments around the the code itself which could be interesting for for the.
For the web, three community and long term.
OK, so.
Let’s jump into Gitty.
Umm?
So as as to my understanding, you guys are not yet decentralized. Are you guys looking forward to to do some kind of decentralization?
Gitea
@giteaio
Yes, I I definitely, and we’ve actually received a grant to start work on this and and so we would go. And so we’re working towards a Federated model similar to how you have Mastodon peertube.
What not and so you don’t need to be on the.
Projects may know to be able to contribute.
Do it and build for it and if the main node goes away.
Then you still have an archive of all the issues, all of the contributions that are in addition to just the code.
IONIAN
@IonianNetwork
Very, very exciting. So what made you guys? What made you guys decide to move towards decentralization? Was there like a certain point of events that made you think so or you guys were always moving towards this?
Gitea
@giteaio
I think in our ethos, we’ve always been. We’ve always wanted to provide our users to be able to control their own data and maintain things themselves because we have seen the risk of these centralized services because we’re a global community and so we have users who.
Are blocked by their own countries from accessing GitHub or so they need to use VPN’s and or vice versa. And we’ve seen these big software projects being just snuffed out overnight and we wanted to be able to provide.

A lot of things in the.
Pipeline, for example, the decentralized Federated model.
And we really hope to continue on that.
IONIAN
@IonianNetwork
Alright exciting.
Have you guys had any challenges recently that you faced during the development of Kitty?
Gitea
@giteaio
Definitely because we’re an open source project where a group of volunteers and so.
We only we donate our time and so we found that sustainment of our project is a rather big concern because.
Yeah.
We all have to have other jobs to support our development of this project, and so while we do receive donations and some corporate sponsorship, it’s not just everything combined. It’s not even enough to pay 1 developer salary and so.
That’s something rather significant, as well as actually another risk of centralization. Going back to that is, we’re locked into the platform, so because we started developing on GitHub.
And we want to actually migrate to our own platform where limited in.
How we can export our data. And so we’ve been working on this problem to be able to get our data out without abusing rate limits, because we don’t want to risk our project being shut down as well and losing all that data. So we have to be friendly with.
And so we’re slowly getting our data out, but it’s a project with a long history, 10s of thousands of issues, comments, poll requests and other metadata is it’s a lot of data, and so it’s taking a while to be able to extract ourselves.
IONIAN
@IonianNetwork

Yeah, that’s crazy to hear.
Yeah, and what steps are you doing towards getting those data and then what? What can you do in that sense to have everything from GitHub, all these data and then plugged into Git TN and getting your hands off of them?
Gitea
@giteaio
Yeah, there’s. There’s a proprietary data format in Jason that I could have does provide as an output, but it doesn’t have all the data that we’re looking for, so we have to manually write data extractors from their API to be able to enrich the data that they provided us. But because our corpus is so large, it takes a while.
For us to discover if we’ve made an issue with our extractor and so we have to.
Once we fully extracted, we have to evaluate and then go back and make a tiny modification and wait a really long time to see if it’s had any effects and so it’s.
unfortunate that it’s taking so long
IONIAN
@IonianNetwork
Wow. Yeah.
Gitea
@giteaio
unfortunate that it’s taking so long but that’s just the nature of things yeah
Unfortunate that it’s taking so long, but that’s just the nature of things, yeah?
IONIAN
@IonianNetwork
yeah
Yeah, that’s that. That sounds complex and very time consuming. Wow, alright.

To hear a couple of words of your what kind of challenges do you guys foresee to become decentralized? Let it be technically or not, not technical wise.
Gitea
@giteaio
Yeah.
Once centralization does have one benefit, and that’s discoverability of.
You have one place to go and you can find out everything that everyone’s working on, but when you become decentralized then it’s harder for you to.
Promote your project. Get contributors and.
And so discoverability.
As one of the big risks and so.
There’s that’s one of the things that we’ll need to consider going forward. How do we provide users that options to be able to promote themselves and?
Things that centralized platforms are.
Able to deal with a lot easier is abuses from things such as spam, because because they see everything they can see these malicious actors where that are perhaps attacking them, but in a decentralized model where everyone’s the node then that data isn’t necessarily shared, and so we need to also consider robust.
Abuse protections.
IONIAN
@IonianNetwork
I see.
That’s very interesting. Alright, thank you. I think those were again great final words.