We are moving the Roslyn code to GitHub
blogs.msdn.com
blogs.msdn.com
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.
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.
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.
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."
It's probably a safe bet that CodePlex's days are numbered. Which is kind of a shame. It was definitely heavily lacking but I can't help but think that some more competition in the space would be a good thing.
I like their revenue model, but because of the existence of JIRA and Stash, Atlassian are refusing/reluctant to improve the issue tracker in Bitbucket. For example, I can't manage releases, create epic(?) issues, and a few other things.
That's all well, but the problem's that getting a JIRA license gives you the ability to manage your issues at a more granular level, until you realise that you also need Stash to create epic(?) issues. I got into JIRA for a few months, and was disappointed by it. I've been considering moving some of my private repos to GitHub.
JIRA itself is highly configurable out of the box and most aspects of the tool can be configured however you like. If you want a record ("issue type") called "Epic" it is easy to configure JIRA to have it. It is also easy - for some definition of easy! - to customise the data you collect for these records ("fields"), when that data is displayed ("screens"), and the lifecycle through which it will progress ("workflow").
However!
Most people want to use Epics as part of an Agile methodology, and Atlassian provides a batteries-included solution called "JIRA Agile". If you saw an 'activate to enable Epics' button it was almost certainly for JIRA Agile (previously GreenHopper) though I don't recall seeing this button myself. JIRA Agile is nice for many reasons, even for people who don't follow an Agile methodology, IMO primarily because it provides a simpler user experience for many people - most installations I've seen have it.
Stash itself is a fairly well targeted piece of software. It manages git repositories, and provides tools to help with that and integrate with external systems. Provisioning projects->repositories->branches and the permissions around them, pull requests, forks, hooks, automations, and integrations. It's also fairly easy to extend with add-ons from the marketplace or that you have written yourself.
The integration between Stash and JIRA is good, but is not much more than showing branches, pull requests, and commits that a JIRA issue has been referenced in.
Hope that helps
There are some reasons, in my opinion:
* Zero friction to start publishing (in case you suddenly want to)
* Zero friction to start collaborating
* Off-site backup
* A kind of self-discipline boost and desire to make your thing publish-ready
(get your README, license, packaging in order, organize stuff nicely,
observe practices good repositories out there employ. This one could be
just me, though, and I suppose it somewhat decreases for private repositories)
* Built-in issue management (might be relevant even for personal projects)
* Nicer GUI to view the repository structureMy two cents on this are that I always try to outsource any internal services to reduce maintenance time. For example
1. Own git repository will need backup and server configuration to be accessed from all machines that I own, which means I will need to spend time on security.
2. Own GitLab instance will mean 1 + system resources ( GitLab actually uses more than I would like to spare )
3. If I need to benefit hooks and pretty UI I would also need to do 1 + 2 + writing README files and integrate with different CI services.
What I figured out is that there are 1 and 2 outsourced and free ( bitbucket ), so I would not bother doing this on my own.
Later on I wanted to track what repositories I had on that machine and get some stats. I found out about GitLab so I decided to take a spin. Two months after the install I found out I was hacked, because of gitlab-shell binary that I didn't patch :(.
Then I decided not to mess with this if I can use it for free.
:)
Anyway thanks for your comment. I think people that think GitHub is "magic" should run their own repo to see actually where "Git" ends and "Hub" starts.
At my current job we're using a "ship it" label on GitHub to track this, I really don't understand why GitHub still cannot track this in a native way.
With the unlimited private repos my mind went crazy, now I version control my "/etc" and every shell script I create. I even don't open the bitbucket website that often. I do everything from the terminal.
1: https://github.com/github/hub 2: https://bitbucket.org/zhemao/bitbucket-cli
(note: I'm a GitLab employee)
[1] http://www.visualstudio.com/en-us/products/what-is-visual-st...
The reason you see more Github repos without documentation is because writing documentation is "boring" work, and mostly bigger organizations can afford the staff to write and maintain documentation.
And most codeplex repos were Microsoft's own, where they had an interest in keeping their stuff documented. On Github anyone can (and does!) open a repo.
So missing documentation has nothing to do with Github itself as much as the users and organizations it primarely attracts.
The F# Open Edition repo targets Linux/Mac/Mono explicitly. Compared to the Visual F# repo, it's quite close, but has a handful of tweaks to account for mono/xplat, plus has a bunch of xplat packaging capabilities.
Before the VF# repo opened for business earlier this year, Open Edition was maintained based on the per-release F# code drops that constituted the old open source strategy for F#.
Anyways, Visual F# (i.e. owned by MSFT, targeting windows/VS) is now at https://github.com/microsoft/visualfsharp. There is even a [doc](https://github.com/Microsoft/visualfsharp/wiki/Code-Flow-to-...) explaining how the code flows to Open Edition from there.
Works perfectly fine for me and since they're both Git based there's no extra learning curves for either of them.
I use them in the same way, but I can't help but feeling that I am taking advantage of Bitbucket and not giving anything in return, regardless of being good guy Bitbucket.
I am just a bit jealous about the weather down there ;)
GitHub, as far as I have been able to determine, only supports a flat list sorted by last update.
This is annoying when a developer has a lot of repositories. I'll come across something useful in one of my areas of interest from a given developer, and then want to look at their other repositories to see if they have anything else in that area of interest. In a sane design, all of their repositories in that area would be organized under a folder, and this would be easy.
BitBucket seems to have the same limitation.
It's more of an enterprise solution though, so BitBucket is probably more comparable.
Must feel satisfying....
Edit: Ok, not straight out of college. No less satisfying though.
"I was still working full time at Powerset on July 1, 2008 when we learned that Powerset had just been acquired by Microsoft for around $100 million. This was interesting timing. With the acquisition, I was going to be faced with a choice sooner than I had anticipated. I could either sign on as a Microsoft employee or quit and go GitHub full time. At 29 years old..."
http://tom.preston-werner.com/2008/10/18/how-i-turned-down-3...
Are all these happening because Satya Nadella is trying to steer MS in new direction?
I'm not saying Scott is responsible, just that many people have been suggesting it for a long long time.
I saw a job today asking for TFS skills. THAT is a dying product...
[1] http://www.hanselman.com/blog/ExampleHowToContributeAPatchTo...
Which they now will be using Github for? Oh. That's definitely interesting.
Just like TFS, and I have seen many Java teams moving in, ditching various expensive products from IBM, HP etc. Team sizes or focus in HN might be different so TFS might be seen as dying, but it's not the case in the field.
Microsoft has a heap of products and platforms not once mentioned on HN, but which are humongous in the organizations which decides to adapt them: Sharepoint, BizTalk, etc.
But TFS has always been "the" corner-stone for optimal development in the Microsoft-world, when developing according to Microsoft agile/solutions-framework (MSF, etc).
When Microsoft's own SDK teams dismiss their own development tools and platforms like TFS and Codeplex for competing platforms, like Git & Github, it definitely sends out mixed signals.
Anyway you see it, Linus Thorvalds must be pretty happy now. Not only are Microsoft providing tools and source to the Linux-world, they are now also using his tools to develop their own platform.
How things have changed, eh?
For a while those forces have struggled to have their voices heard but now they have a bit more cohesion and momentum on their side so you're seeing more of these things.
To me, it doesn't feel like a natural evolution at all, in fact it feels more like a sign that MS is embracing the open source community. So they can focus their energy on what's important, developing their software and maintaining good connection with the developer community.
Yes, precisely. I'm not sure how you didn't get that out of what I said, but that's what was meant.
To me, these are signals of a good administration. This company is changing to keep growing, and I believe it is working. It's not the same Microsoft we knew a decade ago.
This avalanche of pro-community news out of MS since Nadella took over is about MS rebranding itself, particularly with younger people who (incorrectly or otherwise) believe that MS technologies are "greying". They can no longer take their market dominance for granted. I think it's probably too late and doubt whether they can change the perception of MS as an overall closed ecosystem.
It would probably be very interesting for customers thinking about migrating from TFS to Git themselves.
This is about open source hosting which, to be quite honest, GitHub does better, and is where users expect our open source to be.
Github just hosts git repositories. You can use git and not host on Github.
They were using git, but hosting the repository on CodePlex.
But they were using a different tool internally.
[1] http://blogs.msdn.com/b/visualstudioalm/archive/2013/08/20/t...
But seemingly less and less so, especially in the SDK-teams. Which is definitely interesting.
If Microsoft's own SDK-developers don't want to use Microsoft's own source-control and ALM-system, but rather prefers Github, what signals does that send? I would sayed mixed at best.
GitHub does a great job hosting open source projects. TFS doesn't. I don't think this is a mixed message, we're using the right git hosting service for the job.
The developer division (DevDiv) currently mostly uses TFVC. For the open source projects this doesn't make a lot of sense though, which is why most these are moving to git.
Of course, we're a big company so you'll also find Mercurial and SVN, especially in MSR. I really hope that you don't find SourceSafe anymore though :-)
And I'm sure when things started going wrong SUN had plenty of money too. Money buys you time. It doesn't buy you survival.
.NET Compiler Platform ("Roslyn") is moving to GitHub
The current one makes it seem that MSDN is moving to GitHub (wouldn't that be a sight? :-)
LINUS INFILTRATES
Hilarious! Did someone call GitHub "social"?