this post was submitted on 26 Oct 2023
26 points (81.0% liked)

Connect for Lemmy App

2702 readers
16 users here now

A community for the mobile app Connect for Lemmy.

Links

founded 2 years ago
MODERATORS
 

@[email protected] have you ever thought about making the app open source? I've used Connect for a little bit and I really like it, it would be really cool if the app was open source. You practically don't have anything to loose, as you don't sell the app or insert ads and trackers. Lemmy is an open-source plattform, and many (if not most) other apps are also open source, I think Connect should follow that direction. This would also allow you to publish the app on F-Droid.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 8 points 1 year ago* (last edited 1 year ago) (2 children)

Nothing to lose is maybe not correct. I've been in kinda the same situation before and chose not to open source my app. This was years ago, when I stopped with the project the number of active users had already been declining for years. Somebody contacted me to take it over, but I feel like he wasn't serious about it. He just wanted to keep it running and be the owner, but not do any of the things needed to get it back on track.

There are a couple of reasons maybe not to open source it:

  • No code is perfect and people can get really self aware about that. I know I have had imposter syndrome in the past where I thought my code was shit, but people always complemented me on the result. Opening up the code can lead to people seeing how shit it really is and call you out on it. The code is probably fine, but it's a legit fear.

  • With open source people expect you to provide a way to report issues and respond to those publicly, with many people adding their 2 cents and big discussions. If you don't see it the same as they do, or your solution isn't what they expected or you simply aren't fast enough, it's a problem. We've all seen flame wars and stubborn developers on open source projects, the drama factor is real.

  • Forks. Simultaneous the strongest and weakest part of modern open source software. On the one hand it's awesome we can make multiple versions if the needs diverge or the original devs abandon the project. But on the other hand, it leaves you with very little control over the project. One case I've seen one dev worked on a project almost every Sunday as a hobby, the project was popular and had a tight community which grew a bit big. The amount of open issues grew and bigger tasks just didn't fit in the original dev's schedule. One of the community members was a good dev who just got laid off and had some extra time. So he forked the project and spent some weeks working on it fulltime, fixing a lot and expanding the project. The original dev wasn't happy, it was his hobby and the community fragmented over people using the new version and the original version. Everybody was upset and the original dev called it quits and said talk to the new dev. The new dev however got a new job and also abandoned the project, with nobody left to pick up the pieces. The community was already fractured and people stopped using it.

Of course these are only some examples and people feel different about different things. But I can understand reasons not to open source stuff. I also haven't mentioned the many many reasons why it's a good thing to open source stuff, they exist and are valid as well.

[–] [email protected] 15 points 1 year ago (1 children)

No code is perfect and people can get really self aware about that. I know I have had imposter syndrome in the past where I thought my code was shit, but people always complemented me on the result. Opening up the code can lead to people seeing how shit it really is and call you out on it. The code is probably fine, but it’s a legit fear.

This is a noob fear. Seasoned devs know all code is shit ;)

[–] [email protected] 5 points 1 year ago

True and based

[–] netchami 3 points 1 year ago (1 children)

First, thanks for participating in the discussion and writing such a detailed in-depth comment.

No code is perfect and people can get really self aware about that. I know I have had imposter syndrome in the past where I thought my code was shit, but people always complemented me on the result. Opening up the code can lead to people seeing how shit it really is and call you out on it. The code is probably fine, but it’s a legit fear.

No codebase is perfect and if someone just comments stuff like 'yOuR cOde iS gArbAge' you can tell them to fuck off or to refactor the code and submit a merge request. Don't be embarrassed of your code or and be honest about it if you know that a part of your code sucks but you don't have time to rewrite it.

Somebody contacted me to take it over, but I feel like he wasn’t serious about it. He just wanted to keep it running and be the owner, but not do any of the things needed to get it back on track.

Well, if you can't find a good maintainer to take over your project and you need to abandon it, you can open source it and mark it as archived on GitHub. Maybe someone wants to build something similar in the future and can use your project as a reference. Also, maybe it's not gonna be useful to anyone, but you don't lose anything by making the code public after you already abandoned the project.

As for still active projects:

