The Problem Of Governance (or lack thereof)
Date: Sun, 21 Jan 2024 19:06:04 UTC
I am starting a new thread because "The Case for Rust" is already too big, and the questions I am about to ask here are not about Rust. This is going to be a bit philosophical and I think more important than any concrete I have *intentionally* added CORE team to the address list. Our official website says > Core Team constitutes the project’s "Board of Directors", responsible for deciding the project’s overall goals and direction as well as managing specific areas of the FreeBSD project landscape. [1] or here [2] > The FreeBSD Core Team is the governing body of FreeBSD. The "Case for Rust" ml thread has re-surfaced a lot of *very important* questions that do require a governing body to actually do its work - to govern, to produce decisions. This is hard and someone has to take the responsibility. The question whether to add Rust to src immediately begs more questions: - Why Rust? - Why now? - Do we even need more languages in base? - What is wrong with current languages available? - Does it mean we are going add the next hype tech to the base too? Any answer given to these questions immediately brings a new set of questions: - What is the framework (set of principles) we used to answer these questions? - Do we even have such a framework? Or will tomorrow we change our mind because different mood strikes? At the *core* (pun intended) there are fundamental questions that must be answered. Every living being (a human or a society) needs a vision of the future to live and make progress. Remove the coherent vision of future and the direction of growth becomes Brownian motion [3]. Deny the possibility of the future at all and any living being dies (that is why animals in the zoo tend to live shorter despite living with everything provided) Does FreeBSD has a vision of the future? It is not enough to say what we are doing, it is also necessary to say how we are doing it and why we doing it. Because we have no solid answers to these questions explaining that FreeBSD is not a linux distro to an outside observer becomes challenging. What really differentiates us from Linux? The license sticker? in-tree ZFS? Stagnation-borderline conservatism? These are pretty shallow answers, we need to do better. Remember any light-bulb epiphany moment you had. Suddenly you get this idea and you are full of energy to go try it out. This happens when we have crystalized an idea - a vision of the future. Coherent vision of the future gives energy to go make that future a reality. Absolutely the same thing happens with communities - you get solid vision of the future and new contributors come. FreeBSD has a problem with attracting new contributors because we don't have a solid vision of the future. All of us use FreeBSD for our reasons, but are those the same reasons for everyone? Collectively we don't have a common vision. That is why becoming a src contributor is such a difficult process. "Just find something you like to work on and do it" is not enough. Will my work be needed? Who needs it? What is the point of all this? Linux already has it, does it meant we also need to have it? A thread in the mailing list has no resolution or consensus, and it is never "over". We need better mechanisms for policy making. Lucky for us we have the core team which is a governing body. So I want to ask the core team these questions: - What is the technical direction of the FreeBSD project? Where do we go? Why do we go there? - What is the policy on programming languages in base? Sub questions: - Are we adding every trending tech? - Do were ever remove it when better tech is available? - How many languages is too many? DO we have an upper limit on language count? - What problems exist today that existing languages can't solve? Is it a skill issue of a given individual (This is not a dig at Alan) or is this a mass effect that allows us to admit that certain tech is not good enough? I am a full-time FreeBSD user (both desktop and servers) since 2017. To me, and to many other community members as I am sure Core does not really exist. Can I see what core is doing? Can I hear what core is saying? I'm afraid the answers are negative. It would be great if we can hear from Core on such important matters ever now and then. FreeBSD is by-and-large is a community of oldfarts (me including) who decided to hide from the future in this cozy little project that moves slowly and does not ask existential questions very often. But we can't hide from the future forever. Without new contributors the project will go into oblivion sooner then we can imagine. We need solid answers on question: - Who are we? - What do we do? - Why we do it? - How we do it? FreeBSD as a collective group has identity problem because we can't answer these questions. I propose to conduct a poll on these 4 questions just to see how incoherent the answers will be. FreeBSD as a technical project and a community needs technical governance to set the identity and direction. I can't think of a better time for the Core Team to step up lead. [1] https://www.freebsd.org/administration/#t-core [2] https://www.freebsd.org/status/report-2023-01-2023-03/core/ [3] https://en.wikipedia.org/wiki/Brownian_motion -- Ihor Antonov