Pinging @emilypi, but posting publicly instead of in an email, since the whole point of this is transparency
The purpose of this post is to kick-start a conversation around improving transparency into the Haskell Foundation (HF). But more broadly, this turns into how to make Haskell-the-community writ large more approachable. Everyone seems to be on board with the general notion of “transparency.” But like any broad term, it’s easy to agree to something and mean different things. So to start this off, let’s get some concrete goals defined.
In my opinion, if we are successful, we will achieve the following:
- People will understand how decisions are made within the Haskell Foundation and related projects
- People will be able to easily discover, for a wide range of topics, where best to ask questions, raise concerns, offer assistance, etc
- Members of projects will know how to effectively broadcast information to others within the community but not intimately involved with projects
- Those members will also know when they should broadcast information for maximum impact
- People broadly interested in Haskell will have multiple, easy ways to stay up-to-date on important information
- Existing communities, such as Reddit, Twitter, and the mailing lists, are kept in the loop as well
I hope these are non-controversial, but if people have objections, please raise them! And to be clear, I don’t think this is an exhaustive list. I think this is a good starting point, since it balances high priority and relatively easy to achieve items. Others may have different views on what should be tackled first. If so, please raise them!
Now, some concrete comments on how I would achieve this:
- Treat the Haskell Foundation homepage as a central point of information access
- Host the source code for this site on Github, and provide clear instructions on how to submit PRs to modify content
- Provide a blog with RSS feed on this site, and make it possible for multiple people to submit posts. Make it clear what the criteria is for “a blog can go here”. Subscribe this blog on Planet Haskell. And post every blog post on HF’s Twitter account and the Haskell subreddit
- Provide a single page on the site delineating roles and responsibilities for core pieces of infrastructure. “Want to make a change to the transformers package? You’d talk to X group.” And include a section at the end of the page that clarifies “if anything wasn’t clear here, come to Discourse and ask.”
- Do some user testing, by asking Haskellers not associated with HF to review the new pages and provide feedback on what questions they are left with
I personally am not sure who has to sign off on this as a plan-of-action. I’m also not sure who has the ability to get many of these steps implemented. Let’s first figure out if this is a plan we want to follow through with, and then decide on how to achieve it.
I have further ideas in mind for what should happen next. I hesitate to mention these now just to avoid derailing short-term actions, and because these ideas are more subject to change. But I want to over-emphasize transparency, so I’ll mention some of them right now.
- Discourse is great as a primary communication mechanism, but I think many projects will need real-time text and video chat as well. HF should endorse a single tool for this. I have a lot of experience choosing bad tools for this in the past…
- I’ve already mentioned that I want to get Stack and Stackage more officially integrated with HF. In the case of Stackage, I will begin pursuing that, but I think it should come after website improvements so that we can make clear statements on the website itself.
- The Stack case is more complicated, and more interesting. While Stackage has a clear governance structure, Stack is much more the wild west. I want to use this opportunity with HF to define this. I’ve avoided doing so previously out of laziness, but now’s a great time to overcome some inertia.
I’ll stop here. One paradox of transparency is that overly transparent communication is actual verbose communication, and that serves to hide a message instead of exposing it. I may have already crossed that line here. Anyway, let’s get this kicked off!