Hi all,
[long message ahead, apologies in advance]
Bokeh has recently seen a dramatic increase in interest from many new and existing users (I think the mailing list traffic hit a new 2x high last month!) This is a *great* situation, but it does also present some challenges. However, one of my core beliefs is that the true value of FOSS lies not in the mere fact that it is free, but in the fact that it affords users the opportunity to *participate* and directly influence the project.
So, the GitHub issue tracker (Issues · bokeh/bokeh · GitHub) is just now about to hit 700 open issues. Most issues need some combination of: investigation, development, testing, review, documentation. With an extremely rough estimate of "one day per issue", the issue tracker represents something like two person-years of work. (My previous life was in physics so I am good at making bad approximations!) To be able to effectively tackle issues and features in a timely manner, I believe it is imperative to encourage more community involvement, and in particular encourage new team members to join the effort.
We need help: testing, documenting, increasing automation, engaging the mailing list and SO, triaging the issue tracker, bug fixing, new feature developing...
So the question is: what can we do to encourage / make it easier for new contributors to get involved in these areas?
Some simple things I'm proposing to enact very soon:
* automated publishing of weekly core team meeting minutes (just need to make it easy and painless)
* moving team and user "chat" to public Slack channels, and promote them heavily (they already exist but are largely unutilized)
* establish clear governance policies around core team membership, etc. (new BEP 6 opened: BEP 6: Bokeh Project Governance · Issue #3828 · bokeh/bokeh · GitHub)
* moving the release "testing matrices" to a publicly viewable place
I think these are fairly straightforward ways to increase both visibility and transparency into the project. However I'd appreciate any comments or feedback.
Here are some other "more involved" ideas that I had, again feedback is incredibly appreciated:
* Holding a "Bokeh Architecture Overview" Webinar or Q&A
This would be to talk about and introduce the design and architecture of the library,
specifically geared towards individuals who might want to get involved in more active
development and testing
* Establishing a signup for "Release Testing Volunteers"
Covering the release test matrices is a big problem for us now. Our best-tested releases
maybe get 75% done. This is because
(examples + docs) * browsers * platforms * python versions == "A REALLY BIG MATRIX"
Even with some semi-automation, there's only so many of us and so much time. We can't get it
all done by ourselves. This list would just make it easy for us to contact potential volunteers
for helping with release testing coverage more easily.
* Work with NumFocus to establish a "NumFocus Mentored Project"
We aren't quite ready for "NumFocus Sponsored" status (we need more developers from more
organizations, e.g.) but some people have suggested a new "first stage" that is a path to
NumFocus sponsorship. It would allow NumFocus to help promote and grow a project community,
before jumping full-on into the more stringent fiduciary arrangements of sponsorship.
Finally (thank you for reading this much!!) a few questions that would be extremely valuable to have answered:
* What are other ideas/suggestions for increasing engagement?
* If you have been interested or wanted to get more involved, what obstacles prevented you?
* Would you be interested in volunteering to help with release testing?
Thanks as always,
Bryan