Pleroma Microblog

Pleroma Microblog

Everyone makes tradeoffs. I have a #github account and contribute to projects there, but I host my own stuff elsewhere and I gently[0]β€Œ remind people who host stuff on github that there are other solutions that are growing more capable for every day that passes.

It is acceptable to use proprietary tools to promote and work on free software when no comparable tools exist and when you're working on replacing those proprietary tools. GNU was originally built using Unix after all.

[0]β€Œ and sometimes not so gently when I think they should know better: https://libranet.de/display/0b6b25a8-1260-5ac6-ac61-146110080267

#gitea was hosted on Github, but had a clear plan on what milestones had to be passed for them to start self-hosting. Now they're migrating to https://gitea.com/gitea/gitea . Gitea is a productive environment in which to host your project. With @codeberg you even get #codeberg Pages.

Github was proprietary from the beginning, but after Microsoft's acquisition it has moved deeper into the Extend phase with Github CLI. They're aiming for the entire open source infrastructure to orbit around them. Don't help them move the free software and open source world in this direction. You don't actually need Github. They need you.

If you're just hosting some static files and want a quick and easy solution, please consider Codeberg Pages, a community free software project, before considering Gitlab Pages, an open core business.

Please consider Gitlab Pages, which at least publishes a highly capable open source edition of its product, before considering Github Pages.

@clacke Or be an unfrozen caveman, grab the cheapest VPS/d.o droplet
files go in /var/www
sudo apachectl start
Time for beer.

@mdhughes @clacke sometimes you're not high in tech & just want a point and click place to drop a few files

@patterfloof @mdhughes Right. Point being: You don't need Github for that. These alternatives are not obscure hackery interfaces, they do the same thing, sometimes more, sometimes better.

Gitlab CI existed before Github Actions, it's not Gitlab that is playing catch-up.

@clacke @codeberg Gitea is ok, and at least is a reasonable solution to self host and is all free software.

It still suffers from the malady of building a big web framework around the limitations of git itself, and it's very heavily online (as opposed to distributed) in a way identical to GitHub.

I do wish more people would look at Fossil and either use it or copy its model.

@tfb @clacke @codeberg

I do wish more people would look at Fossil and either use it or copy its model.

Fossil is very cool in a lot of ways. Having the entire web interface, wiki, etc. bundled into a single executable is awesome.

But I don’t think it’s a suitable alternative for git for most projects, because of the fundamentally different contribution model that they work under: the whole cathedral (fossil) vs. bazaar (git) model.

https://fossil-scm.org/home/doc/trunk/www/fossil-v-git.wiki#vs-linux

@clacke Gitea is basically github but Open Source, they haven't done anything else. Contribution model is inefficient and creates vendor lock-in.

@yyp Which vendor would you rather be locked into? A community free software vendor or Microsoft?

For most people who want to manage source code projects and community contributions, the centralized web host is unfortunately the most usable and familiar model we've come up with so far.

@clacke The problem is that contributors should make an account on the server where the project lives, then fork it and make a pull request. It's a lot of waste and unintended side effects like creating a new account

@yyp That is exactly the friction that ForgeFed addresses. It's a great improvement to be able to register at a single node, or roll your own, and then use that one for all interactions.

The remaining problem is that you need an always-on, publically-addressable intermediary at all instead of just running a P2P node locally.

@tfb @codeberg There is preliminary work done for adding forgefed to gitea. Once we have actual people using actual federated forges, I'm sure use cases will evolve.

@clacke @codeberg That would be progress in a good direction. Having things like issues offline would be another important step.

@tfb @codeberg I occasionally look around and update and/or learn from http://dist-bugs.branchable.com/software/ .

So far I haven't found a distributed issue tracker I can unreservedly recommend people to use. But they have become a bit better lately than they were 9 years ago.

A forge that integrated and synced with a distributed issue tracker would be *chef's kiss*.

@clacke

> That is exactly the friction that ForgeFed addresses

Email does too, https://git-send-email.io

@yyp @clacke i'm dreaming about a federated solution for git.

i setup my own instance, check in my code, do all the stuff with issues, ci and so on...

another one also setup his own instance... but he can fork a repo from my instance, comment on my instance, make PR to my instance and gets updates from my instance - and the other way round.

git itself is build on this model only with the repo itself... but all the web-stuff around should federate also.

if it federates with activitypub, we can follow an issue or repo also here on mastodon/pleroma too... to get news about a trendy repo...

@jakob @clacke fork and pull request from a different instance - your bandwidth is unlimited or something?

@yyp @clacke if i clone a repo to my local machine, it's the same...

looking on other federated services (matrix, mastodon...) they all tend to only a few big service-providers... why should it be other with a federated git...

