I've replied to this further down. Exercism is a nonprofit - we have no shareholders. We've had many large organisations donate to us (including Mozilla and Google) who have vetted all this.
Hello. Blog post author and Exercism co-founder here.
Thanks for all the comments, especially those kind supportive ones. I've replied to a few, but I thought it would making a couple of general points for context.
1. I feel something that's missed is that if Exercism just continues to help tens of thousands of people per month and has no-one working full-time on it in the future, that's not the end of the world. Our donations cover server costs (thank you, donors!) so there's not an existential threat. And our wonderful volunteers keep our content growing and up to date (we've added a dozen new languages already this year). For most of Exercism's existence, it has had no paid staff. Me and Erik having to become volunteers again is ok - it just means things will improve slower.
The blog post was written as an update to our community, and our community has been on this journey with me over the last few year. They've seen us go from zero money, to raising over $1M in donations and hiring people, to not having follow-up donations and having to let those people go. They have a lot of context that's maybe not seen by people new to the story. The post is sad, because Erik, who's well loved is leaving, and because the last couple of years haven't financially gone in the direction we'd have liked it to. But the post is not me complaining.
Exercism hasn't been financially successful during the last 18 months, but it's fulfilled the core part of its mission by helping hundreds of thousands of people. And it will continue to help people moving forward.
2. Our aim is to get people to learn a programming language and then to get on with their lives. It's actively not to monetise people. That's important, because it changes the model a little. We don't expect people to stick around month-after-month doing stuff (one person said that having 70k MAU is terrible - but you can also see it as totally expected - you sign up, learn, leave - that's the point). Which means having some recurring Premium offering doesn't massively work. Nearly all the people who donate are also contributors, power-learners (learning multiple languages), or people who feel aligned to a world where something like Exercism exists, and want to ensure it continues to do so.
So the only real end-user model is to charge an upfront fee for using Exercism, which actively goes against the mission and doesn't honour the commitment under which people have contributed.
3. To all the other monetisation ideas, thank you for them. I appreciate you all wanting to help. We've considered and experimented with lots of them over the years. We've not found one that fits well yet but maybe/hopefully that'll change in the future. I have areas I will continue to peruse and am hopeful about.
4. There are numerous threads on server costs, and while I appreciate the opinions there, saving some cost there wouldn't massively shift the needle. Our donations cover our server costs. Hiring good developers and other people costs a lot more money than the ~$3k/month we'd save. I'd also say that there's some general under-appreciation of the complexity of running student's code in 73 programming language sandboxes in real-time. Exercism is a lot more complex than a webserver/database model - we have over 400 GitHub repos. I'm certain some ops gurus would be able to do a better job at building a server infrastructure than I've done for less money, but the one I've built works with basically zero maintenance and not having to be on call 24/7/365 is something I need/value.
As I said in my blog post, I'm going to take a couple of weeks out now, and come back hopefully re-energised to keep building Exercism, and the new project alongside it, which hopefully will help keep Exercism funded. Thank you again for all the support, ideas and well-wishes.
---
Changelog:
- Added "For most of Exercism's existence..." to the end of that paragraph.
It takes people about a month to work through a language track, learn the language, and get on with their life. So I wouldn't expect to have more than 45k MAU. 70k MAU is because people LIKE the site and come back to learn another language.
We're not trying to be some business that sucks people into using our site every day and monetise them. We're aiming to teach people effectively and efficiently and then get them moving on with their lives.
We could make the site less efficient, or change it's purpose, but that's not the mission of the organisation.
We're paying ~$1k/month for all our webservers (which is a dozen ECS instances). They're handling about 3,000 requests per second (but that does sometimes massively spike to tens of thousands if not more).
We're paying ~$1k/month for all our tooling servers (so the 150 different test runners, representers, analyzers that are used to check peoples code. There's >=1 of those running every second). Bare in mind, we're running student's code in over 70 languages here. Each is a docker container (often many gb large) - so we pay for HDD too.
The biggest actual cost is the database at $2k/month. We have about 600 queries per second, and around 10MB per second (spiking to 47MB per second) of read throughput. It's an autoscaling database, but AWS determines that it's at the level it needs to be, and if I turn that down, performance suffers (I've tried).
Beyond that, all the other individual services are ~$300/m, so quite small amounts, but for things we rely on (e.g. caching servers, a shared filesystem amongst all those servers, and other things).
We're not really part of the "leetcode industry". People have used Exercism to learn new programming languages for a decade. We've deliberately not wanted to become a place of competition or a recruitment space. We've always focused on helping people learn based on their intrinsic motivations.
People tend to spend an intense few weeks learning a language, then disappear for a year. Then come back and learn another language. A large part of the 2M is still "alive" (I don't know exactly what number that would be, but I'd think around 600k) but Exercism isn't the sort of product you use day-in-day-out.
Thank you for being so kind and supportive. I really appreciate your comment.
I'm ok. I'm hopeful for the future. I believe there's lots of amazing stuff we can do and that Exercism has a great future. But right now it's in a hard, low place. The last few months have been pretty tough emotionally, but I think getting to this place is one of acceptance. The only direction now is up :)
Hello. This isn't actually correct. Exercism is a Company Limited by Guarantee. It has no shareholders. It can't pay dividends.
Community Interest Companies do have sharedholders and can pay dividends. CIC's are definitely not charities in the scope of the word that you're using it.