
Open-Source and .NET – It's Not Picking Up - daigoba66
http://code972.com/blog/2016/01/93-open-source-and-net-its-not-picking-up
======
ant512
Microsoft spent years telling people that OSS == communism and that OSS was
stealing their IP.

I imagine that the MS developers who believed the FUD have a hard time
accepting that going open-source won't cause Ghost Stalin to appear and steal
their children because it contradicts what MS told them for all those years.
For the same reason, existing OSS developers have a hard time accepting that
MS has suddenly stopped trying to undermine their legitimacy or squash them
with dubious lawsuits.

Honestly, what did MS expect?

~~~
anonbanker
Despite the kindler, gentler Nadella in charge, Ballmer's damage will never be
undone.

Microsoft, while (maybe even genuinely) trying to embrace free software and
open collaboration, has still tried to cling to their now-lost ability to
dictate direction and standards. You can't have that cake if you want to eat
it too. Either developers refuse to use free software outright due to
political biases, or they use and don't contribute, because they've never
learned how to be good neighbors in the free software community.

~~~
EvanPlaice
I wouldn't consider Nadella as 'kinder, gentler' so much as opportunistic.

The MS licensing model doesn't scale when it comes to server-side development.
Managing 100 licenses requires a lot of unnecessary overhead and cost. At
Google scale (100k+ servers) it's not worth the effort.

MS is embracing OSS simply because they're doubling down on Azure. It's _hard_
to sell desktop software under a subscription model. whereas it's much easier
and potentially more profitsble to sell services under a subscription model.

Sharepoint proved to be an early success but talented devs (ie the ones needed
to drive the future of the MS ecosystem) need more power and flexibility.

The only standard they're aggressively trying to push is Typescript and that's
only because the vast majority of the devs in the MS ecosystem can't think
outside of the OOP box or work effectively without a dedicated IDE like Visual
Studio or Webstorm.

It's kind of sad seeing OOP design patterns (ex factory, singleton) being used
in Javascript where they're completely unnecessary. If that's what it takes to
get .NET devs to quit bitching about 'what a horrible language' JS is, so be
it.

------
EvanPlaice
My first OSS project was SharpPcap/Packet.NET.

SharpPcap is a C# wraper for winpcap/libpcap. Packet.NET is the parser library
used read/write the various protocols from/to raw binary.

I decided to become a contributor when the library saved my ass on a project.
Anybody who has tried to do networking below the transport layer in Windows
has probably discovered the hard way that it's not possible. Windows
intentionally uses a crippled networking stack for 'security reasons' because
script kiddies could use it to spoof their source address. WinPcap's driver is
the magic key to unlock the rest of the stack.

Anyway, before I digress further. Developing an OSS project that targets C#
sucks for the following reasons.

Git at the time was ridiculously difficult so most projects targeted SVN,
which isn't great for decentralized usage.

Git support in Windows has improved dramaticaly but there will always be
'gotchas' like inconsistent line separators and issues with path separator
chars. All of which requiring coaching/training contributors on how to resolve
these issues before their code can be merged.

In most cases, the well known OSS 'rockstars' in the .NET ecosystem like
ScottGU are employees of Microsoft or somehow deeply connected to the MSMVP
ecosystem. They're were basically just Microsoft's version of the 20% time
programmers who were given a longer leash to encourage other OSS devs to
'follow their lead' and produce free shit for the MS ecosystem.

If you aren't part of the MVP ecosystem, your project was basically invisible.
Your best bet is to post in-depth tutorials ln CodeProject and hope somebosy
takes notice enough to write about it elsewhere.

Most .NET users are just that, users. They leech, ask for help, request
features, and contribute nothing. It's not clear whether it's because they
won't or if it's because they can't. It's just the culture of the community.

There was always a looming spectre that what you're doing is illegal. Sure
.NET is an 'open' standard because it's an ECMA standard. Except, MS has an
ace in the hole otherwise known as patent protection. We're talking about one
of the most aggressively adversarial monopolistic powers in the world whose
CEO openly called GPL 'a cancer of the developer ecosystem'. Their answer to
the OSS community came in the form of releasing a 'covenant not to sue', for
now...

