I'm sorry #39
Replies: 22 comments 77 replies
-
While I appreciate that this must have been hard to write, this is a total non-apology and just about meets the incredibly low expectations I and others had for the .NET Foundation's public statement. Let's start with this:
Many of the projects that were moved into the .NET Foundation Github Enterprise account, such as @robmen 's WIX project, cost exactly $0 in Github consumption each month. There's no reason "central billing" would be an issue in that case. How many other projects that were moved that don't actually consume anything from a billing perspective that were moved? Why did you not feel it necessary to explain the reasoning behind this move in the first place? It would have been a 5 minute bulk email to the project leaders' mailing list that would have probably been met with few objections.
Absolutely not what we were told by @jongalloway, Martin Woodward, et al when we joined. In fact, our Contribution License Agreement we signed explicitly refutes this: Myself and my fellow contributors own and manage the project, not the .NET Foundation, as is plainly stated in our agreement. On what basis can you make this claim?
I think you have this exactly backwards - the expectation that was set with us that we were to be left alone to our own devices, that the .NET Foundation would support our efforts to build a bigger and better .NET, but that ultimately we were to be in charge of how we did that. It seems to me that your vision for how the .NET Foundation will execute that is what's changed - a top-down, command and control approach rather than a collaborative approach with us and our projects. I have no confidence in your leadership or this foundation's ability to work with its members and projects. |
Beta Was this translation helpful? Give feedback.
-
@clairernovotny I have known you for years, and as you know I have a tremendous respect for you and all that you have done for the .NET Community, for Prism and for me personally as an Open Source maintainer. When you stepped into the role as Executive Director of the .NET Foundation I had high hopes for what the Foundation could do under your leadership. It's with a heavy heart that I find myself having to write this. This "I'm Sorry" letter is very much as @Aaronontheweb described it, a total Non-Apology. This reads more as a damage control, PR stunt to get people to stop blasting the Foundation publicly. The one thing that this does not read as is a heartfelt apology. Following the incident that you referenced on the Splat repository you found that I soon after blasted your behavior there. I then spent most of the last week traveling. To my surprise in all of that time you could not find the time to respond. You did not need a board of directors to tell you that an apology was owed specifically to the maintainers of that repo and that org, or that such an apology should have been available for all to see. Nor did you need someone to help draft something that should have been very easy for you do a week ago. You and I both know that you know better. Instead of doing what was right, you waited. You allowed the community to erupt into an uproar, and one by one maintainers of member projects began voicing their frustrations with the Foundation. This caused many maintainers to discover actions that were taken behind their back and in at least one case in direct violation of conversations that had been had.
Most member projects had NO GitHub bill. In other words what exactly are you spending $7,510 / year to support? Also for reference my non-paying orgs support 2FA just fine thanks. Next StepsIf the new Board is serious about rectifying the situation at hand here I believe that several actions need to be taken within the next 24 hours.
If the Board would like to take a step above and beyond to show that they are serious about supporting Community based Open Source, then you might consider asking how you can help those members that wish to leave. Could you help them to set up their own Code Signing server? Could you help them to draft their own CLA and setup their own CLA Bot for PR's? Such actions would help to show some good will and restore some degree of faith in the Foundation. Moving ForwardAs we move past this as a community and move beyond the next 24 hours, I believe that it will be important for the Board to understand that it is really non-negotiable that when the Board makes decisions affecting projects, the Board needs to have a dialog with the maintainers of those projects. What's more is that the Board needs to recognize that sometimes they are wrong. This is where some organizational restructuring is really needed to allow member projects to block bad decisions by the board. Think of it as a check and balance. Something that this so-called apology misses entirely is that the Foundation exists for the benefit of the Member Projects, and not the other way around. IMO it would be a very good idea to start thinking about what would a Maintainers Bill of Rights look like? We cannot continue a tradition of the Board meeting, making some decisions that affect member projects without even considering whether or not the member projects agree that it is a good direction. The Foundation has dealt serious blows to the health of the .NET Community specifically in advocating Sustainable Open Source. This is something that the Board needs to be a Champion of. Before Commenting - Please ReadAs this is a public forum here I do want to be clear. For those wishing to follow up with bashing comments, please don't. While there have been some actions that require serious conversations, we all owe @clairernovotny a debt of gratitude for all that she has done for us over the years. While I may believe that it is in the Foundation's best interest to appoint a new Executive Director, I do believe wholeheartedly that as we move past this @clairernovotny will continue providing value for the .NET Community both as a Microsoft Employee within the .NET Organization (outside of the Foundation) and at large as someone who like many of us just love to code! |
Beta Was this translation helpful? Give feedback.
-
It feels good to ask for heads on pikes, but in this instance it won’t help and will only hurt our aims. Claire’s apology is a non-apology; no getting around that. I don’t blame Claire for that, because given the indicators I’ve seen, that is exactly how Microsoft wants this organization run. Why do I say Microsoft? Well the tone of the apology; the lack of a response, and the tenor of the board member from Microsoft’s response leads me to believe this is a structural problem and not a leadership problem. Even if we ask for a recall of the board and the removal of the ED, it won’t change that the DNA of this organization is to do what Microsoft — the impersonal legal entity that pays the ED, the Treasurer and the Program Manager, and controls a non-removable seat on the board — wants. I should note that one third of the board are Microsoft employees. This is not an independent organization. If it were, the ED would be independently salaried. No corporation would have irrevocable seats; they wouldn’t have to wait for “legal” to bless everything (who pays the legal bills, and does that lawyer also represent or is paid by Microsoft?) Our problems are not with the board or the ED, they are with the DNA of the .NET Foundation. To fix that, we must change its DNA, if such a thing is possible. Here’s what the first few steps look like:
These are the beginning steps we need to re-establish trust between the community and the foundation. I want to be very clear here: I believe wholeheartedly that every member of the board and the administrative team wants what's 'best' for .NET and for the community. No one wants to see the community in tatters and the .NET name a punchline in open source software. But, and this is one of the problems with a sole patron who makes the decisions -- either explicitly or implicitly through "you're a Microsoft employee, this is how we do things". The sole patron's culture -- sooner or later -- comes shining through, and if it's a culture of being risk-averse, or a culture of control, that will show through too. Given the tenor of the responses from Microsoft employees on twitter (by and large; there are one or two that break this mold), I'm worried that .NET people inside of Microsoft have seen 'the Microsoft way' for so long that they can't see when it's actively hurting our community and .NET. |
Beta Was this translation helpful? Give feedback.
-
I understand and appreciate folks are frustrated. I suspect it is because most people don’t understand non-profit mechanics and communicating expectations is sometimes hard. I would really love to see the coming blog posts. I will read them, however, through the following lens. A non-profit removes liability from the project maintainers to enable growth. An OSI-licensed project community is the basic unit of work. A well-run community scales well for the number of users, developers, and project complexity. (When I say “well-run project”, I mean one with good processes around making decisions and good processes around software engineering practice.) That growth reaches a natural limit when either of two things happens:
Non-profit legal structures solve for those two types of liability that prevent a project from growing further by holding the bank account, signing contracts (e.g., for meetups, etc.). The non-profit holds and manages the intellectual property, provides the liability shield for maintainers, and the neutral playing field for users. Non-profits can provide lots of other support for the project, e.g., event services, marcomms, mentoring, hosting, tooling, etc., but if they don’t get the liability shield right, they aren’t protecting the maintainers (and therefore the project) for the next level of growth.
Non-profits have a governance structure. It should be focused first and foremost on ensuring a well-managed budget to allow the non-profit to provide the liability shield, programs, and services. This non-profit governance is distinct from project governance. Some non-profits have strong opinions on project governance (The Eclipse Foundation), some minimal requirements (The ASF), and some no opinions at all (The Linux Foundation). I’m looking forward to the blog posts. If you have concerns once you have read the posts, I would encourage you to get involved in the process to build the non-profit that serves the community's needs. |
Beta Was this translation helpful? Give feedback.
-
As a project maintainer, the lack of transparency and information sharing has been hard to stomach for a long time. The lack of communication to project leaders is part of why I was trying to run for the .NET Foundation board, as I see this lack of communication as one of the most critical issues that face the Foundation and all of the projects that are members. Having served on multiple not-for-profit boards over the years, I understand all too well the trials and tribulations that go along with volunteering your support for these organizations. However, I've also learned that more communication often results in less drama, which then results in less time being spent managing critical situations. As a project maintainer of a .NET Foundation-supported project, I'm still very confused about some of the actions mentioned in this post. Our project and related repositories for example are still not actually in the .NET Foundation project, and in fact, someone else is paying our GitHub bill. However, other projects that apparently had no bills were moved into the organization. I encourage everyone on the .NET Foundation board, if you accomplish ANYTHING in the upcoming weeks, lets try to start with the most simple of things.
These simple actions, tell people what is going to happen, when it is going to happen and why. Then waiting a bit, and implementing could go a LONG way to helping all project maintainers. Thanks to all of you that serve on the board, to those brand new, welcome to the fire, and may we work together for mutual success for the .NET Foundation and ALL member projects in a respectful and planned manner. |
Beta Was this translation helpful? Give feedback.
-
What was the PR being discussed here? Could someone please provide the link? This was the PR. The behavior shown in the PR is simply unacceptable in contemporary open source project. This apology post does not even explain what happened, and did not explain which of what happened are problematic (although linking the PR would make that obvious). This post also did not propose any corrective plan, assuming the author still want to involve in the project. I don't think this apology itself is acceptable. |
Beta Was this translation helpful? Give feedback.
-
From what I read… Even if you have a write permission over all repos under .NET Foundation, it doesn't mean that you can merge without getting approval from current maintainers. That's just bad manners. If you're not sure, you could take a look at how other contributors created PRs recently and follow suit. Then again, if you want to test a change so bad, you could always create an experimental branch (with the maintainers' approval) or a fork and go from there. As a first-time contributor, I sometimes ponder, Why do we need to create an issue, fill a form with eloborate details such as environment info, version info and then waiting to get approval from members just to open a PR filled with similar elaborate details to fix a spelling mistake, formatting (minor) or even a correction that won't even make it to shipping binaries? But we have to understand, that's just how the community decided to work. We have to follow it no matter what. If you don't like something, you could always challenge it and make exceptions. If you ask, people will always respond, every single time! One more thing, it's not okay if you make a mistake knowing that it is. But if it's not then just say, you're sorry from the bottom of your heart. No need to publish it as an article like this and especially don't even try to justify or make it look so. It'll hurt you more than it'll hurt others. |
Beta Was this translation helpful? Give feedback.
-
I think this issue comes down to the binary of ownership: who really owns the code, the energy, the perception, the communication, and the authority of a .NET Foundation project: The .NET Foundation or the maintainers? Open source culture and history says the maintainers hold ultimate authority; the contract may say otherwise. What happens if a maintainer decides to "go rogue" with a project? Does the Foundation have the recourse to step in and remove the maintainer's permissions? Does the Foundation have the right to push code arbitrarily? What about making public statements about the project? These all come down to either/or: either the Foundation has the ultimate authority or maintainers do, even if the rights are exercised due to votes or some other pseudo-democratic process. I'm speculating, but I can't see the .NET Foundation backing down and giving maintainers ultimate authority over their projects. From the Foundation's perspective, there is simply too much risk in allowing maintainers--whose projects are now associated with the corporate brands of Microsoft and .NET--the ability to make the brands look bad somehow. As an outside observer, it will be very, very interesting to see which way this goes. It's possible the .NET Foundation's existence hangs in the balance. |
Beta Was this translation helpful? Give feedback.
-
Well based on the DNF response so far, I think the only course of action is:
my 2c. |
Beta Was this translation helpful? Give feedback.
-
I'll start with a disclaimer. I'm Marten co-maintainer. We've been in .NET Foundation for almost two years. We applied mostly to give more assurance for the commercial users and to see how .NET Foundation can help us to make our work more sustainable. We also wanted to be a part of that initiative. Unfortunately, after those two years, we don't see any positive impact, any help from being a member. We were never asked for any feedback. I haven't noticed any collaboration from .NET Foundation towards neither maintainers nor the community. We were also not using any of the .NET Foundation build resources or MFA, because, well, we had all of that already for free from Github Actions and Azure DevOps. I was asked a few times what's .NET Foundation doing, and I couldn't give any answer. Total lack of transparency. No summary for members leaving Board, no notes, no information. Silence. The only moment when we hear about .NET Foundation are cases like that. I was waiting for the answer from Board and especially the Executive Director. I tried not to put too much kerosene, as folks already gave the feedback that I could sing on. I was waiting for the Board and especially the Executive Director. Now I have it. This "sorry, no sorry" response made me send my feedback. We joined as the contribution model, not as an assignment because we wanted to collaborate, not cede full rights. Some time ago, skimming for some unknown reason through .NET Foundation Github projects, I found such a suspicious change: dotnet-foundation/projects#118. It was removing the contribution model. After I did buzz on Twitter, it was reverted: dotnet-foundation/projects#120. No explanation. There was a group founded to resolve this. As I was the initiator that found that issue, I wanted to be involved, but I got a response that "there is no place left "... Maybe that's better because I haven't seen any official results of that group... Then 3rd August, Claire asked us if we could give them access to JasperFx organisation because "we announced Foundation-wide Code of Conduct Enforcement" (sic!). I replied that I could not give the rights, as I'm only co-maintainer of Marten, and the rest of the projects in the organisation are not in .NET Foundation. We didn't even sign them officially through the review process. That wasn't an issue for Claire, so she asked if we could move the whole org into .NET Foundation (yes, without any formal process). The explanation was that it would be easier for .NET Foundation (no more explanation). I said that's Jeremy's decision and she should ask him. Jeremy initially agreed but luckily forgot to do that, because we'd probably be in the same position as other folks that had projects takeover. So I don't see any matching between the "explanation" that Claire wrote above and our situation. We're not using any resources from .NET Foundation, we didn't sing as an assignment, and still, we were asked to cede rights. Breaking by that also the .NET Foundation enrollment procedures. To sum up, the lack of transparency, help and trust will lead us also to leaving .NET Foundation. I hoped there would be a real revamp after those issues, but this no apology does not leave me any hope. |
Beta Was this translation helpful? Give feedback.
-
AdviceMost of the projects, that joined DNF. Are created by very talented and exp people. They are seeking the shiness of their work. They want their work to be used widely. They are not seeking for titles !! How many times you mentioned ? Please note that, there are a lot of pple working hard to improve the reptuation of .NET Eco system. |
Beta Was this translation helpful? Give feedback.
-
This is quite disappointing and doesn't really do anything to address the huge issue with the forced move of member projects to the foundation's Github Enterprise account. The response to that is completely unsatisfactory.
No, it does not "give us more control of our projects"
Poorly communicated is an understatement. An explanation would be welcome, but is not enough - trust has been completely broken. Please provide a way for us to opt-out of using the foundation's GH Enterprise. If you can't, then please provide clear steps for how we can remove our projects from the foundation completely. Those of us who used the "contribution" model when joining the foundation retain ownership of the copyright, so this shouldn't be a problem, right?? The move to the foundation's GH enterprise was done without consent of the maintainers and there was no communication about it either before or after. Being a good custodian of the member projects requires buy-in of the project's maintainers and goodwill. We should have been asked about it. We should have been told about it, but we weren't. We were told the dnfadmin account needed access to our organisations to set up the CLA bot. Using it for more than that without any communication is disingenuous. I look forward to hearing you address these specific points. |
Beta Was this translation helpful? Give feedback.
-
Feels to me just like @clairernovotny wanted to make a small 1 line contribution to ReactiveUI and now you guys are talking about who owns the repositories and projects? Without getting into details about the DNF rights over the project ; I'm working on "Orchard Core" as a contributor and I'm pretty sure licences are fine. And as far as I know Reprocible Builds licence is under MIT so I don't see an issue there either. What we do with PR's with Orchard Core is that we have a non-written policy between maintainers that says. You need to have at least X approval before merging anything even if you are the top master of the project itself. Then these kinds of topics never happen without disrespect to anyone. |
Beta Was this translation helpful? Give feedback.
-
The only reason why the .NET Foundation is being perceived as as a top-down organisation is because it's not run by its members but by Microsoft which is a big traditional top-down corp. Now why is that a problem? Well, quite simply, because the chances that the OSS community has its values aligned with a massive for-profit (fairly old fashioned) organisation like Microsoft are extremely slim. If the .NET Foundation is run by Microsoft then it has its values aligned with Microsoft and not with the community. That's just fact. Unless both parties have the exact same goals it's simply impossible to work in the best interest of both. This is evident by the fact that things happen without member's knowledge. It is Microsoft employees who created the foundation. It is Microsoft employees who have picked the people to run the foundation. It is Microsoft employees who build the website, who host it on Microsoft internal and paid for infrastructure, who set the agendas, who own the GitHub account, who manage the foundation's YouTube account and so forth. It is Microsoft employees who decided how much members must pay, what the rules are for joining, how members can elect a board and so forth. Everything that matters is or has been decided by Microsoft employees. If a board changes then it is Microsoft employees who take over to facilitate a transition. The .NET Foundation is not independent as it claims to be. Why do I say all of this? Because I'm surprised by how many people think the .NET Foundation can change to some ideological picture that people have made up in their mind. There is nothing wrong with the .NET Foundation and in fact it's really good when you accept everything that I have stated above, but it fails to be good if current members had a more romantic idea of what it should be. The .NET Foundation will never be a true independent member run non-profit organisation in its current shape and form because the foundations are deep rooted in the opposite direction. EDIT: This is not criticism, but I felt compelled to spell out the obvious. I think all good relationships are founded on honesty. It is important to be clear what the relationship between members of the DNF and the DNF itself really looks like. When people understand it and accept it then they are a huge step closer to finding happiness with it. EDIT 2: Here's the legal text that basically makes Microsoft the boss of the .NET Foundation: Any real material changes to the DNF must be blessed by the executive director: The executive director position can only be filled by the "founding member": The founding member is Microsoft: So, in summary, the .NET Foundation is 100% controlled by Microsoft. The board cannot make any changes to the DNF without the exec director to be approved, which can only be someone from Microsoft. Again, there is nothing wrong with it, but it is not quite the way the DNF is often being portrayed, which is why many members have a more romanticied image of the DNF which doesn't match reality. |
Beta Was this translation helpful? Give feedback.
-
At the risk of adding more noise to an abundance of words, I’m going to mention something that I’ve been thinking about in relation to this discussion: “intent vs. impact”. As a framework for thinking about leadership and communication, this idea has been gaining popularity in discussions about inclusivity and it appears to apply here as well. In my opinion, recognizing the delta between the two (and correcting for it) is a critical part of having a growth mindset, and while “growth mindset” is usually used to describe an individual’s ability to learn and adapt, I think it applies institutionally as well. In broad terms, the notion of “intent vs. impact” is that the impact of our actions is just as important (if not more so) than our original intent. I think where the apology above misses the mark for a lot of people, myself included, is that it describes the former without really addressing the latter. Like many in this discussion I’ve known Claire on a personal level for years. She was a tireless defender and contributor to open source projects well before her tenure with the .NET Foundation, and that track record counts for something. While her behavior in the PR that lit this flame was certainly regrettable and angered many in the community (including me) due to its lack of adherence to the unspoken-but-understood conventions of being a good open source participant, we all make mistakes and sometimes we make big ones. She acknowledged that her behavior was “disrespectful and rude” and that she can and should have done better. If anything, this entire discussion has exposed much bigger challenges faced by the .NET Foundation and I personally think that to address those we need to move beyond this precipitating event, forgive Claire for her personal missteps, and begin the harder work of fixing the community as partners. I know there are many who disagree, and that’s okay, but I think her history and track record within the community warrants some grace and benefit of the doubt. Regarding intent, I also know many of the other participants involved here from previous Executive Directors, to board members, to maintainers. This is my own conclusion but let me be clear: I don’t think for a second that the intent in any of this was anything other than an attempt to be helpful as described in the letter above. This is not the third prong of an embrace, extend, extinguish strategy, nor is it an attempt by Microsoft to own or exert control over the hard work of others. I see no reason to doubt that the .NET Foundation had the intent of providing “central billing and resource allotment” and that many of the surprises maintainers experienced are the result of applying a “governance model” to its membership that was intended to be beneficial and “to make administration easier”. That said, intent is not impact. The letter above almost entirely fails to acknowledge the detrimental impact of these actions on projects and maintainers and instead aims to solidify the existing impact through additional documentation and checklists. This is where I believe the core misalignment is happening. The community is very loudly saying “the things you are doing, regardless of their intent, are not what we want or need from the .NET Foundation” and the .NET Foundation is responding with “we’re going to continue doing those things you just told us you don’t want or need, but we’re going to communicate them better so you’re not surprised about us doing things you don’t want or need.” And yes, poor communication is and continues to be a big challenge for the .NET Foundation, but I don’t think it’s the challenge. If these actions had been better communicated, I don’t think that would’ve changed much other than maybe being able to avoid some of the immediacy of the problem due to justified outrage over surprises. Until we align and resolve the fundamental disconnect between what .NET Foundation members (both consumers and maintainers) expect the .NET Foundation to do, and what the .NET Foundation does, with a focus on how the impact of those actions are perceived by and affect members, we’re going to keep coming right back to this same frustrated outcome. I don’t have any solutions, but I’ve been doing my best to listen carefully to the discussion over the last several days and have some suggestions:
All this said, I’ll close by acknowledging what I think is the biggest challenge the .NET Foundation, and us as the community face: the complete lack of time and resources to accomplish the lofty goals and live up to the ideals we strive for. Open source participants, by the very nature of mostly being a “free-time” pursuit, are already constrained. All the above suggestions, and really any other action by the community, takes effort. Effort that very few of us have the time to realistically give. I think it’s worth remembering this as we get frustrated with the pace of progress by the Board of Directors, or this discussion loses traction in a couple weeks, or new initiatives are started because of this that don’t actually get anywhere. We’re all fighting a constant battle against our own availability. Whatever the outcome of these discussions is, we should strive for realistic outcomes that can be reasonably accomplished. Otherwise I’ll see everyone back here again in a few months for the same reasons. |
Beta Was this translation helpful? Give feedback.
-
Don't have much to add to the conversation besides what has already been said: the trust has been broken and there is no way forward with the current management at the wheel. That aside, I see a lot of maintainers here worried about judicial aspects of leaving the Foundation. Regardless of whoever is right, I think it would be really funny (but also really grim) if one day Microsoft's open source foundation decides to sue its own open source contributors. That would make a wonderful headline. |
Beta Was this translation helpful? Give feedback.
-
I think this entire thing is less about the 2-3 lines of code Claire submitted and more to do with with DNF good vs bad moral agency. This entire thread just demonstrates a lot of arrogance around ownership and process not being clear/enforced or agreed upon. Looking at the PR "thread" it just came off as a flex and simply overblown out of proportion. If there was a discussion to be had, the original respondent should have started that conversation with a question on what specifically they are were concerned about. Furthermore, looking at the very repo that folks are finding offence with, I notice specifically Glen's constant commits - without discussions involved - but prefixed with "housekeeping" seem to be unchallenged or noticed. Comparing the work Claire provided against some of the historical changes say Glen has made, i can't but help see a contradiction in behaviors here. |
Beta Was this translation helpful? Give feedback.
-
I have no stake in any of this, but as I stumbled upon this topic I just have to dissect that PR'd excuse.
Would it to too imprecise to paraphrase this section as ""Executive Director" using brute-force to get her way suddenly repents upon receiving backlash because of an apparently inexplicable laps of judgement - that brute-forcing her way is bad - due to wearing "too many hats" with only "subtle distinctions""? And why is it worded so soulless and empty while at the same time satisfying the need to highlight how much she apparently has been doing and accomplished?
That reads like she knew exactly what she was doing if she's able to easily list the repercussions/drawbacks of going through with such an action, but she quite apparently couldn't have cared less in that moment.
"I love it and only want what's best for it, and due to that I used brute-force to get my way, because that's just how much I "love" it".
If I understand it correctly using this as a base then:
Shouldn't the pattern, that needs to be resolved first, be your own actions as "Executive Director" who brute-forces her way and thinks she can get away with it by posting a PR'd excuse of an apology?
I can't help but to grin mischievously: the brute-forcing "Executive Director" wearing many hats, which makes it difficult for her to grasp the "subtle distinctions" between them, really wants to hear from you and you can tell her "anything".
I have to appreciate that wording: "I'm sorry that maintainers are surprised if we do something without first having talked to them". |
Beta Was this translation helpful? Give feedback.
-
So.... in 2019, I offered pro-Bono legal services in order to help the organization follow through on what its purported mission is. In fact, the organization isn't independent of MS. The Founding Member provision makes that clear, and indisputable. The organization is a MS alter-ego, period. I challenge whether the organization is in good standing. Minutes? Following the bylaws? Duly elected officers? I question what agreements the organization has entered into that are binding, and not void ab initio (void from inception). What really puzzles me is that on top of the disorganization and dysfunction, you collect $. A: Why? B: what do ppl actually get for it if it's "Liberally waived." C: you have to be very careful when $ is involved. That's why the treasurer role in any Corp, but especially a non profit is important. Appears to me, numerous fiduciary duties were breached toward members. Anybody who wants help getting their assignments formally undone, ping me. Although, I'd submit that if the DNF hasn't done anything substantive, there's a question on whether an agreement would fail for lack of consideration. They had developer /lawyer on the board this past year. Does nobody inside care how the DNF runs and the effect it can have on people? Or, is just another fodder for MVP cred...?? |
Beta Was this translation helpful? Give feedback.
-
The board met today and accepted Claire's resignation. See #40. |
Beta Was this translation helpful? Give feedback.
-
What I think is extremely pertinent is the fact that the .Net Foundation (DNF) provides zero tangible benefits to its member projects - in contrast to the very tangible detriments of increased bureaucracy, top-down mandates, mercurial interpretation of contracts and annexation of copyright and autonomy. You can already get free azure/AWS credits as an open source project. Github offers various things for free. And the process for signing up for those is arguably less arduous than dedicating the time for paperwork, management and communication with the DNF. The DNF doesn't offer legal representation for its members. It spends tens of thousands of dollars toward legal representation each year, but that's entirely focused on CYA initiatives that reduce their own liability - not towards servicing members. None of their responsibilities are codified or permanent. Joining the DNF is like being an employee in a corporate acquisition. You'll be in big trouble if you take their promises to keep everything the same at face value. You don't really get community representation with the DNF, as has been made abundantly clear with various examples. In fact, I'd argue that the board and directors serve more as disposable pawns when the leadership missteps, rather than having any real power. People sign on and either leave in frustration or pad their resume for a year. The board communicates little with each other, and even less with the community. It also doesn't spend much time in soliciting community feedback, which results in MS driving most of the time. There's also not really any monetary support. Outreach initiatives exist, but these aren't really geared towards improving member projects. That hasn't stopped various initiatives from trying to force corporate support promises on member projects. We should all question the value of a foundation that requires you to act like an employee without paying you for it. The last thing the world needs is another non-profit to funnel donations and thee fruits of individual labor to lawyers and corporate interests only to generate a few blogposts and pizza parties of "support" a year. We're essentially letting a group collect donations in order to be useless middle managers over us - demanding passwords and organizational changes while contributing nothing of value. You do get the ability to hand off the project post-mortem, but there exist other mechanisms for this. In fact, I'd argue that (assuming you don't have your own project processes) Github and Nuget are better avenues for improving this hand-off process than becoming a serf in a foundation. What's more, having established processes for a transition prevents social engineering attacks. You also get a shiny digital badge which makes MS-focused companies a bit more likely to use your project. However, this is becoming less and less valuable. IT staff and management are less hostile to OSS packages as long as it's MIT. This is in part due to other languages and runtimes having more community-driven development, in part due to more familiarity with Linux on servers, and in part due to being burned too many times on the MS disposable API treadmill. And anyone actually involved in .NET knows that many projects in the DNF get precious little support from membership in the foundation. Which drastically devalues that gold star of participation. Like most corporate certification programs, it doesn't fool anyone who actually understands the industry. I'd simultaneously discourage new projects from joining the DNF and encourage existing projects to leave it until they get their proverbial ducks in a row. The DNF has existed for 7 1/2 years by my count. It's lost the right to excuse its anti-community behavior due to being new. Passively waiting for change is foolish, since the corporate interests controlling it will long outlive any of us. The initial premise of the DNF was to facilitate the growth and use of .NET, but I'd argue it's done precious little to meet that goal. In fact, it's made everyone's job harder and added substantially more drama and stress. The DNF honestly feels like a paper community with a paper leadership where Microsoft stuffs all its .NET work to make it look more OSS-friendly than it actually is. They don't even donate that much, despite their founder privileges. $230K is not a very big budget, and most of that came from outside Microsoft. So why are we all falling over ourselves to join an "official community" without any community support, community voice, or community benefits? That's just a fanclub. A community non-profit simulator. We're all adult enough to understand an implicit no and accept it. And the DNF (and, by extension MS) has said no to letting projects control themselves. And then they blamed the victimized projects for not reading the fine print. They've made a few promises to be better, sure, but with 7 1/2 years they became intolerable. I see little chance of those promises being fulfilled as-is with the addition of more time. They need to understand how absolutely useless the organization is and the "services" they render are to the community. They can either change their structure, goals and methods to actually foster the community or they can watch the membership and trust continue to hemorrhage. |
Beta Was this translation helpful? Give feedback.
-
With the dust settled on both this and the hot reload debacles, and a little time passed, I've put together a blog post: https://atrauzzi.github.io/its-time-for-net-to-leave-home We need to push for Microsoft to give .NET full independence. |
Beta Was this translation helpful? Give feedback.
-
I'm Claire Novotny, Executive Director for the .NET Foundation, and I made a mistake this last week when I made a PR and merged it to a project without discussion. While I’d been involved in this project as a founder and maintainer for many years – long before the foundation – I was not active recently and I overstepped. I failed to consider how the interaction would look through the lens of my current role. We often have many hats, like community member, early project contributor, foundation director, but that’s a subtle distinction and doesn’t change the fact this was a mistake. I sincerely apologize.
Separate from this personal misstep, I want to note that the .NET Foundation exists to provide services and support to project maintainers and to encourage and enable the use of open source software by .NET developers. That’s similar to the goals and approaches of other open source foundations. In the last week, there have been multiple cases where project maintainers were surprised and unhappy about the governance of .NET Foundation projects. In this post, I’ll describe what happened and why.
I’ll start with the ReactiveUI project. I’ve been a ReactiveUI maintainer for many years, pre-dating my role at the .NET Foundation and with Microsoft. I’ve been personally focused on reproducible builds and maintain a project that enables that scenario. I created a PR in ReactiveUI’s Splat project and merged it with my ReactiveUI maintainer permission. I shouldn't have merged this PR without explicit sign-off from the other maintainers, because it's disrespectful and rude not to follow the project’s process. Also, as the executive director for the .NET Foundation I should have been able to manage the conversation and the disagreement with the other maintainers a lot better. I'm sorry.
It’s warranted for the ReactiveUI maintainers to review my maintainer permission. I’m happy with the outcome they decide. I love the ReactiveUI project and I only want what is best for it.
This incident with the ReactiveUI project caused maintainers of .NET Foundation projects to discover that they are part of the .NET Foundation GitHub Enterprise account. The .NET Foundation uses GitHub Enterprise because it offers central billing and resource allotment (like GitHub Actions and Codespaces minutes). It sounds scary to “Move to GitHub enterprise” but it’s done only for centralized billing and 2FA support. It puts projects on their own instance and gives them more control over their projects. That said, the fact that multiple people were surprised and upset means that the use of GitHub Enterprise as a tool to support projects was poorly communicated. We will post a document this week that explains that. The Foundation exists to make administration easier, not scarier.
It is also clear that the .NET Foundation project governance model is not well understood. Project maintainers sign an agreement that either assigns or contributes their project to the .NET Foundation. That’s the point at which project ownership changes. We’ll post another document on that this week as well.
There is a pattern that needs to be resolved. Projects might not fully understand what joining the .NET Foundation means. We share a checklist with project maintainers on project changes they accept as part of becoming part of the .NET Foundation. That’s obviously not sufficient. We will post a new document that describes what you can expect when your project joins the .NET Foundation. This will include changes (observable or legal) and new benefits. It will also include changes that could occur later.
We recently had .NET Foundation board elections. A new board started this week and has been meeting daily. These .NET Foundation project governance topics have become the top focus of the board. The board will hold a TMA (tell me anything) open call next week. The new board wants to hear what you have to say and to make changes to make the .NET Foundation a better home for project maintainers.
To recap, I’m sorry about the PR I made and merged on the ReactiveUI Splat repo. That was a mistake. I joined the .NET Foundation as the Executive Director to help maintainers. I’m a maintainer. I know what it’s like. On behalf of myself as the Executive Director, past and current boards, I’m sorry that we’ve created an environment where maintainers are surprised by their relationship with the .NET Foundation. It will be my and the new board’s number one priority to fix that.
Thank you for being part of the .NET Foundation. I ask for patience as we publish new documents, hold a listening tour/town hall/something TMA, and work to help maintainers more. Please use this forum for future communications and “watch” the Announcements repo to be notified when we post the documents.
Beta Was this translation helpful? Give feedback.
All reactions