Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Being more specific would give away my identity, but this is one issue I ran into while moving from i3 to sway:

https://github.com/swaywm/sway/issues/1005#issuecomment-3315...

where the comment that closes the issue just says "we'll never implement this, issue closed".

I sympathize with you in that, if you had little time and other things to attend to, then just closing an issue is an instant reward of having something less to do.

But I think it would have been better to, first, don't do anything about that issue if you didn't had the time to do it properly (even if you were the one that filled the issue!), which would have been to write down the rationale why you think that feature is not worth its tradeoffs, and also, to have let other users speak up their mind, and see what others think, before making a decision.

For me, that difference in "project culture" is the difference between an open source project that's worth contributing to, and one that is not.

I've grown a couple of very large open source projects, and some of them I look at once a year, and they keep growing with dozens of PRs per week or day! The main reason I am able to just move on to other things is because I've grown and mentor the new maintainers and leaders of these projects , and I know they both carefully listen to the projects users, and are able to grow new contributors, just like I did.



This was 3 years ago. I usually treat these issues a bit better these days.

However... I disagree with your suggestions about how to go about this better. You're still coming from a place where all paths lead to the implementation and inclusion of the feature. We will say "no" sometimes, and there's no amount of discussion which is going to change that. We're volunteers with a limited amount of time, why should we lead everyone on by entertaining a fruitless discussion in on a feature for which we have no interest in supporting?

There's a lot of discussion you don't see, too. Discussion on the IRC channel, private discussions between maintainers, snippets here and there on patch reviews and other issues... just because you didn't get your say, doesn't mean that the issue wasn't sufficiently discussed. At some point I just don't want to discuss it any more. I could redirect you to /dev/null and let you say your fill, but I don't think that's fair to you, either. You can't always get what you want, and if I don't always give you what you want, that doesn't make me a bad maintainer IMO.


> You're still coming from a place where all paths lead to the implementation and inclusion of the feature.

Not really. Ideally, I'd have read a comment saying: "We discussed this on IRC, and for this and that reason, we decided that this is probably never going to be worth doing. If you have any new information or argument that was not considered above, please do raise it with us, but we are closing this issue for now."

> There's a lot of discussion you don't see, too. Discussion on the IRC channel, private discussions between maintainers, snippets here and there on patch reviews and other issues... just because you didn't get your say, doesn't mean that the issue wasn't sufficiently discussed.

If your discussions don't happen in the open, how open is your open source project really?

You can discuss things on IRC, or whatsapp, or wherever you want, but if a synchronous and/or private communication channel is used to decide on technical issues that impact the project, then you are essentially excluding everyone that doesn't live in your same time-zone, wasn't there on IRC at that time, can't search those IRC logs, wasn't invited in the room, etc. from impacting your project.

That's just not open enough for me, so I don't contribute to projects that work like that.

Rust or th linux kernel discuss everything in the open, so that everyone can see it and participate, whenever they have time to, and make their case. Whether that's a mailing list, a forum, or a github issue doesn't matter.

But closing an issue with "no" isn't very helpful for all those users that weren't in the room where that was decided, and they will all wonder "why".

> that doesn't make me a bad maintainer IMO.

There are dozens of different ways of maintaining open source projects. Just because sway's way doesn't fit me doesn't mean it's bad. It just means that it doesn't fit me. If you'd like to change something so that it fits people like me, the above hopefully explains what the issues for me were. But I don't expect you to do that, and you don't have to do that, and its perfectly fine for you to disagree and don't want to do that.


Our IRC channel is open, and many people watch and participate in discussions there. Many of our contributors and maintainers are also friends, people we ping for advice on unrelated things, and so on, and sometimes discussions happen incidentally. We don't go out of our way to conduct discussions in private, and we make our primary communication mediums available to the public. Just because you don't like IRC doesn't make it less open. If you ask for more details, we will also often entertain your question, especially in the context of "I want to know so I can write a patch". But if you're just another grumpy user bringing their bat up for a swing at the dead horse, then no, we're not going to entertain you.

We're human beings, and we acknowledge that. I don't go out of my way to try and build a community which avoids that fact. Treat us like human beings, people with feelings and knowledge and a limited amount of time. You didn't pay for it, so you're not entitled to support, features, or yes, even explanations of why decisions were made. It's a collaborative effort, run by volunteers, who can stop volunteering whenever they want. Some users get burned by this, but contributors don't, and contributors are more important than users.