\-------

Most of these issues have gotten better over time.

There's still way too much hero worship of MS MVPs but that won't change as
long as MS is making a killing from their certification mill and free
grassroots marketing.

Microsoft still practices 'embrace and extinguish' they just do it in the OSS
ecosystem now. Just look at how they've treated the MonoDevelop project.
Miguel de Icaza should be given a frickin medal for bringing .NET to the _nix
ecosystem back when MS was still making threats of litigation over the project
's 'illegal' nature.

Instead, more than a decade after Mono first began .NET support in _nix is
acknowledged. Microsoft _finally_ releases a _nix compatible version of Visual
Studio; announcing the event with great fanfare to the MS certified developer
ecosystem as if they were the first to come up with the idea. Meanwhile Mono
gets brushed under the carpet as some unfortunate past mishap.

The biggest problem with developing OSS in windows is...

The CLI suuucks. I wholeheartedly mean it when I say that it should have been
taken out back and shot a long time ago.

MS had a great opportunity to fix it but instead they released Powershell. Yet
another MS-specific 'snowflake' language dressed up as a developer tool.

Attempts have been made to provide a first-class package management tool but
-- from what I've read -- they're poor wuality and cause more problems than
they solve. NuGet boasts 50k packages but I'm willing to bet the vast majority
of those are front-end JS libs, not actual .NET libs.

I don't do much OSS development in Windows these days but when I do, I usually
start in _nix first and adapt the code to Windows last.

Writing OSS in Windows feels too much like being an unpaid, underappreciated,
intern for MS.

------
spdustin
As one of the first SharePoint MSMVPs (there were two of us for SharePoint
Team Services) I watched what was once a meaningful "place at the table" \-
where MVPs could evangelize for the users in the communities they served -
devolve to a place at the bar. As in, a literal bar, because to stay an MVP it
sure seemed like you had a lot of parties to go to so you could make the right
person laugh at the right time.

I ran the largest online community for SharePoint users at the time, and was
awarded because of that. I think 7 years total? Maybe 8? I spoke at an
internal sales conference (TechReady, where it was suggested I cover up the
glowing apple logo on my laptop, and I made anti-FrontPage jokes - that were,
incidentally, approved by PMs in the FrontPage team!), and was asked for input
on several features. Later, my community outreach was deemed less important,
because I wasn't contributing to the official newsgroups. The input MVPs gave
came too late in the cycle to have any effect. I wasn't the type to enjoy pub
crawls, so the networking that became a de facto requirement to continued
participation was out of my reach. The program grew to include people whose
only motivation to join the ranks of MSMVPs was to get early access to
software and to curry favor with some PMs or RDs. Several of us started to see
it becoming a "good ol' boys club", and we knew our days were numbered.

Another former MSMVP (who also didn't play the reindeer games, as we called
it) is now my business partner. We both occasionally miss the camaraderie of
the summits, the opportunity to (we naively thought) influence the direction
of SharePoint, and the relevance that the little blue and silver badge had.
MSMVPs (at least in our product) were once seen as leaders and ombudsmen
simultaneously, and now they're seen primarily as a way to score free drinks
at a conference. We miss the olden days, and wish for the program to mean what
it was supposed to mean.

I never really wrote all that out before, never really came to terms with the
loss I experienced when I found out that I wasn't renewed. It didn't diminish
my evangelism for SharePoint (we still train and consult), but part of me
wonders if my pragmatism, my willingness to be brutally honest when SharePoint
didn't make sense, and my quiet protest at being asked to focus on MS-official
communities contributed to that. Not wonder, actually. That's not the right
word. I'm pretty sure all those things contributed to it.

I guess I wonder if there was anything I could've done to effect change in the
MSMVP program, to make it something where our opinions actually mattered. I'm
not bitter about it. I was, but I got over that in a hurry. Now, I'm just sad.
It could've been so much more.

Edit: meant to be a reply to Evan's comment, sorry about that.

