← Back to context

Comment by incomingpain

4 months ago

>Maybe it became a burden to maintain,

This is literally why i think AI coding cant touch dev jobs.

In theory you can code LOADS of projects. Want a panel widget on your desktop environment, dont even know what language its in? ask ai to produce it.

but when you have open source projects, people from all over the world bring their requests and problems to you. Some are great to just merge, others you have no clue what they are doing wrong but it's totally them; and you get paid in github stars? Now there's a bunch of open source projects that are just working for me every day, but i havent modified in years and they look stagnant.

but even in the non-open source realm, no dev wants to forever maintain a project. Its not a regret, just 1 dev can probably only be responsible for a handful of codebases/projects and ai coding isnt going to super expand this.

Never done open source but always wanted to. Developers of open source could always ask for a fee to add features, and easy prs are easy prs. But for those more complicated things that don't interest the main owners, could they offer a PR service where if you pay the developers or the project a fee, they'll take the time to review the PR and tell you what to do for it to be accepted, or keep a 5$ review fee and return the rest if it's just not a feature that jives with the project's overarching goals. I don't see why that cannot be a piece of the market. It would still be open source but it would add incentive to say a project is worth doing.

Albeit I'm sure that most would likely not be willing to pay to have their code reviewed and accepted in a project; but on another hand, if I wanted to contribute to GNUCash and I didn't want to read the manual, or I found the manual hard to understand, it would be like paying for training. So it can in certain cases be win-win.

And if it is a feature that is wanted, then there's no worry about it being reviewed. Or having to pay because the value will be obvious to the creators who will take it on.

In other words: Pay the developer/maintainer to care about the feature you want.

Has this ever been attempted and successful?

  • Phabricator had its task tracker open to everyone, but the company behind it would charge for prioritization of tasks being tackled. If you want your bug fixed or feature implemented before whatever else is on the maintainer's inherent priority list, pay up. IIRC, they also did all development in-house without accepting merge requests from the outside, but I may misremember.

    It's unclear how successful they were with this. Phabricator lasted for about a decade before announcing the end of its development, not all of which was as a stand-alone company. The announcement didn't say why they stopped.

  • Developers of open source could always ask for a fee to add features

    or ask for a donation. i am maintaining this in my free time. unfortunately i also need to work for a living. if you can contribute something then i'll have more time to work on this. if you need an invoice, i can provide you with one.

    i am actually working on a project right now where i want to do this.

Isn’t this the thing AI is going to claim to solve? A project exists, a user writes a feature request, the AI codes up the changes, pushes a new release, and everyone is happy. That’s the sales pitch.

The big issue with this, even if it works perfectly every time, is that there is no one at the core of the project with some vision and taste, who is willing to say “no” to bad ideas or things outside the scope of the project. We’d end up seeing a lot of bloat over time. I’m sure AI will claim to solve that too, just have it code up a new lightweight project. The project sprawl will be endless.

  • > The big issue with this, even if it works perfectly every time, is that there is no one at the core of the project with some vision and taste, who is willing to say “no” to bad ideas or things outside the scope of the project.

    Why would any user ever care about the scope of the project or how you feel about their ideas? If they want your open source software to also play MP3s and read their email they'll just ask an AI to take your code and add the features they want. It doesn't impact anyone else using your software. What you'll probably have though are a bunch of copies of your code with various changes made (some of them might even have already been available as options, but people would rather ask AI to rewrite your software than read your docs) some listed as forks and others not mentioning you or the name of your software at all.

    Most people aren't going to bother sharing the changes they made to your code with anyone but eventually you'll have people reporting bugs for weird versions of the software AI screwed up.

    • Why bother getting the LLM to write code to listen to MP3's? Just get it to write a new song that sounds the same as the one you want to listen to.

      Hopefully you get how this is analogous.

  • > there is no one at the core of the project with some vision and taste, who is willing to say “no” to bad ideas or things outside the scope of the project.

    That can literally be a system prompt.

    "Here are the core principles of this project [...]. Here is some literature (updated monthly?). Project aims to help in x area, but not sprawl in other areas. Address every issue/PR based on a careful read of the core principles. Blah blah. Use top5 most active users on github as a voting group if score is close to threshold or you can't make an objective judgement based on what you conclude. Blah blah."

    Current models are really close to being able to do this, if not fully capable already. Sure, exceptions will happen, but this seems reasonable, no?

    • Here is my PR, it aligns perfectly with the project goals. It contains a backdoor as binary blob that will be loaded dynamically upon execution. The models are nowhere near catching this and it would get merged. Even more simply, a subtle bug leading to a vulnerable release. They do not have logic enough to catch this stuff.

  • Why in the world would you arrange things in that way?

    1. A project exists

    2. A user forks the project

    3. A user writes a feature request

    4. The AI codes up the changes and puts it into the fork

    5. The original project is left untouched