Opt out of HuggingFace's "The Stack"

There is nothing elitist or hostile about their position. A few short years ago we were all in the same boat of needing to learn. Suggesting that people have to use their brains to acquire knowledge isn’t elitist, I think it is far more rooted in optimism and a refusal to patronise people by suggesting that their only route to mastery is via some corporations locked down closed source model.

13 Likes

Others have said similar things, but I’m bored at a cafe, so forgive me if this isn’t “new” to the discussion. The crux of this position seems to be that you have the right to regulate the use of your contributions to Nix. Unfortunately, that’s simply not the case. By submitting a patch to Nixpkgs, you’re licensing that code under the MIT license, which means that people can do basically whatever they want with it. For better or worse, that’s the price of software freedom. Especially because the MIT license isn’t copyleft*, I don’t think there’s a good argument here. It’s actually sort of nice of Meta to give us the chance to opt-out in the first place (I take no pleasure in saying that btw). Unfortunately, the fact that their system is opt-out and not opt-in also means that their “solution to coding” is going to be trained on terrible code I wrote in middle school.

*I don’t think there is a well-established precedent for how training a model on code would apply to something like the MIT copyright notice, but the most expensive lawyers in the US are probably working on some pretty convincing arguments for why it doesn’t apply.

2 Likes

With attribution. No LLM model gives attribution. We weren’t asking for much, but not even that is upheld.

10 Likes

I was trying to hold out some hope with that judge but yeah I wasn’t really surprised at the outcome.

Generally speaking, in F/OSS spaces people will gladly volunteer their time, for free, to help out newbies who ask questions or are having issues. That’s the spirit of F/OSS in general—putting stuff out there at no cost. It already is accessible.

While there are free LLMs, the general aim of the providing companies is to get people locked on a monthly subscription and/or pay for tokens. Effectively making programming a pay-to-play situation. How is that not elitist in its very nature?

10 Likes

Hello, what I meant by “elitism” is that LLMs have been enormously useful for myself learning Nix - especially consider the let’s say “fragmented” nature of Nix/NixOS documentation. Trying to block tools that are very useful for newbies is elitist since it raises the bar for those with least knowledge. Saying that “you just need to learn” while simultaneously trying to block the most useful learning tool leaves questions about the true intent. The same logic could be applied to any documentation - “just read the source code” - and I believe we agree that would not be right?

I do not believe that removing NixOS/Nix from the mountain of LLM training content would do anything to stop the LLM-steamboat. It would only make the LLMs less capable in NixOS/Nix domain and thus Nix/NixOS harder to learn for new users.

@andrewzah :
While there are free LLMs, the general aim of the providing companies is to get people locked on a monthly subscription and/or pay for tokens. Effectively making programming a pay-to-play situation. How is that not elitist in its very nature?

I am also concerned about the ever increasing corporate-oligarchy over information technology. It is really hard for open/free software movement to compete in areas where huge capital investments are required. I hope that the diminishing returns of larger models plus ever increasing processing power will eventually enable free/open models to provide good-enough experience. Like how Linux started as a “scrappy-free-Unix” and eventually became the platform that powers the world. So yes, we share the same concerns, we might just see different paths the future will take.

2 Likes

You can say it is elitist as much as you want. That doesn’t make it true. There is no elite being supported. There is no elite interest being protected. The documentation is open to all, people are constantly working to improve in spite of the all the negativity around it (typically from people that haven’t spent nearly any time with it). This forum is open to everyone and help is freely offered with no expectation of reward.

leaves questions about the true intent

That is not in the spirit of this forum.

6 Likes

As the asker of the question, I consider it answered to my satisfaction, with some lingering disagreement over whether the inclusion of the license files in the dataset, alongside the code files to which they apply, in addition to the license metadata applied to every file, is an adequate fulfillment of the first condition.

It’s a fair point, though.

LLMs right now are strictly better than the median or even mean NixOS discourse user specifically for consultation on a whim, no matter how knowing or friendly that user is are. They’ve read more of the Nix and nixpkgs source (if that wasn’t true we wouldn’t be having this thread). They’re capable of sitting and patiently re-explaining the same bits of nix over, and over, and over, and over without getting frustrated. They can ridealong more often for longer–mere meatbags need to sleep, and might be many timezones away!

If the goal is “how do we get the best learning resource into the hands of new users”, right now that’s Claude or ChatGPT. You or I might not like it, but for that particular problem, that’s the best we’ve got. The docs aren’t there, today. The ever-present, ever-knowledgeable, ever-patient community isn’t there, today. The clankers…are.

If the goal is instead “how do we ensure that new users go through the same trials and tribulations that we went through, because we believe that that forms better community relationships and because we sincerely believe that that method works and we’re unsure about LLMs”, that’s fine too–but the as per the person’s post that is in fact a different intent than “you just need to learn”.

It’s “you need to learn the way we did back in our time because that’s the way we think is best”. That’s different.

5 Likes

No sorry, it’s bullshit to ascribe intentions to people that they plainly state they don’t have. They have concerns, which are clearly centered on reasonable problems with AI. We can argue all day about this. I averaged 63kloc of output with claude at work over the last 28 days. I am running 3 LLM sessions while typing this response. I’m not saying any of this is good or bad, I’m just saying that I am not coming at this from an ai-hater perspective. It’s still really fucking annoying to see elitist and hostile thrown around as epithets for people that object their to work being consumed by AI companies. What if it were demonstrated that I could learn nixos significantly faster by chucking puppies off the cliffs near my house? Could I brand everyone preventing me from obtaining mastery through puppy punting hostile and elitist?

