← Back to context

Comment by JohnBooty

11 years ago

Having followed a fair number of MS bloggers/podcasts currently in and around their web tools (ASP.NET, MVC, etc) teams... I honestly believe they understand the value of open source.

Visual Studio and their MVC framework continue to impress me (I mostly work in Ruby today, but have to maintain some .NET stuff) and MS takes inspiration from successful open-source tools and frameworks where needed. Many of their recent advancements over the last 3-4 years have clearly been the work of engineers who enjoy and value the best of the open source world.

I'm not trying to tell you that Microsoft is suddenly our warm, fuzzy friend. As even Scott Hanselman would gladly admit, they're ultimately trying to sell you software licenses or Azure services.

But it seems to me that they're using open source the right way in order to achieve that goal, as opposed to the bad old "embrace and extend / embrace and extinguish" days at Microsoft.

Whether or not Microsoft has earned another shot with us or not is definitely up for debate, and with all the cool shit happening in the open source world it's probably even a moot point to an extent.

But they're definitely doing more than cargo-culting in Redmond these days.

I think one would be exceedingly foolish not to exercise the very greatest of caution. This is Microsoft we're talking about - they have a track record of profound fuckery.

But I do indeed think this is better than not having happened.

  • Yeah, I think that's totally fair to say.

    I wouldn't place bets on any strategy that relied on Microsoft not closing the doors again at some point in the future, on future versions of their development stack.

    Like you said, though, this is better than not having happened.

    • I don't see why they would. This has been an obvious move for a long time, keeping it closed never really made any sense to me. They gained nothing from .Net being closed except hate and utter avoidance from people like me (vocal early adopters.)

      MS doesn't really make money off C# or .Net directly, they make money off the windows licenses you need to run the resulting code.

      Open C#/.Net = stronger, longer lasting community / free improvements = more users = more licenses.

      It also has other side effects like fostering [more] open source frameworks/plugins for their platform, which again, strengthens their position.

      19 replies →

  • And IBM were saints in the 60's and 70's.

    I know a lot of people who went to work for MS after the .com crash in the 2000's. All of them went in with the attitude that MS needed to get religion on standards and open source. Seems to me that some of this is paying dividends now.

  • > This is Microsoft we're talking about - they have a track record of profound fuckery.

    They have a bad track-record, but not in terms of "this team" (known as Devdiv). They might have gotten all uppity about IE, Windows or what-have-you - but the .Net team had a relatively quick epiphany about open source. Look at Mono.

    Java is always touted as a "more open" platform, Microsoft-haters have no issue spewing falsity that the Microsoft encumbrance is a big risk - however, so far as the framework track-record goes, Microsoft has a "community promise", an ECMA spec and has given Mono unit tests for Moonlight; Sun/Oracle has a track record of aggressively pursuing copyright (the recent spat with Google/AOSP).

    I'm not saying that Java sucks, or that people shouldn't use it. I'm just saying that a lot of people need to have a hard look at how much time they spend trying to mud the name of a company trying to make a turn. These opinions are antique.

    It may change in the future given new governance in those corporates (just as the e.g. Java, NodeJS situation may change), but as of now and as far as .Net FX goes: Microsoft is likely one of the best living examples of how things should be done.

  • >This is Microsoft we're talking about - they have a track record of profound fuckery.

    Any examples? Besides "bundling IE with the OS and pressuring some OEM vendors back in the nineties"?

I think you have to define "they" here when you say "they understand the value of open source."

There are a lot of people at Microsoft who really do understand the value of open source. When I worked there ten years ago, there were plenty who did. When I wrote interop papers as an outside consultant in 2007, I worked with a unit that did.

But Microsoft also has a bunch of real problems that make it hard for them to realize this value, and so their options in going into it are somewhat limited. They can't pivot and become a services company because their whole Microsoft Partner network would be turned upside down. So they enter services in some key areas where their partners can't. It's a very delicate process, and it means for many on the administration side, the value of open source software for Microsoft is not as high as it would be for some other firms.

