Lemmy Developer AMA and Dev Update, 2024-01-26, 1500 CEDT

This is a chance for any users, admins, or developers to ask anything they’d like to myself, @nutomic , SleeplessOne , or @phiresky 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 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.

glibg10b,

Please stop using time zone abbreviations. Everyone can read an offset (UTC +02:00 in this case). But almost everyone has to look up the abbreviation

dessalines,

I linked a timezone convert link (before I updated the post), which I think I’d have to do even if we used the UTC offset format. I must be just far away enough from UTC to not know what my offset is at any given time.

Microw,

No, I can not read an offset. Because we have summer time and winter time here, and I dont instantly know what the offset is for which one.

toastal,

Developing countries still catching up to the no-DST of the rest of the world. Asia, Africa, Central/South America 💪

davidgro, (edited )

Time math gets a bit difficult far enough from UTC. Where I live virtually any event in Europe or Asia will be happening on a different day there than here, so it’s not fun to try and figure in one’s head.

The only universal solution is to link to a converter site.

Personally I wish everything supported the automaticly-converting timestamps I’ve seen in Discord which just show up in local time or as a countdown.

SorteKanin, (edited )
@SorteKanin@feddit.dk avatar

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.

1984, (edited )
@1984@lemmy.today avatar

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.

phiresky,

0.19 was a bit of a special case because there was a set of breaking updates that had to be done at some point, and trickle releasing breaking changes isn’t really great either. Usually hopefully the breaking changes are rare, so releases can be more frequent.

nutomic,
@nutomic@lemmy.ml avatar

Yes once we reach 1.0 there will be way fewer breaking changes and then it will be easier to do more frequent releases.

dessalines,

For sure. Releasing breaking changes frequently would be much worse for stability than increased time between releases.

Pacrat173,

Will Lemmy ever have another source of income like official merch or will it rely on donations for the foreseeable future?

possiblylinux127,

May canvas event posters?

nutomic,
@nutomic@lemmy.ml avatar

Would people really pay for Lemmy merch?

Blaze,
@Blaze@discuss.online avatar

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.

Grayox,
@Grayox@lemmy.ml avatar

I think they would, it would be super cool to do art competitions and have the community pick the designs, could do it once a quarter to help boost funding.

aeharding,
@aeharding@lemmy.world avatar

Personally maybe with some better art, not with the plain mouse logo

Oha,

I definitely would

veeesix,
@veeesix@lemmy.ca avatar

I’d be down for an enamel pin. I’m sure you guys are familiar with the Apollo app (RIP), but in his merch store he had enamel pins made in the style of some of his app icons.

dessalines,

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.

SubArcticTundra, (edited )
@SubArcticTundra@lemmy.ml avatar

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)

1984,
@1984@lemmy.today avatar

Something tells me lemmynsfw has the largest disks. :)

Omega_Haxors,

They call me Bigdisk Johnson.

WanderingVentra,

I should donate to them. I mean… lemmynsfw, what’s that?

Blaze,
@Blaze@discuss.online avatar

The porn instance

morrowind,
@morrowind@lemmy.ml avatar

*A porn instance

WanderingVentra,

I’m just playing dumb. I know what it is lol

JaymesRS,

I was told it’s not about the size of the disk but how it’s used that really matters.

1984,
@1984@lemmy.today avatar

Yeah we are told a lot… :)

nutomic,
@nutomic@lemmy.ml avatar

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.

SubArcticTundra,
@SubArcticTundra@lemmy.ml avatar

1.6GB is impressively small for anything by modern internet standards

dessalines,

To add, lemmy.ml’s entire DB compressed as a xz with -0 strength is about 3.7 GB. But that also includes the activity tables which aren’t vital.

phiresky,

I don’t think it’s that large. Text is very small and compressible compared to images. Well it depends on if you mean the actual database storage (uncompressed, with indexes) or a compressed copy of all the posts. You can see the post number in the URL, which on lemmy.world for this post is 11169622. That means there’s around 11 million posts total in lemmy.world’s database. If you assume each of them takes 0.5kB of storage that would be only ~ 5 GB of posts.