@jakob @clacke When making a PR you need to always request updates from a server that has a fork which would result in a very high load and bandwidth usage

@jakob @clacke @yyp there many independent federated nodes, mine for example, https://friendica.eskimo.com/ and https://hubzilla.eskimo.com/

@nanook @yyp @clacke i do not understand, what you mean?

i have also my own nodes for my fediverse-services... but look at matrix. i think i've read, that over 90% of all matrix-accounts are registered on matrix.org.

there is also a concentration on mastodon...

and if some people work together in a project, they will have their fed-git-accounts also on the same host... i believe. So the big load of forks and PR in daily work will happen locally.

@jakob @clacke What's the point of federation then if most people will work on the same host?

@jakob @clacke Concept of forks and pull requests as main contribution method is flawed in decentralized context

@yyp It introduces the friction of git+email, which may not seem real to anyone who got online in the 90s, but the friction is real.

@yyp @jakob It uses no more bandwidth than sending the patches over email.

@yyp @clacke it is not my idea to work on the same host at all the others... therefore i host my own servers.

but if you look out... there you can see the reality.

@clacke @jakob With patches over email you don't need to pull updates from the server every second

@yyp @clacke what do you think...

if you can create a fed-git with functionallity like gitea, gitlab or similar with federating over activitypub, could there be a possibility, that PR can be done over AP similar to patches over email?

i think, it would be possible.

@yyp @clacke cloning/forking a repo always takes a lot of bandwidth. so if i fork a repo to my fed-git instance i need this bandwidth.

but doing PR, creating an issue, make some comments in the other instance realisied by acitivitypub can be possible... without the big amount of bandwidth.

@jakob @clacke PR implies creating a copy on your instance

@jakob @clacke Ok, even if this thing would be implemented and standardized, it would take ages before good tools are available and this gets at least some adoption.

Email is already a thing, there are a lot of useful tools to work with it (git send-email, good clients) and it's used by PostgreSQL, Git, Linux kernel and a lot of other projects. There are hosted services which make the process easier for individuals: https://sourcehut.org. Do we really need anything else?

@yyp @clacke yes. i know.

but to make a pr, i have to fork the project first, which is a clone to my host... i have to do it anyway...

ok. on github/gitlab i do the fork on the same host. no network-bandwidth is necessary.

but if i want to edit this repo on my local machine i have to clone it to my laptop...

in a federated git, from which i'm dreaming, the initial fork with the big amount of data-transfer is not local... yes. i know. this is over network and needs a lot of bandwith...

AFTER this initial fork, almost only the changes are transferred... also on a pr...

isn't it?

@yyp @jakob Why would you need that in another scenario?

@clacke @jakob Have you ever used PRs?

@yyp @clacke yes we need.

we have some jira instances at work, and some of them have to communicate with jiras from other companies... and some of these connections work over email. and sometimes, they do not work. why?

because email is NOT good for this purpose any more. spam-filter, blacklistings... and so on do not guarantee, that the update-email is delivered... why should this work better with git?

we try to move all this connections from email to native REST-connections. So we can give the guarantee, the update comes just in time and it will come!

And if something is new... yes, it takes it's time to be established. Even if it is good...

Maybe it's enough to add ActivityPub-functionality to Gitea or Gitlab... Or someone found a totally new concept for webbased git solutions based on activitypub - which is also relatively new defined as web-standard for federation from the W3C...

@yyp @clacke yes. not that much, but yes, i used them.

@yyp @clacke please correct me...

on github (which i used most in the past), i have to fork a project. then i clone the repo to my local computer, do my work, create branches, patches and so on. pull it to *my* repo on github and create a pull-request to the original project, where i've forked it before.

what i understand from that:
forking a repo on github means making a copy of the full project from one users directory to my users directory. i need bandwidth for that. because the whole project has to be copied.

this is, what have to be done over network from one fed-git instance to another fed-git instance. and THIS happens only one time in lifetime of the fork.

right?

all other actions only transfer patches, diffs, updates from one instance to the other in a federating git system... or from one repo to the other on gitlab/github/gitea nowadays.

right?

@jakob @clacke Correct, but when you need to add some changes to your PR, you push to your fork and then remote server needs get those changes. Transmitting all changes as events would DoS your instance as many people could fork and spam you with updates

@yyp @jakob Multiple times per day.

There is no need to be polling anything, just like there is no need to be polling anything when you post your patches to a mailing list. When you push to your branch, that's an event.

Jenkins isn't polling our git repos either, it receives an event.

@clacke @jakob Ok, then every single commit in repositories forked from your instance should generate an event back to you so PRs will work correctly

@yyp @jakob People can spam your mailserver too, and that isn't even structured messages coming from a specific server, so it's *harder* to filter than some AP server out there spamming you with fake PR events.

