What we need is some sort of distributed version control system.
I’m not quite sure how it will work yet, but it would have the entire codebase and its history mirrored onto every developer's computer. Instead of requiring a central repository, developers could share their changes directly with each other.
but seriously, we need project management features that are decentralized: issue tracking, kanban, code reviews w/ comments, and ways to extend functionality without relying on a git forge.
You could create a git branch with an unrelated history to store this type of data; either as plaintext, md or something more sophisticated for dedicated tools. The biggest hurdle would probably be to define and agree on a standardized format
The last thing I want is merge conflicts in my issue tracker. The git data model is simply not right for conversational histories.
ActivityPub is the obvious solution to decentralize public communication. We're using it right now and AFAIK Forgejo is working to implement it for their issue tracker.
git itself is really not far from a blockhain. Blockchain is fine, it only has a bad rep because of ponzi schemes that use it to create crypto, but the technology and trustless consensus mechanisms are interesting.
I think blockchain also has a bad rep because every chance is mirrored to every copy of the blockchain? Thus wasting a lot of power and bandwidth for most use cases. Unlike git, where you only push what you want, and everyone only pulls what they want.
The waste of power is often associated to the proof of work consensus, but that's not a requirement of blockchain. There are other ways to create consensus.
The bandwidth requirements really depend on what's being stored, but it's usually very manageable for a server. And clients not running validation don't need to store or transfer that much data.
Git is already a “distributed version control system” that does exactly what I’ve described. On the other hand, relying on centralized systems such as GitHub means that the “distributed” nature of it doesn’t make it any more resilient to failure.
We need better distributed connectivity. It wouldn’t be that hard to build a project management system (issues, etc) on top of Git, but DVCS only gets you so far without a way to connect directly to the other contributors.
I briefly wrote Blackberry apps circa 2010 (yes, I knew RIM was dying a quick death). The development process was insane: any module from the framework that you incorporated into your app had to be digitally signed by RIM servers every time you tried to compile your app and deploy it to a device, even if you had only made a one-line change to the code. On good days, this would make the compilation take 5-10 minutes; on bad days it would be upwards of an hour or never happen at all. Some wags had even set up a special website that would tell you whether the RIM servers were down or not (long gone now, of course). I got in the habit of making a large number of code changes before attempting to run and test stuff, which is obviously not the ideal way to do things but it certainly teaches you to be careful. It also make me think long and hard before including a new module into my code. As one example, for my GUI I needed to use trigonometry functions which were naturally (lol) part of one of the cryptography modules which took an especially long time to get signed. I ended up writing my own sin() function in Java just to avoid the hit of including that module.
The great part of this was that I always had a ready-made excuse whenever I felt like taking a long lunch or going shopping or going home early. "Sorry boss, the signing server is down" and I made damn sure they never knew about isthesigningserverdown.com. It also helped that it was Blackberry circa 2010 and it didn't make a shit bit of difference whether I got the app done or not.
Git was designed specifically so people could work independently and not have to rely on a server. GitHub is not git. GitHub is an attempt to control the marketplace for code and exploit the network effects to lock people in and control them. It's facebook and linkedn for programmers. We never needed that and many of us never wanted that.
You can do distributed development with git without any centralised infrastructure. It's what it was made for.
It was enshittified into that. A decade ago, it was a perfectly fine option for people that wanted a more convenient, hassle-free way to share and collaborate on code
43 Comments
sik0fewl@piefed.ca · 91 pts · 206d
What we need is some sort of distributed version control system.
I’m not quite sure how it will work yet, but it would have the entire codebase and its history mirrored onto every developer's computer. Instead of requiring a central repository, developers could share their changes directly with each other.
dan@upvote.au · 52 pts · 206d
Linus Torvalds is probably clever enough to create something like that. The Linux kernel sure could take advantage of it.
eager_eagle@lemmy.world · 28 pts · 206d
but seriously, we need project management features that are decentralized: issue tracking, kanban, code reviews w/ comments, and ways to extend functionality without relying on a git forge.
sik0fewl@piefed.ca · 14 pts · 206d
Would be cool to see those as extensions to Git. Surely they could just be more Git objects?
lastweakness@lemmy.world · 15 pts · 206d
I wonder how exactly Forgejo's planned federation will work...
Flipper@feddit.org · 3 pts · 205d
Based in activitypub. You should be able to follow a repo with mastodon or Lemmy and then see ticket updates for example.
But it's far in the fuyure
lastweakness@lemmy.world · 2 pts · 204d
Nice, unfortunate that it seems so distant though
waldfee@feddit.org · 6 pts · 205d
You could create a git branch with an unrelated history to store this type of data; either as plaintext, md or something more sophisticated for dedicated tools. The biggest hurdle would probably be to define and agree on a standardized format
azertyfun@sh.itjust.works · 10 pts · 205d
The last thing I want is merge conflicts in my issue tracker. The git data model is simply not right for conversational histories.
ActivityPub is the obvious solution to decentralize public communication. We're using it right now and AFAIK Forgejo is working to implement it for their issue tracker.
hoppolito@mander.xyz · 2 pts · 205d
For issues tracking there's the venerable git-bug, although development has sadly slowed way down in the last years.
And I am always jealous of the way fossil repositories just have a complete front-end and wiki baked in, would love something like that for git.
Nioxic@lemmy.dbzer0.com · 1 pts · 205d
Snd with relying on cloudflare
ripcord@lemmy.world · 1 pts · 205d
Oh god kanban
Krafting@lemmy.world · 27 pts · 206d
Maybe something on the blockchain??
JK JK don't burn me on the public place!!
eager_eagle@lemmy.world · 14 pts · 205d
git itself is really not far from a blockhain. Blockchain is fine, it only has a bad rep because of ponzi schemes that use it to create crypto, but the technology and trustless consensus mechanisms are interesting.
mogranja@lemmy.eco.br · 2 pts · 204d
I think blockchain also has a bad rep because every chance is mirrored to every copy of the blockchain? Thus wasting a lot of power and bandwidth for most use cases. Unlike git, where you only push what you want, and everyone only pulls what they want.
eager_eagle@lemmy.world · 3 pts · 204d
The waste of power is often associated to the proof of work consensus, but that's not a requirement of blockchain. There are other ways to create consensus.
The bandwidth requirements really depend on what's being stored, but it's usually very manageable for a server. And clients not running validation don't need to store or transfer that much data.
mogranja@lemmy.eco.br · 1 pts · 204d
Oh, I didn't know that. I need to read up on blockchain so I don't put my foot in my mouth.
mlg@lemmy.world · 12 pts · 205d
Is this sarcasm about git/svn or are you serious?
sik0fewl@piefed.ca · 24 pts · 205d
It was mostly a joke/irony.
Git is already a “distributed version control system” that does exactly what I’ve described. On the other hand, relying on centralized systems such as GitHub means that the “distributed” nature of it doesn’t make it any more resilient to failure.
Lightfire228@pawb.social · 3 pts · 205d
Federated git hosting platform when?
irelephant@lemmy.dbzer0.com · 2 pts · 204d
Google forgefed
PhoenixAlpha@lemmy.ca · 6 pts · 206d
https://radicle.xyz/ seems to be this
bytesonbike@discuss.online · 5 pts · 206d
Ah yeah we called that zip files and Dropbox. I don't miss it.
Im joking of course.
firelizzard@programming.dev · 5 pts · 206d
We need better distributed connectivity. It wouldn’t be that hard to build a project management system (issues, etc) on top of Git, but DVCS only gets you so far without a way to connect directly to the other contributors.
MonkderVierte@lemmy.zip · 2 pts · 206d
IPFS git?
mmmac@lemmy.zip · 2 pts · 205d
Don't be a trachers pet lol, let us enjoy a lil time off thanks to github
Courantdair@jlai.lu · 2 pts · 206d
quoll@lemmy.sdf.org · 34 pts · 205d
we are out of claude tokens
serpineslair@lemmy.world · 31 pts · 205d
"AWS is down".
"And so is half the internet..."
GreenBeanMachine@lemmy.world · 31 pts · 206d
dohpaz42@lemmy.world · 13 pts · 205d
It was down earlier today. Came back up right around when I posted this.
zr0@lemmy.dbzer0.com · 12 pts · 205d
Or in my case: Spending limit for GitHub Actions reached!
ChickenLadyLovesLife@lemmy.world · 8 pts · 205d
I briefly wrote Blackberry apps circa 2010 (yes, I knew RIM was dying a quick death). The development process was insane: any module from the framework that you incorporated into your app had to be digitally signed by RIM servers every time you tried to compile your app and deploy it to a device, even if you had only made a one-line change to the code. On good days, this would make the compilation take 5-10 minutes; on bad days it would be upwards of an hour or never happen at all. Some wags had even set up a special website that would tell you whether the RIM servers were down or not (long gone now, of course). I got in the habit of making a large number of code changes before attempting to run and test stuff, which is obviously not the ideal way to do things but it certainly teaches you to be careful. It also make me think long and hard before including a new module into my code. As one example, for my GUI I needed to use trigonometry functions which were naturally (lol) part of one of the cryptography modules which took an especially long time to get signed. I ended up writing my own
sin()function in Java just to avoid the hit of including that module.The great part of this was that I always had a ready-made excuse whenever I felt like taking a long lunch or going shopping or going home early. "Sorry boss, the signing server is down" and I made damn sure they never knew about isthesigningserverdown.com. It also helped that it was Blackberry circa 2010 and it didn't make a shit bit of difference whether I got the app done or not.
Lightfire228@pawb.social · 3 pts · 205d
JargonWagon@lemmy.world · 7 pts · 204d
Cleaned up the template a little and also removed the job role specifying "programmer" to make it even more of a flexible template:
Modern_medicine_isnt@lemmy.world · 6 pts · 204d
The new one will be "claude is pondering"
ieGod@lemmy.zip · 5 pts · 205d
I've not worked anywhere that didn't own/maintain their own source control. Even privately I self host gitea.
shirro@aussie.zone · 1 pts · 204d
Git was designed specifically so people could work independently and not have to rely on a server. GitHub is not git. GitHub is an attempt to control the marketplace for code and exploit the network effects to lock people in and control them. It's facebook and linkedn for programmers. We never needed that and many of us never wanted that.
You can do distributed development with git without any centralised infrastructure. It's what it was made for.
zalgotext@sh.itjust.works · 1 pts · 204d
It was enshittified into that. A decade ago, it was a perfectly fine option for people that wanted a more convenient, hassle-free way to share and collaborate on code
AlecSadler@lemmy.dbzer0.com · 5 pts · 205d
For me now it's that Anthropic services are down :/
BootLoop@sh.itjust.works · 5 pts · 205d
A classic. I sent this is general chat at work the last time that GitHub was down.
ICastFist@programming.dev · 1 pts · 203d
"StackOverflow is down" is the more common cause where I work
Melvin_Ferd@lemmy.world · -7 pts · 204d
Good thing about ai is it's never down. Code much better with it than stackbullshit
iByteABit@lemmy.ml · 3 pts · 204d
Unlike the human brain which is known for always returning 502 Bad Gateway
Melvin_Ferd@lemmy.world · 0 pts · 204d
Use both at the same time. It's a fun party trick