Nonetheless this is huge. Open sourcing the VB.net/C# compiler effectively means the possibility of an Linux port, which means that .net has the possibility to become write once, run anywhere even if the whole class libraries are not open sourced yet. This is a gamble for Microsoft because it reduces the barriers to moving from Windows to other platforms (Linux, OSX, BSD, etc).

  • Outside of my 9-5 work, I've probably deployed nearly as much C# code (via Mono) under Linux as I have under Windows. In a few ways it's been very nice, in others a bit frustrating. I think that if MS Dev-Div buys out Xamarin, we'll see where things are really headed here. It will either be a new era of OSS tools from MS, or back to the old "kill it for cross platform in v.Next" ...

    I'm hoping that the tooling and integration gets a lot better in *nix, but nod sure how the Mono license (MIT iirc) and this new C# license (Apache) will jive together.

    Personally, most of my new dev for the past couple years has been in node.js (which has its' own niceties and quirks).

    • > I'm hoping that the tooling and integration gets a lot better in *nix, but nod sure how the Mono license (MIT iirc) and this new C# license (Apache) will jive together.

      The MIT license is a lot more permissive than the Apache license. However I see no reason that you can't have different components under each license which work together harmoniously. If nothing else, the MIT license can be easily changed without consulting other contributors because of the sublicensing grant.

  • It's obvious to me that they see their future as providing an integrated toolset between development and the cloud. They want to build tools that let you push code direct to Azure, and they're becoming more agnostic about whether or not that is a microsoft stack code or other code.

    They renamed it from Windows Azure to Microsoft Azure to remove the windows connotaiton - specifically mentioning that 15% of all Azure deployments are Linux OS. So I would say that this is where they see the future, although there are still some very byzantine sales processes to go through to buy enterprise azure, because of the existence of the partner network. In that sense, they're almost like the car manufacturers forcing you to buy through a dealer for their direct-to-consumer products.

Well, I'd like to see Visual Studio for Linux with support for Java, Scala, Clojure, Haskell and other non-Microsoft technologies. That's my wishlist in this bright new era of Microsoft openness.

I don't like Microsoft but Visual Studio is the only IDE I've ever tried that is substantially better than gedit/jedit. The auto-completion (intellisense) is just delightful to use.

  • Is Visual Studio auto-complete significantly different from IntelliJ or Eclipse? There are many great editors an the continium between gedit and Visual Studio, such as Sublime, hell even vim and emacs have autocomplete plugins.

    • Microsoft does great work in researching static code analysis, I only remember their auto-complete ten years ago for C++ code and it was miles ahead of anything else. It pops up in just the right moment and it just feels like a genuine "code assistant" instead of just an auto-complete. Unfortunately I don't really trust MS with developing great OSX software (see MS Office for Mac) so I'm not sure I'd want Visual Studio. But if they could pull of a proper port, it would be awesome.

      9 replies →

    • It's fuzzy and instant. If you type "flow" it will treat it as if you searched for "stream". You don't need to know what things are named. You just search for what you think it may be and 9 times out of 10 intellisense will find what you're looking for. It's like having Google doing autocomplete for you.

    • I can't speak for IntelliJ (can never get the damn thing configured correctly), but Eclipse's autocomplete leaves a lot to be desired. This may be configurable, but my experience has been that it's finicky about when it will trigger.

      I appreciate Eclipse's openness (and I tend to work with open source languages), but I must admit that purely examining the quality of the tool, Visual Studio is leagues ahead.

      2 replies →

  • I'd rather see C# across the board and write once run anywhere (eg release a linux distro with .net support built in).

  • > Well, I'd like to see Visual Studio for Linux with support for Java, Scala, Clojure, Haskell and other non-Microsoft technologies.

    Which is exactly what you can now create using the Roslyn technology that is now open sourced. Add these languages and they will get all the fancy support that Visual Studio provides, like (remote) debugging and code completion.

Perhaps the lieutenants and the rank and file are less afraid of having a chair thrown at them nowadays followed by a firing. And given that the new CEO is from the Azure team it seems like he should know the value of this kind of step.

I mostly feel sympathetic to the engineers working there. It's no fun living under an embarassing dictator.

There's a reason why Visual Studio continues to impress you.

I once saw a presentation of the Visual Studio lead in Belgium, where he claimed that there were over 1200 people involved in the Visual Studio project.

If that's true, i don't think there is any IDE that can top that number and it explains why Visual Studio is the best tool for (almost any) job.

People should realize that Visual Studio is not solely C#, it's NodeJS, PHP, Mono, Python and so much more in one environment.

Any developer worth his/her salt understands the value of open source these days. Keep in mind that these engineers don't actually run the business.

I don't know, I see this as a good sign but for me it's still "too little too late". At least release it under a copyleft license, make it usable with previous versions of Visual Studio (it only works with 2013) and I'll feel more confident that you aren't setting a trap.

Non-copyleft licenses can easily align with the "embrace, extend, extinguish" strategy. The value of .NET for most developers is closely associated with Visual Studio. They can make the next version closed source and have Visual Studio only accept that one and we are back to the same old Microsoft. Sure, you'd still have the previous open source version, but who cares when most people will probably just move on to the next.

  • > Non-copyleft licenses can easily align with the "embrace, extend, extinguish" strategy.

    What? I would think if anything giving everyone else a crippled license while retaining copyright etc yourself that would be an even bigger setup for a EEE.

    Remember, MS can do w h a t e v e r they want with that code anyway it is not lke they'd be bound by a copyleft on their own code.

    (Unless they also started accepting patches without copyright assignment I guess.)

    • Exactly. There's a reason why more restrictive licenses are more conducive to dual licensing models than less restrictive ones.

      A non-copyleft license effectively means that Microsoft, should they try EEE, has to compete not only with free as in beer and free as in freedom, they also have to compete with all the closed source competition they are subsidizing in this effort.

      If you believe that more competition is good, the less restrictions on the code from a big vendor, the better.

      3 replies →

    • Well, I was surely thinking about the option without copyright assignment. Everybody giving assignment to Microsoft? Yeah, that's a bigger and much more obvious trap.

      I don't understand what was so upsetting about my previous comment thatgot so many downvotes. Microsoft has a history of being hostile to FOSS. I will agree that they have changed their attitude when they make a serious effort to assure us that there aren't potential traps in this move. Otherwise I'll say thanks but no thanks.

      2 replies →