Have you put measures into place to assure the quality of future updates? In the past several updates have caused issues. And recently 0.19.x broke federation for the most of us. And it took weeks to fix it and make Lemmy usable again.
We publish multiple release candidates and run them on lemmy.ml before the final release. That allows the community to test changes. We dont have a quality assurance team, and developers are notoriously bad at testing their own code, so I dont see what we can improve in this regard.
developers are notoriously bad at testing their own code, so I dont see what we can improve in this regard.
Sounds like software development… I mean automated tests help. But you’re developing a distributed/federated platform. Unit tests won’t do it. Maybe infrastructure that spins up a small fleet of instances and checks their ability to federate posts, delete comments and simulates interaction. That’d assure the most important aspects keep working. And I think there are tools for that available. But I get it. It’s complicated, there are real-world instances with special (niche) setups, you’re constrained, it has to be worth the effort and there are other important things to do.
Maybe just do your best not to break too many things and we (users) can complain and have another discussion only if it’s a reoccurring problem. 😉
We have lots of unit tests, and also a test suite which launches a couple of local lemmy instances and ensures that they federate as expected. But it’s not possible to cover every single functionality, at least not with our limited resources. The problems all happened with things that are difficult to test and had major breaking changes in this release. In the future we won’t need such breaking changes so there will be less problems.
Also keep in mind that Lemmy is provided for free and as is. We have no legal obligation to users. And you can always stay with an older version if you want more stability.
Thank you very much for explaining, and the whole AMA.
Concerning the “providing the project for free”… I think that’s too simplistic. I mean users have expectations anyways. And you must have some motivation to maintain an open source project. Otherwise you wouldn’t put it out there, engage with your users, fix their issues and incorporate their requests. Or you’d make that clear in the first line of the Readme as some people do.
I think open source is giving and taking. It’s not about legal obligations (we usually waive every responsibility in every open source license.) But perhaps ethically. I as a user feel obligated to honor and respect your work and the time you’ve put in. And I shouldn’t expect anything except for everyone abides by the license. But the devs aren’t the only one putting in time and effort. Downstream are admins who run the actual instances. There might be an ethical obligation to not waste their time either. And there are moderators and users who make the platform become alive. They also offer their time for free and are part of the ecosystem, like the developers are. And ethically it is correct to treat people nice who put in a few hours to prepare a proper pull request and work towards the same goal as core developers.
And there are a few unique circumstances. This is a social network/link aggregator. And as such it relies to some degree on the network effect. It won’t work without a certain amount of users and them being happy here. Lemmy devs seem (to me) invested in the project and not just coding something for money. So you want it to be successful and catering for users is part of the equation. Additionally the users of a social network trust the platform with their private data. You can’t take legal responsibility for that. But if you accept users doing that, it’s at least an ethical obligation to make good choices.
And the situation is: Since you have a few full-time developers… It’s not a hobby project anymore. So it’s a bit more complicated. And money might come with expectations. I personally differentiate between donations that are meant as a bounty, this money comes with obligations. And donations for the great work you’ve done so far. These come without.
I think you’re doing a good job. I especially like that Lemmy development doesn’t seem to be focused on growth above all. You could implement things differently and completely focus on not showing user-facing issues, in order to assure fast growth. Or write a Reddit clone like some people would like, including gamification, awards and stuff. But you don’t seem to be interested in that. And that aligns well with what I like. I want a nice place to engage with people. I don’t need another platform that is commercial and does things in order to be successful at the market.
I’m grateful. There are still bugs and a few more complicated annoyances I’d like to see being addressed. But I really enjoy spending some of my time here.
We want to change the API paths to make them more consistent, and have separate endpoints for image uploads (eg POST /api/v3/account/avatar). Not much else really.
I’m sry I can’t give a good answer there… but to me it seems like when we go a certain length of time (not sure how long) without any breaking changes. That will have proven that the API as it exists is stable and well-formed.
That seems a long way off atm, because of all the features and new fields we’ve been adding and modifying on existing data structures.
Will Lemmy ever become more of an organization? I’m slightly concerned about hostile take overs and or major changes that could be driven by personal views or bias.
Also a organization could facilitate cooperation and organize events.
If Lemmy does become more of an organization, it would be nice to have a level of public assurance over any control exerted by the organization. A lot of people see that the lead developers of Lemmy are communist and shy away from it based merely on that. I have one of the oldest accounts on Lemmy, I’ve seen plenty of them, and my impression is that they have conducted themselves with only the utmost ethics. However, it can still help newcomers who don’t want to feel like someone might be breathing down their neck.
Lemmy is somewhat protected by being an AGPL-licensed project, preventing proprietarization. If there’s ever a relicensing effort, ba fearful.
I’m not sure what exactly becoming a organization would entail, but so far I’d say the development part is not really large enough? For me I would start being suspicious when a significant amount of dev power came from compan(ies), but so far no company has shown any interest afaik.
There’s already been a few forks, for example lemmynsfw has made some changes on their side, which nutomic is now looking to integrate back into lemmy.
As a multi-national open source dev team, it would only complicate our lives to try to set up a more formal legal structure.
I wouldn’t be too afraid of hostile takeovers: this is a dev-run-and-controlled project. People will go where the development is, and the federated nature of lemmy protects against the kind of attacks its possible to make against centralized entities.
Overkill for me, but to me Motorhead’s also one of those singles-type bands where the songs kind of stand individually great on their own, rather than the album. So I usually just relisten to a ~40 song greatest hits of theirs.
Looking at my most playeds: Radiohead, Bjork, NIN, Sigur Ros, GYBE, the War on Drugs, Soundgarden, Smiths / Morrissey, Blondie, Calexico, Talk Talk, Aimee Mann, Public Enemy, RATM, M83, Pavement, Explosions in the Sky, Sufjan, Pumpkins, Tallest Man on Earth, Andrew Bird, Massive attack, Soda Stereo, Yes.
Regarding server architecture - How many users can the Lemmy network, or the fediverse as a total scale to, assuming the average person posts once per day and reads ~50 comments/posts a day?
Lemmy supports horizontal scaling, so in theory it is only limited by the amount of servers you can afford. Of course there are always unpredictable bottlenecks which need to be fixed, but no inherent limitation.
The ActivityPub protocol lemmy uses is (in my opinion) really bad wrt scalability. For example, if you press one upvote, your instance has to make 3000 HTTP requests (one to every instance that cares).
But on the other hand, I recently rewrote the federation queue. Looking at reddit, it has around 100 actions per second. The new queue should be able to handle that amount of requests, and PostgreSQL can handle it (the incoming side) as well.
The problem right now is more that people running instances don’t have infinite money, so even if you could in theory host hundreds of millions of users most instances are limited by having a budget of 10-100$ per month.
In the future it could make sense to make a protocol extension to send multiple activities in a single HTTP connection. But for now its probably not worth the effort, considering that it would break compatibility with other Fediverse platforms.
Does this mean we are gonna be able to see comments from other instances? I sometimes see post with a certain number of comments (in the hundreds) but when I open the post I only see a fraction of them.
That sounds correct for the user settings form, but not for the comment / post creation form. Open up an issue on lemmy-ui’s gitbub for this if you would.
Is federated authentication being considered for the future? The federated model of the fediverse is great, but it runs into problems when instances “die”, you want to access different servers as they federate with different things, etc. leading to the need of having multiple accounts. If there were a decentralized network of auth servers, could use the same credentials everywhere.
No, Activitypub isn’t based on a migrating authentication / single-sign-on model, but on server-to-server communication.
Instances with many users already on them dying should be a rare occurrence, and its unfortunate that it happens not just for us, but in the whole fediverse.
I saw the “502 Gateway” HTTP error message, but I never even closed my browser tab. I refreshed again today and Lemmy.ml was back online! Thanks for your hard work!
I didn’t ask early enough but I will shoot anyway.
What you intend to do with !anime? There isn’t an active mod there and community is unwilling to continue using it due to defederation with ani.social The problems with community will keep arise due to very nature of Japanese animation and differences in acceptable social norms in western world.
announcements
Top
This magazine is from a federated server and may be incomplete. Browse more on the original instance.