Today I learned about Sublinks (here), an open-source project that aims to be a drop-in replacement for the backend of Lemmy, a federated link aggregator and microblogging platform. Sublinks is designed to be initially API-compatible with Lemmy, allowing existing Lemmy clients, such as Lemmy-UI, to integrate seamlessly.
The project is written in Java, which may introduce some overhead but is chosen for its maintainability and familiarity among a wider pool of developers. The Sublinks team prioritizes a more inclusive and less toxic development environment, and the project has already attracted more developers than Lemmy.
While Sublinks is starting with 1:1 compatibility, future plans include implementing additional features that the Lemmy developers have not pursued. This could lead to a divergence in functionality between the two platforms as Sublinks evolves beyond its initial compatibility phase.
README
Sublinks
A decentralized, censorship-resistant, and privacy-preserving social network.
- Join Sublinks
- Demo Sublinks
- Documentation
- Matrix Chat
- Report Bug
- Request Feature
- Releases
- Code of Conduct
- Contributing
- Style Guide
About
Sublinks, crafted using Java Spring Boot, stands as a state-of-the-art link aggregation and microblogging platform, reminiscent yet advanced compared to Lemmy & Kbin. It features a Lemmy compatible API, allowing for seamless integration and migration for existing Lemmy users. Unique to Sublinks are its enhanced moderation tools, tailored to provide a safe and manageable online community space. Embracing the fediverse, it supports the ActivityPub protocol, enabling interoperability with a wide range of social platforms. Sublinks is not just a platform; it’s a community-centric ecosystem, prioritizing user experience, content authenticity, and networked social interaction.
Features
- Open source, MIT License.
- Self hostable, easy to deploy.
- Clean, mobile-friendly interface.
- Only a minimum of a username and password is required to sign up!
- User avatar support.
- Live-updating Comment threads.
- Full vote scores
(+/-)
like old Reddit. - Themes, including light, dark, and solarized.
- Emojis with autocomplete support. Start typing
:
- User tagging using
, Community tagging using
!
. - Integrated image uploading in both posts and comments.
- A post can consist of a title and any combination of self text, a URL, or nothing else.
- Notifications, on comment replies and when you’re tagged.
- Notifications can be sent via email.
- Private messaging support.
- i18n / internationalization support.
- RSS / Atom feeds for
All
,Subscribed
,Inbox
,User
, andCommunity
.
- Cross-posting support.
- A similar post search when creating new posts. Great for question / answer communities.
- Moderation abilities.
- Public Moderation Logs.
- Can sticky posts to the top of communities.
- Both site admins, and community moderators, who can appoint other moderators.
- Can lock, remove, and restore posts and comments.
- Can ban and unban users from communities and the site.
- Can transfer site and communities to others.
- Can fully erase your data, replacing all posts and comments.
- NSFW post / community support.
- High performance.
Contact
Contributing
Support / Donate
Sublinks is free, open-source software, meaning no advertising, monetizing, or venture capital, ever. Your donations directly support full-time development of the project.
That sounds great :)
I think the GitHub issue tracker that you’re already using is plenty as a backlog. The more important part was the road map.
It’s a good question. I would recommend taking a look at the Bevy game engine project. They’ve had a success story with lots of contributors and they also use Rust. Obviously they have it easy because game development is something a lot of people are passionate about while online forums aren’t as hot… But still, I think they’ve done some really good stuff and it seems like a really well-managed open source project.
One of the bevy project managers did a talk at RustConf 2022 that I’d recommend watching: https://youtu.be/u3PJaiSpbmc?si=AtdmdalfFidWOJYq
Yes Bevy has a big advantage because its a library, so everyone who uses it is a developer and is able to fix minor issues. In case of Lemmy only a small fraction of users are developers, and even less know Rust. I watched the video, but its not easy to take concrete suggestions and apply them to Lemmy. Maybe the community reviews for PRs would be a good idea to get people familiar with the codebase. It also mentions using a project board so we should consider that. Though Im not sure how to select issues for each milestone because again, everything is up for grabs.
Hmm. If only there were a way the developers who already know another popular language could contribute to help the community. I suppose someone could make a Lemmy -compatible server in another, more popular language. Nah, that’s crazy talk.
Or these people could learn Rust and contribute to the existing project. That would save years of duplicated effort. I personally knew zero Rust before starting to contribute to Lemmy, its really not that hard to learn.
Here is an alternative Piped link(s):
https://piped.video/u3PJaiSpbmc?si=AtdmdalfFidWOJYq
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source; check me out at GitHub.