Moving to Github is simply developer friendly.
Don't misunderstand me. Microsoft's products compete with open source software in the marketplace for developer mindshare and I am not suggesting that this is not a business decision. Being on Github helps the company iterate quickly rather than on the multiyear cycles that were standard when software came in a box.
Will Microsoft buy Github?
Only if Github is selling.
And there was value for Microsoft. There isn't amazing technology, there. There's a huge liability for litigation hosting just anyone's content that comes with Microsoft size pockets, and Git, being distributed would allow an angry community to set up their own Son of Github if Microsoft took control and acted improperly.
Incidentally, WiX has been on SourceForge since 2006. There's been nary a rumor of a deal there.
My impression is that GPL (or another copyleft style licence) would create incompatibilities with the business models of many of their customers. Taking contributions would also be problematic since Microsoft may wish to dogfood their opensource for proprietary products.
For better or worse many of their products incorporate licensed technology from other companies under terms incompatible with GPL. So GPL's strong terms don't seem a viable and reasoned alternative.
GPL might be seen as a strong option for companies whose business is built around dual licensing their technology and when all that technology was built in house or licenced under different less stringent terms.
Pretty funny, considering how much RMS dislikes SAAS.
The GPL isn't really about sharing source code; that's just a means to an end. The GPL is about being able to exercise complete control over - and having complete knowledge of - all the software that you use. To an approximation, SAAS is about the opposite of that.
Everyone is selling, for the right number of billions.
"We are excited about this new stage, because we are better positioned to ..."
Really? So they release the source to a few of their developer frameworks and tools, and they're now "all open"?
Don't get me wrong, as a long time C# developer I do appreciate the gesture and I'm especially happy that they're working their "not invented here" mentality, but with simply providing us with the source code that we already have anyway (via ilspy), all of this just seems over-inflated to me.
Let me compile Visual Studio, and I'll be their biggest cheerleader; or IIS, IE... and I'll promise to stop dressing as one.
On buying Github, though? That could be the final 'E' of their strategy.
This is big because Microsoft is truly embracing an open source development model. They've opened most of the .NET platform up to the whole shebang - pull requests, copying code into other projects, forking, all that good stuff.
Fair enough.
MS moves to open source parts? People Bitch.
Can't win...
It is a response to its parent comment which strongly suggests the attitude reflects a sudden and nefarious change in Microsoft's behaviour.
You know, the point of open-source being that everyone should be able to contribute and all that.
Microsoft has caught on to that, hence the move.
Lets for arguments sake accept your statement as fact. If that is a fact, is that inherently a bad thing?
If I use a piece of software, open-source or not, will I or will I not benefit from that software somehow obtaining better test-coverage? Ofcourse I will.
If that software is important to me, being able to contribute with tests or other "boring" or "light" material means that the core team can focus on further development. And I honestly don't have a problem with that.
One of the most important aspects of Microsoft's success is network effect. People use Windows and Office because other people use Windows and Office.
But network effect also works on the development/platform side. Devs write apps in the technologies they know and are comfortable with, and those tend to be the technologies they've used for personal or work projects. Today, far fewer of the top tier (even the top 50% really) of developers are using Microsoft technologies, or are even familiar with them. The "cool kids" code in Ruby or Python or Scala or Golang, or mobile specific languages. If they want to get things done to pay the bills they might fall back on java or PHP. But the idea of using C#, .NET, or coding Windows Apps? Far fewer devs under 30 are doing that than they were 10 or 20 years ago.
With fewer devs coding on your platform that means there will be fewer apps, especially the most desired ones, and eventually that will impact the user base as well and weaken the entire business. The era where nobody cares whether a computer runs windows is on the horizon today, even though it may be many years away. If you look at the big apps and systems from the last 5 years you see that a lot of them are either web based or mobile (specifically android/iOS as well).
Microsoft used to understand this and it was a major reason why they invested in Visual Studio for all those years when it was unprofitable. But they've had a period of unrivaled market dominance which has only recently been challenged, so they lost their way for a while.
Catering to devs is how you maintain market relevancy with your platform, which is something Microsoft desperately needs.
Additionally, improving the relationship with the dev community and attracting more devs to your platform makes hiring easier (especially hiring talented folks). It's almost impossible to objectively quantify the benefit of that but it's an enormous factor. Microsoft has been bleeding talent for years and has been starved of a lot of talent for a long time because they were perceived as being old and boring and requiring a completely different set of proficiencies to work there. If Microsoft wanted to they could turn that around and start paving a road back to relevancy in the dev community again.
Except I'm not sure MS is still betting on Windows apps, and they're not making money off of .NET either. Of course, it's very prestigious to have your own dev tools/platform/language and all the big kids have them, but none of them are making money.
TFS is available online under the name Visual Studio Online (a web only offering), with first class integration with Azure.
Development is done there first, and then later, every now and then, a on premises release is available that organizations can install on their server.
And the last updates have had significant features available only through the TFS web-portal. They were not made available via the Windows-components, like the intergrations for Visual Studio on the desktop. If you wanted the improved features you had to go the web-portal.
I'm starting to question whether Microsoft themselves see any value in developing a Windows-parallel to what is already a good enough web-solution. And if they can't be bothered, why should anyone else?
Microsoft's also making plenty of money off .NET! Dev tools alone is a billion dollar business for them. The ecosystem around SharePoint alone (which sucks!) is larger than that of every tech on the HN homepage right now.
Spend five minutes in Visual Studio and it's clear that this is a massive ongoing engineering investment. I do an enormous amount of cross-platform development -- Mac, iOS, Linux, embedded systems -- and frankly everything else is caveman tools by comparison.
(I wasn't who downvoted you, BTW)
I'm sure it's great, and if I put more effort into it I might get something to work. But it is a real barrier: Why should I jump to C# if it isn't actually any more convenient?
There are some great cross-platform developments in the pipeline that should allow you to have a native Linux experience approaching VS the future, but you really should use VS if you want the best experience with C#/.NET today. DreamSpark will give you access to free licenses of Windows and VS (and other Microsoft software), that you can install in a free VM host like VirtualBox, so don't let the perceived costs of using VS deter you.
I can't remember if DreamSpark comes with any Azure credits. If it does come with the $150/mo credit that most MSDN subscriptions do, you can use that to run a Windows/VS VM in Azure and just RDP to that. They have templates prebuilt so you can spin up a new VM with Windows and Visual Studio already installed with one click. That's a great way to get up and running very quickly: http://blogs.msdn.com/b/visualstudioalm/archive/2014/06/04/v...
My email's in my profile here. Feel free to get in touch if I can help with anything.
But it was a blessing in disguise really as it made me look into other pastures like Node & Laravel.
http://blog.javascripting.com/2014/07/28/fastest-growing-new...
I also really like how .NET has first-rate libraries for the Azure ecosystem. It really makes doing some very technically difficult/interesting things easy on Azure.
As for others, I work with 2 developers who have made the jump from Java/JavaScript to working in C#/.NET because it is just a plain-old better experience.
As for relevancy and devs, C# is huge in enterprise, as I'm sure you know. I don't think they're really fighting to maintain relevancy there, and I would suggest that since the advent of MVC and Azure, they are growing in relevancy in the SaaS space.
Mid 30's here. I work mostly on C++ but I have to jump into C# code once in a while. I agree that C# is a very productive language and I love how it never gets in your way ("Do you say you don't want to use a common interface for your generics? Use dynamic!").
My only "complaint" is that C# is so indulgent that it gets boring at times, which might actually be a feature.
I was a little circumspect because the usual response to any suggestion that a lack of generics might be some kind of problem is - generally - not positive.
But my point is merely that C# has this thing, and Go doesn't. If I knew enough about Go to say instead that it lacks something else that C# has, I'd have done that...
Doesn't that just mean Azure has horrible APIs that are impossible to work with without the 'magic tooling'?
Part of my own reasons for moving away from C# and much more into the node ecosystem has been in terms of licensing and avoiding lock in. Now that MS is going a much more open route, I'm willing to actually consider some pieces in that direction again.
VS can be very nice to work with, my single largest issue has been how systems have been designed with it, far above and beyond issues with the underlying platforms or the language. The tooling is very nice. However my experiences with "Enterprise" projects leaves a bitter taste in my mouth.
More often than not, I've seen "Enterprise" (quotes intentional) projects that seem to add complexity for its' own sake. Writing code that is unit tested in Java or C# are just plain painful compared to say JS/node. I find that comes down to differences between a static platform and a dynamic one though.
I think MS is rightly pushing for greater Azure deployment of server-side applications. The desktop is dying for most people, and mobile is not going away. By opening the tools, and providing better integration, they allow for a transparent deployment to Azure which is a rented platform which will receive more consistent revenue. It's simply good business.
Image.
Microsoft's message has been it's a one-stop-shop for your IT needs, as opposed to the general open-source ecosystem where everything has a different vendor (if at all). This, and the difficulty of moving to other platforms/vendors/tools was the core of its vendor lock-in power. In the 80's and most of the 90's, I went full Microsoft, from runtime to database to developer tools, because everything worked so well together.
Microsoft has been changing, of course, but if not even Microsoft uses Microsoft products, why should companies use them?
With this, again, we see the tacit admission a product or service built on top of free software is somehow better than the technologies Microsoft sells.
You'd be surprised how effective that can be...
http://www.reuters.com/article/2013/12/20/us-usa-security-rs...
And it's also true that James Clapper didn't lie, he simply misspoke.
http://www.cbsnews.com/news/james-clapper-says-he-misspoke-d...
"It has been very disappointing to have my integrity questioned because of a mistake,"
Did it hurt your feelings as much as mine that they questioned his integrity in such an insulting and unpatriotic way? People who would do such a thing are the real terrorists.
How easy is it to pick up your bugs and leave?
People have seen experienced .net devs picking up in a wide assortment of communities. Some interpret this as mind flight, or it might just be that the .net ecosystem has made some wise choices that enable devs raised in the ecosystem to not feel their world has silo walls. It's less "no, this" and more "yes, and."
Sure, I have fond memories of the days when trendy developers would see me using a ThinkPad instead of a MacBook and ask, "Mike, when are you going to move away from the dark side?"
Not so much any more. People I talk with seem reasonably impressed with the way Microsoft has been open sourcing .NET and other projects, making Visual Studio Professional free (as in beer), etc.
Now Oracle, that's a different story. We all still love to hate them!
- Limiting what compeditor apps are 'up to the standard' for their app store
- Giving their own code and apps special access and APIs that no competitors can have
- Charging competitors for the use of their store
- Ranking of store apps in the favor of Apple code
More importantly the controlling of the ecosystem allows networking effects and developer effects to win Apple money and market share.
My gut reaction to a ThinkPad will likely be better than to an MBP, simply because there's a higher chance it runs something other than OSX and Windows.
But over the past few years Microsoft has made huge strides, especially the work the two Scotts have put in. Huge amounts of source code open source, their PAAS running all sorts of OSes in VMs, etc.
It isn't the late 90s any more, those that look askance at Microsoft these days seem rather old fashioned given the new shenanigans that are going on.