.NET Open Source: What Happens When the Free Lunch Ends?
aaronstannard.com
aaronstannard.com
I scanned through the comments on the blog, most of this just seems to be people being angry that they already accepted a FOSS license in good faith, as did Microsoft, and Microsoft has no current plans on switching to a fork (as there is no popular fork yet, this just happened).
People are also misreading the announcement, I think. They cannot take away ASL2 software once it is licensed as such, and they cannot make you pay for it. They can make you pay for their closed source fork of it, but they cannot make you switch to that fork.
Their announcement says that they will continue to synchronize with the open source original until late 2022, so everyone should adjust their deps to pull in the original, not the closed source fork. Everyone has until 2022 to figure out how to continue the project safely and without interference.
This seems to be a constant theme in the .NET community - or more specifically, only seems to exist within Twitter and on the topic of OSS within .NET. At this point from what I've seen this whole thing is basically a cyclic meme.
Every couple of months, sometimes seemingly out of nowhere, a spate of angry tweets with even angier replies and retweets will be posted or someone will write a long screed of a blog post.
Many of the people involved who criticise Microsoft/.NET Foundation/OSS seem to be suffering from cognitive dissonance. One moment they will say they want OSS and demand that Microsoft contribute more to OSS. The next moment, they complain that Microsoft/.NET Foundation is "damaging" OSS by... contributing to OSS?
There doesn't seem to be any sound arguments from these critics and I just don't know what will make them happy. One thing I know for sure though that as a member of the .NET community, it is absolutely exhausting seeing yet more of this entitled drama. I really feel for the .NET team because it seems that some of their users (including some of the so called Microsoft MVP's) fuel this drama.
(the viability of the Microsoft developer ecosystem, despite its' attempts to clamber onto the open source bandwagon, will continue to degrade thanks to free market economics, zero-cost-of-copy, and the fact that the FOSS community eventually fills any technology gaps that appear. Many within that ecosystem will continue to deny this, and they have a few more years -- perhaps a decade -- or so where that will be a workable strategy)
The open source .NET ecosystem - and hopefully Microsoft supporting that - does have a continued place as long as it can remain relevant to the technology audience. The .NET framework has pushed plenty of boundaries in programming language research, features and functionality, for example.
What I should have focused on is the sense that I picked up from the article that free is somehow bad, and that it's justified to punish and deride people who have a (in my view, reasonable) expectation of free and open source software. It is self-evidently true that we can and do make and distribute all kinds of free and open source software at no cost.
The tendency to belittle people for expecting zero cost appears as a result, I think, of a kind of gaslighting and stockholm syndrome where people in the ecosystem have _expected_ to have to pay large amounts for software that is in many ways no better than FOSS alternatives - especially as time continues on, resulting in convergence of defect analysis, fixes, and features in popular FOSS projects.
That's a background that skews towards corporate and first-world experiences, and it's not (I don't think) aligned with the expectations of the next few generations of developers worldwide.
What .NET and other popular technologies - proprietary or otherwise - will do for those future generations is shape their ideas and visions about what technology is capable of. And I hope everyone would want that to be as optimistic as possible.
But if a thousand people receive a free (perhaps sugar-addled) lunch from one of a few providers -- while collectively having the resources to feed each other free lunches (more sustainably, long-term) -- it doesn't seem fair to attack and blame those people for asking difficult questions about their food source. Even if they might seem entitled today, they're asking questions that will probably appear more than fair in retrospect.
(I realize these analogies don't fit perfectly, and I'm aware I'm reframing the issue, perhaps awkwardly)
With software, fortunately, it may be business critical, but it's rarely personal-health critical the way that nutrition is (unless, perhaps, we have already incorporated infrastructure too deeply into ourselves as humans).
If a market entrant wants to get an edge on existing incumbents, they will look for opportunities to operate at lower costs.
If a non-free component can be rewritten and redistributed at a lower cost, then eventually it will be, either to improve margins or by a market entrant.
This is why I expect that the article's proposition that the marketplace should expect to pay for a component will crumble over time.
is .NET paid somehow?
could it be cheaper? maybe in terms of hardware, but overall?
(you also make a very observant hint: total cost of ownership includes hardware-level resource provisioning)
[Edit] Thanks for explaining it to me. I've missed a decade of computing.
.NET is huge in enterprise. There are easily billion plus distinct lines of .NET (C# or VB) code running on companies we don't even know the name of.
Now with .NET Core, .NET Foundation and the push for open sourcing, the rate of new C# lines written per day is probably increasing even more.
C# jobs are plenty. Much more than some hyped languages around here. And it shows no sign of slowing down.
By the way, C# is no longer tightly associated with Windows for a few years already. It's common for C# code written today to empower a microservices fleet deployed over a large kubernetes infrastructure.
And yes this code is all going to be hosted in containerized Linux infrastructure. Our tests showed much better single and multi-threaded performance for our cases than many other popular frameworks across many languages we evaluated. YMMV but IMO the ecosystem has made up a lot of ground in a small space of time.
Many of the things people switched to C# for were already present in Delphi. It's a shame the Borland/Embarcadero got greedy and started pricing most of us out of the market.