So you moved your project from Google Code to GitHub to Gitlab on a free tier?
How much more warnings do you need? Seriously? Host it yourself or lose it. These services are to 'back up' your data only and share your project. That's it.
Your code should be under your control, and even an underpowered machine is enough to run gitea, fossil, kallithea or mercurial. Yes, there are other solutions than git.
I know this, because that's what I do.
@ParadeGrotesque No worries, IMHO the absence of PSA doesn't decrease any value of this needed advice.
@ParadeGrotesque I'm not disagreeing with anything, just wanted to say I got "works on my machine" vibes from the ending and it amused me.
He he he he... Guilty as charged, I guess. 🤓
Seriously, though, install Fossil on a small machine and you can use that to manage a small to medium project. It's easy to install and powerful.
@ParadeGrotesque at this point, you only need a machine with an ssh connection to host a git bare repository, tho. The issue with self-hosting is it takes money to pay for the machine, and it takes more time to handle stuff like updates and backup. Even better than personal hosting, we should encourage collective project and collective to open GitLab and Gitea instances for everyone.
True, but only up to a certain point.
"Collective" requires a lot of work, and volunteer burn-out is a thing.
@ParadeGrotesque Yeah! My point is not to say that you shouldn't host your stuff by yourself, but to say that doing this work with other people is generally nice, and more motivating. You can share the cost with other members or even your users if you get some.
But like everything, you're right that it takes time and energy, and it's not a guaranty of success, but I tend to believe that you can probably accomplish more and have a bigger impact on the community when you work with other folks.
Cost and complexity of hosting.
While it's not a big deal for some projects, it's a big added cost and complexity for many individuals.
True, but only up to a certain point.
Fossil (in particular) is a single executable that will provide source code control, wiki and ticket management.
It's powerful enough to manage NetBSD entire code base, and it runs perfectly well on small configuration.
Git is not the only game in town...
`Whether it's Fossil or Gitlab or Gitea or Subversion or anything else, when you require a server to be up and available, that increases the burden considerably.
Isn't that the beauty of decentralized source control?
That you can hack in a corner and upload / sync / commit your code later?
And also please note that I did say that GitHub, etc should be to back up your data and share your project with the rest of the world.
Your main repo, though, should be self hosted.
@ParadeGrotesque Sure, but I mean, Git is wonderfully decentralized: Why not have it on all of the above?
I never find projects that aren't on GitHub, so like, for discovery, you should be there. (Choosing not to host it there won't keep it from Copilot anyways...) But you should selfhost so you can provide links you truly control. And... you really should have your own copy of your code somewhere else for safe-keeping too.
We should be syncing repos around.
@ocdtrekkie exactly. "Self-hosting" in this context is literally having a couple hundred megabytes of ssh-accessible disk space. It can be on your laptop. Then sync it to whatever hoster you want.
If you want to manage issues and merge requests you need to make decisions. But that could also be "we use git-email".
@fedops @ParadeGrotesque Depending on how the project uses issues, some sort of API to sync them may be appropriate. At the very least I'd recommend accepting submissions from multiple fronts: I'm about ten times more likely to submit a drive-by fix on GitHub where I have a web editor and am already logged in than where I have to make an account and clone and stuff.
@ParadeGrotesque I forgot about Google Code. I didn't use it much.
I do recall when sourceforge was the thing to use, though. Never liked it back then. I ran monotone.
@ParadeGrotesque I do this with my Synology NAS, and I don't even have anything critical. I do sync the pelicanSSG theme I use for others, but that's about it.
Relying on free service for "mission critical" projects is a really bad idea.
Then of course again, projects on GH, SF and google code are still accessible (unless the developer deleted them), while most self-hosted projects (that the developers lost interest in) just vanish (if you're lucky someone uploads them at github :-p).
Sucks if you moved to Gitlab (what exactly was discontinued anyway?), but when the first mass-move to Gitlab happened b/c of Github's ICE contracts, the Gitlab CEO said that he wouldn't deny any customers as long as it's legal, i.e. confirming that his company is at least as shitty as Github.
So the whole "fuck Github, they're unethic, I move to Gitlab!" thing was kinda silly to begin with, TBH..
(Ok, apparently it's about Gitlab deleting "dormant" free-tier repos - which indeed would've been quite shitty. Apparently they reversed that decision: https://www.theregister.com/2022/08/05/gitlab_reverses_deletion_policy/ )
@ParadeGrotesque I don't get why "the services may shut down" is such a kick ass argument? I mean they warn you about 10 times, the code is usually still accessible, and commonly you still have a local copy.
You can just transfer it to wherever you want to quite easily.
Actually I think your stance is privileged. Not everyone has enough money, time or skill to maintain an on premise solution.
By definition, *everyone* posting anything on Mastodon, or using services such as GitHub *is* privileged.
Because doing this means you have access to one (or more) devices that can be connected to the internet and used for programming. Which puts you ahead of the vast majority of the world population.
1. If you call me 'privileged' while posting on Mastodon... It smells like hypocrisy to me. You are just as privileged as I am.
2. If you post on Mastodon, & use a service like GitHub, you have a computer & it is connected to the Internet. You can use that to self host your projects, even if you use GitHub and others for visibility.
Look at git, cgit, fossil, etc. All solutions that can form the basis of self hosting. Instead of trusting a company like Microsoft.
@ParadeGrotesque Wait, I said telling people to "just self-host" is a privileged stance. It's a privilege on its own. Yes, maybe "within" a privileged group of people.
Your second point is plain wrong. Think of USB-Tethering, Internet Cafe, etc. Having an uninterrupted internet connection is not just given.
Even then, you have to set up DynDNS, port forwarding, PAT/NAT, etc.
And yet, even if you have the skill to set up and maintain your self-hosted solution, even if you have a stable continuous connection to the internet, it does not mean you have enough time to maintain a server providing your repo. Let's say you have a disabled child you need to take care of. You can't just let it slip because your prod is down.
And at this point, we didn't even consider money. Letting a server run, subscribing to a DynDNS service, etc. costs money.
I think you are trolling. 1st it was "you are privileged", then "what about people without computers?" and now it is "what about people without stable Internet access?".
If you have a computer but unstable Internet access, you are *precisely* in the situation DVCS were designed for.
A basic self-hosting scenario is: one person, one computer, one coffee shop trip once a week.
Install git on computer, create repo. Program offline. Sync to github when online. Done. You are self-hosting.
@ParadeGrotesque Ah, I think I misunderstood.
I thought you are suggesting to basically self host "GitHub". Like in a way other people can interact with your instance.
And why not? If you are programming on Linux or BSD, self-hosting makes sense, and it is easy to setup.
I have Kallithea running on my (+/-250€, 5y old) home "server". It's a complete solution. Fossil is as good as Kallithea and even easier to install.
Take a look at Yunohost, and you can install an entire Gitlab instance in minutes. Etc... etc...
There are free services to replace DynDNS - I know because I use 2 for my home server. And so on and so forth.
But the key point is this: you can, and you should, self-host your code. Period.
Even if it's just putting it on *your* computer, as a simple git / DVCS repo.
"I appreciate SDF but it's a general-purpose server and the name doesn't make it obvious that it's about art." - Eugen Rochko