Why don't people work together on software?

I just saw yet another player in the software section (don’t see this as critique of that particular software). There are more than a dozen players already so why create more of them instead of working together and improve existing software? Why do people begin new projects when there are an abundance of free software alternatives?

Most software tend to get stale after the release and a few bug fix updates. Software driven by one man shows are also prone to die sooner or later while software that many work on have a much higher chance to live on.

A related topic is where personal forks of software are created and suddenly we have many versions of the same software. Maybe not as common here on ES, but they exist.

Sorry for letting the topic turn into a rant. Just using you all as a vent :sweat_smile:

5 Likes

I think the motivation just isn’t there to turn an idea into a group project unless you’re already in a team structure like a software dev company. And if someone has lofty ideas of how a player should be, it’s far easier to tell an LLM about your idea than to collaborate on an existing project that you think needs to be rebuilt from the ground up anyway (this sentiment of wanting to make a replacement from scratch is common even for the original devs).

There’s a project I wanted to turn into a proper application for users on this forum and someone reached out, so I made a private Github project and shared access with them.
So I was hopeful that we’d work together on software just like you’re describing here, but they kind of ghosted me after I shared the source code… Maybe they felt overwhelmed or disappointed and had a change of heart.

2 Likes

Rose is sorta right here i think, its as easy to vibe code an entire new thing as it would be to have your AI read through source code of something and expand upon it.

and i suppose people have some decency to assume that someone elses project was human coded and would not want to request to push AI code into their projects, so those of us who vibe code with AI would rather create own thing / fork rather than dirty the original code with AI

3 Likes

@Rose @kerroba You put words on what I suspect too. At the same time I really don’t see much innovation in many of the released projects. A single feature here and there, but hardly something that motivates an entire software to be built from scratch. Exceptions exist of course like support for other operating systems than Windows. Some players and scripting tools came to life that way iirc.

And of course, AI made it “simple” to quickly whip something together and release. Maintaining software in the long run is a completely different matter.

I won’t lie I have had thoughts about banning new posts for vibecoded apps and players.

I feel like it’s a waste of bits and time in my notifications. No one is going to use them. They don’t solve any problems. The only thing I’ve seen recently that genuinely innovated was succubid which I actually contributed to and have used.

I’ve grown exhausted of seeing new apps being released and it just vibe coded player #381

6 Likes

Let them post them, and delete them if you think they’re low-effort content.

1 Like

A lot of software released through vibe coding hasn’t gone through careful UI and workflow design, or rigorous architectural planning. Many of these products feel like they were put together in just a few days, and a lot of them may be replaced quickly or gradually become difficult to maintain.

Personally, though, I still think new things are generally a good thing, even if they aren’t especially polished or easy to use yet.

I’ve written a lot of software. Mostly small cli tools and I tried vibecoding on and off. It’s bad.
maintaining a fully vibe-coded project is painful and I have yet to have a project I haven’t trashed.

For some reason AI loves to write verbose redundant code with syntactic sugar that’s hard to parse and harder to optimise. I personally write very terse code. As an example.

A traditional bash shell if statement:

if [ "$x" -eq 1 ]; then
  echo "one"
else
  echo "invalid"
fi

Because the logic is simple I would write this as:

[ "$x" -eq 1 ] && echo "one"
[ "$x" -ne 1 ] && echo "invalid"

If I ask AI to write me any sort of looping logic or state-based logic, it will create a whole mess using tons of syntax shortcuts, complex redirect logic, subshells etc.

AI doesn’t know when a tool is appropriate or not and will intentionally create hard to follow logic.

Just as a test I prompted an AI:

write a bash snippet that takes an argument and runs that argument on the server, a requirement is that the command must not be quoted because I need to be able to use quotes in the command. for ex.
./script echo “an unquoted command that need to pass quotes”

This is the script it wrote:

#!/bin/bash

# Check if at least two arguments are provided: server and command
if [ $# -lt 2 ]; then
  echo "Usage: $0 <server-address> <command-to-run>"
  exit 1
fi

server="$1"
shift  # Remove the first argument (server) so $@ contains the command and its args

# Run the entire remaining command on the remote server
ssh "$server" "$@"

It did an ok job, since it’s a simple request but this could have been leaner, used a more portable shebang and followed my instructions:

ssh "user@server" "$@"

I would have accepted their snippet for a small tool but I asked for a snippet. This could be part of a larger project and I didn’t ask for argument handling, help dialog or exit behavior.

1 Like

Bringing someone else into your project now means you’re working with their schedule, Which might not align with yours. Working with their skills, which might not be as good as yours. Working with their bad habits, which means you might not understand the code they wrote. and it gets even worse when you lose a team member.

Group projects fail just as often. A great example of that is Linux. A few of the thousand different distros are almost as good as Windows now and it only took 35 years. And even those will have forks.

A single coder project keeps the goal and focus simple. Usually to do something for themselves, which they tend to do acceptably. Then they release it to the public. Then the public wants changes. Wants bugs fixed. Before long they’re spending more time modifying their software for others, than using it for themselves, and often for a project making them no money, so they abandon it and move on. Then that gets picked up by someone, and oh look another fork.

The key is to pick the best, and support it. The reason Windows is king is because they attract and retain some of the top talent. Pick a project and support it such that even if they lose interest, they will still support it because it doesn’t make sense financially not to. But the fact that there are so many different options means nobody is there yet.

The windows vs Linux example is not a good example for this btw.

I think the Player looks the simplest, but of course, making a truly practical one is still quite difficult. This has a direct relationship with vibe coding. It’s not just like this here. For example, terminals, in recent months I have already seen a lot of terminals. So I think maybe it’s like this, some people think that certain kinds of tools look simple, but often ignore the things behind them.

The most annoying thing is: there are often marketing articles saying that a Red Alert game was developed in one week, or that something else was developed in one week. I really don’t know what the people who wrote these articles are trying to express.

More problematic is: in software companies, there is no place for manual coding anymore. Whether it’s in distributed systems or embedded platforms.

Some people have never written a line of C or C++ in their entire lives. They don’t even know what memory is, yet they go off and write embedded software. What’s even more infuriating is that you have no idea whether they’ve finished writing it or whether anyone has actually run it.

Maybe it runs for a few minutes, then they take a screenshot, make a video, and start marketing it. It might work fine for the first 5 minutes, but then on the 6th minute, the memory blows up.