Boost Asset Stewardship Review from Andrey
[Warning! Long post ahead!] Hi, This is my review of Boost asset stewardship proposals from The Boost Foundation (the current governing organization) and The C++ Alliance. I. Are you knowledgeable about the problem domain? ================================================== Not particularly. Although I can probably consider myself an old-timer (I think, I joined the mailing list back in 2007; at least my archive dates back that far), I have never been privy to Boost infrastructure and management details. The only information I know is what was published on the mailing list (ML). I have also never managed a company or organization outside Boost. I am neither a lawyer nor financist, and English is not my native language, so I may misunderstand some of the information given in the proposals. Sorry if that's the case. However, as a Boost library maintainer and user, I am interested in the Boost project's bright future. Specifically, the future where I'd be willing to continue using and contributing to Boost. While this may sound selfish, my hope is that my contributions will also make Boost more useful to others. So, my review will be written mostly from a maintainer's and user's perspective rather than someone knowledgeable in the problem domain, which is primarily asset management and legal relations between organizations. I am not affiliated with The C++ Alliance or The Boost Foundation. II. The problem statement ========================= In order to evaluate the proposals, I will first state the problem, as I understand it. Then, I will see how each of the proposals addresses it. I will separate the problem description into three aspects: 1. Boost popularity decline. As stated in both proposal documents, Boost popularity has declined in recent years, based on metrics such as the number of posts in the ML, the number of submitted libraries or the number of git commits per year. The C++ Alliance proposal provides the relevant data in Appendix 2. My personal perspective is that *volunteer participation* in Boost is indeed reducing. Here, by volunteers I mean contributors that are not staffed by The C++ Alliance and contribute their work independently. It appears like Boost "went out of fashion" and going though a Boost review is too difficult and time consuming for newcomers, and so they are picking easier alternatives to publish their code and ideas and gain recognition. In doing so, new developers seem to be willing to trade the quality of their solutions for popularity and quick gains. I'm not entirely convinced that this lack of participation is caused by how modern our website looks or how often we post news items on social media. While these things do matter, I suspect the fundamental issue is that newer developers simply don't want to bother with the review process and responsibly maintaining code afterwards for various reasons. I find this tendency extremely sad and worrying, even more so since it is not unique to Boost. However, I do not think we can say that Boost *usage* is declining. From the data presented in The C++ Alliance proposal, it looks like the number of Boost downloads is growing, so much so we had to contract a CDN provider to serve them, as well as introduce GitHub downloads. Athough I imagine large portion of these downloads are automated (e.g. CI jobs), even that interpretation speaks in favor of a growing user base (more CI jobs probably means more projects are using Boost). I suppose, it should not be surprising that there are more users than contributors, but I still think it is worth pointing out that Boost popularity is not declining, as it may appear from some online forum comments. 2. Boost asset management. There were several instances of poor management of Boost assets, such as: - The boost.org domain, which was nearly lost to an auction. - The website. The current website is mostly unmaintained, and there is no (public) plan of modernizing it. The new proposed website is rejected by The Boost Foundation and remains "unofficial" at boost.io. - Social media accounts. The official @Boost_Libraries account on X is dormant, and the access to it is restricted from members of The C++ Alliance who have volunteered to maintain its activity. Which resulted in creation of a separate, "unofficial" @BoostLibraries account. - The wowbagger server that is running the current website and mailing lists is outdated and have seen hardware failures that resulted in data loss (as noted in The C++ Alliance proposal). The software stack on the server is also outdated and cannot be easily updated. - The Boost logo, for which, apparently, The Boost Foundation doesn't hold the appropriate license. The duplicate website and X account are especially bad for users, as it causes confusion as to which one is genuine and the true source of information. They are also very similarly named, so much so that one might question their legitimacy. I'd like to point out that the issues with Boost downloads, when we exceeded the free downloads quota, were largely solved with help of The C++ Alliance and The Boost Foundation (specifically, I believe, Sam Darwin and Glen Fernandes). This is an example when the two organizations (or perhaps, individuals thereof) have collaborated to solve the immediate problem. Many thanks to everyone involved. 3. Lack of communication with asset management body. I think, many of Boost community were unaware of the asset management issues listed above until recent discussions on the ML. I personally did not know about the issues with boost.org, data loss on wowbagger and licensing issues for the logo until recently. I believe, some of these issues could have been solved sooner if they were communicated on the ML by The Boost Foundation. Furthermore, even after the issues have become known, there were, depending on the specific asset, little to no communication from The Boost Foundation as to (a) whether the problem is real and (b) what is the proposed plan on addressing it. Basically, The Boost Foundation took a reactive stance in regards to The C++ Alliance actions that it (the Foundation) perceived as hostile. III. Evaluation of The Boost Foundation proposal ================================================ My overall impression of the proposal is that it lacks substance and in some ways is not aligned with Boost traditions. Following is my analysis of how the proposal tackles the stated problem. 1. Boost popularity decline. A significant portion of the proposal is titled "Our Community Values". I'd like to note that this seems to implicate that these values are those of the Boost project community rather than those of The Boost Foundation. This is further reinforced by the contents of the "What we propose" section, which stem from these stated values. I do not believe this implication is correct. In fact, I do not see these values listed anywhere on the www.boost.org website or the "Proposal for a C++ Library Repository Web Site" (https://www.boost.org/users/proposal.pdf). While some of the values listed in the proposal are aligned with the spirit of the Boost project, others are not. In particular, the "Inclusivity" section discusses representation of women in The C++ Alliance staff and the proposed Steering Committee. This is entirely irrelevant for the purpose of Boost asset management and looks like a cheap stab at the opponent. The document then goes on to propose to "make an active effort to get those historically underrepresented to participate". I think, this is an entirely wrong approach to the problem. Boost has never been about representation of women, or any other social category for that matter. The relevant portions of our guidelines are this: A guiding principal is to encourage wide participation and interaction. Get people involved, in newsgroups, mailing lists, as peer reviewers, library contributors and maintainers, and as moderators and webmasters. And, of course, as library users. (https://www.boost.org/users/proposal.pdf) Boost libraries are intended to be widely useful, and usable across a broad spectrum of applications. The Boost license encourages the use of Boost libraries for all users with minimal restrictions. [...] Boost welcomes and thrives on participation from a variety of individuals and organizations. (https://www.boost.org/) Notice that nowhere in these lines specific social groups are mentioned. I'd like to think this is intentional. The only criteria mentioned is talented people willing to contribute their time, ideas, code and effort to various areas of Boost, an open and widely useful collection of C++ libraries. Martians included. As soon as you substitute this criteria of technical merit with inclusivity/representation agenda, you are taking away from the technical quality of the community and bringing in unhealthy atmosphere of inequality. Ultimately, this harms the project as a whole. I find this unacceptable. Another related suggestion made in the proposal is introduction and enforcement of "a strong code of conduct". Also, "make an active effort to improve behavior on the mailing list". The proposal does not go into details as to what the "strong code of conduct" might look like, or in what way the behavior on the mailing list needs to be improved, but given the inclusivity agenda I have to make some uncomfortable assumptions. Specifically, that the suggested code of conduct is intended to promote the agenda and could potentially be used to prosecute those who disagree. I know I have commented on this topic earlier, but I feel compelled to make this part of my review. I find this sort of code of conduct, as well as using it as leverage on people unacceptable. I do not want to see Boost descending into curating people's opinions (let alone their behavior outside Boost), segregation, preferentialism and political infights. I think, our current discussion policy strikes a good balance between defining what's considered unacceptable behavior and leaving enough freedom to keep the discussions vibrant and productive. I don't remember a case when we needed something more strict, and I don't remember us needing to enforce it onto someone either. Lastly in this problem category is the suggestion to "consider adopting a modern communication platform, such as discourse". There was a discussion on this topic on the ML (unfortunately, threading was broken at the time, but you can search by "Replacing the ML with a forum" in the title), which showed a strong preference for ML in the community. I do not think switching to a web forum solution, especially one that does not support threading, would be in the best interest of the community. It may attract more new users, but it will also push away active developers. New users are not necessarily going to replace the maintainers who are going to leave. Personally, I'm not seeing myself switching to a web forum. If the suggestion is not to switch but to bring up a forum *in addition* to the ML, this is also not a good solution, IMO. If the two platforms are independent from each other, this will result in community fragmentation, which I would like to avoid. In particular, this would make review discussions problematic, assuming the review would happen both on forum and ML. I'm not against a forum interface per se, but I think it should integrate with the ML, so that people using both interfaces are able to communicate with each other transparently. Which is something similar to what The C++ Alliance is working on. 2. Boost asset management. I feel that this aspect of the stated problem is not addressed by the proposal nearly at all. Which is disappointing, since I was hoping that this aspect would receive the most attention of The Boost Foundation given the recent communications on the ML and direct requests from the community. The proposal mostly states that The Boost Foundation retains ownership of the assets and undergoes internal organizational changes so that each asset is associated with a given member of the Foundation. While personal responsibility and staff rotation are good, this doesn't really address the issues at hand. For example, what is the proposed resolution with the website? The logo? The wowbagger server? And so on. These questions remain unanswered. 3. Lack of communication with asset management body. Out of the three problem aspects, I got the most positive impression on this one from the proposal. I do like the idea of introducing key officers on the ML, as well as open board meetings. On the latter, I would like to amend so that online attendance should be possible, as not everyone lives near the location of the board headquarter, or wherever the meeting takes place. I would also like to see periodic reports on the ML (e.g. once a quarter) on what was done in the given period, what are the current problems, who is working on them, what was done and what is the plan going forward. I would like to see more active responses from The Boost Foundation on direct requests from the community. Perhaps, set up a public issue tracker so that people are able to report problems and track their progress. This might be as simple as a GitHub project with an issue tracker and a task list (https://docs.github.com/en/get-started/writing-on-github/working-with-advanc...). 4. Other thoughts. The proposal suggests "Complete the CMake migration". While I'm not opposed to continued work on CMake support, I do not think it is The Boost Foundation's role to declare tasks like this. It is a decision made by the Boost community, and the work is done by library maintainers. Same for "Consider putting the monolithic distribution in maintenance mode and require new libraries to be self contained". This is not a decision to be made by The Boost Foundation; it must be discussed on the ML first. To this end, I do not think requiring all new libraries to be self-contained (that is, not have any dependencies) is realistic or a worthy goal to pursuit anyway. IV. Evaluation of The C++ Alliance proposal =========================================== My overall impression is that The C++ Alliance proposal is more substantial and comprehensive, which I like. 1. Boost popularity decline. The proposal describes the work that The C++ Alliance has been doing to improve participation in the project. I'm assuming, the proposal implies that the work will continue if the proposal is accepted. In particular, these items were mentioned: - The new, "refreshed" website - A more active X account, with a new image art design - A C++ Slack workspace, which is used for Boost-related chat-style communications - Updated mailman+hyperkitty ML backend in development which will offer a web forum-like interface for the ML - Marketing materials and merchandise distributed on CppCon Those are all very welcome endeavors, especially those which improve accessibility and communication between people. I think, improved communication is a key element of improving public image of Boost and bringing in new contributors - perhaps, more important than the refreshed "looks". As I said in the problem statement section, I think the most deterring factor for potential library contributors is the necessity to undergo a Boost review and then maintain the submitted library. Some developers who target the C++ standard perceive Boost as an unnecessary effort that can be avoided. I'm not sure the above measures will help overcome this perception, but at least they should make Boost more accessible to contributors offering help in other ways, e.g. by providing user feedback and patches. I think, the only party who can improve the situation with the straight-to-standard libraries is WG21, which is out of our hands. What Boost can do is maintain the high quality bar, even if it means less volunteers than we'd like. Besides attracting more volunteers, The C++ Alliance is sponsoring development and employ engineers working on Boost. On one hand, this makes things done and provides another steady flow of contributions, especially in the unpopular areas, like documentation updates. On the other hand, Boost is increasingly becoming controlled by The C++ Alliance, where the majority of roles are fulfilled by the Alliance's employees. There is a saying in my country that can be translated as "the one who dines a girl also dances her", which basically means the one who does the work should also reap the benefits from it. I suppose, it's fitting, but I would still prefer Boost to remain an independent project. This is actually my biggest concern with The C++ Alliance proposal - it further increases control of the Alliance over Boost. 2. Boost asset management. The core of the proposal is to transfer ownership of the Boost assets to The C++ Alliance, to be managed on behalf of the newly created Steering Committee, which is supposed to be formed from Boost community members. In the past, The C++ Alliance have demonstrated that they are willing and able to solve issues with Boost infrastructure and assets. Specifically, to address the aging website, a new one was (and still is) developed, to fix archive downloads a CDN provider was contracted and so on. And although I have reservations about the new logo usage terms and looks, it also exists as a solution to the licensing issues with the old logo. So clearly, this demonstrates that The C++ Alliance is capable of maintaining Boost assets in good condition. However, The C++ Alliance is still an external entity, which is funded by a single individual, Vinnie Falco. This poses risks associated with possible funding issues and changing directional vision for The C++ Alliance and by extension, Boost. The first risk may be mitigated by finding other sources of income, such as donations and merchandise distribution, which, I believe, was the source of funding until now, with The Boost Foundation. The second risk is supposed to be mitigated by introduction of the new Steering Committee, which should represent the Boost project community and define "the technical, artistic and philanthropic direction" of the project. This last part I would like to investigate further. In the Fiscal Sponsorship Agreement (FSA) draft in Appendix 1 of the proposal, two Committees are mentioned. The Current Committee, as I understand it, is sort of a bootstrap for the Steering Committee, and its members are listed in the FSA. I am not sure why the Current Committee is needed, and why is it not possible to form the Steering Committee from the start and only reference it in the FSA. Maybe there's some legal reason to it that I'm not aware of, but it looks like a superfluous entity to me. Another point is that in the list of members of the Current Committee, two of the three members are also members of The C++ Alliance. The FSA does not outline the decision making process in the Current Committee, but strangely does so for the Steering Committee: All decisions of the Steering Committee shall be made by simple majority. This raises two issues. First, if the Current Committee's decision making process is the same then The C++ Alliance has the majority vote in the Committee. I'm not questioning the integrity of the proposed members of the Current Committee, I have nothing but respect for each of the individuals, but I would still prefer if The C++ Alliance didn't have the deciding majority on the Committee. Someone on the ML proposed to include Glen Fernandes and Peter Dimov in the Current Committee, and I support this nomination. Furthermore, I would like the similar problem with the Steering Committee to be mitigated as well. One option is to amend the mechanism for picking members to restrict The C++ Alliance presence in the Committee to less than majority of members. Another option might be to involve the community in the member election, e.g. by holding a vote for candidates. In any case, the goal is to ensure that the Steering Committee represents the Boost project community rather than The C++ Alliance. The second issue is that I find it surprising that FSA is defining the decision making process in the Steering Committee in the first place. It would seem to me that the Steering Committee should have its own bylaws and should decide on how it operates internally, and that has nothing to do with FSA. As long as the Steering Committee's decisions go in line with the FSA, it should not matter how these decisions are made. I'd like to note that I have no preference for the Steering Committee's decision making process; my issue is not with the "by simple majority" part. Although there should be a tie breaker, if the number of members is even. Another thing that bothers me is that The C++ Alliance reserves the right to appoint members of the Steering Committee to bring its size up to three members. I realize that this is supposed to be an emergency plan of sorts, but it seems wrong that The C++ Alliance is making the pick. It would seem, the self-preservation plan should be in the Steering Committee's bylaws, and The C++ Alliance should not be acting in its place. Lastly on this topic, the last part of this sentence seems controversial: Authority to manage the technical, artistic and philanthropic direction of the Project and the program activities of the Project is delegated to the Steering Committee as defined in §6, subject at all times to the direction and control of Alliance’s Board of Directors. It might be my poor understanding of the legal wording, but it looks like this suggests that the Steering Committee is operating under control of The C++ Alliance's Board, which contradicts with the first part of the sentence. Either the Committee decides on the Project's direction, or it is controlled by the Alliance and then it is the Alliance who actually decides on the Project direction. My preference would be the former, in which case this sentence should probably be amended. I would like to comment on the section 8 of the FSA, "Termination". I'm not familiar with the US laws, but do the timeouts for searching for a Successor allow for registering a new 501(c)(3) entity for the purpose of passing the assets to it? The way the section 8.d "Termination Without a Successor" is phrased implies that the assets could potentially be destroyed or otherwise made permanently unavailable to the Project. I'm wondering if there is a better solution, like creating a new non-profit for the purpose of passing it the assets. I admit I'm completely clueless in this domain, I'm just looking if the Termination terms could be improved for Boost. Especially, in the case if The C++ Alliance is no longer able to fulfill its sponsorship. 3. Lack of communication with asset management body. The C++ Alliance members already post periodic reports about the Alliance's activity, and I hope this initiative will continue if the proposal is accepted. Alliance's members are also active on the ML, which is very welcome. So, in the communication department The C++ Alliance has a good track record already. One instance where the communication did fail was the attempt to purchase the boost.org domain from the Dawes estate. I feel, this matter could have been handled better. At the very least, the community could have been made aware of the situation with the domain name and the planned resolution. I can understand how this buyout attempt could be interpreted as a hostile action by The Boost Foundation, and The C++ Alliance (and Vinnie Falco in particular) should have known this would be the outcome. If the proposal is accepted, I would like to ask the Alliance to be transparent about their planned and ongoing activities wrt. Boost assets to avoid situations like this in the future. Doing things like buying the domain name behind everyone's back is not acceptable. In fact, this should be straight prohibited by the terms of FSA, as the Alliance is supposed to act on behalf of the Steering Committee when it comes to Boost assets. Lastly, the suggestion I made in The Boost Foundation proposal review regarding GitHub tasks and issue tracker might be relevant here as well. V. Conclusion ============= Given that The Boost Foundation proposal lacks substance on the asset management part, leaving many questions unanswered, and is taking what I consider a completely unacceptable direction on the community engagement front, I vote to REJECT The Boost Foundation proposal. I understand there likely won't be a second round of review, but if there was, I would have liked to see a more constructive proposal that is more focused on the problems at hand and proposed concrete solutions for them. Where the opponent offers a solution, you should be offering yours instead of stabbing the opponent. I find The C++ Alliance proposal closer to what I would like to see in Boost. On The C++ Alliance proposal I vote ACCEPT WITH CONDITIONS with a single condition being to ensure that the newly created Steering Committee is able to make decisions and operate independently from any possible leverage from The C++ Alliance, in the interests of the Boost project. The specific concerns I have on this front are described in the proposal review. I'd like to thank The Boost Foundation and The C++ Alliance for putting forth their proposals. I'm sure they put a lot of work in it. And I'd like to thank Glen Fernandes for managing this review, which surely is a difficult and responsible task. And if you read this far, thanks for your time and patience. :)
On Wed, Sep 11, 2024 at 10:08 AM Andrey Semashev via Boost
[Warning! Long post ahead!]
This is very well written and thought out, thanks!
In the Fiscal Sponsorship Agreement (FSA) draft in Appendix 1 of the proposal, two Committees are mentioned. ...Maybe there's some legal reason to it that I'm not aware of, but it looks like a superfluous entity to me.
I believe it is a construct used for legal reasons. The Current Committee has no decision making powers until the effective date, when it becomes the Steering Committee.
All decisions of the Steering Committee shall be made by simple majority.
This applies only to decisions which require the fiscal sponsor to take an action. For example, to add or remove members of the SC, or to appoint a new representative. The agreement is silent otherwise. For example, if Boost wanted to move to GitLab, the fiscal sponsor has no opinion on that, and the Steering Committee uses whatever process the community agrees on for making the decision. The language in the agreement might not make this crystal clear, and we can explore it before signing. If you are able, I suggest you get involved in that process. We can arrange to do it by email. The Current Committee should have its own lawyer to answer questions and propose changes. The Alliance can pay for that.
the goal is to ensure that the Steering Committee represents the Boost project community rather than The C++ Alliance.
This is where things get a bit ambiguous. Are the folks in the Alliance not part of the Boost community? For example, Rene is on the Alliance board of directors (an unpaid position). Is he any less representative of the project than Peter Dimov? The Alliance is a non-profit, so there are no direct benefits especially to board members. If Peter Dimov is on the Steering Committee and he joins the board of the C++ Alliance does that make him less legitimate as a member of the SC? If you trust an individual to make decisions regarding the use of Boost's shared assets, what changes if they join a non-profit board? This is worth thinking about, since as you pointed out there is increasing Alliance involvement in the project.
The second issue is that I find it surprising that FSA is defining the decision making process in the Steering Committee in the first place. It would seem to me that the Steering Committee should have its own bylaws
I agree, and the FSA has no opinion on how the SC governs itself. I want to be clear here: the FSA does not define how the Boost project makes decisions in general. The FSA only specifies how the SC changes its composition and communicates those decisions to the fiscal sponsor.
Another thing that bothers me is that The C++ Alliance reserves the right to appoint members of the Steering Committee to bring its size up to three members. I realize that this is supposed to be an emergency plan of sorts, but it seems wrong that The C++ Alliance is making the pick. It would seem, the self-preservation plan should be in the Steering Committee's bylaws, and The C++ Alliance should not be acting in its place.
The Steering Committee has no bylaws, because the SC is not a legal entity. It is a set of individuals recognized as a group only to the extent of what is defined in the FSA. If it did have bylaws, it would apply to its board of directors. And the rules for corporations require a board of directors to have at least 3 people :) If Boost can't keep 3 people on the Steering Committee, the project has bigger problems than Alliance taking action.
It might be my poor understanding of the legal wording, but it looks like this suggests that the Steering Committee is operating under control of The C++ Alliance's Board, which contradicts with the first part of the sentence.
In plain language, the agreement provides that the Steering Committee directs the use of the shared assets, and the fiscal sponsor has a right to veto if that usage conflicts with regulatory compliance. In theory the fiscal sponsor could obstruct a valid request, and this is balanced by the ability of the Steering Committee to invoke the termination clause. Interestingly, that is exactly where we are now with the Boost Foundation. They have vetoed a valid decision from the project. The difference is that there is no legal agreement between Foundation and Boost, and no termination clause. Thankfully, the Boost Foundation has offered the community the possibility of changing this arrangement.
I would like to comment on the section 8 of the FSA, "Termination". I'm not familiar with the US laws, but do the timeouts for searching for a Successor allow for registering a new 501(c)(3) entity for the purpose of passing the assets to it? The way the section 8.d "Termination Without a Successor" is phrased implies that the assets could potentially be destroyed or otherwise made permanently unavailable to the Project. I'm wondering if there is a better solution, like creating a new non-profit for the purpose of passing it the assets. I admit I'm completely clueless in this domain, I'm just looking if the Termination terms could be improved for Boost. Especially, in the case if The C++ Alliance is no longer able to fulfill its sponsorship.
I agree this needs to be looked at more closely.
I would like to ask the Alliance to be transparent about their planned and ongoing activities wrt. Boost assets to avoid situations like this )> in the future.
We have and will continue to be transparent as you advise. Note, however, that the boost.org domain was never a "Boost asset" in the legal sense. To my knowledge, it is still not a Boost asset, and the domain is still at risk of loss. That is, if the executor of the estate were to pass away then the ownership of the domain would be in question. It could be donated to an unrelated organization as per Beman's last will and testament (which is a public record), or it could be lost to an auction. Perhaps there is already an agreement in place that the community is unaware of and I am wrong. I hope so. Thanks
On 9/11/24 21:39, Vinnie Falco wrote:
On Wed, Sep 11, 2024 at 10:08 AM Andrey Semashev via Boost
wrote: All decisions of the Steering Committee shall be made by simple majority.
This applies only to decisions which require the fiscal sponsor to take an action. For example, to add or remove members of the SC, or to appoint a new representative. The agreement is silent otherwise.
Thank you, this is an important clarification. I wish it was more clear from the FSA document.
The language in the agreement might not make this crystal clear, and we can explore it before signing. If you are able, I suggest you get involved in that process. We can arrange to do it by email. The Current Committee should have its own lawyer to answer questions and propose changes. The Alliance can pay for that.
Given my complete lack of knowledge on the topic, I doubt I can be of any help. I appreciate the offer, though. My goal was to draw attention to this point so that the review manager and Committee members are aware of it and perhaps initiate amendments that make the wording more clear and in line with the intention of making the SC more independent.
the goal is to ensure that the Steering Committee represents the Boost project community rather than The C++ Alliance.
This is where things get a bit ambiguous. Are the folks in the Alliance not part of the Boost community? For example, Rene is on the Alliance board of directors (an unpaid position). Is he any less representative of the project than Peter Dimov? The Alliance is a non-profit, so there are no direct benefits especially to board members.
The question is not about whether the Alliance members are trustworthy or not. Even at an unpaid position, there may be other material, legal, public or other bindings, commitments or benefits stemming from the association with the Alliance that can create conflict of interest. My intention is to remove the possibility of such a conflict of interest having effect on the SC.
If Peter Dimov is on the Steering Committee and he joins the board of the C++ Alliance does that make him less legitimate as a member of the SC?
If his new position at The C++ Alliance creates a conflict of interest with his activity in the SC, then yes, that does affect his legitimacy at that point. That is regardless of how respectable, trustworthy, recognized and integral that person is. I don't have a definitive answer to your example, but I have a few ideas: 1. Add a new independent member to the SC so that The C++ Alliance is still a minority in the SC. Though this has a downside that there might not be a suitable candidate at that point. 2. There would be a prerequisite in the FSA that a member of the SC can join the Alliance only if that doesn't make the Alliance presence in the SC the majority. 3. Add a requirement to the FSA so that if a member of the SC is also a member of The C++ Alliance, he must abstain from the decision making process in the SC if there exists a conflict of interest. Though the presence of a conflict of interest is a much less objective criteria than a simple number of members. I'm not insisting on any of these solutions, and maybe there are better ones. I'm saying that the conflict of interest is a real threat, and the FSA should account for it and ensure the SC is protected from it, one way or another.
Another thing that bothers me is that The C++ Alliance reserves the right to appoint members of the Steering Committee to bring its size up to three members. I realize that this is supposed to be an emergency plan of sorts, but it seems wrong that The C++ Alliance is making the pick. It would seem, the self-preservation plan should be in the Steering Committee's bylaws, and The C++ Alliance should not be acting in its place.
The Steering Committee has no bylaws, because the SC is not a legal entity. It is a set of individuals recognized as a group only to the extent of what is defined in the FSA. If it did have bylaws, it would apply to its board of directors. And the rules for corporations require a board of directors to have at least 3 people :) If Boost can't keep 3 people on the Steering Committee, the project has bigger problems than Alliance taking action.
Maybe I used the term "bylaws" wrongly here, if it has legal connotation. Let's call them "written rules" or "code" that are followed by all SC members. What I'm saying is that the procedure of maintaining a minimum size of three members should be written in those rules. As far as the Alliance and FSA is concerned, the SC should present a Representative that will communicate the SC decisions, and that's about it. I don't see why the Alliance should be taking action to maintain the size of the SC. And it doesn't sound right that it is the Alliance who will be picking members and not the SC and the Boost community. What the Alliance could do if the size of the SC is below the limit, is initiate elections through the SC, so that the SC and the community do the picking at the Alliance's request. Though I don't think that should be necessary, since the SC should act before that according to its "rules".
I would like to ask the Alliance to be transparent about their planned and ongoing activities wrt. Boost assets to avoid situations like this )> in the future.
We have and will continue to be transparent as you advise. Note, however, that the boost.org domain was never a "Boost asset" in the legal sense.
Well, that may be true in the legal sense, but I think we both agree that the boost.org domain name is an asset associated with and used by Boost. And a rather crucial one, too.
On Wed, Sep 11, 2024 at 3:15 PM Andrey Semashev via Boost
Thank you, this is an important clarification. I wish it was more clear from the FSA document. ... ...initiate amendments that make the wording more clear and in line with the intention of making the SC more independent.
I agree and that's why I think it would be valuable for you to participate in the process. You say you have a complete lack of knowledge on the topic yet you have raised more relevant points than anyone else. Up to you :)
I'm saying that the conflict of interest is a real threat, and the FSA should account for it and ensure the SC is protected from it, one way or another.
I agree, and I'm not sure that the agreement can or should prevent it. Just because someone is a board member of the C++ Alliance does not mean a conflict exists. And just because someone is not a board member of the C++ Alliance, does not mean that no conflicts exist. The return value of the metaphorical function `bool has_conflict(Member)` can only be calculated by humans, not legal contracts. One of the reasons for having several members on the committee is to ensure that if a member has a conflict they can be replaced by the others. It could be worthwhile to provide examples of what a conflict of interest might look like, and we can work through it and see whether or not the proposed structure resolves it.
I don't see why the Alliance should be taking action to maintain the size of the SC. And it doesn't sound right that it is the Alliance who will be picking members and not the SC and the Boost community.
This is what the Software Freedom Conservancy and Beman Dawes arranged in the contract. Replace "Alliance" with "Software Freedom Conservancy" above, and that was the status quo before Boost Foundation. From a legal perspective there is no "Boost community," there is only the Steering Committee. Why did the SFC arrange things this way? I don't have a perfect answer for you but I assume it was for a good reason. I simply copied what worked.
What the Alliance could do if the size of the SC is below the limit, is initiate elections through the SC, so that the SC and the community do the picking at the Alliance's request. Though I don't think that should be necessary, since the SC should act before that according to its "rules".
It is wonderful that you are clearly invested and desiring a robust solution that will work for everyone! I think you should participate in the legal review ahead of the signing of the FSA (I think it can be arranged to happen via email), and you should bring up these ideas. You can then work with the Current Committee lawyer to ensure that your concerns are addressed. Thanks
On Wed, Sep 11, 2024 at 2:39 PM Vinnie Falco via Boost < boost@lists.boost.org> wrote:
[The Boost Foundatoin has] vetoed a valid decision from the project.
I assume this is referring to the Boost Foundation not pointing boost.org to a C++ alliance server. On April 21st, I announced https://lists.boost.org.cpp.al/Archives/boost/2024/04/256602.php "The board approved pointing boost.org to C++ Alliance servers running the new website once it's ready" With no substantial communication in between, sometime in June (before the 26th), Vinnie Falco sent out an email to many Boost developers stating "Instead of launching on boost.org, we will launch on https://boost.io", "We will make public and post content to https://x.com/BoostLibraries", and "We will create a new set of mailing lists on https://boost.io for people to subscribe to". On June 26, Kristen announced https://lists.boost.org/Archives/boost/2024/06/256978.php "we agree with Mr. Falco's assessment that there is no viable path forward for further coordination between The C++ Alliance and The Boost Foundation" This information leads me to believe the C++ Alliance, not the Boost Foundation, decided to reject the community consensus. Am I missing something? -- David
On Wed, Sep 11, 2024 at 8:26 PM David Sankel
...Am I missing something?
Yes: https://lists.boost.org/Archives/boost/2024/07/256995.php Thanks
On Wed, Sep 11, 2024 at 1:08 PM Andrey Semashev wrote:
I find The C++ Alliance proposal closer to what I would like to see in Boost. On The C++ Alliance proposal I vote ACCEPT WITH CONDITIONS with a single condition being to ensure that the newly created Steering Committee is able to make decisions and operate independently from any possible leverage from The C++ Alliance, in the interests of the Boost project.
Andrey, many thanks for the review. Glen
participants (4)
-
Andrey Semashev
-
David Sankel
-
Glen Fernandes
-
Vinnie Falco