Hello Justus, open source projects evolve and function in very different ways from more structured enterprises. They are often described as do-ocracies: the control is in the hands of those that step up to do things that go in what is perceived to be the direction of the project as a whole. There should be no need to assign official roles for people to do some work as there should not be expectations on what should be the time commitment of anyone involved, Martin included.
Beancount is not in a stage in which there are too many contributions and the bottleneck is the organization of the contributions, but it is a successful project that works well enough for mot people (as recent messages on this mailing list express). On 05/07/2020 00:48, Justus Pendleton wrote: > * Have a "bugmaster". This is a community member who isn't even > necessarily that acquainted with the code base (perhaps not even > technical at all) but they are engaged with the project and can help > reply to new bug reports quickly and triage them. Close duplicates, ask > for more information & reproduction steps quickly (i.e. while the > reporter is still paying attention), and help bring important issues to > the attention of Martin & other people doing development. Stefano already commented on this and I completely share is doubts on the effectiveness of this. In addition to that I would like to point out that as far as I can tell there are no bugs affecting existing functionality in the bug tracker, but only requests for extended functionality. It is very easy to quickly described what is perceived as a desired feature in a ticket in the bug tracker (or as a few lines patch), however it is not as easy to understand all implications and evaluate the feature in the context of the vision for the project. If someone feels to have a sufficient understanding of the project and of the direction in which it is aimed, nothing prevents they to comment on specific issue or pull request. I do so when I bump something I find interesting (either because it affect my use of Beancount or because I find the problem stimulating). > * Have "code reviewers" who do not (yet) have commit rights. Looking > over new PRs, pointing out better ways to utilize the APIs, or even > collaborating on adding tests. The idea is to reduce the amount of > effort Martin has to do to accept PRs and provide a stepping stone for > contributors to full-write contributions trust levels. We are not swamped into PRs. At the moment there are only three open PRs with important changes to the codebase and they have been open by less than a week (I am the author of all of them). If anyone (especially someone with a deeper knowledge of Flex/Bison than me) wants to comment on them they are welcome, but I don't see PRs review as being the factor that hinders Beancount development. > * Make providing tests a "two-stage commit". As Martin rightly notes, > providing tests is important in any long-lived project. But it also > works against the "first time contributor rush" of having a PR accepted. > Are there way we can convert more of those contributors and get them > more engaged? Can we accept the original PR but track that tests need to > be added, either by the original contributor in a subsequent PR or by > another contributor. Of course, this runs the that "core contributors" > do nothing but writes tests for other people. I said my thoughts were > only half-baked! Please, no. How is someone expected to evaluate the quality and correctness of a change if there are no tests? Who is going to write the tests for the added functionality? Writing tests requires precise understand if the functionality so it is much easier for the original author to write them. Also, writing tests is not the most fun part of development, I definitely would not spend my free time doing it for features I have not contributed. I actually would go the other way around and require that PRs come also with documentation updates or additions. However this is harder to track with the source of the documentation being in Google Docs. Beancount is a mature project and I don't see the reason to encourage pass-by submission of half backed PRs. This would only increase the burden on the maintainer(s). > * Martin mentions "monthly team meetings" which I think is a good idea > -- it provides a synchronization point for things like the bugmaster or > the code reviewer to agitate for action on something that seems to have > been stalled. Though I'm less sure about the exact style & format. > Monthly versus quarterly? Zoom video style versus Discord text style? I > think we'd have to see some proposed agendas of what such a team meeting > might be about to say much more. I agree with Stefano here: sprint like meetings (to use the jargon of the Zope community, or hackatons if you prefer) are probably effective in pushing development forward. Other formats may help but it depends on many factors. Face-to-face (virtual or physical) meetings are important to put faces behind messages on the mailing list (or Github tickets or PRs). Because of the human nature, this allows for more effective communication subsequently, but I don't know if a regular meeting with many individuals involved would provide much benefit. Finally, please no proprietary platforms. We are developing a free software project and the tools required for participating should ideally also be free. I don't see the reason to use Zoom or Discord when so many free (as in free speech) exist. Cheers, Dan -- You received this message because you are subscribed to the Google Groups "Beancount" group. To unsubscribe from this group and stop receiving emails from it, send an email to beancount+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/92a4e3d7-642b-b071-36a7-fd05b292db6f%40grinta.net.