Right now, I’m feeling concerned and wondering what is going on in regards to Sublinks here, since I have created a community for discussion on koalas about a week ago on here and have started and been doing work on it recently. But now I’m hearing about Sublinks and feeling concerned if I created it on the wrong instance or the wrong platform since I’m now just recently hearing about it. I’m just feeling worried and wondering whether or not if I should do anything or not.
Can someone explain to me why sublinks was started as a project? If the main difference is improvements to the moderation tools, it feels like it could have just been a PR to lemmy.
I’m trying my hardest to not assume it’s the classic “Java engineers are scared of other languages” meme
I like lemmy but also I’ve been following the drama from the sidelines, so I think the focus on Rust vs Java has nothing to do with the choice to create a lemmy alternative.
The reason sublinks exists is that the lemmy devs have made some large technical and PR mistakes that have led to multiple larger instance admins losing faith in them.
There was the Beehaw debacle where nutomic told the Beehaw admins that they should go to a different platform and take their “entitled” “demands” with them. It’s not surprising to see various alternatives to lemmy springing up as a result of the devs telling people to do so.
There was the illegal content spam incident which required instance admins to interact directly with the image database in complex ways for each image to remove the content from their servers, and I believe lemmy.world disabled submitting images if you are using a VPN or the tor network as a result. The lemmy devs have made some bafflingly derisive comments about that incident.
And then there’s the recent update that has broken federation of bigger instances, which is an ongoing issue. Communities are having to move instances to help with this bug which should have been caught in testing the update.
So sublinks seems to be some folks deciding that they can do it better.
Choosing Java is one way that they think they can do better. The argument goes, significantly more people know Java than Rust. Lemmy has had some problem getting extra help as a result of this limit, so hopefully sublinks will have a much larger pool of talented devs who will step up and submit code.
Sublinks isn’t the only one, too. Piefed is the python Lemmy alternative that’s cropped up recently and I believe there are some others in other languages.
Whether any of them can do it better remains to be seen, but it does seem like the Rust fans are struggling to understand that language choice isn’t always the most important part of a project.
It literally is. The main maintainer didn’t want to learn Rust.
Even if that were true - does it matter?
Java is a perfectly valid choice for something like this.
Yes, Rust is “faster”, uses less memory, etc…
Java is fast enough, though. It offers a fantastic ecosystem and, seeing as these projects are ran by volunteers who do this in their free time, there’s a lot more people willing to chip in some work.
Rust’s speed is a cherry on top. The main reason to use it is its language design / correctness guarantees.
I’ve been programming for several decades and understand nuance and subjectivity vs objectivity when it comes to this, and strongly believe Rust is just objectively much better than Java as a language.
One example is that Rust doesn’t have null while Java does. The creator of null gave an excellent talk called The Billion Dollar Mistake about why null was such a bad idea, and said languages shouldn’t not have used it. Instead, the alternative he gives is what Rust does.
Things like this are actually hugely important.
Also, Rust was “most loved” language in the StackOverflow developer survey for eight years in a row for a reason.
https://survey.stackoverflow.co/2023/#section-admired-and-desired-programming-scripting-and-markup-languages
Other than Sublinks, I have never seen anyone post about how they really want to work with Java.
I have seen people wanting to do Java, and while I personally prefer rust, I do see why.
Outside of the entire Sublinks discussion, it’s important to note that Java is not just Java anymore either. Kotlin offers many of the same advantages syntax-wise that Rust does (including the lack of null), and has access to Java’s excellent ecosystem.
Ultimately, it is up to people to decide what they want to use. Regarding of your opinions on Java or Rust, it is a valid choice either way for this type of software. It’s a personal choice.
Yes because it fragments development of an already not well supported platform
How? The sublinks devs started the project just because they didn’t want to work on Lemmy for whatever reason. If they did, they would have worked on Lemmy. It’s either Lemmy AND Sublinks, or Just Lemmy with the same developers.
Having multiple implementations is a good thing, regardless of what language they use. They all implement the same protocol, should be (mostly) compatible, and can learn from (and compete with) each other.
Look at other OSS. There’s so many Linux distributions, Why doesn’t everyone just work on a single one?
Because everyone has a slightly different view on things. This makes the OSS community stronger.
So rather than the relatively simple task of learning rust (honestly not that tough for any half decent engineer, a couple of weekend toy projects had me more or less up to speed with it) they’re going to rebuild and track lemmy API changes—a technically endless task?
And I’ve just seen it’s Spring Boot too, which I’m fairly sure most of the industry is trying to move away from.
Shame the engineers want to spend all that effort that would be better spent improving lemmy rather than fracturing development resources between the two projects.
I’ve now gone from ambivalent towards this to actively hoping it fails.Edit: see the above comment’s blog post for more context that changed my mind