> I fear that the internal knowledge of Guile get lost at some point. I > don't like bringing this up, but is there consideration for the bus > factor? Knowledges need to be transmitted or are doomed to be lost.
ideally, programs should be written in a way that approachability is also considered, and then this is much less of a risk. it's a long discussion what that entails in practice, and i'm not planning to get into that here. but it takes effort, and a certain empathic mindset, to be a team player. to consider the costs of your decisions that will be borne by others, both the general hypothetical colleague, who will in the future attempt to work on the codebase, and also the actual individuals sending actual contributions. and this is very much related to attracting contributors/co-maintainers in a project where they are your peers (i.e. not your subordinates): if i don't feel welcome, then i'll spend my attention (my ultimately scarce resource) somewhere else. e.g. if my patches are ignored, or they are straight out bitrotten because the maintainer actively choses to massage the codebase instead of engaging in a dialog and giving *some* feedback why the contribution is not straight out applied. so, if i do my part as a newcomer, i.e. i show up offering value as a stranger, to serve as an introduction to gather some credit in the project, and then i'm ignored... that sends a message. and rational actors won't waste their time to offer value if it is ignored. and i guess we don't need to discuss what happens when the environment is not welcoming to rational actors... and no amount of warm and fuzzy discussion can compensate for this most important aspect when it comes to a cooperation of engineers. everything else is secondary to this, including the code of conduct, or how we strive to be the most welcoming project on earth, or how we use the bestest algorithm to reach consensus, or how religiously we follow the gnu fundamentalist guidebook, or how great our docs are, etc. sometimes decisions need to be made and clearly communicated by an actively present leadership pursuing their own vision to attract contributors with the right spirit (and repell wrong ones) so that the a team can then struggle together for a common goal. high SNR communication channels must be kept up, sometimes invite-only. it's of course understandable if/when people are overburdened -- we've all been there --, but that doesn't change one bit the consequences of not having a responsive/responsible leadership. and if the codebase is too big, then responsibilities (aka freedom) must be delegated, and tools and project structure must help clearly delineate these responsibilities to facilitate the division of labor. e.g. there's no reason for a core guix developer to even see the emails discussing the details of upgrading the python packages. and re leadership: i've been around for years, and i'm still confused about who is responsible for what, who are the respected authorities about what topics/subsystems, and who are just an unjustifiably loud voice of hot air. it's fuzzy and confusing with often contradictory communication. it of course could all be due to me, or just simply incompatible mindsets, so take this all with a pinch of salt. but whatever you think about this above affects all your actions, that in turn will affect what kind of contributors you'll see coming around. (and most importantly, you won't see the contributors that end up *not* sticking around) > > But we shouldn’t put more responsibility on those that already are doing > > more than their best: the Guile developers. I think this should be > > bootstrapped one way or another, so we can help them relief some of the > > weight they are struggling to lift. > > > I think that the community is responsible for that. someone is responsible only to the extent they have power to influence the outcomes. it sounds nice that we all are responsible as a community, but it ignores the fact that some people have the commit bit and access to the project infrastructure, while others don't... which is of course fine! and it couldn't work any other way! but it's a mistake to lose sight of this. </rant> -- • attila lendvai • PGP: 963F 5D5F 45C7 DFCD 0A39 -- “With reasonable men, I will reason; with humane men I will plead; but to tyrants I will give no quarter.” — William Lloyd Garrison (1805–1879)