Also I object the framing that AI is the best way to learn. That’s completely unproven. Empirically people are getting more stuff done. Is that learning? Does it matter? I don’t know.

12 Likes

Speaking for myself, I’m pretty sure I would have found NixOS too difficult and poorly documented, if I hadn’t had the first generation of clankers on my side when I started out 3 or 4 years ago.

I understand the urge to want to remove oneself from such datasets (in fact I’ve opted out of this one for my personal repos) but in the case of NixOS I think it would be a big disservice to the community if AI got less efficient to help us, the mere nix mortals.

Also we have a throughput issue regarding nixpkgs maintainers, AI might help them with ?

Anyway I suppose it would need a much greater and coordinated effort across many datasets and existing models (which can always be distilled) to have any effect.

At the very least we need a democratic vote of a representative portion of the community before taking such a decision. I’m not in favor of vocal minorities getting to impose their views over a majority.

4 Likes

The issue is a lack of reviewers, not a lack of contributions

4 Likes

Was there a vote? A discussion?

Or did one non-commiter really force their will on everybody else without even bothering to ask?

3 Likes

Well looks like you could have just created a issue and they accept it without checking if you speak for the organization.

2 Likes

Okay, that’s some unilateral shenanigans, full stop.

1 Like

For the record, your ascription of malice here is misplaced, as their request was merely “opt out my repos”, it is hugging face themselves who interpreted nixos as “their repo” and removed it.

So no, there wasn’t a vote or a discussion, as it was not a conscious decision in the first place.

9 Likes

Just saying, but someone could have asked me before putting me on blast about that, and making up theories about what happened.

Okay, that’s some unilateral shenanigans, full stop.

Indeed, asking to opt-out for such a process like this is unilateral shenanigans. There is no informed consent.

There is no transparency about how the data is actually going to be scrubbed out from that data set. In fact, if I understand it right, they will not scrub any data. They already released it. This opt-out is for future releases: “Repositories that opted out are removed from the dataset before each patch release”.

So taken at face value, the opt-out is worth literally nothing. They might as well have an automated system that says “alright, done!” and do nothing since it’s already in that dataset.

Let’s not forget that there is no way to actually opt-out of any future unceremonious snarfing they do, other than to remember to add more and more to the list*. There are no notifications sent to people who are not forcibly kept in touch with whatever VC brainlessness is happening these days. People that are unable to access their GitHub accounts for reasons such as being incapacitated or, for example, dead, are unable to opt out.

* Yes, you can opt-out a user or an org, but that, again, only works out if you go ahead and every time you make an org for a project, you don’t forget to opt-out.

They also conflate concepts such as a moral person having only one GitHub account, or projects being found in a single repository. So even their claim that “Developers can request that their code be removed from The Stack v3” couldn’t be true, ignoring the previous issue.

Or did one non-commiter really force their will on everybody else without even bothering to ask?

For the benefit of those who wouldn’t know, I previously was a committer. Before circumstances led to me being forced to step away.

But anyway, for what it’s worth, one VC company forced their will on everybody else without even bothering to ask first. So I’m not sorry. I will not apologize. I will not retract my request. I wouldn’t have requested it if I saw it was in the list, since I didn’t want to be targeted by harassment.

Ultimately I would be opting-out everything I have authored, but they have no mechanisms to do so in the required granularity across projects with multiple authors. There are other projects I have made meaningful contributions to where I have no way to opt-out.

There’s also the very problematic issue of “non-networked” forks. There will be many other Nixpkgs forks that will be left in their data set. So even though it’s apparently been opt-ed out, they don’t even have the insight to handle it correctly. And that would apply to any of my projects if any “non-networked” fork was made and pushed to wherever they next gobble up more repos.


But, let’s not get distracted. Cutting the rant short.

How did this happen?

What I did was use gh and jq to list all public “repositories that the authenticated user has explicit permission”. Removed some stuff I saw listed that was from a prior work relationship, and didn’t notice the few entries from the NixOS org in the couple of hundreds.

 $ gh api '/user/repos?visibility=public&per_page=100' --paginate > all-repos.json
 $ # Failed at using `jq` a couple of times
 $ < all-repos.json jq --raw-output '.[].full_name' | sed --e 's/^/ - /'
...

That’s it.

22 Likes

Thank you for the stacktrace.

1 Like

I’ve contacted the project owners and explained the situation that NixOS and nix-community repos were included by accident. Thanks for clarifying.

Also, I’m adding this to the SC agenda to decide.

8 Likes

Hi,

My retraction stands generally for my contributions. I am opting out “my code”, and since they have no mechanisms to extract “my code” from a project’s code, I don’t think it’s correct to now opt-in the project.

While the license will be used as an argument about how this is allowed, it is factually irrelevant to the topic at hand. This is about a process unrelated to copyright law and licensing. They are allowing people to opt-out, I am taking them up on the offer.

As far as I know, I never signed a CLA that handed over my intellectual property to the NixOS project. So even considering the license, I will argue that it is still “my code”. I will also argue that anyone else who hasn’t handed over their intellectual property is given the option to opt-out.

Especially for the following projects, of which most or virtually all the meaningful contributions are mine. I don’t think you can make the call.

Especially considering that I never added licensing information on nix-community/nix-review-tools, I object even more so.

12 Likes

I forgot about NixOS/nixos-common-styles. It’s in large part my contributions. All authorship information was lost when the project was created with existing code. The information can be pieced together by going through the nixos-homepage history.

Of which, I would also request opting out. Since I assumed they have ingested the histories, and not just an arbitrary latest commit. There is a significant amount of meaningful work that stood for years in it. Even though it is not the case anymore.

4 Likes