@clacke @yyp Spamming and DoS-Attacks are a Problem. Yes. But not specific to AcitivityPub. Right!

@jakob @clacke nevermind then I guess. But still, AP in my opinion is not really suitable for software development, it's better for what it's used for - social networking. We need either (1) a new protocol that solves all problems, (2) use email or (3) continue developing proprietary (non-standard) protocols for new walled gardens. Email is not that bad as you might think, if you exclude gmail from the equation, everything is pretty good.

@yyp @clacke You are not so the guy with ideas... you are more the one who always says "it's not possible"... ok.

your role is to show the drawbacks... that is a very important role.

but i think, it's not time to talk about protocoll-details, because the big thing does not exist now... and i'm sure, out there in the world are developers, which can find ideas how to realise an activitypub based federated web-git solution... i'm sure, this developers are existing.

it always need guys with ideas, guys with skills to realise such an idea and guys wich will show the problems.

i personally do not have the skills to develop such a thing... my hope is, to reach a developer with my idea, who is also fascinated about this idea, picks it up and makes it... and if not... we have good working tools now. it's also ok.
replies
0
announces
0
likes
1

@yyp @clacke i don't think email is not goot. i know it from daily practice, that email was a good solution, but it isn't any more. we have big troubles with email. our mailprovider (we host an own exchange-instance... the windows-group does this, we are the linux-group) changes often keyword-lists, blacklists, spamfilters... and today an email goes through, tomorrow not... 2 weeks later it works again...

it is not trustable, that updates sent by email are really reach the target...

maybe activitypub is not the best protocoll for git... maybe it is... but no one tried it till now. What i can send through email, i think, i can send also by activitypub. not?

@jakob @clacke Don't assume if exchange is unstable, everything is. I've been using sourcehut for 4-5 months and haven't had any problems with emails not arriving or anything like that (given that I used gmail and switched to a different provider only ~2 months ago).

And no, activitypub is not an email killer. There are no tools to easily work with AP besides web UIs (which is awful given that email has a ton of CLI clients and fancy stuff like git send-email)

@yyp @clacke if i could make the decission, i would host my own mailserver based on exim/dovecot/postfix.

but we live in a windows-world... and it's not my decission...

and i didn't say, activitypub is an emailkiller... i said, what you do with email in git, you can do also with activitypub. and a lack of tools now doesn't mean a lack of tools in future...

@jakob @clacke Why do we need to reinvent the wheel?

And also, you will not probably use git with email at work, gitlab/gitea in that case wins.

@yyp @clacke and it’s not a question about an unsable exchange… it’s a question of spam/junk-filter updates… many people send documents over email… yes, that is not ideal… that is very bad… but people do this since 30 years… so why should thy change their behaviour, if there is no need for that? if they are not forced by shrinking the attachment-size… and so there are permanently adjusted junk-filters which make email bad for updates and system-notifications.

What i understood from activitypub is, you send a json-message to a rest-endpoint (inbox) or put such a json-message to a outbox, where it can be crawled.

whats that difficult, if you have a fed-git based on activity-pub, and a git module, which can put a json to the fed-git inbox, similar a git remote push…

the question is, what kind of message should it be? what’s the content. only a notification, that the other git can pull from my git? Or the patch itself… so… guys who know git and activitypub better than me CAN think about this and find a solution, if they want.

@jakob @clacke Also, I'm looking forward to write an AP-compatible server and might even experiment plugging git into it to understand git patches so you can send them around and all that cool stuff, just to see how good and optimal it will turn out.

@yyp @clacke sounds for a good start for a probably cool project πŸ˜€

@yyp @clacke @jakob
But still, AP in my opinion is not really suitable for software development, it's better for what it's used for - social networking.
Well, I actually consider the whole "issues and PRs" business a kind of social networking.

@nnh @yyp @clacke @jakob Love your name, reminds me of Hitler

@admin @clacke @jakob @yyp I think I would have understood your comment if my name had been "Nicht mehr da"

@jakob @yyp > the question is, what kind of message should it be? what’s the content. only a notification, that the other git can pull from my git? Or the patch itself…

It's the former, just a notification.

> guys who know git and activitypub better than me CAN think about this and find a solution, if they want.

They did. πŸ˜‰

https://forgefed.peers.community/vocabulary.html#act-push

@yyp @jakob Unless they're Linus Torvalds, one person cloning the linux.git repo from your forge will generate more network traffic on that one clone action than their ForgeFed push events will generate for the rest of their life.

You can run an AP server on a Raspberry Pi and follow 1000 people posting 25 posts a day without a hitch. Your bandwidth can handle following a couple of dozen git repos over ForgeFed.

@clacke @yyp
this sounds, that there is a federated webgit in progress?

@jakob @clacke Yes but I haven't seen any implementations so far