Last November at the Haskell eXchange conference, Simon Peyton Jones announced the Haskell Foundation. This can be understood as many things: an organization dedicated to the hard work of making Haskell more successful and useful, a touchpoint for different parts of the Haskell community to come together and cooperate, and a focus knob to direct general support (financial and otherwise) for the Haskell community and maximize its impact.
I recently decided to become a major contributor to the Haskell Foundation, and I’m writing about the reasons behind my decision. I also hope to encourage others who can easily do so (and only those who can easily do so) to join me in pledging ongoing support for the organization as individuals with passion and love for Haskell and its community. In short, there’s a real opportunity here and we’re always stronger when we act together.
Reason 1: Haskell is worth it
I hope this goes without saying, but I will say it anyway. Haskell has, for many years now, been a source of great joy in my life. It has been a way to unwind, whether it’s solving Project Euler problems, throwing together a physics demo, or solving a math problem. It’s been with me when I just need to get away from the stresses of daily life. It has also been my life’s work. Though I’ve yet to be paid to write Haskell, my volunteer work in schools, teaching children with Haskell, has been my way to give back to the world and accomplish something meaningful with my life.
But more than that: it has been my community. The first time I attended a Haskell user group, I impulsively jumped on a plane from the U.S. to Cambridge, U.K. on a few days notice, for an event called AngloHaskell. There, I met so many phenomenal people — Simon Peyton-Jones, Neil Mitchell, Don Stewart, Simon Marlow, and more — all in one fantastic weekend! Since then, I’ve continued to be welcomed in this community at ICFP, BayHac, Compose, The New York Haskell User’s Group, Atlanta Functional Programming Meetup, and even helped run a couple Haskell events in Atlanta and New York. More importantly, the people I’ve met in this community are some of my closest friends. They’ve been with me through not just technical challenges, but also times of loneliness and struggle as well as times of celebration.
I know this is not just me. I’ve lost count of the stories I have heard from others about how our community welcomed them when they needed a friend, felt alienated and alone, doubted themselves, or felt like they couldn’t make it in the world. These are people I’ve mentored, and also people who have mentored me. They are close friends, and a few distant acquaintances. We’re all in this together. Not all of these people are able to contribute to Haskell financially, but they are here nevertheless, passing along that kind of support to others. I like to think I’m donating in their name, also.
Of course, there are lots of great technical arguments for Haskell. That’s why I got involved in the first place, and I wholeheartedly believe in them. At some point, though, I was surprised to discover that isn’t what matters. Haskell isn’t just a programming language. It’s the place where I belong.
Reason 2: Haskell faces big challenges
Now it’s time to remove those rose-colored glasses. As a community, we have challenges. We can be downright embarrassing. We can be frustrating, fractured, and lost.
As a small language community, we naturally have big gaps: documentation, compatibility, library maintenance, education materials, etc. Let’s face it: most mainstream programming languages operate with big support from big names in the tech industry, like Google, Facebook, Microsoft, Mozilla, Sun (R.I.P.), or Apple paying dozens or even hundreds of full-time core language and library contributors. Haskell operates on a fraction of that kind of support. Instead, we have a community of mostly volunteers, who care deeply about what they are doing but often don’t even use Haskell professionally themselves!
We have our share of communication problems. It wasn’t too long ago that the whole Haskell community felt on the verge of collapse, with separate and competing Haskell language websites set up to vie for some authority and image of official support for their own ideas of the right way to do things. But we are strong enough to overcome these challenges, to fix these divisions, and to be better for it. We are fortunate to have people of phenomenal character who we all admire and trust — especially Simon Peyton-Jones, our figurehead and inspiration. His kindness and even-tempered friendly spirit have healed many of these divisions when it seemed beyond all hope! Thanks, Simon. The rest of us are doing better these days, as well. But it’s going to take a sustained long-term effort.
The Haskell Foundation is well placed to meet these challenges head on. As an umbrella organization looking after the entire Haskell user experience, it’s set up to recognize the places where our individual projects need help, or fail to meet needs, and make sure users aren’t slipping through the cracks between different projects, visions, and personalities. With strong leadership across the whole community, it’s also perfectly suited and thoughtfully led to help resolve conflict, build consensus, and find ways forward in the midst of differences of opinion. This is a phenomenal resource for solving some of the great challenges facing our community.
Reason 3: Haskell needs a diverse community
Let’s talk about the Haskell community. One of the things that’s always set Haskell’s community apart is that it’s not a typical programming language community. Haskell has generally maintained strong representation from several very different groups:
- Academics who use Haskell as a testbed to try cutting-edge new ideas and build a better future for programming languages.
- Educators who use Haskell to teach big concepts about programming languages and practice.
- Professionals who use Haskell, cutting edge innovations and all, to solve so-called “real world” — that is, business — problems. (An unfortunate term, indeed, because of course all of Haskell’s users are part of the real world!)
- Individuals who enjoy how Haskell’s language design leads them on journeys of discovery and learning, helping shape and clarify their ideas and self-expression.
Early in Haskell’s life, the academic influence was strong, and it took a deliberate effort by the community to remain inclusive to others, including educators and professionals. Lately, the professional side has grown quite strong, and once again the community needs to evaluate where it stands. Both then and now, we’ve seen strong leadership proclaim that Haskell’s identity doesn’t lie in any one group, but in a great meeting of minds, sticking it out on the dirt road rather than taking the easy path and leaving part of the community behind.
The Haskell community can stand to make some progress, too, in diversity and inclusiveness. We still skew largely white, largely male, largely American and European. (As a white male American, of course, I’m part of that!) Nevertheless, being inclusive to many sources of enthusiasm and interests is a key part of being inclusive to many types of people. It’s difficult to consider diversity in the Haskell community without thinking about Tidal Cycles and other projects of personal passion and expression that flourish here.
This brings me to the final reason why I feel the need to personally support the Haskell Foundation. I’m offering this support because as happy as I am to see amazing corporate sponsorship for Haskell, I’m worried that this shouldn’t be the only financial support the Haskell Foundation receives.
Industry support is absolutely not the only contribution to Haskell! The contributions of the many academics who support GHC and other Haskell technology with their research and development are priceless. The contributions of passionate individuals who maintain key parts of Haskell’s tooling and ecosystem as enthusiasts are amazing. Nevertheless, I like to think that the Haskell Foundation can look to its own funding and see it also reflect their responsibility to the entire Haskell community, corporate and non-corporate alike.
This was a very emotional post for me. Not much like my usual blog posts, I know. But ultimately, I just needed to reach out and tell all of you Haskell programmers, that you are valuable to me. We have something worth keeping here. I’m going to do everything I can to help us keep it.
Feel the same? There’s a lot you can do to help!
- Financially, you can join me in making monthly donations to the Haskell community through the Haskell Foundation. There are other opportunities, as well, to support parts of the Haskell community through Patreon [1, 2, 3, 4], GitHub sponsorships [1, 2, 3, 4, 5, 6, 7, 8], Haskell.org donations, etc. But personally, I believe the power of the Haskell Foundation to shine a spotlight and focus visibility and resources on the most critical problems is extremely compelling.
- Technically, please just follow your heart. People acting out of their own passion and excitement are far more valuable than anyone going through the motions doing as they are told. Do cool stuff, and build the things you need to do it. There are a few guidelines that do wonders here. Maybe most of all: prefer to fix upstream rather than work around downstream.
- Socially, reach out to others with kindness, support, and shared enthusiasm. This really is the backbone of the Haskell community: we all love what we’re doing, believe in it, and will talk your ear off about it if you let us! Whether it’s on IRC, Reddit, mailing lists, Matrix, Discourse, a local interest group or gathering at work, etc.
Either way, no matter how you personally choose to give back to our community, I look fondly on the 15 years I’ve known you all, and look forward eagerly to the many years to come. Thank you all.