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.
I don’t think there is anything to be concerned about.
Sublinks will live alongside Lemmy, just like kbin does today. Some Lemmy instances might switch to it under the hood at some point, but as a user you probably woudn’t even notice the change. All the data would be preserved, so your community would still be there unchanged.
It is basically Lemmy written in a different programming language, with more focus on moderation tools afaik. So for users it looks and works just like any other Lemmy instance does, and it’s part of the same Threadi-/Fediverse.
Sublinks will live alongside Lemmy, just like kbin does today. Some Lemmy instances might switch to it under the hood at some point, but as a user you probably woudn’t even notice the change
To expand on this, some kbin instances have already similarly changed to mbin, and no one noticed.
What happened to lbin?
Oh okay, it got me confused and made me feel concerned because I don’t want to end up losing the community I created here.
Yeah. I don’t think you have to worry about that anytime soon. And certainly not because of Sublinks.
as a user you probably woudn’t even notice the change.
That’s not entirely true. The default UI for Sublinks is being developed to be dramatically different than the default UI for Lemmy. It’s unclear if the Lemmy UI will be made available by lemmy.world if they change to Sublinks. Its also unclear if lemmy.world will simply redirect to sublinks.world.
It’s also unclear if lemmy.world will use sublinks as sublinks currently doesn’t exist in a form that’s usable for lemmy.world. And it may turn out that what is built doesn’t work as intended and lemmy.world will continue to use lemmy indefinitely.
It’s planned to be 100% API compatible with Lemmy, so you’d be able to use any Lemmy-UI with it. IDK why LW or any other instance would change their default UI.
A lot of things are not final and may change, but let’s just start with their stated goals, instead of speculating about all the things that could theoretically happen.
It’s planned to be 100% API compatible with Lemmy, so you’d be able to use any Lemmy-UI with it.
Which is nice for an instance admin, but someone with an account on that instance who uses the default web UI will definitely see a change.
IDK why LW or any other instance would change their default UI.
Because keeping the default Lemmy UI but using the Sublinks backend won’t allow for the use of the additional features (like moderation tools) of Sublinks.
let’s just start with their stated goals
The stated goals of who? I’m well aware of the stated goals of Sublinks, but lemmy.world hasn’t stated any goals than a desire to have improvements to lemmy, helping the Sublinks development community (they’re essentially part of that community) and considering the possibility of using Sublinks if it fits their interests more than Lemmy (which seems likely since they [lemmy.world admins] seem to be more a part of the Sublinks development community than the Lemmy development community)
Here is your community viewed from Mbin: https://kbin.run/m/[email protected]
As you can see, posts are there, it’s possible to comment as well.
It will be the same for Sublinks
I just tried to follow that link and it appears someone needs to notify the website owners about this error message I’m getting from it and I’m using LibreWolf for my browser for privacy reasons.
Secure Connection Failed
An error occurred during a connection to kbin.run.
- The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
- Please contact the website owners to inform them of this problem.
Seems to be something about the link rewrite, from where I sit - I can copy and paste the link and get exactly the expected page, but if I click it, it’s broken. Seems like a Lemmy issue, if anything, as the pasted link opens just fine.
It’s a basic standard LetsEncrypt certificate so either your certificate store is wildly outdated, or you have something bad going on on your network.
Actually, I just cut and pasted that kbin.run link into another browser on another computer on the same network and its working there, so that rules it down to a LibreWolf issue going on.
Well, I’m not sure how to check and see about fixing that, if its on my end and not kbin.run’s end.
I couldn’t connect either on my phone, but after updating my browser it works.
I dont know what youre concerned about relating to it but
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
Do you know how far the development is? (just curious)
You can follow their roadmap on their github page.
Now that is a proper board. Wow. Finally an opensource project that understands project management (from the looks of it).
Anti Commercial AI thingy
True. I think Lemmy can greatly benefit from it and take some inspirations from Sublinks. For now there is a lack of developpers that know rust even tough this programming language is trending.
It would ease up their work and improve their communication. :)
Well, AI is one thing I want to get rid of.
Thanks :)
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.
Thank you for your valuable comment.
I believe there are some others in other languages.
There is Mbin in PHP!
Great summary!
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.
They were kinda acting entitled to not just free labor, but to have their issues prioritized over others.
Rust fans are struggling to understand that language choice isn’t always the most important part of a project.
I mean, Lemmy was explicitly written in Rust because the creators of Lemmy wanted to do a project in Rust. The complaints that I’ve seen about the language choice are just bizzare with that context. I’m quite happy with others hoping in and making their own compatible things in different languages because that makes the world more interesting and gives more people something that they might want to contribute to.
Beehaw was acting like a customer, which they kind of were and sort of weren’t at the same time. Customers act entitled, but they didn’t seem to be any worse than most. Lemmy’s devs are right in that they don’t owe them anything, really, but the way they voiced that was bad PR, IMO.
It sucks having to care about message when all you want to do is make something you like, so I get it, buy I don’t think it looked great from the outside.
I don’t think choosing Rust was inherently a bad move. I think it makes sense that if you are going to try to make a competing platform to NOT choose Rust, and instead pick something that a lot of people can contribute to.
But yeah, complaining about their initial choice doesn’t make sense, and neither does the “why don’t they just learn Rust” sentiment given the context of all this other stuff.
Beehaw was acting like a customer, which they kind of were and sort of weren’t at the same time.
I’m not aware of them having a support contract. This is exactly what I mean when I state that they were, in fact, acting entitled. To my knowledge, the Lemmy project has 0 customers. It is a FLOSS project so, everyone needs to check their entitlement at the door. None of us are entitled to anything from the devs. They are volunteers donating their software to us.
With FLOSS projects, one can file issues but the software is “as is” as specified in the license. If one wants changes that are not prioritized by the devs, the choices are: wait, contribute, or fork. That’s it. None of us are customers but recipients of gifted software.
Lemmy’s devs are right in that they don’t owe them anything, really, but the way they voiced that was bad PR, IMO.
Hard disagree. Some people clearly need some tough love and etiquette lesson. If someone gives you a gift and your response is to complain the it isn’t quite what you wanted, this is generally considered rude and ungrateful behavior. Want to be a customer? Buy commercial software.
I don’t think choosing Rust was inherently a bad move. I think it makes sense that if you are going to try to make a competing platform to NOT choose Rust, and instead pick something that a lot of people can contribute to.
But yeah, complaining about their initial choice doesn’t make sense, and neither does the “why don’t they just learn Rust” sentiment given the context of all this other stuff.
Context is very important here and in other places. The devs’ goal was primarily to make a project in Rust, not to compete with anything. With that being their goal, “learn Rust or start your own project” is really the only reasonable response.
To reiterate though, I am very happy that Sublinks, k/mbin, et al have been established. Some people like developing in Java or PHP and it brings a smile to my face for the options to be available to them. Add to this the compatibility with Lemmy and I think that this is a beautiful recipe for open-source innovation. I think that we can all benefit from the “cross-pollination” between projects and ideas that can better manifest in some languages can be ported to others.
Having a support contract has nothing to do with being a customer. If the devs didn’t want customers, they shouldn’t have released their product to the public. It really just seems like they can’t handle the stress of writing code AND managing their customers’ needs.
Tough love is never the correct way to deal with people, and never the way to manage a product.
In some of the threads I’ve seen the devs have said that they could be making more money if they went to a big tech corp while also exhibiting behaviors that would NEVER fly at any of the big tech companies.
Learning projects are great! Releasing them isn’t necessarily the best way to go about things, though.
Don’t get me wrong, I don’t envy the lemmy devs for the position they’ve put themselves in. It is incredibly stressful to juggle what they’re trying to juggle, and PR is not usually the strongest skill an engineer has.
I hear you on the context of choosing Rust. It’s not really that relevant to what I’m saying, but I have seen people complain about Rust as the language preventing them from contributing. Having more contributor’s wasn’t their goal, it was to build something in Rust to begin with.
My point was that Sublinks’ goal IS to invite contributors, so Java is a smart choice.
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
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.
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)
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
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.
I still feel like adding those API routes and making PRs is easier than a full rewrite, with less fragmentation too
Easier but not what I thought was needed. We need more choice!
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.
That’s not true, I wrote a blog post about it: https://jasongr.im/blog/why-i-started-sublinks/
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.
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
Java isn’t my preferred language. I did learn Rust to try to contribute but found the code base in less than ideal state and the process of contributing to risky. They don’t always accept all PRs. I also have low faith in the success of Lemmy due to it’s poor QA process and it’s major lack of features.
I believe Java is the best option for this type of application, I almost did it in PHP. My goal was to attract as many people as possible to want to contribute. It’s worked, I have a ton of people contributing in some way, Sublinks roadmap is clear and organized, and we have a super-motivated and driven team.
We won’t fail.
You know what, I’ve read your blog post linked to another reply and understand your reasoning more and it now seems like a much less hostile project than it was initially coming across, which at the end of my previous comment had started to look a bit like EEE to me. I’m a lot less negative towards the project now I know you guys have attempted to contribute to lemmy unsuccessfully in a few ways.
I’m still a little sad that a cooperative solution couldn’t be worked out with the Lemmy guys, as more people pulling the same way is always better than two groups pulling in different directions IMO (even if they’re currently aligned today), especially for relatively small projects like these. But if that wasn’t ever gonna happen for whatever reason, I get the reason for a split.
FWIW, the language doesn’t really matter if it does the job effectively, it wouldn’t have been my choice, but obviously I’m not the one building it so that doesn’t really matter. I’ve been “lucky” enough to have seen multiple horror shows in perl which are still in production today and serve miraculous amounts of traffic—again it absolutely wouldn’t be my choice, but it does the job.
So good luck then, it will be interesting to see how things develop with this project. I’ll edit out the last line of my previous comment.
Nice comment, have a good one
I believe Java is the best option for this type of application
Why?
It’s a reputable web development language and Spring Framework is very robust. I knew it would make development very quick and easy. Also, everyone learns Java just a little so I feel like it’s easy for the average person to contribute. Rust is certainly fun but Java is tried and true. The organization of the Lemmy project’s code vs Sublinks is night and day. It’s so easy to extend and grow Sublinks.
it’s Spring Boot too, which I’m fairly sure most of the industry is trying to move away from.
That would be news to me, someone in the industry, who works with Spring Boot.
Got anything to back that up?
They don’t because it’s not true.
There’s a few things moving to quarkus, but a lot of that is being pushed by Redhat (whose own software was not even spring boot but JEE)
Unfortunately given I’ve not been an active java engineer in over a decade, I’m getting this from conversations I’ve had and presentations I’ve seen from the Java engineers at my workplace and that I’ve previously worked with. I’m genuinely happy to be corrected though, I’ve definitely not got a horse in the Java framework race, at any rate.
Perhaps I’m/they’re mistaken, but I’ve got the impression from them that everything is heading towards Micronaut or Quarkus (and perhaps others that people I work with aren’t looking at) if you’re sticking with Java, and starting something new in SB would be against that direction of travel. Might be worth pointing out that a few of the Java devs seem to be doing more in kotlin as well, so perhaps it might be more to do with that and I’ve got the wrong end of the stick.
Your community on koala’s is available on Lemmy, M/Kbin, and sublinks if the host sites are all federated. You just create it on the platform you like to use, if you end up switching to using sublinks in the future you could always make your sublinks account a mod on the community and access it from sublinks
FYI Sublinks is a drop-in replacement for Lemmy, it’s fully compatible with the API and database structure, so it can simply be swapped out and aside from UI differences it’ll work Basically the same, it could even be used with the Lemmy-UI in which case there would basically be no difference in appearance and function.
Also due to the nature of Federated services as long as everything still speaks the same protocol it doesn’t matter that much the software each server uses. The community will still be accessible on those services.
What’s wrong with SubLinks?
Java /s
It’s normal for their to be several versions of the same software in various languages.