Sway is not some abstract concept of a project - it's made out of people.

I know this doesn't directly address many of your comments, but I feel that it hits on a deeper and more important difference in our beliefs. User entitlement is a huge problem in open source, and it burns out maintainers faster than anything else. I don't stand for it.


> Just because you don't like IRC doesn't make it less open

No, but having discussions somewhere completely unlinked to your open source repository without a searchable archive and no way to link to discussions does.

Hell, even gitter, which is a pretty clumsy tool lets you link directly to discussion, e.g. https://gitter.im/SublimeLSP/Lobby?at=5dce95d835889012b111a0... (although the fact that this project immediately moved to discord, a less open discussion tool without easy searching isn't amazing).

Do you prefer having to answer the same questions over and over in IRC rather than link to the discussion from a single authoritative issue?

For context: I'm 27 and in the last 10 years, I've used IRC maybe twice. To me, and many others, IRC is an opaque, closed, system. I have absolutely no idea how I would start to search your IRC channel. Hell, I thought IRC logs were only for conversations you were present for. If you can't just give somebody a link to a conversation (which you can in Slack, Gitter, Discord, Teams, mailing lists, Jira, bug trackers, etc) then I'm not sure it counts as open.

> so you're not entitled to support, features, or yes, even explanations of why decisions were made

I was initially going to respond by saying "then you shouldn't ask for contributions". However, the sway repo is actually much better than most and the CONTRIBUTING.md makes it pretty clear you should discuss things with the maintainers first.

Perhaps I'll update my projects with clearer guidance as to whether I'm interested in contributions...


> No, but having discussions somewhere completely unlinked to your open source repository

https://github.com/swaywm/sway#sway

> Join the IRC channel (#sway on irc.freenode.net).

This is a clickable link.

>without a searchable archive and no way to link to discussions does

This misrepresents how IRC is supposed to work. You're not supposed to catch up on what you missed. You're supposed to have the conversation there. It's like chatting at the watercooler, not writing into stone.

If you're "searching" the logs as part of your normal IRC routine, you're using IRC incorrectly.

>> so you're not entitled to support, features, or yes, even explanations of why decisions were made

>I was initially going to respond by saying "then you shouldn't ask for contributions".

You're not entitled to it, but you might receive it anyway. And the only one of these which relates directly to contributions is explanations - withholding features and support, in fact, leads to more contributions. I have written about this on my blog on several occasions if you want to learn more about this approach.


> If you're "searching" the logs as part of your normal IRC routine, you're using IRC incorrectly.

I fully agree, nobody wants to search IRC logs for technical information about a project.

If the only documentation about a technical decision in an open source project is an IRC discussion, then that project is just doing open source wrong. Those logs are at best hard to search for, and more often than not, non-existent.

When we have "online" meetings (IRC / Discord / Zulip / Matrix / Zoom / ...) to discuss technical issues in our open source projects, we always publish a full summary of the meetings so that everyone who wasn't there can read them and follow the rationale, or raise issues with it.


> Just because you don't like IRC doesn't make it less open.

IRC isn't the problem, the problem is synchrnonous communication channels in general (IRC, whatsapp, telephone, Matrix, ....). If somebody is not available when the discussion is ongoing, they can't participate. That does make your communication channel much less open than, e.g., a mailing list, where somebody from a different timezone can read the discussion 8 hours later and participate in it.

> User entitlement is a huge problem in open source, and it burns out maintainers faster than anything else. I don't stand for it.

What burns maintainers is having too much to do, and the root cause of that is failing to grow other maintainers to help you with your projects, which is impossible to do if you act as a burned maintainer, because open source is something most people do on their free time for fun, and stressed / burned / overworked maintainers aren't fun to deal with.

Sustainable projects have a high-ratio of contributors relative to users. When this ratio is high, it doesn't matter that some users act entitled, because there are enough maintainers to deal with that load. If you have a lot of users, but a relatively small contributor base, that's when things become problematic.

Attracting contributors is probably the hardest part of open source, and like it or not, every project is competing against all other projects for contributors. Projects that are super nice to every user that interacts with them, no matter how "wrong"/"entitled" the user is, or tired its maintainers are, attract the most contributors, because people like working there.

Being tired while dealing with an entitled user and trying to be super nice with them is super tough, but all other alternatives I know are much worse.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: