upvote
Sure, but I think we should judiciously avoid the false equivalence yielded by only looking at this on a developer-by-developer basis, rather than systemically. The truth is that in practice, AI is not a neutral force. Obviously AI can enhance the output of smart, experienced developers and improve the efficiency of code reviews, mitigating the effects of garbage PRs. However, it increases the percentage of PRs contributed by entirely inexperienced and/or not-smart devs from zero to, potentially, the majority. It entirely removes the barriers inherent to coding that kept Dunning-Krueger cases from submitting ill-conceived or poorly constructed changes— actually getting them to run in some way, even poorly. That makes them much more difficult to distinguish from well-constructed PRs than those from, say, someone cargo-culting code from tutorials.

Moreover, as these tools become more expensive, people with money to blow on tokens will be able to drown maintainers that don’t have enough token-cash to help them deal with it. People see this as mostly a matter of time and energy, but I reckon it will soon be a financial issue.

reply
I see AI as a barrier remover. Unfortunately some barriers are good or minimally necessary.

I think we'll need to revert to artificial barriers such as bonds, e.g., if you want to do a PR to my repository you need to pay a 10 dollar bond. If the PR is good and I want future PRs, you keep your bond. If it's slop and spam, I get 10 dollars for my time.

reply
This is entirely too much friction in the wrong place. Public open source will simply die before a system like that ever becomes the norm.

The previous barriers worked because they were organically perfectly in line with a contributor's internal incentives. A contributor gains very little benefit from submitting a patch; the likelihood is infinitesimally small they'll ever get any career advancement, financial recompense, or even much community recognition for it. At most, it shifts the burden of maintaining the code they're contributing from themselves to the community / long-term maintainers. The real incentive for a contributor was making the patch, because they get to see the feature or fix they want made for the software. The previous barriers were in making the patch, and contributors would overcome that friction to gain the benefit of having the patch they want. Moving the barrier to merely submitting the patch after it has already been made will simply result in people not bothering, because there is very little incentivizing them to deal with the friction.

reply
I don't disagree, where is the right place for the friction?
reply
A couple of alternatives are:

1) more reliance on systems to track reputation across projects. I'm sure Microsoft, in the form of GitHub, will love to sell you a partial fix to the same problems it so enthusiastically helped to create. But there are the familiar problems of surveillance, identity theft, office politics, and system-gaming, and it doesn't on its own offer an onramp for new players.

2) in-person coding tests at the same Pearson test centres where people take most of their Cisco (and accounting, and ...) exams today. Not as expensive or inconvenient as you might think, but not the cheapest and easiest, and it certainly has the same concerns re. surveillance and identity theft

reply
I agree with the bond in theory, but that would entirely stop contributions from people in economies where a shady maintainer could keep their code, and their weekly food budget.
reply
We already have trouble with people maintaining open source projects without getting paid, now you want people to pay for the privilege to participate in free work?
reply
It's a bond not a fee. If the maintainer feels that it's spam, they keep the bond. If they feel like it's not, they leave it.
reply
That sounds like a massive headache for maintainers and opportunity for people to cry foul. That gets messy so fast.
reply
But your company employs said individual, whereas arbitrary drive-by patches from randos on open source projects with no consequence of submitting a mountain of garbage.

The answer: require a written proposal for changes before a patch will even be considered unless it is sufficiently small.

Also fight AI with AI: have a bot auto reject patches unless they can link to a previously approved enhancement document. Folks who commit minimal effort will f*ck right off.

Then the cognitive burden is focused on the ideas, and code authors should have at least conveyed the intent. If they actually care to invest their skin in the game then they need to collaborate and not just drop garbage on the front door.

reply
just to clarify:

1. my company also employs its fair share of folk that would fit into the so-called "idiot" category of my post - I just thought it was of note that I have encountered exceptions to this stereotype

2. I fully support what Ladybird is doing here & find it unfortunate that they have to. I didn't intend my post to criticise their move - my example is definitely the rare exception in a sea of unmaintainable garbage. I do think however that it was already a challenging prospect to manage garbage oss prs in the pre-llm era (see umpteen posts on maintainer burnout) & I wouldn't have faulted any open source project for doing what ladybird is doing even pre-llm.

reply
yes. github has very minimal controls for PRs (either shut them off completely, or not at all) but through GH webhooks you can essentially script "auto-close" of PRs that dont have correct preliminary approval.

it's time for there to be some really nice workflow tooling that people can plug into their GH repos that does this and other things.

reply
> Fwiw, a non-technical employee in my workplace has begun submitting ai-generated prs to internal repos I maintain & they're of excellent quality, with review feedback graciously received & expediently addressed, so this isn't a matter of the idiots not being technical, it's an attitude problem.

It is hard for me to imagine another engineering discipline that would be totally fine accepting work from those who don't have the actual engineering background required to do the work.

