As an developer you create a solution to a problem from yours. You release it under a FOSS license.
Your job is done - You shared your work. The community may find your project useful and builds upon it. Their interest is to get their changes upstream. You have no obligation to help with onboarding and implementing features for others.
So if they are requesting a merge you may reject it since it does not meet your standards. Maybe you have to make your stance clear and create a CONTRIBUTION alongside your code.
With this mindset you wouldn’t hang out on a non-indexable platform.
Your project mostlikely is requesting explicit participation. Maybe this is the point in between you guys.
Especially on servers I make sure to attend in the software packages survey. Just so that the holy-gods and kings of maintainers are aware of me, the peasant running old packages.
One has to experience certain interactions and opinions on the streets. I know we need migration and there has been plenty of people perfectly assimilating but we are struggling with the integration part currently.
I sincerly think most of the issues I observe are due to German/European Rap Music which is nowadays mainstream and way out of line. Teenagers across the board adapt arabic phrases from said music and butchering the language. Let alone adapt the text literally.
Teachers and people working at the kindergarten I know of describe the migration rate at almost 90%. And the majority of parents do not show willingness to educate+integrate, they say. But I don’t know of any numbers!!
Plugins may introduce some risks imo. Non-standard behaviour may be a b*tch.
E.g. the idea of a plugin which posts tags:
How are these elected and shares across instances? And displayed on clients? Are they modifying the actual data written by the user in order to sync?
Maybe they are attractive to admins. But they can mostlikely already query and modify the database, right?
I do not want to be against it just mentioning that it may introduce problems on its own which in turn needs to get adressed. E.g.: When multiple plugins do a task at the same hook; How is the ordering managed? When are transactions committed? Should there be a maximal amount of time spend on plugins at some hook? How are resources shared then?
Let’s think about bad actors: Meta deploys provides a plugin which compresses and decompresses post content and saves plenty of ressources for the admin. After a couple of years they put it to the grave or change the compression methods such that old posts cant be retrieved. But their instance surely still can access those.
I admire beeing lean. Had some projects where bad plugins raised in popularity and become the defacto standard. But they were resource-hungry and badly written or barely maintained. Workarounds spread back to the original program.
Just looked the first time into the lemmy code and it appears to be very neat and clean. I would recommend to stick to it. But then I am no maintainer and a nobody shrugs
//edit: To me plugins are good to aid customization and enlarging the user base. I do not see how this contributes to the fediverse and instances in the long run.