A_A,
@A_A@lemmy.world avatar

… is 11169622 …

Maybe 9 post out of 10 are deleted by the few checks I made manually …or am I missing something ?

deadlyremote,
@deadlyremote@lemmy.ml avatar

How did you feel when everyone was coming from Reddit to Lemmy?

phiresky,

Personally I came with them so I guess they are my people ;)

dessalines, (edited )

We pretty much all came from reddit, just at different times 😄

nutomic, (edited )
@nutomic@lemmy.ml avatar

Very excited, and then very overwhelmed because everything started breaking left and right.

dessalines,

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.

CrypticCoffee,

Do you feel fully recharged now, or still catching up from the intensity of it all?

dessalines,

Mostly recharged from that now.

CrypticCoffee,

Good to hear. Thanks for the work you do on Lemmy. It’s nice to be free from the corporate machine that is Reddit.

dessalines,

No probs!

toastal, (edited )

Will the source code ever move off of proprietary Microsoft GitHub where users need to have an account to contribute & search code—or certain users are blocked due to US sanctions? If the idea is wanting to stand up against centralized US-corpo-controlled social media for forums, why use that US-megacorpate-controlled code forge / social media platform?

1984, (edited )
@1984@lemmy.today avatar

I think it’s fine. You won’t influence anything about US by using a worse collaboration platform. If Lemmy becomes more and more popular, it may eventually become a real alternative for the masses. That’s what the goal should be - not avoiding github.

It’s better to be smart here.

toastal,

Some alternative forges offer better features (or less social cruft) & are faster (some are not even limited to Git!)… what you will get is the ability to own the code & community along with set the terms instead of letting Microsoft set them for your community & be the gatekeeper for who gets to have access. If you wanted a corporate, centralized, proprietary forum go back to Reddit/Twitter; if you think that’s a terrible recommendation, in the same spirit you should leave behind corporate, centralized, proprietary code forges.

nutomic,
@nutomic@lemmy.ml avatar

So far these problems are mostly theoretical, in practice Github works fine. But once Forgejo gets federation working we will probably migrate to a selfhosted instance.

dessalines,

I’d also be in favor of moving to Forgejo once federation gets fully functioning, and reliable.

phiresky,

I agree that it’s not ideal to be hosted on a platform controlled by Microsoft, but it’s just a fact that you lose 90+% of contributors if you are anywhere else (there’s an article where someone compared, can’t find it right now). It’s not great that that’s how it is, but you need to choose your battles.

I’m not really very concerned, since git itself is decentralized, and if Github starts causing visible problems moving somewhere else is not a huge problem. Also VPNs exist.

OsrsNeedsF2P,

I’ve seen projects shed significant numbers of contributors by moving off GitHub. RIP

aeharding, (edited )
@aeharding@lemmy.world avatar

Yeah, tbh the worst vendor lock-in part of Github (edit: other than the aformentioned social aspect) is Github Releases. And Lemmy doesn’t really use them.

dessalines,

Its unfortunate that we (and it seems like 99% of other Rust projects), do their issue tracking on github. We have multiple mirrors set up for Lemmy, so the code is safe from takedowns, but the issue tracker is a concern.

The main issue I’ve had is: if we migrate, I want that migration to be permanent, and for me a requirement for that is federated collaboration. I’ve had codeberg remove a torrent project of mine to comply with German law, and gitlab has most of the same problems of github. Self-hosted gitea instances work, but many people just don’t contribute to them when they have to make an account on each one.

You’ll see below that Lemmy’s two main devs are in favor of migrating our issue tracking to forgejo, once federation gets reliably up and running.

syd, (edited )
@syd@lemy.lol avatar

Sorry for taking up all the space :) But please skip the ones you wish.

  1. How old are you guys? Can be a range if you want e.g. 10-15, 15-20 :)
  2. Do you know each other IRL?
  3. Which region do you live in? Like America, Europe, Asia etc.
  4. If Lemmy had 100 million users, would you still try to remain anonymous?
  5. Is there an instance admin you hate but can’t say?
  6. What percentage of users should ideally be in the largest Lemmy instance do you believe?
  7. If you had the chance to change the name Lemmy, would you?
