13 ms·
Nobody is seriously going to fork this and create their own port of MSBuild, possibly one of the most mocked and reviled parts of the .NET ecosystem. I do howev
by edandersen 12y ago
Nobody is seriously going to fork this and create their own port of MSBuild, possibly one of the most mocked and reviled parts of the .NET ecosystem. I do however congratulate the ground level MS staffers on the effort it likely took to convice the Risk and Legal departments that open sourcing something like this won't make their business fail. That must have been trying.
- joshstrange 12y agoWhile I agree, having access to the source of your build tool can be invaluable for debugging odd issues. So while no one will ever want to fork this they may use it as reference and/or for debugging.
- plorkyeran 12y agoI definitely look forward to being able to check the source for all the things with zero meaningful documentation beyond a few old blog posts and a book.
- joshstrange 12y agoYeah, I've never written anything in .NET but I know from experience the pain of sub-par documentation. Thankfully most of the stuff that I work with is OS so I can always dig into the code if the docs are lacking. Glad that now .NET devs who use this can do the same!
- cwyers 12y ago> Nobody is seriously going to fork this and create their own port of MSBuild, possibly one of the most mocked and reviled parts of the .NET ecosystem. You're probably right. But it does mean there's one more part of the .NET ecosystem that potentially runs on Linux and OSX, and that's probably the reasoning behind this.
- edandersen 12y agoThe reasoning is likely that there is now an internal KPI for open sourcing code because it helps MS PR.
- cwyers 12y agoI doubt that it's anything as ephemeral as "public relations" that's driving this. They want developer mindshare. Having developers writing for .NET means more software available for Windows users and for Azure services. That means more people buy Windows devices and Azure time.
- jsprogrammer 12y agoWill no doubt help realize the synergies and strategic alignments that were previously synthesized by Nadella.
- duaneb 12y agoIt's not just PR. Open sourcing brings real benefits—look at the development around LLVM. Good tooling helps everyone.
- maxlybbert 12y agoYeah; I've had to deal with MSBuild, and I've never really liked it. I have to assume that the big motivation was that they'd prefer to port MSBuild to OS X and Linux than to port MS solution files and MS project files to CMake, Automake, or some other build system.
- cwyers 12y agoI haven't gotten past the point of where I just hit Ctrl-F5 and Visual Studio builds stuff for me with MSBuild, so I am certainly no expert on it. But I never had the impression that people liked CMake or Automake either. I ask this not as a rhetorical question but as an actual one: are there build systems that aren't hated, or does everyone just hate the one they have to use the most?
- JetSpiegel 12y ago> Nobody is seriously going to fork this https://github.com/Microsoft/msbuild/network https://github.com/Microsoft/msbuild/network
- edandersen 12y agoI said "seriously".
- mynameisvlad 12y agoAt least two of those currently have branches checked out with the word "fix" in the branch name. I'd wager that the owners of those forks are using them to fix something, hence "seriously".
- akoeplinger 12y agoOne of those two is my fork and yes I did it to fix something, but edandersen's point was more geared towards a real fork (i.e. something that takes the project into a different direction) instead of the fork that GitHub requires to send a PR. I agree with him, we already have a bunch of popular .NET build tools other than MSBuild like FAKE, basing one off of MSBuild doesn't seem to add a lot of value imho.
- duaneb 12y agoI mean, it's not like people are forking gcc daily. Not all open source is valuable because of the forks.
- andrewchambers 12y agoPeople committing to gcc probably have workflows that predate github. I think there are many "forks" that are just done as fixes on a local machine then sent directly as a patch.
- 12y ago
- gavingmiller 12y agoThe value isn't in creating a new version of MSBuild. The value is in getting PR's merged into mainline. If you've ever done any CI based work, you'll know how valuable this release is! (says the ex .NET developer)
- LeonRobrotsky 12y ago> Nobody is seriously going to fork this and create their own port of MSBuild No, but at least I can try and fix any bugs I come across instead of hoping MS takes my complaint seriously.
- InclinedPlane 12y agoMsbuild is a fantastic system. But it's incredibly horribly documented so it's difficult to know how to use it correctly.
- bjnbb 12y agoWhat's wrong with MSBuild/XBuild? I just type "msbuild" (or press F5 in VS) and I get result .exe file in 0.2 second. On Linux I type "xbuild" and it's the same. You can use Visual Studio without even knowing msbuild exists. Just occasionally a pre-build or post-build script needs to be added. Makefiles, Gradle or CMake are much slower and very complicated.
- oxryly1 12y agoCrusty old GNU Make can be made to be very fast, even for large projects. It does take a bit of doing, however.
- tokenrove 12y agoMSBuild is a nightmare to debug if you end up writing even moderately complex MSBuild project files. It doesn't help that VS has a completely different implementation of MSBuild which is subtly incompatible with the command-line MSBuild. Also, setting up proper dependency tracking, so that builds are incremental, is considered an "advanced topic", and is extremely difficult to get right in the presence of various kinds of generated files in the build. In these cases, it is much, much slower than a modern build tool like ninja. MSBuild being open source is going to save countless hours of building workarounds for bugs that have been acknowledged and gone unfixed, or debugging strange problems. I'm happy to see that it's happened, but would have been much happier had it happened a year ago and saved me months of build system hell.
- MrZipf 12y agoAFAIK, VS uses the same implementation of the MSBuild engine but has some sleazy (buggy) performance optimizations. Add the property DISABLEFASTUPTODATECHECK=1 to get the same behavior. We found this allowed us to eliminate differences we saw and found hard to track down and infuriating: https://msdn.microsoft.com/en-us/library/vstudio/ms171468%28v=vs.110%29.aspx https://msdn.microsoft.com/en-us/library/vstudio/ms171468%28...
- tokenrove 12y ago
- runjake 12y ago> Nobody is seriously going to fork this and create their own port of MSBuild Except only a little project known as Mono [1] > possibly one of the most mocked and reviled parts of the .NET ecosystem News to me, people generally seem to like it. 1. https://twitter.com/migueldeicaza/status/237615174863958016 https://twitter.com/migueldeicaza/status/237615174863958016
- blawa 12y agoTypical 'let me mock this because hating on MS on HN is cool' Can you name one build system that people like, and concretely compare how its better than MSBuild, please? Once you do that, please feel free to omit the perfunctory thank you to look unbiased. Also, this would now be community developed, let me know your github handle and I'll see what contributions you made to make it better (oh wait, that would require actual work and give you 0 internet points)
- integraton 12y agoGiven the abuse and name-calling directed at another person further down in this thread posting under his real name, combined with the persistent attacks on any comment that is perceived to be in any way a criticism of Microsoft, I can't imagine why anyone would ever post under their real name around Microsoft fans. Edit: I'm just going to point out that even this comment has been downvoted https://news.ycombinator.com/item?id=9230140 https://news.ycombinator.com/item?id=9230140 I'm not sure what you guys think this kind of nasty behavior benefits you or your favorite company, or why you believe people don't notice and aren't going to do something about it.
- blawa 12y agoPlease don't divert my comment. His argument was wrong, it doesn't matter who he's mocking.
- mynameisvlad 12y agoDo you mean the guy that made fun of the company for open-sourcing their product by posting a PR that completely replaces it with another tool? He was being incredibly disrespectful and he got called out for it. If he wasn't being such a prick in the first place, maybe people wouldn't call him one.
- integraton 12y ago> If he wasn't being such a prick in the first place, maybe people wouldn't call him one. There we go. Posted straight from Redmond, no less. I'm not sure where you guys get off calling another commenter "a prick" over and over again, along with other insults, for a joke pull request, given there is a long history of people (including pretty notably respectable people) creating them. I even listed some in another comment you guys can keep downvoting (because apparently my comments are worse than personally attacking other commenters): https://news.ycombinator.com/item?id=9229987 https://news.ycombinator.com/item?id=9229987
- 72deluxe 12y agoI wonder why they revile it? I have projects that build under it on the command line for when I want to do a scripted release build and not suffer VS2010 (I use it at work, out of my hands). I haven't had any problems with it; at least it doesn't sit there and silently fail like xcodebuild does on OSX sometimes!