If I had to push this take to the extreme: software engineers never learned class solidarity and it's now biting the industry in the ass.

reply
Man, you must hate those handymen who put up YouTube videos showing how to do basic home maintenance. A truly class-conscious handyman would insist that the homeowner hire them to replace a light switch.
reply
How this is equivalent at all? The proper equivalence would be "You should be happy a random passerby decided to re-wire your home after watching a youtube tutorial and thank him accordingly".
reply
There certainly exists a class of electricians who believe that homeowners shouldn't be changing a light switch, and jurisdictions exist where a permit is required to do so.
reply
Come on, are you really going to strawman "engineering should be inherently disqualifying" into "so people shouldn't DIY in their own home"? Please try a little bit harder.
reply
I’m not strawmanning anything. I’m pointing out what I believe to be ridiculous gatekeeping. Software engineering isn’t some holy magic that must be kept from the masses.

I can go on YouTube and get step-by-step instructions on how to safely wire an entire house. In many jurisdictions I would even be allowed to do that.

I can get instructions on how to completely redo a bathroom, down to the studs and up through the waterproofing and tiling. I can get instructions on how to do foundation repair, which might be a bit much for me but can help me ask the right questions to keep the contractor I hired honest.

These are all examples of experts acting as “traitors” to their particular group. In reality, technology enables both specialization and despecialization. Some people try to cling to their specializations and cry “class warfare” when threatened.

reply
Alright, I guess I'll take the bait. Not much else going on today anyway.

> I’m pointing out what I believe to be ridiculous gatekeeping.

I am not gatekeeping. I am stating that we collectively exist in a professional caste and that will go away or lose influence if you let it do so. Other professional castes do this exact same brain exercise and that is why they have protections in place.

> Some people try to cling to their specializations and cry “class warfare” when threatened.

I'll be blunt and just state that I am post money and not remotely threatened by this stuff anymore. I am observing that software engineering as a profession is blindly giving away a ridiculous amount of leverage in the world - in the form of dollars and influence, the value of their labor - and more crucially doing it to themselves.

I will be fine whichever way this shakes out, and I don't really have a dog in this fight short of having spent decent time in the OSS space and finding it sad what it is turning in to.

reply
Your initial post on class solidarity was extremely reasonable (even if I disagreed with it - see my comment above) but to follow it up with a post describing castes in a non-negative light is wild.
reply
In hindsight, the word "caste" is too heavily loaded and I should have chosen a different term. Sorry for the shit choice.

It's not meant to be taken negatively, and is purely a term that I was choosing to represent "hey, you all need to consider better coordinating/representing/holding the line as a group".

reply
> I am stating that we collectively exist in a professional caste and that will go away or lose influence if you let it do so. Other professional castes do this exact same brain exercise and that is why they have protections in place.

I consider this mode of thinking selfish and anti-progress. It’s pretty much exactly what Americans decry about unions.

reply
> It’s pretty much exactly what Americans decry about unions.

If you consider a union to be a "bad thing" then we are likely going to talk past each other for eternity.

reply
I support workers being compensated for their value; what I dislike are protectionism and ossification.

I am fortunate that software has paid me well to work on problems I am enthusiastic about solving. I understand that a lot of people on e.g. the Ford assembly line are not there because they want to make excellent cars, they’re there because they need a job. I acknowledge that I have no idea what it’s like to structure one’s life and priorities this way; it is just completely alien to me to align oneself with the task rather than the mission. And I believe that task-identification mindset is why we hear about resistance to electrification because EVs require fewer assembly steps, or Teamsters cutting power cables at trade shows if the vendor dares to plug in a TV themselves.

reply
You're throwing around the term "ossification" like it's a guarantee or necessity tied to anything being discussed here, and that's just not the case.

Software developers should not ossify. Nowhere have I said that LLMs as a tool - used by those in this profession! - should be shunned. I was pointing out that people being totally okay with those outside our profession, those without the necessary skillsets, directly doing our work not only devalues our work.

reply
I’ll be blunt and say you certainly sounds like someone “post money” talking if castes and such. Glad you got your nut and do not care how it shakes out.

What is sad about oss? What is it turning into? I will say far before ai came in oss was a few arms deep in the techfluqncer culture where motivations were driven by gh stars and follow counts rather than a genuine interest. Or maybe what was a genuine interest became twisted as the culture changed.

reply
> Glad you got your nut and do not care how it shakes out.

I do care, it's why I commented what I commented. ;P

I already acknowledged that "caste" is an incorrect word choice and I could've done better there, but my core point remains unchanged.

