About GitHub’s use of your data
docs.github.com
docs.github.com
>
> Your individual personal or repository data will not be shared with third parties. We may share aggregate data learned from our analysis with our partners.
That's very concerning wording... I guess even private repositories are being fed into AI, at least that's what that policy explicitly allows.
>data from public repositories, and also... data from private repositories when a repository's owner has chosen to share the data with GitHub by enabling the dependency graph
So if you don't enable the Dep Graph feature, your private code is treated according to the standard terms of service.
You are not giving them an inch, you are receiving an inch (and a whole lot more). And if you don't want that, you can turn the feature off.
What would you want instead? Them not offering the feature at all?
That might still be too much for you, everyone's line is at a different place. Dependabot works better the more data it has, so personally I'm fine with that level of detail being returned to an aggregated service, for that very specific purpose.
There are other private providers of dependency scanning out there. I'm fairly sure they all work the same way Github does, just with smaller datasets.
As for this aggregate stats, why not limit the scope to access to the build status instead? They don't need anything more to provide this service...
For companies & people not willing or able to surrender that level of access, it's still possible to use the dependabot API, dissociated from any github repository (for example if you have an Atlassian git repository). You just send it a list of dependencies and an enum indicating its current build status, and they'll reply with a list of suggestions.
And to be clear I'm not saying Github or Windows is doing this, I'm just saying either you trust them to keep their word or you don't
1. Click your avatar
2. Settings
3. Security / Code security and analysis
4. Dependency graph [Disable all]
You're welcome
…and “automatically disable for all new private repos” is not set unless you explicitly opt in.
I'm sure github legal prefers your description, though.
It's like giving a party some of your possessions to store, and signing a form saying you don't consent to them snooping through them, then worrying "what if they change and forge the contract later?". They wouldn't need to. Either you trust them to keep their word or you don't trust them with your possessions at all
I'm assuming I want to definitely not check that if I dont want my code stolen?
But I dunno, they have worded this all so confusingly, this is some dark pattern shit. Do I check the box or not?
Every service and utility gets enshittificated sooner or later, it's a given at the moment. I deleted all my private repos, github and all other MS services should be avoided in the future.
The only solution is to self-host. Gitea is good.
I don’t understand your thinking and gitea’s marketing. They say in the same breath that it’s “self-hosting” and that they do “Git hosting… similar to GitHub, BitBucket, and GitLab”. — https://docs.gitea.com/
Gitea is an open source alternative to GitHub, that you run yourself.
I use Gitea with Drone CI and it works pretty well: https://www.drone.io/
Some might also prefer the Woodpecker CI fork due to the license: https://woodpecker-ci.org/
I setup Drone as a part of my migration away from GitLab Omnibus and have no complaints so far: https://blog.kronis.dev/articles/goodbye-gitlab-hello-gitea-...
Here's the Drone example in particular: https://blog.kronis.dev/tutorials/moving-from-gitlab-ci-to-d...
Gitlab is a crazy setup full of services, with elaborate interdependence, absurd hardware requirements, iffy performance, and all the lack of confidence on security that comes from this (and it only ever running if you use their docker images and don't touch anything).
But yeah, it got everything.
it is functioning like Open Source should, there was a disagreement in how the project was run so it gets forked
This used to be more common place when projects were run by people not companies. I wish the practice would come back we need more forks in Free Software
Upgrades have been painless. Doesn't tax the server.
Was using Gitea when that fork happened and didn't see a reason to migrate. Looked very much like poor communication on the behalf of Gitea causing a misunderstanding.
Gitea project hosts its code on GitHub: https://github.com/go-gitea/gitea. You must admit that is a bit ironic.
> age of massive ever-growing out of control tech monopolies that do whatever the fuck they want
GitHub is not the only option for source code hosting. There are alternatives like GitLab, Bitbucket, and numerous smaller ones.
git init --bare /path/to/repo.git
on the server. Then locally you git clone that repo with a ssh url.It does not have any visual MR or enterprisey features, but it works.
The features are basic and managed by editing text files and git-pushing them to a control repository: create repositories, add users and their keys, readonly or readwrite. There is no GUI but once you have a copy of the repo on your machine you can use one of the several git GUIs available for any OS.
Bare repo on a server is exposed to people exactly like Github: a remote URL you put in once and forget about it.
How people use their local git repository is their business, command-line, Sourcetree, GitKraken, what have you, but any of those work with any remotes.
(Sure, git by itself does not provide the other features from the hosting services like issue tracking and pull requests, but not every workflow requires those to be linked directly to the SCM)
Heck I think even the Github Desktop application also works with non-Github repositories, and they would be the only ones that would have any interest in locking people in.
Unless you mean specifically the UX of having a URL you can copy to a specific line of a specific commit in a repository, which indeed is not possible without a standard URI scheme (which does not exist) or a web client.
It is not a personal criticism to you. I find it interesting git gave us all this efficiency and the enterprise removes it by adding complexity back because employees supposedly cannot be bothered to learn their tools (or cannot be mandated) or plainly prefer a nicer ui. Not a crime, but I can see how big corporations become inefficient with this type of thinking, when appliend to hundreds of tools and processes.
Looks like they're working on migrating to a Gitea instance: https://github.com/go-gitea/gitea/issues/1029 .
https://github.com/go-gitea/gitea/issues/1029#issuecomment-1...
The fork was established at the time that Gitea got entepreneurial and founded Gitea Ltd. with plans for an enterprise version. https://codeberg.org used to run on Gitea, but switched to Forgejo, and Forgejo project is hosted on Codeberg at https://codeberg.org/forgejo
It's a sad situation that if you desire exposure and community building you must maintain a fork on Github, but that's how it is for smaller projects. I am in a similar situation, with some of my projects with main repos hosted on sourcehut, but most of external engagement comes from clones on github. It is what it is, and we do what we must. :)
How does it look from the potential users' perspective when the product they market is not the product they choose to use for themselves?
Google's commitment to privacy? Google's leadership in AI?
O how I love marketing, you can say just about anything
The people are on github, so it is really enticing.
Maybe the reddit and twitter drama creates a viable enough community for federated logins to become useful.
For any other project, sure. But when building an alternative to GitHub.. there is value in dogfooding.
Every time someone parrots this, I have to wonder if they did more than 5 minutes of reading - it's one of the top issues on the issue tracker and they've outright stated they will move once Gitea is at a spot where they are not losing functionality and history.
I did not care enough to open their issue tracker. I still don't. It is ironic, not a bit, a lot. That statement was a bit sarcastic.
I hope that put the end to your wondering.
The other solution is political. There's a reason that governments regulate and define economic rules of the road. This is a good example of where governments need to step in. The link between generative AI and the data it is trained on needs to be carefully thought through and properly handled especially given the capitalist nature of our economy.
This is what is crazy to me. You can agree to terms, build infrastructure around terms you agreed to, then those terms can completely change. Don't like it? Click disagree and we'll close your account, no problem!
And, thanks to politics around social media censorship, we have way too people willing to say, "Don't like the terms, don't use the platform!" to the point of normalization. Sad.
OpenAI is a third party..?
AIUI the AI can't be used to answer any questions based knowledge from training that included private repositories, since (still AIUI) there's no guarantee that contents from the training won't appear in the output.
But there seems to be a loophole for yes/no questions. An AI that answers only yes/no could be trained on private repositories, or run on them. So they could, say, train an AI to recognise repos that require working hours from their legal staff, or from their support staff, and then run that AI on all repos to locate repos that cause expense in the future. Things like that seem possible.
And an AI might answer questions like this: "Does any repo contain the string 845fjkef5urwejf in a Kotlin file?"
I love how they say that as if it's a meaningful distinction in some way.
Slippery slope, yes, but in reality there is a legal framework and a ToS in place as well.
Use of data for AI training is a big deal. Implicitly allowing it under this definition will be enough cause for a lawsuit.
That doesn't give a lot of comfort. ToS can change at any time.
I do have a codeberg account so will consider moving my repositories again, although it's probably too late and has all been sucked up by Google already.
GitHub is a Californian company they are beholden to US regulation that requires them to hand over data upon legal request, and they can be prohibited from telling you they did. These requests happen frequently.
https://github.blog/tag/github-transparency-report/
> In 2022, GitHub received and processed 432 requests to disclose user information, as compared to 335 in 2021. Of those 432 requests, 274 were subpoenas (with 265 of those subpoenas being criminal or from government agencies and 9 being civil), 97 were court orders, and 22 were search warrants.
Concerning national security letters:
> We’re very limited in what we can legally disclose about national security letters and Foreign Intelligence Surveillance Act (FISA) orders. We report information about these types of requests in ranges of 250, starting with zero. As shown below, we received 0–249 notices from July to December 2022, affecting 250–499 accounts.
Seems like we can increase the lower bound ever so slightly: It couldn't have been zero, otherwise it would affect "0-249 accounts".
If I make my own image of Spider-Man or some similar IP, that image is still a derivative and subject to copyright claims. Even if I claimed “I never knew about a character like this before”, I’d still get hit with a massive infringement claim.
How is predictive AI any different? If you feed in copyrighted or trade secret material, how are you not responsible for suspect output?
How would you know the LLM used your work specifically and then prove that in court?
Breach of licence and copyright laws is still illegal even if its very well concealed.
Lots of their customers' code is requiring attribution, or specifies acceptable uses (notably, what kind of license the product built with your code is allowed to have). Beyond simple copyright to which anyone can pretend, they're also concealing this.
From a practical standpoint, I don’t see how that is true.
In order to establish (civil) liability in the United States, someone would have to file suit, survive the inevitable standing challenges, and demonstrate on the preponderance of the evidence that they had been harmed by this conduct.
If you can’t prove your code was reproduced by this model, I don’t see how you can successfully do that.
i strongly doubt that this language would support the use of private repositories for training generative systems.
True, assuming that GitHub/MSFT/OpenAI's stance is correct. Just because they have that stance doesn't mean it is[1].
In the end, these gray areas will be decided in court.
[1] I personally think it probably is, which is why I removed all of my stuff from the open web and these sorts of services -- I see no other way to prevent this use of my data.
Next people will be surprised that GitHub has the right to show your source code on a website....
My employer (one of the largest in the world) has fully migrated to Office 365 and a lot of the new source code is on private Github repositories. But no worries, the humans working at Microsoft will not analyse the data. This is only done by AI.
How do you think they do that? Crystal ball?
Not everything is about AI
there is no current reason to believe that copilot or ChatGPT are trained on private repositories; however this agreement does permit them to do so.
The concern is, why not? you have an enormous corpus of professional grade software just sitting there, one bit flip away from access; and you are even permitted (to the letter of the law) to flip that bit- why wouldn't you, eventually?
They need to reliably filter secrets or they are in trouble once Copilot suggests them.
Because if people found out you were doing that you would lose vast numbers of paying customers, which would cost you a lot of money.
If people haven't gotten tired of Microsoft's antics yet, they never will.
However, enterprise/commercial? The same group you're trying to sandwich between a 365 subscription and azure/github? These are the people in which when they do have evidence that they are being negatively affected, will cause a massive dent in Microsoft's bottom line.
How so? Assuming you read the whole agreement and not just take a single line out of context?
"If you enable data use for a private repository, we will continue to treat your private data, source code, or trade secrets as confidential and private consistent with our Terms of Service."
I am working from information derived from the terms of service: https://docs.github.com/en/site-policy/github-terms/github-t...
For a small example of what I mean:
> GitHub considers the contents of private repositories to be confidential to you. GitHub will protect the contents of private repositories from unauthorized use, access, or disclosure in the same manner that we would use to protect our own confidential information of a similar nature and in no event with less than a reasonable degree of care.
When talking about confidentiality, GitHub is specific to mention unauthorised access, implication is here that GitHub has the authority to authorise themselves.
The next section talks about how they will grant access to third-parties, but it's clear that as a first party they exclude themselves from the moniker of "unauthorised".
Everything else in that section relates to personnel (which is not the concern of the commenters here), what happens if you upload copyrighted material and codes of conduct.
Also, taking segments of the TOS is exactly what will happen in a court of law, unless there is another section that invalidates this section, this fragment will be argued as consent.
Additionally; the context of that section is very clear otherwise. Sorry.
The way ToS will be argued is: there are many references to processing information and nothing that explicitly prohibits or cannot be reasonably inferred to inhibit automatic processing, in fact there are many places where they make reference to "automatic processing for services"; You can take that to mean that it's just their SAST scanners, they can take it to mean training of an AI model, there's no distinction legally here.
[0]: https://docs.github.com/en/site-policy/github-terms/github-t...
I am not a lawyer myself, though I consult with Swiss/German lawyers quite often regarding licensing because it is a large part of my role.
The fragment I mentioned is the beginning of section "E”; this document is using letters as the top level section separator, so using a different letter from the prior is taken as an intentional separation for the purposes of a legal document, what you are referring to is from section "D"; IE they are in a different context from each other entirely.
Even then, you do not need to have a license to automatically process source code, as per the text of this ToS.
There are more than a few points where they talk about what they have the rights to read, and there is only one point (which is legally required to be there, fwiw) which states they can't release your source code as if it's theirs.
If you read the copilot terms of service, they are not granting license to use the suggestions.
A very pessimistic take is that they are quite legally protected from using source code derived from these repositories, even if there wasn't the muddy discussion about training data and derivation.
They have a legitimate cause to read and while they are at it they use the data for everything else they want.
No way for you to know.
Obviously GitHub can read my repos in order to display them on GitHub.com, but access must be fleeting.
Tell me – how can Github do all of this without programmatically accessing the contents of your private repos from their servers?
"If you enable data use for a private repository, we will continue to treat your private data, source code, or trade secrets as confidential and private consistent with our Terms of Service."
2. Build small- to mid-size businesses, that can prioritize healthy growth – like focusing on users, being kind to employees, building brand equity over time.
The pump-and-dump grift cycle of enshittification has got to stop.
Accept that you cannot grow at the same speed and focus on deep roots and fanatical customers
It can also be stagnant, which is totally acceptable as well.
I’m not sure I know another example, so maybe it’s very rare.
Not all these have a viable business model, but they’re not obsessed with growth and brokering user data.
There's whole industry looking for companies that are too nice to their employees and customers to buy, exploit, grab profits and leave a husk behind.
Much easier said than done. Sometimes the owners just get tired or bored, and want out. They sell the company to the highest bidder, within reason; often there's no crowd clamoring to buy a small, non-growing company.
Then it's usually over.
Receiving files, copying them within a file system, and transmitting the contents? Clearly not looking.
Computing a hash for each file? Doesn’t seem like looking either.
Parsing the contents, or tokenizing them for a ML model? That’s looking IMO.
I think the defining factor is the size and nature of the derived state update on the server. Copying and transmitting retains only metadata about the file. Computing a hash produces only a handful of bytes of state about the file, and there’s nothing that can be inferred about the file’s contents from the hash. But if you start storing something like word frequencies, that’s not neutral anymore, it’s a “look” into the contents.
The state update based on the file contents happens in my brain, and that’s the “look” action.
When Gmail was introduced two decades ago, there was some short-lived furore about the fact that Google admitted they were reading your emails for ad targeting purposes. To a lot of people like myself, this seemed a bridge too far when you’re used to servers that don’t “look” at your private stuff. But it certainly didn’t hurt Gmail’s adoption. (I still don’t use Gmail because of this original lingering distaste.)
And if you don't agree, just remember that my claim hinges on the definition of the words "you", "definition", "got" and "a".
Not really analogous.
You expect him to read the address not the content.
Maybe you don't mind if he reads the content sometimes but if he reads every postcard every time you would be pissed.
GitHub does all those things with your commits.
Nothing is stored at Amazon.
Ok, stored but no human has access.
Ok, humans have access but only special employees
Ok, some third party contractor get the data too.
GitHub should be making this blatantly clear and transparent for users, rather than using Facebook-esk cloak-and-dagger language.
For example, clearing the full reflog of a repository and then either force pushing over or deleting the remote repository (then pushing it again under a different name) will keep the activity attribution, in the second case it might even attribute the commits to the new remote (404ing when clicking the "Created x commits in y repositories").
Good for team workflows and pull requests, but annoying for public repositories with intentionally rewritten history.
master@{yesterday}
resolves to whatever the reflog thinks the master branch was pointing to 24 hours ago. There are a bunch of places in the GitHub API and UI that look like they only accept a branch or commit OID but actually accept a revision specifier. So e.g https://github.com/torvalds/linux/tree/master@{yesterday}
lets you peek into the reflog for the master branch on torvalds/linux.[1] man 7 gitrevisions
Apart from the misconception, I worded my initial post in an inprecise way.
I did not know wether or not the reflog relates to what's pushed to the remote. I just had the expectation that an empty git log as well as git reflog output would mean that no objects exist except for what represents the tree of the current HEAD.
Still haven't tried the revision specifiers on a repository that I expected to be wiped, but will do that. I need to read more docs about git plumbing and the .git folder.
> I just had the expectation that an empty git log as well as git reflog output would mean that no objects exist except for what represents the tree of the current HEAD.
It’s a pretty common expectation but the nature of git’s object model means that generally it’s not true for any git provider. You should assume that data pushed to any git remote will live forever unless you both force push away all references to the data and GC all remotes (which for GitHub means contacting support IIRC)And I think - is github impossible to hack?
Will the day come when github is wide open and all that secret source gets drained out?
Turns out, you need more than source code to run a business. You need customers, markets & relationships. You need trust. You need a sales team. That's the real thing you should be worried about being stolen. Your goddamn sales team. Obviously the developers would be worried about the code base (and they should be) but at scale it's not the end of the world if some code gets out. Losing your best sales person & all their prospects would be much more catastrophic for your business.
Smaller players, especially threats to OpenAI and whoever else could easily get squashed in such a scenario.
Most software companies' "value" (liquidatable assets) depend almost exclusively on their IP, as embodied in their patent portfolio and their source-code. Their people may be more valuable, but people can't be traded or used as collateral.
It’s also a security risk having your source code leaked.
Coca Cola’s empire surely isn’t dependent on Coke’s recipe, yet they’re still keeping it a secret. Same goes for the vast majority of for-profit organizations who do not want their core product’s recipe exposed, for a variety of reasons.
I think it's a more "How much will it cost to host repositories that are at less of a risk than GitHub".
I have actually talked with non-tech-savvy people about this, most of them have heard of tech companies tracking their users, and most of them genuinely believe that there are tech company employees out there going through their private lives. This is why I really dislike the use of the word "tracking" in a tech privacy context.
A machine will read your data and will set a flag in your HR file.
No human read your data but you still face consequences
I've also talked with non-tech people about how the tracking and data mining world actually works, I've never had someone say "so what?". It may simply be that non-tech people aren't as aware of what the tracking does based on ignorance of the problem, not a genuine acceptance of the practice itself.
Are you implying this is an incorrect belief? There are reports of employees stalking their former partners at data collection companies.
(https://www.lawfareblog.com/snowden-revelations)
... but we'll never share your data with anyone!
They don’t allow crypto related code to be hosted there purely because the guy who runs the show dislikes crypto.
What else does he dislike in the future? AI/ML projects are just as divisive as crypto coin projects…
I think this is a major win, because assuming everyone have their unlimited 10gpbs symmetric dark fibers at their home, office, car and mobile phone is wrong on so many levels.
The related update, in short, tells this:,
You have a legit blockchain project, tell us, and we'll allow you. Crypto? We most probably don't allow it [0].
The wording is this (verbatim): We will exercise discretion when applying this rule. If you believe that your use-case for cryptocurrency or blockchain is not plagued by these social problems, you may ask for permission to host it on SourceHut, or appeal its removal, by contacting support.
I'd rather have my project removed by a person who I can talk with, rather than a corporate chat bot pretending to be human, and my source code is not harvested without my consent for a service which is sold at me $10/mo.[0]: https://sourcehut.org/blog/2022-10-31-tos-update-cryptocurre...
Yeah they give you a lot more on the free account now, don't they? :/
We've maybe been lazy with how we centralise repos in this way.
But whatever GitHub is doing, Vervel/AWS/CF can also do when you deploy, and they maybe already do to detect bad actors?
Just like many of us here know how to freely download pirated torrent mp3s safely, though pay for Spotify/Apple Music as its more convenient (also legal, but doubt many care about that especially here).
The good news for me the open-source developer: it looks like the closed-source code people write with the help of Copilot and all the open-source code in its learning set will also feed into that learning set.
I guess code just wants to be free -- free as in speech, expensive as in yachts and fine wine for VCs and private equity pirates. Plus ça change, plus ça reste la même chose. Sigh.
What frustrates me is that it feels like they didn't announce their intentions of what they'd do with your code. They use the same kind of verbiage ib t&c as they would to tell they collect some usage telemetry and might occasionally share it with partners. And that is definitely not the same.
What simpler alternatives are there? I found https://github.com/jonashaag/klaus . Is there something else?
I'd also expect that users of github would have an easier time than the average person figuring that change out.
I'm getting a 500 Internal Server Error on their pricing page, which I assume may have something to do with this post on HN. Anyone know what it costs to have private repos there?
The best forge is still a bit experimental, since we've recently rewritten it using tech that isn't as ready as it promises (looking at you, Cloudflare Workers).
A private repo is 5€/month, plus 0.01€/Gb.day for storage above 100Mb.
And we don't do the kind of stuff discussed here, we're just offering storage and collaboration tools, and intend to keep it this way (as well as open sourcing everything).
I personally don't use gitweb, but I do use cgit. It has all the features I care about (making my git repos available to view on the web). If you find that you want different features, you should use a forge that provides those features.
you have to trust linux and kind of trust aws, you don’t have to trust github at all.
not your keys, not your coins. it’s really such a good catchphrase.
for anything non-public, git data goes here:
I accidentally got a few hundred fake(?) names out of the codex models because I asked it to LARP as a professor (I was hoping for better code). Probably almost all hallucinations, but I wouldn't be surprised if some had some truth to them.
At best that would be like a Don't Track Me flag. Some will follow it, though ironically it is also useful for fingerprinting and can signal you may be doing something worth tracking.
traditionally I would have juxtaposed aggregate and privacy preserving, though I think in the lights of LLMs, that is not reasonable anymore.
soon a zip file is also "aggregate" data.
On the other hand, getting a personalized Copilot within your org is something entirely different and probably will be out in the not too distant future.
They could feed private repos into copilot. It might make copilot better. It's certainly useful to automate extraction of IP with plausible deniability. If someone notices, they can claim "oh that must be in a public dataset as well".
You no longer own your projects, they have the final word.. scary times
Glad I moved away from Microsoft products many years ago, sad for my country