possiblylinux127,

I’d hope that they are at least 18

nutomic,
@nutomic@lemmy.ml avatar
  1. Im 31
  2. Not yet, hopefully that will change in the future
  3. North of Spain
  4. Im not really anonymous, it would just feel weird to post here with my full name
  5. No
  6. Maybe less than 50%
  7. Im terrible with names so no
OsrsNeedsF2P, (edited )

How do you feel about extreme right-wing instances like the late Wolfballs using Lemmy to promote and spread hate?

WanderingVentra,

I hope they’re not too against it. I know they’re extremely left wing, which scared a lot of the centrists on Reddit. If they allow even right wing instances, then it emphasizes the project’s lakc of political bent, and encourages more mainstream people to join. The politics can be up to each individual instance to decide whether to defederate with those other instances or not.

But that’s just my opinion, I’m also curious how the devs will answer.

bdonvr,

I’m sure they’re probably not okay with it but also there’s not much they can do about it other than defederate .ml - such is the nature of open source software.

calavera,

Not that I’m suggesting it, but they could hardcode the defederation of those instances on the code and most admins wouldn’t bother to fork lemmy to remove it. Like in the past they had a hardcoded slur filter, but I think they disabled it because many slurs in English were regular words in other languages

possiblylinux127,

Yeah that’s a very slippery slope

Kaboom,

Wolfballs? Was it straight up hate or just run of the mill GOP talking points?

Moonguide,

Wasn’t here back when it happened, but from what I know, it was straight up white supremacy shit. It got defed to death.

possiblylinux127,

I think you should be careful with political hate. Its a slippery slope and should not be handled by a developer.

Maybe we could simply focus on having clear rules for each community.

nutomic,
@nutomic@lemmy.ml avatar

They were posting spicy memes but thats how the internet works. If you dont like it then dont visit there, just like you wouldnt visit 4chan. Lemmy is open source so anyone can use it for any purpose.

dessalines, (edited )

I very much dislike it obviously, and I’m happy that one shut down. There have been others, but for the most part they’ve stayed away from Lemmy as “that software made by tankies.”

Outside of making sure that we don’t platform them anywhere, there isn’t much we can do. Lemmy is open-source software after all, and a tool can be used for good or ill. As @CannotSleep420 mentioned, coordinating on adding them to our blocklists and isolating them is the best option.

pocketman_stuck, (edited )

This is for all Lemmy devs:

Talk a bit about yourself, likes and dislikes.

Musical taste, movies, whatever, just willing to know a lil more about you as persons

nutomic,
@nutomic@lemmy.ml avatar

I mainly like Hip-hop, but also good music from other genres. I like all sorts of movies if they are well made, but especially adventure and comedy. Since the quality of Hollywood movies has gone steeply downhill, I mainly watch movies from different countries across the world, and older movies from the 70s or so. I also like video games, at the moment Im playing Baldurs Gate 3 as everyone was praising it on Lemmy (and they were right its a great game).

OsrsNeedsF2P, (edited )

Any words for Zuck and Threads?

Edit: on a more serious note, has Meta reached out to the Lemmy developers at all?

possiblylinux127,

I think Lemmy is a tiny blip size wise.

nutomic,
@nutomic@lemmy.ml avatar

No, I guess they only care about Mastodon. I will just wait and see how that goes.

phiresky,

So far it doesn’t seem like any company actually wants to compete in this space (longer-form somewhat text-focused communities). Even reddit is trying to become more twitter and less reddit.

dessalines,

We also blocked threats here already, and encourage other servers to do the same. FB is a rabid wolf that would love to be let inside the fediverse.

diamat, (edited )
@diamat@lemmy.ml avatar

First of thanks a lot for the effort that you put into creating lemmy. You have created a really friendly and welcoming place!

I have a question regarding licenses. When you started developing lemmy, what were the reasons for your choice of the AGPL? As you are marxist-leninists, did you also look into other licenses like the the Anti-Capitalist Software License?

dessalines,

To me, AGPL is the most pragmatic choice. As a hard copy-left license, it enforces derivative works to adopt the same license, unlike the more open and “soft” copy-left licenses that let corporations capture and digitally enclose your labor as they see fit.

nutomic,
@nutomic@lemmy.ml avatar

AGPL was already used by most existing Fediverse platforms, and ensures that all code changes need to be published. Its basically an improvement over GPL which also takes effect when the software is hosted on a server, not running on the user’s computer.

The Anti-Capitalist Software License is not an open source software license.

That alone rules it out.

hendrik, (edited )

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)

nutomic,
@nutomic@lemmy.ml avatar

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.

Obi,
@Obi@sopuli.xyz avatar

I see you think in euros, where are you guys from?

nutomic,
@nutomic@lemmy.ml avatar

Im from Germany, living in Spain.

Obi,
@Obi@sopuli.xyz avatar

Nice, hope you are enjoying the fair weather and delicious food :) keep up the good work. Guten tag!

threelonmusketeers, (edited )

Will private messages ever be displayed in a threaded or grouped manner?

Please correct me if I’m wrong, but the current web interface is just a reverse chronological list of all sent and received messages. This can be confusing to follow if one is messaging multiple users over an extended period of time. I think the ability to group messages by user would be useful.

Aurelius, (edited )
@Aurelius@lemmy.world avatar

This is already possible in many Lemmy apps. I built the Quiblr web app and messages are more similar to a messaging app. Many Lemmy apps probably do similar as it’s just a front-end change.

threelonmusketeers, (edited )

Cool! I haven’t tried out web apps, but many mobile apps have this feature as well. Would be nice to see this feature merged into the native web interface.

nutomic,
@nutomic@lemmy.ml avatar

Maybe, if someone implements it. Basically the same answer as all other low-priority feature requests.

dessalines, (edited )

There can definitely be improvements, but I agree that they’re low priority. I’m hesitant to put too much work into Lemmy’s private messages or its interface, as they’re inherently insecure and not E2EE (we even have warnings in the lemmy-ui interface about this).

Its best to rely on messaging apps like matrix and xmpp that were made for that job, which you can add to your profile. We also added a specific matrix_id field to your user settings, which enables a “Send secure message” button.

shootwhatsmyname,
@shootwhatsmyname@lemm.ee avatar

In your opinion, what are the top strengths and weaknesses of Lemmy at this point in time?

nutomic,
@nutomic@lemmy.ml avatar

Strengths: Its open source, decentralized and working quite reliably

Weaknesses: Theres not enough funding/developers to keep up with all the issues

dessalines,

Strengths are federation, comment threads, mod tools, app ecosystem.

Weaknesses are lack of notifications, DB code, and lack of funding / donations. We need to support much more that just one or two devs if we want to take on reddit, which is a multi-billion dollar company with hundreds of employees.

I discuss more things I’m going to work on this year in this comment

silas,
@silas@programming.dev avatar

As developers, what can we do (or not do) to best support Lemmy’s vision and goals right now?

dessalines,

First, thx for working on LemmyNade! The ecosystem of apps growing up around lemmy, learning from and benefitting each other, is really great to see.

The main thing would be to get involved with lemmy’s back-end code. Even if you’re not a back-end developer, its still useful to us to learn from devs about wanted features, API improvements, and bugs. Many app devs have suggested features that I’ve tried to implement based on their usefulness, because it used to be just myself who was the one requesting and adding things on both sides.

nutomic,
@nutomic@lemmy.ml avatar

Go through the issue tracker for lemmy or lemmy-ui and look for some simple bug or minor feature that you care about. Then look for the relevant part of the code and try to fix it. You can also make a comment or post in the dev chat on matrix if you need help. Honestly there are so many issues which could be solved in less than an hour, especially in lemmy-ui. That way you can make Lemmy better and also get familiar with the code to make larger changes in the future.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • announcements@lemmy.ml
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 18878464 bytes) in /var/www/kbin/kbin/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php on line 171

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4210688 bytes) in /var/www/kbin/kbin/vendor/symfony/error-handler/Resources/views/logs.html.php on line 38