-
-
Notifications
You must be signed in to change notification settings - Fork 348
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Suggestion] GitHub life boat #3337
Comments
I think a "GitHub goes paid" scenario unlikely, but I could imagine other troubles to happen; like a DMCA takedown request because someone doesn't like CKAN and doesn't know how it works, and we've already learned that GitHub is quite happy enacting them without prior notice. In any case, I agree that we should make some thoughts and maybe even do some preparations to make an emergency jump, or a planned one because who knows why, easier. Adding some thoughts to your ideas:
|
I like the idea of passive mirroring to GitLab and treating it as a fallback now, before any disaster. 👍 |
I really like the idea of passive mirroring. It's always been a bit of risk in my mind that we have a bit of an 'Eggs in One Basket' approach. I don't think we need to get too carried away too fast, but some work towards it would be good.
Storage charges aren't the killer for S3, that'll almost be nonchargeable for that amount of data. It's transfer out that will get us and we can't predict that. We could front it with a free service like CloudFlare, but that involves giving them DNS as well and another eggs/basket to worry about. |
GitLab group created: https://gitlab.com/KSP-CKAN Edit: I've now set up mirroring for all unarchived repositories except:
I did decide pro archiving ".github", since it contains files like the Code of Conduct and PR + issue templates that are in itself useful and good to have in case of jump, even if we need to move them to different places to be useful for GitLab. Notable observations:
This means that you need to allow at least your user or "Maintainer" to push to mirrored repos, otherwise it will fail to push new commits. |
Excellent! For what it's worth, I checked the mirror of CKAN-meta and things seem to be propagating across nicely. Trying to brainstorm the remaining steps that would allow us to close this issue as addressed via GitLab... Fallback capabilities in the short term:
Longer term preparations:
|
Background
CKAN leans heavily on GitHub and GitHub services for almost everything:
All of our source code is here, obviouslyAll the meta-metadata used to generate that metadata is hosted here (NetKAN)We also use a few resources that are independent of GitHub:
Motivation
While enjoying some completely unrelated 5-year-old drama in a GitHub issue that will not be linked here, I started thinking about GitHub's business model, which is essentially "freemium": they offer free services to draw in users, some fraction of whom will then see value in paying for extras. It occurred to me that depending on the metrics available to GitHub's management, this model may not last forever. If they could analyze users or projects and determine definitively which ones will never ever pay them one dollar for anything, wouldn't it make economic sense to be less generous to those users? Maybe the drawing-in effect could be achieved just as well by a one-year free trial?
While it's true that we all have local clones of all the important git repos and could push them elsewhere, many other parts of CKAN's architecture strongly assume that GitHub will continue providing various services for free. We could be thrown into some pretty severe turmoil overnight by a "bad" announcement from GH HQ.
Ideas
It may be wise to formulate contingency plans regarding what the CKAN project would do if, for example, GitHub announced that after some date all projects would have to pay. And outline any steps that might make us so dependent on GitHub that we could no longer escape, if there are any.
In every case other than the first, we would have to update both the client and the Infra with the new URLs, whatever they might be.
The text was updated successfully, but these errors were encountered: