this post was submitted on 06 Apr 2024
67 points (82.5% liked)

Fediverse

28499 readers
431 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 2 years ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] 9point6@lemmy.world 27 points 7 months ago (4 children)

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

[–] GlitterInfection@lemmy.world 38 points 7 months ago* (last edited 7 months ago) (3 children)

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.

[–] Blaze@dormi.zone 10 points 7 months ago

Thank you for your valuable comment.

I believe there are some others in other languages.

There is Mbin in PHP!

[–] jgrim@discuss.online 10 points 7 months ago

Great summary!

[–] Ategon@programming.dev 11 points 7 months ago* (last edited 7 months ago) (1 children)

I'm working on the frontend for it rather than the backend so I'll comment more about that

But a new project allows for way easier change of the base aspects. For example im currently working on a theme system thats allows for dynamic themes created at runtime as opposed to it needing to be built in. Also a components library. If this was added onto lemmy ui it would involve massacring the current structure of the UI to essentially make it a new project anyways

Originally was working on the stuff in a new UI on my own but I've merged that into what's happening with sublinks since they're making a new UI anyways as well and would let more of my UI changes to get connected up to the backend easily and shared across multiple frontends

In terms of technologies it also allows the federation code to be completely separated out from the api. Federation is currently its own project so it can be scaled separately and its made in go

Also allows for more organizational changes since we have more control over how the project is structured and the structure of how we talk to each other and decide on changes is different than how its done with lemmy (having a matrix space we talk to each other and there being weekly meetings as well)

Moderation tools is the first milestone after parity but theres also other milestones as well in terms of changes made that differentiates it from lemmy visible on our task board thats public on the github repo


Normal thats theres going to be multiple of the same type of software as people have different goals of what it should be and how it should be organized. Bevy and godot both exist in the open source gamedev space. Theres 7 misskey forks that all mostly aim to do different things but share the misskey api (and a lot of them also use the mastodon api). One of which (iceshrimp) is currently having a rewrite to change the tech stack and make it easier for them to add features

[–] KonalaKoala@lemmy.world 1 points 7 months ago (1 children)

Well, one thing that has me kind of worried about my community here if lemmy.world were to switch from Lemmy to Sublinks and end up becoming sublinks.world instead.

[–] Ategon@programming.dev 7 points 7 months ago* (last edited 7 months ago)

Nothing would change about the community itself if it goes from lemmy to sublinks. Still accessible on the federation as normal and on version 0.1 the core features should have parity

Reposting my comment I did before:

Sublinks is a drop in replacement for lemmy. In version 0.1 nothing should really be different between the two apart from the default UI looking different

For world Ruud commented about that before and nothings been decided currently on theyre going to handle it (I assume youll see some sort of post in their meta community way before anything happens)

[–] Die4Ever@programming.dev 10 points 7 months ago* (last edited 7 months ago) (1 children)

Also the moderation tools could've been Java and connect to the Lemmy database/API (maybe with some pull requests to add to Lemmy's API), which to me sounds a lot better than saying fuck it and rewriting everything, it could've lived in its own repo anyways

[–] jgrim@discuss.online 10 points 7 months ago (1 children)

I tried that the but API lacked a lot of features that they were too busy to add, like proper pagination to find the latest changes, etc. I started a project like that first called socialcare.cloud but have since shut it down in favor of Sublinks.

[–] Die4Ever@programming.dev 2 points 7 months ago* (last edited 7 months ago) (1 children)

I still feel like adding those API routes and making PRs is easier than a full rewrite, with less fragmentation too

[–] jgrim@discuss.online 8 points 7 months ago

Easier but not what I thought was needed. We need more choice!

[–] Rexios@lemm.ee 6 points 7 months ago (3 children)

I'm trying my hardest to not assume it's the classic "Java engineers are scared of other languages" meme

It literally is. The main maintainer didn’t want to learn Rust.

[–] jgrim@discuss.online 13 points 7 months ago

That's not true, I wrote a blog post about it: https://jasongr.im/blog/why-i-started-sublinks/

[–] Lemzlez@lemmy.world 8 points 7 months ago (2 children)

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.

[–] asdfasdfasdf@lemmy.world 5 points 7 months ago* (last edited 7 months ago) (1 children)

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.

[–] Lemzlez@lemmy.world 4 points 7 months ago

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.

[–] Rexios@lemm.ee 0 points 7 months ago (1 children)

Yes because it fragments development of an already not well supported platform

[–] Lemzlez@lemmy.world 4 points 7 months ago

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.