Moment().endOf(‘term’)
medium.com
medium.com
I am actually old enough to remember getting Programmer's Paradise magazine that would have listings for all sorts of VBX/OCX controls from a whole host of large and small vendors that developers could buy to help them accomplish a programming goal.
Now, a single developer or small team can create a small app or website in which free/open source libraries are doing all the heavy lifting in terms of complexity and capture millions(or billions) of dollars in value with the original creators getting nothing.
The main reason for an individual creating open source libraries is due to either idealism/altruism or else to increase their reputation so a company will hire them. My guess is that the altruistic individuals are the ones getting burned out because the users of their code, instead of appreciating their altruism, make them feel guilty and inadequate. Open source will have to solve this issue in order to be sustainable.
I do think there's work to do around both mentally prepping someone for being a maintainer and setting expectations around what one can count on for free, but I don't see this as being peculiar to open source. Ongoing support for independent apps and components can also outweigh the profit, without the ethical freedom to just walk away from a customer if you don't feel like helping them. And don't get me started about working in a typical day job. Everyone wants as much as you're willing to give them, and metering that is a key skill.
If you have used moment.js in a project then please consider contacting the author with a note of appreciation. This won't solve everything, and won't change the world, but will hopefully alleviate the depression and anxiety of someone who has made your lives easier.
Unfortunately, one can make far more money selling SaaS then to adhere to the definition and spirit of libre and open source software.
I want to have my cake and eat it too, but I can't.
Or neither. I create open source libraries because I love to code and because I love to share what I built with as many folks as I can. Idealism, altruism or concern of my reputation is not required. (I can't help but think that the subtext of those terms is "people who do open source in their free time are naive," but that would not be a charitable interpretation. Still, that's the impression I'm getting from your comment.)
Sounds like altruism to me.
I do suspect "what the hell, may as well push it to github" probably starts more open-source projects than any other thought.
I don't think to myself, "I can't wait to get home from work and selflessly help others!" I think to myself, "I can't wait to get home from work and crack open that really interesting problem that I've only been able to give a third of my brain to today." If the fruits of the latter result in someone else saying it's altruistic---that's cool. But don't try to tell me I'm doing it because it's altruistic. I'm not. (Being called altruistic is kind of funny. It's either a wonderful compliment or a condescending snub of youth/naivete. In my experience, anyway.)
FWIW, I suspect we're on the same page. I'm just trying to clarify the point I was trying to make to the original parent, because I think that's getting lost.
Please consider the parent I responded to. It was citing motivation. My motivation is passion for the craft; not impersonal sacrifice for the greater good (even if you observe it that way, that's not what motivates me to participate in open source).
While Mr. Wood might have other things preventing him from being happy and carrying the torch forward, I sincerely hope he reads this and realizes that he has made a net-positive impact. Thanks again.
What you learn after dealing with timezones is that you put away your code.
You don't try and write anything to deal with this.
You look at the people who have been there before you.
You go to them, and you thank them *very much*, for making this open source.
And you give them credit. And you take their code, and put it in your program.
And you never look at it again, because there lies *madness*.
Thank you so much for giving us Moment. Your suffering has not been in vain. <3Moment.js played an enormous role in getting through that period of my life with my sanity (mostly) intact.
Thank you, Mr. Wood.
I think he fell victim to being too nice and accommodating. I remember 'follow'-ing the Moment issue tracker on github at a time when I followed a few other high-profile libraries, like pdf.js, requests, redis, Joda-Time... and Moment.js's issue tracker was flooded with an extreme volume of issues that made it difficult for me, a much-removed, half-interested third-party, to continue using Github.
Many of these were bug reports, but even more of them were feature requests and usage questions, and I am frankly surprised that Tim served as maintainer for as long as he did, given the cognitive load.
It's easy to be wise in hindsight, but I truly believe that more aggressive moderation by a dedicated team, and more efforts to intentionally limit scope would have benefited Moment.js and its community.
Holy crap, yes. That's absolutely the reason I turned Mjolnir into a DIY WM and constantly encourage people to move to the popular fork Hammerspoon.
I'm so glad nobody uses any software I write, for this exact reason. Honestly, I can't handle being an open source maintainer.
That's why I make sure that when I do write open source software (like 'choose'), it's so tiny that I can prove that it's feature complete and bug-free just by skimming the source in an afternoon. Well, that and dogfooding.
> As another part of taking care of my mental health, I will be officially stepping down from all moment[.js] responsibilities.
Great plan.
> With the help of my wife, Sheli, I have started taking medication, which has helped tremendously.
Wait, what? It got that bad? Man, sorry to hear. Hope things get better.
This will sound unsympathetic, and I apologize for that, but I am genuinely puzzled.
Why would you "burn out" doing something that is presumably wholly voluntary?
In other words, why not quit or scale back involvement much sooner, before the downside(s) become so severe?
I'm not trying to criticize Tim Wood, I feel for him. And I LOVE moment.js! I'm very grateful for it and all the efforts that went, and goes, into it.
Because as the creator the project itself is wrapped up in your identity, something you made. One feels entwined with it's fate, no less than a founder of a startup does, and the more popular the more issues, noise, pull requests, etc.
It's easy to feel stand back a lot later and recognise that you are overwhelmed by it all, drowning. But even a successful project builds slow enough that one adapts to it all and don't notice.
It's a classic boiling frog problem and the project creator and core maintainer is the frog.
So it's easy for people to not even know that they need help, or to deny to themselves that something is wrong that needs help (or worse to be actively stigmatized away from finding help).
There are a lot more "It's ok, you'll come out of that funk in no time" and "Just push through the pain, it's no big deal" conversations, than there are "You know it's ok to talk to a professional about this stuff, everyone does it" and "Having depression is like having a broken leg. Not seeking help is the crazy choice." conversations.
That's an interesting way to put it. I've always seen depression as more like a respiratory disease. It might just be a cold, so you should wait a week or two before going to the doctor, but if you get worse instead of better, you need to go get some help.
I suffered from serious depression until my mid-twenties. It made it difficult to function, yet the people around me couldn't understand or relate. I can't tell you how many times I was accused of "just being lazy". My mother once said to me, "I know you're not faking because no one would deliberately be this miserable." You absolutely have to treat this "like a broken leg" because it is a real illness that won't just go away on its own. I did that and eventually found help that worked for me. Except for one nightmare-ish three day recurrence (I was so scared) I've never suffered from it again.
Since then, I have had normal depression once or twice. This is what people meant when I tried to tell them about my sickness before and they would say, "Everyone feels depressed from time to time." (Oh how that sucked.)
Now I get it. Everyone does feels depressed from time to time, due to reasons. Something bad happens, or some condition is deeply unsatisfying in your life and you feel bad. That's totally normal and part of navigating life. (To me, having dealt with the monster for so many years, normal depression is almost cute. Even though it still sucks. It's the difference between a scratch and a tooth-ache.)
----
edit: I just realized that this is why I couldn't understand Wood's actions. Given my history I wouldn't let anything send me back to the pit. Not even my most cherished project.
Thanks folks who responded. Warm regards.
Personally, I think mental illness awareness should be taught more like emergency response first aid or stroke recognition: don't teach it to the mentally ill person, teach proper intervention to the people who are more likely to notice it and do something.
The one mental disorder we actually do this with pretty well is ADHD, where family, friends and especially teachers and employers will generally notice before the person suffering it does. But then we use the fact that laypeople see it first as anecdotal "evidence" that it's not real, ignoring that you're a layperson too when you bring yourself to the doctor.
It's a tough situation all around. I look forward to the day when mental illness is better understood and proper identification and care is better communicated.
https://cloudup.com/cg2K9ikg_Av
I literally get emails every day for issues and my projects are much smaller than the amazing moment.js. If you're not equipped mentally and emotionally to deal with the literally endless barrage of issues it gets pretty easy to feel overwhelmed.
edit: updated to use proper characters for italics
To be more explicit using a personal example -- as a very small time OSS maintainer, I've had many people email asking me how to do something with my project. I put it out there, I would like to help them, but every bit of time I give them is time I'm not putting elsewhere. If I decline to help them it's natural to feel bad about it, especially when some people are less than polite about things. For larger projects you add in the responsibility you feel to contributors -- someone has written a PR and would like you to merge it. Often that involves quite a lot of time. Users file issues against you, or try to make your software work in environments it's not designed for, or just don't understand how it works. Very rarely does this lead to income -- in my case I wrote software as part of my job that I was able to open source. Great! But without prioritization from the company, it falls on me to manage these things, even if that's no longer my job or if I move on from the company. And my case is a good one -- many OSS maintainers will never see a dime for their work.
In my experience, burnout (and depression) is not something you realize you have until you are already deep in it. You may see symptoms of it, but it is easy to dismiss them as something else and completely miss the fact that you are burned out.
Hope that helps you to understand and be more sympathetic.
If a project is the majority of your identity, then it's hard to just "scale back" when you know their are issues that "nobody else would fix right" or "will make me look bad because it's my ultimate responsibility." Of course, the right thing to do is step away, recover, reflect, and come back, but it's easier said than done for some.
Point me to a charity of your choice and I'll make a donation.
Devs are accustomed to using Software libraries for free whilst still being expected to pay for hosting OSS software which are the areas where AWS, Microsoft and Google invest heavily, but smaller companies without the brand, infrastructure or scale have a chance to break-in. They're effectively selling shovels and pickaxes during the OSS/Cloud Gold Rush and ultimately are the ones who stand to benefit most from OSS.
This trend is going to get worse over time as they can use their profits to develop their own OSS software projects with well-funded teams that money can buy which they can offer for OSS/free in order to maximize adoption and exposure as they have the business model and economies of scale to eventually profit from it when companies go to host it.
Eventually commercially-funded OSS will cannibalize popular Indie OSS projects who wont be able to compete with a team of dedicated full-time engineers who are not at risk of suffering the same burnout as they have more resources and are developing it as part of their day-to-day giving them the spare capacity to produce docs, polish and marketing materials and can offer maintenance/support that's often lacking in OSS projects.
TL;DR future is grim as an Indie OSS Software developer.
I have gotten tremendous utility out of Moment and glad to hear that the creator and the project have a amicable path forward. Burnout is no joke, and it is hard to fight in the face of such a successful project when we judge our own worth on the quality of our work.
Let's say that sometimes money could solve problems ( even with mental health and chronic condition of a family member ). Does this mean that if "moment.js" was a some sort of a huge money income we would've seen the author maintain his role?
Funding would go a long way towards making open source better. It doesn't solve everything, but it actually would make a huge difference.
As other commenters have stated, let us know where we can donate, to yourself or to charity. Best of luck.
I really enjoy programming and I always hoped one day to become experienced enough to start some important project that many people will find useful. But sometimes posts like that terrify me.
Thanks so much and good luck in your future!
Thank you for creating Moment.js.
There are two libraries that I always start any project with - one being lodash. The other is Moment.
The shifting nature of JavaScript has meant i've recently dropped it in favour of something more modular, but that shouldn't diminish the value I gained from it.