Hi, [Sorry, this post is going to be long and mostly boring] This is my review of the proposed Asset Stewardship. I'm not affiliated with the C++ Alliance or Boost Foundation, though I have great respect for both institutions. Background: I’ve been participating in Boost since 2004, as a library designer and maintainer with occasional patches to other libraries. Recently I joined the release team. Trying to elaborate an ordered review, I will loosely follow the scheme of C++ Alliance’s proposal, commenting both Alliance and Foundation’s statements related to that chapter. So, let’s start… ------------------ State of Boost ------------------ I also perceive that Boost’s vitality has declined, although mailing list posts might have declined in part because “high frequency” interactions moved to Slack and some technical bug discussions to Github issues. The mailing list remains the method for more formal interactions. It is true that many new libraries skip Boost now. Possible reasons: a) The technical level required to pass a review in Boost is very high b) Boost’s image in the community might not be that positive (we have our own haters) and it’s considered a mature, “oldish” project. c) Standard library and compiler compliance is much better in recent compilers and many libraries can avoid dependencies that previously were available only in Boost. d) The number of libraries is outstanding with higher than desirable dependencies IMHO (but this is improving). 160+ libraries create friction, a sense of “too big for my project”. e) There is a tendency to propose and accept libraries to the C++ standard without requiring a widespread and mature open source library as existing practice. This is somehow conditioned by WG21 procedures and release cycles (3 years) that I’m not sure how Boost could be adapted to and maybe that’s the reason the Boost Foundation has created the Beman Project. I agree that Boost could be improved with a fresher image including the new website, but also with better documentation tools (current Boostbook/Quicbook/Doxygen is lacking modern C++ support). I think both C++ Alliance and Boost Foundation agree on the need for newer image/tools (although they might differ in tools/assets we need to improve). In general, it is good to think how we can attract new talent to the project. Boost Foundation states that values like “transparency, consensus building, honoring governance process, volunteerism, and inclusivity” will be key to Boost’s success whereas C++Alliance’s proposal focuses on image, strategic vision, motivation, and resources with a developer-guided steering proposal. Regarding Foundation’s “inclusivity” focus, I agree the community should think about this. In the Boost tradition I think the best Boost can do is to base the participation on merit, non-discrimination and collaboration. We have an infinite number of classifications/identities that could be employed (gender, nationality, ethnicity, income, religion, age...) and the discussion based on those parameters (“I only believe in statistics that I doctored myself” comes to my mind) would be endless. I also prefer to set aside controversial issues like Codes of Conduct (who defines “hate”/”harassment”/” inappropriate”? who enforces it? etc.), because I don’t think will help increase participation in the project. I hope we agree that we should make easier to receive proposals from programmers with diverse backgrounds and judge the inclusion of the proposed library exclusively on technical merits. How to make the review process a bit less “frightening” or “challenging” so that all possible high level C++ programmers can have the opportunity to contribute is maybe one of the most interesting debates that we should have. ----------------------------------------------------- Boost Foundation vs C++ Alliance "negative points" discussion ----------------------------------------------------- Both in Alliance and Foundation’s proposal, some negative points are identified from the other part. I’d like to have some words on them: --- Boost.org domain / New website--- Although I personally don’t consider the domain the most critical asset of the project, (I know it’s an annoyance that a change would require re-subscribing to the ML and we would need to find-replace “boost.org” mentions in all source files and documentation) I understand it is something important for a lot of Boost stakeholders. Foundation has emphasized the recent “secret attempt to purchase the boost.org domain to the Beman state”. I certainly don’t approve any movement that could put Boost project assets outside the effective control of the project. Unfortunately this domain ownership problem is older than this last episode. According to Boost Foundation minutes (https://docs.google.com/document/d/1zMKUX3nfdcOXT6nUIU4M_YRlCU4ywGoG40ouo3IK... , “2023-04-06 Monthly Meeting”) there was a previous offer: “Discussed the C Plus Plus Alliance’s offer to take responsibility and ownership of BOOST.ORG in exchange for a donation. This offer was subsequently withdrawn”. I’m a bit puzzled that after that first attempt or when Boost domain registration problem happened the community was not informed that the Foundation was not the real owner of the domain. I believe the community would have understood the situation after Beman's passing. I feel the transparency-first claim of the Foundation was not applied in this case so I have to express it. The only positive thing about the recent events is that the community has been able to gain visibility into the situation of the said domain. Hopefully, in Alliance’s proposal the domain is hold by the sponsor on behalf of the project with a SC taking the important decisions with the possibility to transfer the domain to a new sponsor if needed. --- New website / Promotion --- One of my recent frustrations with the community process we have is how the website issue was managed. A new website was proposed, we had a discussion, requested the website to be under BSL, filled bugs, a lot of them were fixed, etc. and after hard work, we requested that boost.org should point to the new website. However, that never happened, so the new government scheme should allow that the decision of the developers is effective. Regarding boost project promotion, anyone can promote Boost, but it is my opinion that no one should speak on behalf of the project without consulting and obtaining approval from the community, represented in the proposed model by the SC. That representation will never be perfect, but IMHO is better if SC members are active and well known Boost developers that deal not only with coding, but also with users that post questions and fill bugs. --- Beman Project --- It gives me a bittersweet feeling. I think the project is useful, but it is presented as a project claimed to be “what Boost was and no longer is”. With no discussion or input from the Boost community, with unanswered questions, no explanations, no effort to collect ideas on how both projects could collaborate. An important opportunity to strengthen confidence between the Foundation and developers was lost. The fact that the recommended license for that project is not BSL it’s also disappointing. If BSL is not the best answer so that code can be freely reused, I would expect Boost Foundation to work on BSL improvements (as I consider BSL as one of the most important achievements of the Boost project). My disappointment is best summarized by Peter Dimov’s post (https://lists.boost.org/Archives/boost/2024/07/257080.php): "I think that the primary purpose of an entity named "the Boost Foundation" should be to support Boost, and if it currently isn't, something not quite right" In any case, it would be nice to discuss, even if no agreement is reached, how Boost and Beman could collaborate in the future. --------------------------------- Proposed Fiscal Sponsorship model --------------------------------- First of all, I must say that regardless of the chosen sponsor (Alliance, Foundation, Software Freedom Conservancy), I find the fiscal sponsorship model appealing. As Beman himself stated (https://lists.boost.org/boost-announce/2007/08/0141.php) when Boost became a member project of the Software Freedom Conservancy, it is a model that *allows developers to focus on what they do best* with very little cost: “The SFC provides the same legal abilities of a foundation at NO cost to the Boost project. It also minimizes the amount of legal and administrative hassles for project members -- allowing us to stay focused on technical matters rather than tax law” Disclaimer: My name is in the Current/Steering Committee (SC) of Alliance’s proposal. C++ Alliance asked for my permission to include my name, and precisely for the previously mentioned reason, I gave my consent. I’m happy that the current proposal addresses a major concern expressed by the Boost Foundation (https://lists.boost.org/Archives/boost/2024/07/257301.php). It is the risk of “a single individual exerting such a level of control over the Boost Libraries”. Precisely the SC + fiscal sponsor proposal addresses this concern, because it is not the C++ Alliance who will establish Boost’s direction but the SC. This is aligned with the “principle of subsidiarity” (issues should be dealt with at the most immediate or local level that is consistent with their resolution). In this case, I can’t imagine something more effective than a SC formed by active developers trying to build consensus and setting an example for the community. Alliance’s proposal is very similar to the SFC agreement that Beman signed (https://github.com/boostorg/more/blob/master/BoostSponsorshipAgreement.pdf) and worked fine for the project in the past. Considering that the Alliance is saying that the Boost project will have sufficient funding to maintain its infrastructure (which I imagine is in part the reason why the project started BoostCon) I would say that this would free SC’s precious time, members can mostly ignoring budget issues, so that the SC can focus on the technical/artistic side. ------------------------------------------ Composition of Current/Steering Committee ------------------------------------------ One of the complicated questions to have an agreement between “the project” and the sponsor is “¿Who represents the project?”. Regarding the original SFC agreement (https://github.com/boostorg/more/blob/master/BoostSponsorshipAgreement.pdf) Beman explicitly answered this question (https://lists.boost.org/boost-announce/2007/08/0141.php ): “I signed for Boost, since I was the founder and am the owner of the boost.org domain”. In Alliance’s proposal the “Current Committee” takes the challenge to sign the legal agreement “on behalf of the project known as Boost” and becomes the Steering Committee that will manage “the technical, artistic and philanthropic direction”. I’m honored to have been nominated as a representative and I have the greatest respect for Joaquín and René (with more than 20 years of dedication to Boost). However, I think that the Committee that will sign and “manage” on behalf of the project would be improved if Peter Dimov and Glen Fernandes want to join. Reasons: - They are key figures in the project. - Their independence and impartiality are beyond any doubt. - They are technically brilliant. - They have an enthusiastic dedication to the project. - They are members of the Boost Foundation: their experience in the Boost governance issues will be helpful in the future. Finally, if the proposal is accepted, the new Steering Committee will make mistakes but at least it should try to learn from past mistakes. Trying to impose project-wide decision is something that historically has not worked for Boost. --------------------- Conclusion --------------------- Q: What is your evaluation of the proposal? A: I think Alliance’s proposal is well thought, and they have listened community concerns so that the proposal puts focus on the developers, including the effective “ownership” of the assets by the SC, even offering legal way to change the fiscal sponsor in case of disagreements with the Alliance. Q: What is your evaluation of the documentation? A: I think the documentation is detailed, with a lot of links to useful background information, important annexes and a clear FAQ section. Q: What is your evaluation of the potential usefulness of the proposal? A: I believe that returning to a SFC-like governance structure will be useful for the community, and I hope, to be able to focus our energy again on technical matters. Q: How much effort did you put into your evaluation? A glance? A quick reading? In-depth study? A: Several hours of study of both Alliance and Foundation proposals, additional hours searching for complementary information in the mailing list archives and writing this review. Q: Are you knowledgeable about the problem domain? A: I’m not an expert on software project governance, but I have participated in the project long enough to have an informed opinion Q: Do you think the proposal should be accepted. A: Yes, I think C++ Alliance’s proposal should be accepted, with a few suggestions: - Enrich the SC with the addition of Glen Fernandes and Peter Dimov. - Encourage a reflection within the community on how to increase participation. - Reflect on how to collaborate with the Beman project Best, Ion