This is a chance for any users, admins, or developers to ask anything they'd like to myself, @nutomic@lemmy.ml , SleeplessOne , or @phiresky@lemmy.world about Lemmy, its future, and wider issues about the social media landscape today.
NLNet Funding
First of all some good news: We are currently applying for new funding from NLnet and have reached the second round. If it gets approved then @phiresky@lemmy.world and SleeplessOne will work on the paid milestones, while @dessalines and @nutomic will keep being funded by direct user donations. This will increase the number of paid Lemmy developers to four and allow for faster development.
You can see a preliminary draft for the milestones. This can give you a general idea what the development priorities will be over the next year or so. However the exact details will almost certainly change until the application process is finalized.
Development Update
@ismailkarsli added a community statistic for number of local subscribers.
@jmcharter added a view for denied Registration Applications.
@dullbananas made various improvements to database code, like batching insertions for better performance, SQL comments and support for backwards pagination.
@SleeplessOne1917 made a change that besides admins also allows community moderators to see who voted on posts. Additionally he made improvements to the 2FA modal and made it more obvious when a community is locked.
@nutomic completed the implementation of local only communities, which don't federate and can only be seen by authenticated users. Additionally he finished the image proxy feature, which user IPs being exposed to external servers via embedded images. Admin purges of content are now federated. He also made a change which reduces the problem of instances being marked as dead.
@dessalines has been adding moderation abilities to Jerboa, including bans, locks, removes, featured posts, and vote viewing.
In other news there will soon be a security audit of the Lemmy federation code, thanks to Radically Open Security and NLnet.
Support development
@dessalines and @nutomic are working full-time on Lemmy to integrate community contributions, fix bugs, optimize performance and much more. This work is funded exclusively through donations.
If you like using Lemmy, and want to make sure that we will always be available to work full time building it, consider donating to support its development. Recurring donations are ideal because they allow for long-term planning. But also one-time donations of any amount help us.
- Liberapay (preferred option)
- Open Collective
- Patreon
- Cryptocurrency
Is there a public roadmap of some sort?
Maybe a blog post like "a year in review and what's up for this year"
I'm not talking about bugs or minor tweaks. Just a general where are we, where are we coming from and where are we going to? What are important milestones?
I've just updated the post body with some updates about this, but if we get approved for another year of funding from NLNet, the the two new devs will be working on these milestones in 2024 (still a draft at this point).
Being an open source project, we can afford to be less strict about a roadmap, as anyone (including ourselves) can take on any of the open issues on the issue tracker. Part of the fun of these is getting to pick which things you'd like to work on, and that you personally think are important.
Outside of maintenance-related tasks and merging PRs (which does take a significant chunk of our time) of course @nutomic@lemmy.ml and I both have things we'd like to prioritize this year. My main priorities are:
- Getting Jerboa as fully functional as lemmy-ui.
- Notifications (Unified push).
- Working on lemmy-ui-leptos, our proposed replacement web UI for lemmy-ui written in Rust.
- Performance improvements (DB, federation code)
- Stabilizing the API
- Becoming fully funded by donations, and growing our dev co-op.
The AMA is upcoming on Friday, it's not this threadEdit: Leaving this here
It's OK to post questions here:
Feel free to post and upvote questions beforehand in this post, as it will turn into the AMA tomorrow.
What could be done to improve interoperability between federated platforms?
mainly talking about Mastodon since it is the biggest one.I have seen the Peertube dev is quite nice and approachable. And willing to improve the experience cross-platform.
Have you tried to approach @Gargron@mastodon.social? Is he willing to contribute? How could we get Mastodon to improve the user experience with federated content, eg. communities and article posts?
What about @dansup@lemmy.ml / @dansup@mastodon.social and Pixelfed?
Mastodon's main dev isn't really open. Have a look at the "Ego" part of this article: https://cassolotl.medium.com/i-left-mastodon-yesterday-4c5796b0f548
Misskey forks, whatever their names are today, seem more interesting
There have been lots of compatibility improvements with Mastodon from our side. However Mastodon seems to have almost no interest to make improvements from their side. I dont think there is much we can do about that, in the end project maintainers always care about their own users most.
With dansup there was some communication years ago, but it seems he lost interest in Lemmy.
Very interesting question since mastodon introduced groups very recently which are a direct competitor to lemmy
https://fedi.tips/how-to-use-groups-on-the-fediverse/
Of course not mature but mastodon can have groups without lemmy
Do you think Lemmy is decentralized enough right now, or are you worried about some of the bigger instances growing too much?
Its definitely a concern. IMO the lemmyverse is far too centralized at the moment. The big questions are:
- Is there a trend toward centralization, or away from it?
- How are people being introduced / onboarded onto lemmy?
- What can we do to combat centralization?
(1) I'm honestly unsure, and I'd def appreciate if anyone has done a study of it. We've seen a big growth in single person / smaller topic-focused instances, which is a great thing, but if their communities aren't growing, we need to figure out how to reverse that trend. I'd have no problem with the current large instances, including this one, as long as the long-term-trend is away from them.
(2) Is mostly word-of-mouth, join-lemmy.org, and apps / web-ui's which show an instance by default.
We've made the sort for the join-lemmy.org instances page be by random active users, and tried to emphasize on that page that it doesn't matter which instance you join, since most federate, and can subscribe / connect to any community. I hope that helps, and we need to replicate that wherever we can.
Apps and webUI's mostly just show lemmy.world rn, where they should show random instances. I'm guilty of this in Jerboa as well (showing lemmy.ml by default), and I've just opened up an issue that it should be showing a random server for anonymous users.
But I think we need to do more, and I'd def appreciate yours and anyone else's ideas on how we can combat centralization. We need to get ahead of this problem before it gets worse.
But I think we need to do more, and I’d def appreciate yours and anyone else’s ideas on how we can combat centralization.
I am admin of the biggest Brazilian instance, but I am welcoming more local instances and talking to the admins we should spread the load. But what I notice is the users are concerned they will miss out if they are not in an instance that already have everything.
Could we have an easier way to auto-federate every new communities from a given instance? Even an "auto-federate everything possible" option. as @nutomic@lemmy.ml said lemmy DB isn't too big, most instance owners could have it on their servers. And making it opt-in won't hurt the small instances.
It would be relatively easy to write a script/bot which fetches the list of communities from a given instance, and then subscribes to all of them from another instance. In fact I heard something like this already exists, but dont know the name.
I think it's worth bringing a solution in house. A recommended migration route. If you want people to feel confident to pick any instance, you have to give them the confidence to move easily and not fear picking a small instance that might die when their owner gets bored. A simple setting option to migrate from, then you select the account and either (through communities accessible, or through automated request, pull that data and subscribe to communities. Maybe blocks etc also.
Maybe not auto-federate / auto-subscribe, but we do have an issue to federate a lightweight list of communities among servers, that could help with this.
Its true that the disk space required isn't too big a deal, but it would unecessarily increase the CPU and network requests by auto-federating the entire lemmyverse, rather than using explicit subscribes.
The big instances are bad enough but big communities are absolute killer of decentralisation
When you go to /c/books on your server, you don't see an agglomeration of all /c/books on all servers of the fediverse. You only see that server's /c/books, if it even has one.
This is a fatal flaw of lemmy which concentrates power enormously into the hands of the owners.
The default view should be all /c/books on all federated servers, with an easy way to filter only local posts.
Lemmy will turn into reddit if this is not quickly rectified.
When you go to /c/books on your server, you don’t see an agglomeration of all /c/books on all servers of the fediverse. You only see that server’s /c/books, if it even has one.
What prevents from visiting /c/books@anotherserver?
Genuinely asking, because this is one of the core concepts of Lemmy and federation
Doesn't !books@lemmy.ml and !books@lemmy.world direct you to yourinstance.org/c/books@lemmy.ml and yourinstance.org/c/books@lemmy.world respectively?
Yes, syntax link like /c/community@server is incompatible with http.
I already posted to anotherserver/c/books and no one ever saw it.
Posting anywhere but biggestinstance/c/biggestcommunity is functionally the same as not posting at all.
And of course, the owners of biggestinstance/c/biggestcommunity believe in everything you don't believe in and they really don't like you in particular.
Welcome to new reddit, same as old reddit
I already posted to anotherserver/c/books and no one ever saw it.
Did you promote that community on !newcommunities@lemmy.world and other promotion communities? Did you actively post on your new community, to attract users to your new one?
I'm going to take two examples I personally had
- I'm not a fan of having all discussions on LW, so even if !movies@lemmy.world was the most active one, we decided with a few others to start animating !moviesandtv@lemm.ee. It is now the most active community on that topic.
- I like the show "the Office". !dundermifflin@lemmy.ml is the historical community, but as some people are not fans of lemmy.ml, we moved to !dundermifflin@lemm.ee, which is now the most active community on this topic.
I guess that shows that community takeover is possible, and does not need additional tools, just some time and dedication.
I think its totally normal that instance sizes follow a power law distribution. Its similar to many other things, for example there are few large cities, some medium cities and lots of small cities. The wiki article lists many other examples. So I think its fine as long as there are no intentional attempts to lock in users into large instances or limit federation.
People, avoid to ask repeated questions and keeping it one question per comment is generally better.
Yes thank you. Sometimes it feels a bit overwhelming when there are 10+ questions in a single comment, and each of them requires a little essay.
What are the plans around admin tools?
Instance owners currently gets notified when someone has reported a user for spamming or trolling, but frequently it's a user that is not on his instance, so he can't do anything about it. Wouldn't it be better if instance owners got notified only when they can take actual action (like the user being registered on their instance)?
If you've been following our code commits / PRs, we've been adding a lot of mod tools improvements not just lately, but over lemmy's entire life. I would even go so far as to say we have the strongest mod tools of any project in the fediverse, all the more necessary for us because of the community-focus.
The upcoming roadmap for 2024 includes some mod additions, such as mod warnings, attaching report counts to items, viewing mod actions for items, etc.
Instance owners currently gets notified when someone has reported a user for spamming or trolling, but frequently it’s a user that is not on his instance, so he can’t do anything about it. Wouldn’t it be better if instance owners got notified only when they can take actual action (like the user being registered on their instance)?
Instance admins are responsible for what content their users see, so if a troll is visible to their users and ruining their day, then it should be taken care of everywhere necessary.
I've been wanting to change how the existing admin options are organized on the admin page for awhile now to be easier to understand. As for improvements beyond that, I'm open to suggestions from instance admins for improvements.
Regarding your last point, even if an offending user is registered on another instance, banning them will prevent them from bothering users on your instance.
The AMA is upcoming on Friday, it’s not this threadEdit: Leaving this here cause why not
But it says in the OP that this thread should be used for posting questions for the AMA?
Do you have any estimate of how much storage (in GB) all the posts ever posted across Lemmy have taken up, to date? (Excluding media)
I was told it’s not about the size of the disk but how it’s used that really matters.
The SQL table for posts is 1.6 GB on lemmy.ml, and 5.7 GB for comments. That probably accounts for a majority of content on the Lemmyverse.
1.6GB is impressively small for anything by modern internet standards
To add, lemmy.ml's entire DB compressed as a
xz
with-0
strength is about3.7 GB
. But that also includes the activity tables which aren't vital.
How's development going? Do you have enough funds to pay your salaries? Did the EU fund run out? What's your workload? Is the amount of full-time developers enough to work on new features? Or is it barely enough to keep up?
How do you like Lemmy and the people on it? (As of now)
I'm personally working a full time job in addition to this. However, I spend a lot of my free time contributing because if the only software I worked on was the corpo shit at my dayjob that ends up being cancelled before it reaches production half the time, I'd go insane.
I've found the people pretty good. I find it's easier to get a sense of community on here than it is on big tech platforms.
We are getting about 4000 Euros per month which is not much to pay for two developers, so more donations would definitely be nice. From NLnet Dessalines and I still have a few milestones leftover from 2022 but those should be finished very soon. We could definitely use more developers, its impossible to keep up with all the issues so we have to try and prioritize the most important ones.
The people on Lemmy are generally very nice, so I cant complain.
Is there an official roadmap for Lemmy?
What are the current needs of the project, if any? For instance, are you currently looking for skilled or financial contributions?
Check the updated OP. We can definitely use more donations, at the moment we are getting around 4000 Euros per month which is not much for two fulltime devs. And code contributions are also helpful, there is an almost endless amount of open issues.
Seeing my PR here made me feel good. 3 months and ~60 commits for only one lil field was too much 😅
It's very nice and reassuring that all the commits are audited subtly though.
Sorry for taking up all the space :) But please skip the ones you wish.
- How old are you guys? Can be a range if you want e.g. 10-15, 15-20 :)
- Do you know each other IRL?
- Which region do you live in? Like America, Europe, Asia etc.
- If Lemmy had 100 million users, would you still try to remain anonymous?
- Is there an instance admin you hate but can't say?
- What percentage of users should ideally be in the largest Lemmy instance do you believe?
- If you had the chance to change the name Lemmy, would you?
- Im 31
- Not yet, hopefully that will change in the future
- North of Spain
- Im not really anonymous, it would just feel weird to post here with my full name
- No
- Maybe less than 50%
- Im terrible with names so no
- Late 20s
- No
- Burgerland
- I'd try but probably fail. I'm not big on getting public attention.
- No
- 33%ish at the absolute max.
- No, I like the name
Very excited, and then very overwhelmed because everything started breaking left and right.
Excited, but also extremely stressed out and exhausted. For about 2 months I was getting an average of 4 hours of consistent sleep a night after that happened. We were very happy when things calmed down.
Do you feel fully recharged now, or still catching up from the intensity of it all?
Good to hear. Thanks for the work you do on Lemmy. It's nice to be free from the corporate machine that is Reddit.
When and how are you going to address the thousands of open issues in the Github repository, that contain UI bugs, missing error messages (something looks as if it was sent for example if you send a direct message with too many characters, but actually isn't), backend issues and other assorted bugs?
When we have about a dozen more developers. So far only dessalines and i work on Lemmy fulltime, and besides solving issues we also have to review pull requests, prepare releases and much more. So its just not enough time to keep up with all the new issues let alone resolve the whole backlog.
Thank you. A follow-up question: You sound like most things have to be done by full-time developers. Is there a healthy open-source community around Lemmy development? Do people submit enough pull-requests to fix bugs? Do people from the community contribute a substancial amount? features?
Of course contributions by volunteers are also welcome. However there are very few of those who are consistently contributing (particularly phiresky and sleepless one mentioned in op). And because they have a fulltime job their contributions are much smaller than mine or dessalines'. After the Reddit migration lots of people opened pull requests to implement new features, but most of them were abandoned after noticing how much work it takes to address review comments and actually get the pr merged. So fulltime devs seem very much preferable because they can put their full attention to Lemmy, and get a lot more done.
We're no different from 99% of open source projects: there are a lot of one-off contributors that just do a feature or two they'd like to have, but the vast majority of work is done by a handful of core devs. This is why you should always base your infrastructure and decisions to support those devs, rather than cater to one-off contributors.
I hope those wants and needs aren't mutually exclusive. I think most open source projects do a good job in catering for both. I'm not involved in Lemmy development so I don't really know what's going on here. But I've sent one-off contribution to various projects, sometimes contributed single features or helped to sort something out. It always felt appreciated.
Sure, a drive-by commit every now and then and no responsibility is a completely different level than maintaining a (large) project and putting in that effort and dedication. I think a healthy open source project has both. Maintenance and the responsibility/decisions by a core team. And the community contributions make up by adding diversity, being close to what the user needs and adding manpower by a larger group of people, meaning the individual contributions might be smaller, but by many more people. Good communication between the devs and the community usually helps to get quality contributions.
Will Lemmy ever have another source of income like official merch or will it rely on donations for the foreseeable future?
There might need to be a revamp of the logo to make it a bit more appealing.
What I could definitely see happening would be instance-based merch, especially if the community feeling is strong.
To add, recurring donations, no matter how small, help us plan for the future, as we can then reliably estimate how many developers we can support off them. One-offs donations and merch sales wouldn't help us out in that regard.
There was a big time gap between 0.18.5 and 0.19. Have you considered adopting a release train model, similar to what Rust does? The Bevy game engine has also adopted the idea.
More frequent but smaller releases would probably cause less friction and make upgrading less of a "big thing" and "big things" are always where things go wrong.
They normally do have smaller releases (18.1, 18.2, 18.3, 18.4, 18.5) but going from 18 to 19 was a big update that also required a database upgrade. Rust releases don't have database upgrades or anything that is not backwards compatible, so it's not really comparable.