With open source people expect you to provide a way to report issues and respond to those publicly, with many people adding their 2 cents and big discussions. If you don’t see it the same as they do, or your solution isn’t what they expected or you simply aren’t fast enough, it’s a problem.

You don't have to accept feature requests from people. You can either say that you only accept bug reports, or people can submit feature requests but you won't implement them, and they will only be implemented if someone submits a merge request with a patch. You can also entirely turn off issues on GitHub and just do whatever you want.

We’ve all seen flame wars and stubborn developers on open source projects, the drama factor is real.

This rather only happens with big projects like Linux desktop environments or stuff like that (e.g. there has been a massive flame war between GNOME and KDE users)

Forks. Simultaneous the strongest and weakest part of modern open source software. On the one hand it’s awesome we can make multiple versions if the needs diverge or the original devs abandon the project. But on the other hand, it leaves you with very little control over the project. One case I’ve seen one dev worked on a project almost every Sunday as a hobby, the project was popular and had a tight community which grew a bit big. The amount of open issues grew and bigger tasks just didn’t fit in the original dev’s schedule. One of the community members was a good dev who just got laid off and had some extra time. So he forked the project and spent some weeks working on it fulltime, fixing a lot and expanding the project. The original dev wasn’t happy, it was his hobby and the community fragmented over people using the new version and the original version. Everybody was upset and the original dev called it quits and said talk to the new dev. The new dev however got a new job and also abandoned the project, with nobody left to pick up the pieces. The community was already fractured and people stopped using it.

Sure, rare cases like these exist and it's unfortunate, but I wouldn't say that his happens very often. All in all, I still think that open source is the best way.

[–] [email protected] 2 points 1 year ago

You don't have to tell me not to be embarrassed about my code, I've been a professional software developer for many many years, I don't give a shit about what people think about my code. But I was once young and I can understand that mindset.

The points about the tools that GitHub gives you is valid, even though not all open source software goes through GitHub. My personal experience with abandoning my project was way before GitHub was popular and I wasn't even using git as a versioning tool. Git being popular is a more recent thing. And the tools available like on GitHub have come a long way. You are however bypassing the human part. It isn't about the tools or what should be done or what could be done. It's about the human factor. Sure you can just put your head in the sand and say NO, my code, my rules. But the expectation is there, that's what I was getting at. The minute you open source your code, unless you just post it in a zip file as is (which is technically making it open source but not very useful), the expectation is you become a project manager and a community manager even more than you already are. If the goal is just having a bit of fun programming for a hobby, that usually isn't what people want.

Things like archiving and finding maintainers is all well and good, but in reality with smaller projects the chance there is someone with enough in depth knowledge to really take over is very small. It happens, but so many projects get abandoned. When searching on for example GitHub for something I come across countless of projects with last commits 5+ years ago and when I check out the code it needs major work to get it up to date and compatible. Ecosystems change and dead code isn't all that useful. Reading code is also very hard and when you are faced with a major overhaul and in depth study on top of the changes you probably need to make to make it work for you, the choice to just begin from scratch is a very easy one. Plus many developers have not-invented-here syndrome, so that's a thing.

The situation I described happens almost daily and I've seen it more than a couple of times myself. When it's a big project, everyone knows about it and reads the threads. When it's a tiny project, nobody cares enough. But when it's intermediate, with a small community, this happens all the time. And if you aren't part of that community, you'd never know about it happening. More often than not the end result is a nuke from orbit situation (only way to be sure), so there isn't anything to read after. With bigger projects I also wouldn't say it's rare, those just handle it better, because they usually have good community managers who step in and prevent escalation.

That being said, don't take anything I've said as a con against the principle of open source. It may or may not be the best way and this isn't anything critical about the principle itself. Just some examples of why someone might not want to open source their project and my first hand experience about deciding not to open source it.

If I were faced with the same decision today, I might decide differently. On the other hand, the past couple of years have taught me a large part of humanity is awful and the internet is rapidly devolving into a big stinky pile of shit I want nothing to do with. Being a Reddit refugee on Lemmy is probably my last attempt at any social media, if the whole Lemmy thing doesn't work out, I'll leave the internet as a active user and become lurker only. Even then I'll limit my exposure as just simply being on the internet as bad for your mental health IMHO.