reply
Assuming you're being genuine (which I have a hard time believing because your argument is quite literally a strawman, please read the definition), you're missing the context entirely. You can't conflate small DIY projects done around the house with developing software that thousands of people and institutions rely on. By all means you can go and watch a video on software development, but that does not entitle you to expect that PRs you make will be accepted to any project other than the ones you control yourself.
reply
Please re-read the specific comment I replied to. It was someone expressing indignation that a software engineer would accept “high-quality” PRs from a non-software engineer, accusing the poster of lacking “class consciousness.”
reply
"You can't conflate small DIY projects done around the house with developing software that thousands of people and institutions rely on. "

Who claimed that?

That was the context:

"Fwiw, a non-technical employee in my workplace has begun submitting ai-generated prs to internal repos I maintain & they're of excellent quality, "

reply
> hard for me to imagine another engineering discipline....

Well, that's already the case because you cant just call yourself an engineer and start signing off on projects. It's a legally protected title in a lot of places. You need a professional license, and can face legal liability for your decisions.

Software engineering is not engineering. Software craftmanship or even architecture would be a more accurate term. There are no devs that will go to prison if what they produce has, say, a major vulnerability. That alone disqualifies it from being engineering. There's no licensure, there's no liability, so already software development is not gatekept in any way like other engineering disciplines.

I mean, just go into an aerospace engineering office and say you want to move fast and break things, you'll get laughed out of the room.

No idea what you mean by class solidarity. There are only two; the capital owning class, and then everyone else (the working class). Most devs are working class just like everyone else.

Unless you're proposing that software should be gatekept to the level of other engineering disciplines?

reply
> Well, that's already the case because you cant just call yourself an engineer and start signing off on projects. It's a legally protected title in a lot of places. You need a professional license, and can face legal liability for your decisions.

This was part of the implication of my point, yes.

> No idea what you mean by class solidarity. There are only two; the capital owning class, and then everyone else (the working class). Most devs are working class just like everyone else.

Yes, albeit a highly compensated portion of the working class. Software engineers should protect their own field a bit more.

> Unless you're proposing that software should be gatekept to the level of other engineering disciplines?

I do not like or want to use the term "gatekeeping" here, but yes, I think that software engineering should be held to a higher standard. You can't have it both ways.

reply
> There are no devs that will go to prison if what they produce has, say, a major vulnerability. That alone disqualifies it from being engineering. There's no licensure, there's no liability

The only problem in your theory is that none of those things has anything to do with "engineering".

You're arguing that a surgeon who removes a burst appendix in a hygienic environment isn't "practicing medicine" if they aren't licensed to do that in the jurisdiction where it happens. You'd have to be insane to believe that.

Engineering means solving problems. A license is a license. They're unrelated concepts.

reply
Ooof. This is a big topic - I understand where you're coming from, but it's a common sentiment & one I've recently come to disagree more & more with.

Firstly: class solidarity. The apparent death of (or at least notable decline in) class solidarity is popularly lumped upon software engineers because they're relatively highly paid, but it's equally as absent in newly created positions (mainly within the IT sector) at all salary levels. There's been a concerted effort to erode class awareness in the private sector for the past 40+ years & it's been effective across all sectors, mostly in newly created job categories without pre-existing union culture. It's in no way specific to software engineering as a role nor to high salary positions.

Secondly: ai & llms. Currently these technologies are monopolised by corporate entities, with models generally being far too inefficient to democratise, so it's obviously tempting to conflate their very existence with their owners, but if you're singling out ai usage as some kind of affordance to the capitalist class you're missing the woods for the trees. You need to separate ownership from existence/usage.

reply
> It's in no way specific to software engineering as a role nor to high salary positions.

Yes, I agree. We are, however, on a site and in a thread that is dedicated to the role of software engineering, so I don't really care about the wider discussion at the moment.

My sole input here is that software engineering has not protected itself as a field, and it will now pay the price for that.

reply
> My sole input here is that software engineering has not protected itself as a field, and it will now pay the price for that.

& my point in raising that this is not an issue that's unique to software engineering is to argue that the demons you're proposing software engineers protect themselves from are distractions from the root cause. You're proposing software engineers need to protect themselves from something that's specific to their field when the problem is holistic.

reply
> You're proposing software engineers need to protect themselves from something that's specific to their field when the problem is holistic.

I have not said it's specific to their field. I've just been specifically commenting on that field.

(The lack of solidarity is perhaps specific to the field)

reply
happens all the time. Some business jerk outsources an entire initiative, forces it through review, and we get dumped with externally written crap we gotta deal with. So what if claude wrote it, actually claude is better than money wasted on those outsourced piles of crap projects
reply
On this topic, "Open-Source Isn't About You": https://gist.github.com/richhickey/1563cddea1002958f96e7ba95...
reply
Gratitude was maybe the wrong word. As the article mentions, before ai I think larger PRs, while sometimes inconsiderate, at least implied some amount of care / effort / good faith. In my experience, that was often rewarded with the maintainers at least taking a look at the code. I meant it's odd to have the same expectation when you dump 3000 lines in a pr that you won't even personally write a description for.
reply