I've started to do this on a regular, almost daily basis.
If I come across something that sparks joy or interest - usually something I find here, on HN - I reach out to the author and let them know with a personal email.
I also sometimes offer a free-forever-no-strings-attached rsync.net account on the off chance that they would find that useful.
In reality, the Venn diagram of "people who write things that spark joy to the founder of rsync.net" and "people who aren't already self-hosting their own solution " is small.
But once in a while it really makes someones day ...
I have the displeasure of working with a team member who does the exact opposite: at every chance he gets, he expressed his displeasure regarding other team members to management. Once I confronted him about that behavior and he stated that those who fix problems get promoted while those who create them get passed over, and he believed that by pointing other people's flaws he would improve his chances of moving upward.
I firmly believe that's the main reason most people don't praise anyone else. If they do, they are calling out their competitor's positive contributions, while no one reciprocates in kind.
My basic point is this, even those with the wrong mindset can be swayed with the right mindset, as long as it is sincere.
I always try to praise a person. But I also want to "reserve all rights" to say that a codebase is crap or a choice made in the past was evidently a bad choice.
Finding the balance to critique work that a person contributed to, without criticising that person itself, is hard. A true challenge, I found.
It becomes even harder if a project is Open Source and you truly feel you have to "warn" people against using a solution in certain cases. It then becomes really hard not to sound like a grumpy old neckbeard or someone with a grudge. I lately decided it is best to just shut up, and let people find out themselves; to let them fail, fall or possibly succeed and prove me wrong instead. I do see the arrogance of that too, though.
Criticizing the code itself (with useful feedback), and not the person who wrote it, gives them a chance to own up to it if they're comfortable with doing that. And if not, you're still able to improve the codebase without directly calling them out.
If they get pissy about it, that's on them.
A critical skill for a senior engineer in a team is to define and establish such standards for the team. Rather than reacting to each design/code review, taking the time to setup these process mechanisms is a lot more productive and healthy for everyone involved.
This requires strategic thinking (a skill that comes with practice) towards how you choose to spend your time at work to accomplish anything.
A lot of projects lack that "objective standards". I've been helping to solve exactly this. But code can be messy without having a clear defined "clean code" standard. And a project can perform horrible, without having minimum response times docutented.
Often my job was to define all those. And often those definitions already hit a nerve. When suddenly your code is marked as "far too tightly coupled" or "too complex: AB above 34" when you thought it was neat and smart code, that is confronting and, I've seen, is often felt as personal critique.
How did you go about doing that? (How did you warn others about an oss project, ... Maybe one/some project at GitHub?)
Maybe when someone somewhere asks why I don't want to include X-lib or Y-dependency, I'll explain why for this case its not a good choice.
Generally, I keep this to the consultancy-reports and on-premise discussions though.
I would have appreciated working with you/people who gave some critical thoughts to third party dependencies.
I hope that each time you go to a new employer, you try again and see if they're happy with getting such warnings
The pro-social way out of the prisoner's dilemma's shitty equilibrium requires deliberate effort to foster the sort of personal trust and collaboration-by-default attitude that makes the 8+ work hours of every weekday of most of our lives not suck.
And it makes people feel good, which is personally enough for me (while recognizing the privilege that lets me say I have enough).
I’d hate to work with such an individual; I’d avoid them like the plague.
To me “good culture” is the de-emphasis of these kinds of mindsets (and emphasis of the opposite). To the point where it’s justification for hire/fire.
Pointing that something is wrong won't fix it, and if in the meantime you manage to ruin relationships within your team you have actively made things worse just to pretend being a good leader, but just proving you are an awful person to work with (and at this point you might still be wrong about your claim on what's wrong).
But continuing these existing good behaviors is really important too. If you tell people what not to change, then they won't accidentally change the good stuff in their efforts to fix orthogonal things.
I delegated some areas during a big event and I took one of those persons asside because he was too rude.
He said that he pointed out mistakes ( which was correct, but they were new) and that they would remember it better if he was this direct. I just mentioned that he should not be this rude and just explain them what they did wrong and he adjusted. It was literally his mindset ( he adjusted that evening, not his mindset)
I realized that I am biased toward communicating things like feedback or suggestions.
Yet I do have many positive thoughts about others that I keep to myself. I don't know why I do this.
If you're highly self confident without any feedback from other people, chances are you're mistaken. Not guaranteed, but highly likely.
1. Always publicly thank contributors for each unit of work I encountered, no matter how mundane, and especially when I recognized the value where it wouldn’t necessarily be visible/“hot” otherwise.
2. To make regular time for specific recognition of work that stood out to me, both public and direct, again especially highlighting important work that wouldn’t otherwise get a lot of light. (By now it should be obvious that I tend to work in libraries/infrastructure where good work tends to be mostly invisible.)
3. To try to continuously add visibility where work tended to be more foundational/less visible, so others would be encouraged to add to that recognition.
4. To make sure positive feedback was included wherever general or even critical feedback was warranted.
I’m not perfect and never perfected execution on those goals, but it was always an underlying part of how I interacted with my team. It improved my relationship with every team member who I most butted heads with (save one who was reflexively adversarial and invented conflict for even the tiniest work items; some people are just jerks!). And it also made a lot of people just generally more comfortable with their own contributions and better able to see their own value.
That may be good for team building and make some people feel better but, personally, I would find that situation very uncomfortable.
Really, it’s about noticing and acknowledging good work or behaviour.
I suppose it can feel that way, but on the other hand forcing oneself to find and appreciate others efforts and good qualities—even if there are perceptibly few of them—can be a good exercise, especially for those of us who are naturally quite critical. While I'd argue that it's a good virtue and intrinsically valuable, the habit is also practically beneficial: people perform better when they're appreciated and recognized; one's ability to form and work with teams is noticeably easier; it's easier to adjust performance and expectations; et c.
People often put the cart before the horse when talking about stuff like this. Manufacturing gratitude is doesn't make it less genuine or fundamentally less good.
I wonder if this is a culture or generational difference. I've found my employer's incentives / gestures a bit lackluster compared to simple gratitude. I like working on a team where the members are publicly thankful for their teammates' efforts. Shrute Bucks stink.
I've been publicly recognized and appreciated it, I've also received quiet thank you notes. I know I like the latter more.
The idea is good: share the love, highlight good work. But it probably better just to let people know more naturally.
(The votes were publicly announced -- and also who had voted?)
To me it’s embarrassing to be recognized publicly for literally doing what I am being paid to do. Instead, perhaps recognize each week the people that didn’t meet the standard:
“Wanted to recognize Bob this week for being a bit of a douche as well as letting all of us down when he messed up the build system and delayed our build delivery to QA and the Loc team thus having the rest of us having to scramble over the weekend to clean up the mess. Thanks Bob!”
You think complimenting people is horrible, people should be publicly shamed, insulted and blamed for the failure of the team, and fancy yourself for a leadership role? Grief.
Instead, perhaps take the "if you're on time, you're late, being early is the minimum" self-satisfied chip off your shoulder and realise that blaming Bob for you being a doormat and working on the weekend is you being "a bit of a douche".
I don’t want claps from my peers. I’ve already figured out if they like my work or not from day-to-day interaction.
If you want to recognize my contribution, give me money - that’s why I’m here. This is a business relationship. I work, you pay. Pay up.
My goodness. This is horrifying.
I'm cringing just thinking of a team doing that.
It’s appropriate for a manager or team lead to do this. It’s not appropriate to make it the norm (even if it’s “optional”) for the whole team.
Much better for a leader to model the desired behavior, and, create space for those on the team, of their own volition and without peer pressure, follow suit.
It will also be much more authentic, real, and meaningful.
Also, I had a manager who would move everyone I praised off the team. He was paranoid about cliques.
That sounds awful
Unfortunately, explicit gratitude is very rare. Donations are even rarer. The "ask a question" and "support this site" buttons on my website are next to each other. I get 15 questions for every donation. About 30€ per 100 000 visitors, from 1-3 visitors. Those who email me with questions never donate. I'm not complaining about any of this, just illustrating my point: you can't use gratitude as a metric for the value of your work.
Critics, on the other hand, are disproportionately loud. As a community moderator, I learned that for every complainer, there are dozens of quietly happy users. You can only tell by the votes. No one will create a thread to say "everything is fine, keep it up".
If someone made your day easier, or if they created something good, take a minute to thank them. If they saved you a ton of work, consider a small donation. A lot of people are tirelessly, thanklessly creating things that benefit you. It costs nothing to acknowledge it. Never let a compliment go unused.
In the last few years, I became better at expressing my gratitude to creators, maintainers, colleagues and friends.
Can you ask them to? It's not exactly the same problem, but I have a modestly successful youtube channel, and I get unsolicited email questions seeking help every day, and I personally try and answer all that I can. I've used the following technique and it helped me receive donations to offset the support effort.
I added a quiet but clear call to action my support replies. It's in a smaller font and below the actual support reply, but it significantly increased the number of donations, and it helps offset my support time. I went from getting no donations, to donations on over 80% of the support questions I answer. Maybe this would work for you too.
Here is what I add at the bottom of help questions I receive:
As you might expect, I get a lot of requests for help. If you found my response helpful, a small donation for my time is totally optional, but appreciated so that I can continue to offer it as a service. http://buymeacoffee.com/boothjunkie
One of the major "metrics" that we track is how much a customer has to put effort in to fix an issue/ticket. This is measured via a survey that's sent out after ticket closure, but many customers never see it or choise not to respond.
A few months ago, I started adding a little post script "A survey is sent out after this case closes. I would appreciate it if you answered it!". Response rates for the survey jumped from 11% to 75%. Many of the responses were generally positive as well, trending our scores up by 11% and still climbing.
Sometimes asking nicely is a powerful tool, for good and potentially evil.
If I get that in the midst of solving the problem I always click - if the survey comes hours or days late I may not make the effort.
Also, while we're on the subject: I would love it, if free software came with a token product. For example: a "star" tier that shows up in your online profile, or something. This way, people can donate and make it into a business expense.
I was lucky enough to receive a thread exactly like this , in response to a user complaining about my support response time . Admittedly, it was in response to me saying "No-one ever writes threads like this", but it was still lovely to receive.
When I see 'support' on a website I think tech support not money support and blank it if I'm not looking for support. Might be just me, course!
I humbly hope that sharing this might inspire more humanity and gratitude in the open source community.
I suspect one reason is because the cloud vendors push hard for layer 7 routing, and cloud managed cert management. (ie: ALB and ACM.) These have a lot of vendor lock-in, whereas k8s layer 4 ingress and cert-manager do not.
One of my all-time favorite books -- "How to Want What You Have" by Tim Miller, PhD -- has as its central thesis the idea that:
1. Most people are relatively unhappy;
2. The root cause is our tendency always to want More [money/power, love, recognition] -- which stems from evolutionarily adaptive traits;
3. The remedy is to live in the present moment -- which one can learn to do by deliberately practicing three closely-related things:
One of the key things I believe most people forget is that being a free giver doesn't mean only to participate in charity and help those in need. It means to act like this to everyone, including those around us. Most people need encouragement and to feel appreciate, and I believe culturally we don't show enough of it.
As an example, one of my most popular pages is a set of instructions on how to install 20 year old sewing machine software, that requires hardware keys, on modern Windows machines.
I’m sure this will come in handy!
I do, then, immediately close "thank you" issues so owners are not tasked with responding in any way, but still... And for any watcher, I imagine they are interested in notifications relevant to actual issues, not thank yous.
My opinion is the current best way to say thank you is probably a star. Beyond that, it would be nice if GitHub added a way to leave a thank you or testimonial or something like that. Or even a formal "the repo is in use by such and such app/company."
I've deliberately not opened "Thank you" issues, because I didn't want to annoy the owner/watchers. Certainly frustrating there is no way to express gratitude.
Star too, donate too, whatever you'd like to do normally too but nothing beats actually using your words
Github launched Github Sponsors in 2019. It does basically everything you described aside from the "thanks" part.
"No I said don't do th.. ah forget it"
Unstar however would become “No thanks”
As a developer what I like even more than thank yous are thank yous that explain how my code helped you in some specific way.
i'll second this.
post some screenshots of the thing you've made with my thing, or how it's improved the user experience or performance improvement metrics. what has my project unlocked for you, e.g. new use cases that were not possible before. compare it to what was there previously. i build open source stuff to scratch my own itches. knowing that it scratches the itches of 10k people instead of just 1 is the best outcome -- maximized impact.
just a thanks is nice but ultimately lowest effort and not that gratifying.
1. If you just wanna thank them, write an email
2. If you want to do so publicly, do so on a public channel (e.g. Blog post, HN, youtube channel, etc)
#2 possibly won’t even be seen by the target.
Opening an issue is seen by the whole team and becomes a place for the community to weigh in. Seems ideal until Github provides better.
#2 can be combined with #1 to let them know
In person interaction naturally flows towards gratitude. Online interactions, like the one I’m having right now feels disposable. I don’t see your face and we can’t form much human connection.
This leads to an online world of shallow interactions that leave us feeling alone an empty. Much like what happens to people that live in large dense cities.
Our online interactions are so shallow, we feel it is the responsibility a product we are buying to facilitate a particular form of interaction as opposed to simply taking it upon ourselves to do it.
I do think there is a generational "thing" where older people tend to see online interactions as superficial and unreal, while younger people see them as a natural extension of the IRL social sphere. As a younger person, I find it easy to point out that interactions with strangers present similar difficulties whether online or IRL.
Yes, because it is, but I'd dispute the claim that GitHub discourages it. If anything, the people who use GitHub are more willing/most likely to misuse bugtracker for not just support requests but also general discussion and comments like this. It seems like there's a (non) issue like this that gets linked at least once a month on HN. I click through, get annoyed with the person who opened it, read the maintainer's response, get annoyed with their endorsement/encouragement of the idea, close the window, and then file it away in my mind or my bookmarks or both as an example of how annoying it is to try to collaborate with people whose platform of choice is GitHub.
Post this stuff on Twitter, or a mailing list, or a discussion board. Or at the very least, be productive and file a bug that says something like, "I wanted to express my gratitude for this project, but the README doesn't link to any public venues for general discussion". You know: things that at least attempt to pass themselves off as legitimate bugs? Or just don't do any of that and keep posting this sort of thing on GitHub--but in that case, please kindly also curb your and your colleagues' whinging in all future instances where you find that someone has chosen not to host on GitHub and, upon with being asked to, they say "no" and point to things like this as being among the reasons why GitHub users can't be trusted to make responsible use of project infrastructure.
I think this would be a nice new Category in Discussions; ":heart: Thank you"
The "hassle" of doing KYC at one of the exchanges and verifying your identity is only once. The benefit of being able to receive little cash for privacy-preserving ads and use it to contribute to a healthier digital economy can last for a long time.
(I haven't used it yet)
I'm not sure that general purpose reviews/forums are the right way to address this issue, because those can generate negative feedback as easily as positive and generate additional stress for the maintainer. I think a simple dedicated "you can leave a public thank you message to the maintainer here if you want" text box would do the trick.
I just close the issue immediately after opening it. :)
Or perhaps just a built-in "endorsement" feature, which companies can use to indicate that they use a project and find it valuable, perhaps listed on the sidebar. Could also segue into paid sponsorship and support.
Insofar as GitHub provides package management, they could also prompt companies to endorse the packages they use.
All of this might get annoying, nasty, or inauthentic, of course. Would need to be careful...
IMO since GH tends to be somewhat aware of how people piggyback their platform, a README gratitude badge might be a good place to start. It can be as simple as a button click plus an optional prompt to add commentary. In fact, I might make this a smol project to see if it gets some traction.
After all, Github is more like a Social Coding Platform.
Indeed! It must equally feel inappropriate to close a gratitude issue.
Concretely, you answered your own question. The "star" button is the default way of saying "thanks" to a project which was useful to you.
> is it really considered so unusual for a someone to express gratitude to an open-source project?
I would say yes, it's very unusual. The general lack of basic civility is, in my opinion, just one more reason for the lack of diversity in projects and lowers the number of contributors to open source.
Not exactly, as star numbers are made public, meaning it's also a form of public approval.
In the olden times, we all just used email all the time for everything. It would've been bizarre for someone to work in open source and not have their email publically available. The funny thing is, I haven't shared my email on my GitHub either! I'm going to fix that today.
Managing OSS stuff really is brutal, and the amount of negative stuff you hear is hugely disproportionate to the amount of positive stuff. Anything to encourage the happy users to speak up once in a while can go a long way toward preventing OSS maintainers from burning out.
AFAIK It's frowned on to say thank you in issues but it also sucks to have projects with 100s or 1000s of stars/forks and not a single thank you what so ever.
Medium has the "claps" but I think it would be even nicer when you clicked it it prompted for a comment.
>Discussions is the space for your community to have conversations, ask questions and post answers without opening issues.
The comment began with, "I just wanted to say thanks for the wonderful software." It made my day! The GitHub user interface should encourage this as a feature.
> Did restic help you today? Did it make you happy in any way?
I think it's a really good idea to provide thanks and gratitude like this because I know its very validating and motivational for someone to reach out and just say thanks.
This should be especially true for more niche projects that gather less recognition but you can still find very useful.
It feels kind of childish but honestly, I just need some kind words every so often to let me know my work matters and is noticed.
This reminded me of an interesting year-ago SATA (Star And Thank Author) license:
This is also tracked as an open issue:
I know there are third party tools that let projects cook tip functionality into their projects.
With how difficult it is to find time to write open source software alone, time put towards setting that up winds up feeling like me prioritizing thirsting for tips and donations over finishing whatever the original goal of the project was. I know for a fact I'm not the only one who feels that way.
I try my part to give kudos, where possible. Most of my kudos are around getting questions answered and problems solved, in venues like SO.
I tend to avoid using dependencies. When I do use them, I often try to share use cases, and spread the word.
The obverse, is that, when I find something to be unsuitable, or bad (in a totally subjective way), I generally don't bitch about it. I just leave it alone, and look for something else.
I am very hard on myself; but it isn't helpful for me to apply that to others.
For example: https://github.com/microsoft/terminal/issues/327
Any and all feedback is welcome :)
* Verify your GitHub identity
* Know which resources you can access
* Act on your behalf
What does the last one mean, and why is it needed?
Edit: see https://docs.github.com/en/free-pro-team@latest/developers/a...
Github page is here  for those who need to remap an arbitrary list of human genome coordinates and don't want to bother with the UCSC tool.
Also companies send you chocolates/swag (but not money) pretty often which is cool.
That said it is still very nice. I opened at least 10 such issues myself because they cost me nothing but a few seconds.
It’s also a big contrast to the toxic micro celebritism culture we often have.
To all the people out there working on code that we all use and build on top off thank you!
For projects that have gitter/slack/chat, I've jumped in and said thanks. I've also considered sending thanks through the email addresses provided in package control (although it seems a bit weird emailing strangers, especially when you're not explicitly seeking a response). Starring a repo is also an (admittedly small) way to show thanks. What are some other ways to reach out?
Not sure if it actually works, but I think it might prime people into a more positive mindset.
On a similar note I loved that emails from Readmill came from email@example.com as a contrast to the usual user hostile noreply addresses most companies use.
I guess I’ll chime in and say - as an OSS maintainer, please flood my inbox with messages like this. It really makes my day!
One thing I also love to do, is talk people up outside of their presence. It takes nothing to mention how someone may have helped you and it's a great excuse to just spread positive energy.
Obviously it does not help much but I think this is a nice gesture and I wish more people did this.
with all the recent negativity on github, where people will get in the nasty arguments about code their ultimately getting for free, this was something very refreshing to read.
I have no actual data but I swear people used to be more open with their thanks before everything was boiled down to one-click feedback (likes)
Most of the time they appreciate it and it's pretty easy to do.
People who said thank you: 5
I think that we (I include myself) are so wrapped up in our own struggles that we often fail to do the simplest things. Yes, one can't live on "thanks" alone, but we should offer gratitude more often.
As someone who occasionally gets thanked for my writing, it is great to know that some of my shouting into the void has actually helped a person.
It even helps the thanker: https://time.com/5026174/health-benefits-of-gratitude/
Not to mention that to an outsider the actual post in itself does not appear to be anything remarkable in any way. Who is vito botta, who is compumike? Why are they so special? Are they special?
To much info to consume in this day an age...