Detailed thoughts on the State of the .NET Foundation
github.com
github.com
It feels like they want to 'buy' and 'construct' community, which is generally not how those come to be. It's much more like the VB and COM days where they just try to convince developers that in the land of closed systems they haver the best development experience to reach business goals. But in the land of open systems, that push doesn't work.
They would have been better off either copying the Apache Foundation or the CNCF, or just incubating their stuff in to one of them. But the first option would not have come with a community, and the second one would be risky since they would have to soft-compete with what's already there and they aren't all that convincing in their value proposition when you make that comparison.
The foundation isn't inherently evil or bad, it just isn't what the larger FOSS or OSS communities expect and thus it's not getting the same traction and benefits, making the whole exercise feel dead in the water and not useful to anyone.
The philanthropic energies of the open source community are often in direct conflict with command-and-control corporate structures and even the legal system itself. Pretending like the conflict doesn't exist is how these folks got into this mess. Microsoft has a chance here to generate a huge amount of goodwill not only in the .NET community but also the open source world by choosing to relinquish the "company behind the curtain" aspect apparent in the Bylaws. Articles and blog posts will be written about what happens here. The usual comments of "embrace, extend, extinguish" might themselves be extinguished by Microsoft choosing philanthropy.
Without the philanthropic energies of projects and maintainers, what is the purpose of the Foundation anyway? If .NET as a brand is too important to risk tarnishing by people not on Microsoft's payroll, then abolish the Foundation altogether.
> The transition from the old model to the new model was a major concession from Microsoft
The current .NET Foundation is an improvement on what existed before. Is it independent? Not completely, but .NET is more independent than it was. Is it frictionless, transparent, trustworthy? Not completely, but .NET is more than it was.
Of course the current discussions show it is now time for the next steps and move on from the tradeoffs that brought the Foundation into existence. There are many ways to improve and their messaging/communication is the must urgent one. But it's also important to recognize that the Foundation's organizational design flaws are not a "plot", not result of incompetence nor malice; it's progress, slow as one would expect from the complexity of its goals.
Somehow Rob Pike and Guido at Google didn't, even though they are pretty close to Microsoft-equivalent these days.
Microsoft is a much more open company than Apple, just look at the immense output of Microsoft Research over the years.
Of course, this is all based on whether they actually thought about it strategically before deciding to go with C#. Perhaps they were thinking they'd get larger roles at Microsoft, perhaps they didn't think about it all and Microsoft was the most direct option due the the C# language choice.
The takeaways from this are:
1. This is likely a lifelong dream for them. I'm not comfortable with shitting on people's lifelong dreams.
2. I definitely saw it coming. As soon as I saw Microsoft acquired Xamarin and retained both of them, the first thing that popped into my head was "this makes perfect sense". You can draw a straight line from their early work on Mono to their acquihire.
3. They are still spending their lives enabling Microsoft tech to play well with open source; the only difference is that Microsoft is now paying them to do it.
... It's already happened.
And it's the only reason Azure isn't already dead, and that Microsoft's market share and stock price haven't cratered.
But also, I've been around long enough to know why; if you think it's because Microsoft "grew a heart" or somesuch nonsense, I bet you also believe that hotels stopped doing small prepackaged bottles of shampoo and cleaning the sheets nightly because they care about the environment.
Microsoft warmed to open source because THEY LOST. Their software was so inferior that they were eventually forced to admit it because they would lose money if they didn't. That's all.
Check you own biases.
> One Director always appointed and controlled by Microsoft
> Microsoft appointed Director can effectively override "any vote to materially change the Foundation’s Membership Policy, Director Election Policy, Project Governance Policy, or any Intellectual Property-related agreements or policies" [..]
> Any change to the Bylaws which attempts to change this requires not only a 2/3 vote of the Directors, but also agreement from Microsoft separate from the Microsoft appointed director.
Ha!
It is obviously not great news if the purpose of the .NET Foundation is to control this ecosystem on behalf of Microsoft. But, establishing that is better than "Let's continue to be vague and hope nobody notices that in practice that's what it's for".
† One of the things to like about the IETF is that it isn't an organisation. The Internet Society is an organisation, several related entities (e.g. the IETF Trust) are organisations, but the IETF isn't, it's just an activity - like dancing. Anybody can do it, if they want. If the people doing it start doing it differently, that can't be wrong, because that's just how they're doing it now.
Maybe this also depends on how litigious your current context of development/living/residence is.
Looking at some individuals that apparently did get into some legal stuff: it has almost always turned out fine, and when needed the EFF and FSF have been helping plenty.
If legal issues are really a thing, then a foundation isn't what we need, but just more money and people for the EFF.
My understanding is that the legal benefit of being a member project is essentially just that they run the CLA bot. If you actually get sued you're still on your own.
The .NET foundation was supposed to make C# a vendor and platform agnostic language from what I understand, giving Microsoft and others like Xamarin a seat at the table.
Beyond that, the .NET foundation would, in theory, also be able to provide resources for project maintenance (think CI hours) and events (funding for conferences/meetups etc.).
(Disclaimer: I am entirely uninvolved, this is what I recall from reading the discussions.)
AFAIK ~all of the people who work there are on the Microsoft concentration-camp-money payroll.
While competing against other companies this strategy worked as MS were larger and able to have a more complete solution. This was enabled by their huge share of desktop computing with Windows. However as the shift to Web and Mobile came, the number of platforms grew (especially outside of MS controlled ones), and the centrally planned .NET experience was breaking down. MS's centrally planned competitors threw in the towel or had gone bankrupt. Java was opened, Sun was out of business and the smaller software development offerings had long since tried to incorporate open source, or had switched to growing only through milking the existing customer base.
Microsoft saw the change coming, as well as the move to the cloud, and was able to see the cost involved with competing against open source, and started their shift to open source. The foundation is their attempt to both reduce their relative investment, by having users start taking on some of the development while controlling the core of the language. Keep in mind this was the time .Net was becomming cross platform, with linux becoming a major hosting option.
Due to these origins it has lead to the foundation being in a central position in the .Net ecosystem. As such if your library is part of the foundation, its likely to be THE standard solution in the .NET space. So the advantage you get is you get to participate, and if your project joins, it becomes the de-facto standard for .NET. That credibility is likely worth a bit for consultants and definitely paints you as an expert in that field. The downside is you cede control. I am not arguing that it is worth it for most people / projects, however I can understand why people want to be involved.
.NET has today more funding in Microsoft than ever (this is a gut feeling from seeing the things they move).
The argument Project being part of the foundation equals de-facto is not correct. I think there is zero evidence for that. It is however often the other way around, that successful projects fold into the foundation because of it being the de facto foundation and no other foundation has strong ties to .NET
This was often said in an accusatory tone by certain cloud vendors, with the implication that companies like RL wanted to have their cake and eat it too because they were trying to push for licenses that would prevent clouds from selling their OSS product as a service.
I leave it to others to decide how much that accusation was justified or not, but I do find it terribly ironic that now Microsoft is essentially faking a proper Open Source governance model for what could be considered the same end: make the product more popular through Open Source.
It is also ridiculous considering that .NET runtime development would never work with the deep pockets of Microsoft.
Is this people unfairly hating on Microsoft for being Microsoft?
Is .NET any less open source than Go or Java (or any other technology with corporate backing)?
Who said it was?
> Is this people unfairly hating on Microsoft for being Microsoft?
I don't think so, and Oracle gets pounded on for everything, including what they do with Java, too.
Google may be better with Go, or maybe people are cutting them undeserved slack. Not really relevant to the discussion of Microsoft and .NET, though, just whataboutism as a distraction.
> Is .NET any less open source than Go or Java
“open source” is not the issue; community process is the issue. That .NET is available under an open source licensing model is not a subject of any dispute.
The languages I think of as strongly community-driven: python, ruby, and javascript, are all dynamically typed, and I’m trying to stay with statically typed languages.
On the other hand as an example I have experience first hand where this stuff can matter relating to some other comments on this thread: the confusion around which JVM distribution to use is directly tied to the JVM and its different builds. That doesn't seem to be the biggest problem for people in that ecosystem, but just like this .NET foundation topic confuses people outside the ecosystem as people are cautious and don't understand the implications. (i.e. do I have to pay Oracle for support if I need to limit my liability?). If I'm choosing between two tech stacks and only one has this question mark in a time limited fashion I might choose an alternative instead.
Other languages requiring significant investment (e.g. Corporate Languages) have their issues too. The appeal of Java and the .NET platforms to me is their longevity and their seriousness in keeping it alive over the decades.
The Foundation claims independence BUT
“One Director always appointed and controlled by Microsoft”.
Thus, to me, they are lying on a basic premise about their NATURE. They become worthless by that (I mean the Foundation, not the individuals, obviously).
Anyway the issue seems to be that the messaging does not match the reality, MS needs to be transparent and very clear in this, then projects can decide if they agree with the conditions. Java world had from a long time foundations that were independent of Sun/Oracle.
I think there is still the fear of something like this happening with .net if anyone ships with a modified version or reimplements a piece to meet their own needs, at least from chatting with my developer friends over coffee.
Wouldn't then Java be already EEE by MS with their Visual J++ /J# ? You would have fragmentation in Java like you have with JavaScript APIs that can be non standard , or work differently in different browsers.
From my memory in the end Google had to pay because they really copy pasted code from the original Java source so they did not respected the license.
What's the point of putting up a foundation if it ends up being nothing more than a facade of a single corporation?
This assertion is rejected by ReedCoopsey's statement regarding the fact that Microsoft reserves its right to appoint and control a foundation's director that happens to also have the privilege of single-handedly dictating and overriding any change.
Gnome and the Gnome foundation were not involved. They're just the model he used when planning how the .NET foundation should work.
I always found peace with community driven projects
D, Zig, Odin, way more healthily and organic communities
for some people C interop is more than enough
for some people they like to integrate the said language as scripting language
for some people it's something else
i feel some people miss the point, completly
your favorite X language backed by corporate will be replaced tomorow by what ever is more shiny
look at the list of dead languages that were once backed by IBM, Apple, Microsoft etc etc etc
Community driven projects are different, they don't exist to become irrelevant depending on what management has to say
How is the Coffescript community doing by the way?