Microsoft Releases ASP.NET MVC Under the Apache License
mikejuk writes "Microsoft has announced that they are being even more open with their new approach to ASP.NET MVC. It is making ASP.NET MVC, Web API, and Razor open source under an Apache 2 license. The code is hosted on CodePlex using the new Git support ... You can compile and test out the latest version, but if you do have anything to contribute you have to submit it for Microsoft's approval."
To get code upstream Microsoft has to approve (pretty typical), but the git branch is supposedly tracking the latest internal release candidate branch (a bit better than Google does with Android, even). Things seem to have changed quite a bit since the days of Shared Source (tm).
i just looked and saw one fly past the empire state building
...my job would be easier. I have the source code. I hit the bugs. Sometimes it's even obvious how to fix them...
tasks(723) drafts(105) languages(484) examples(29106)
http://www.youtube.com/watch?v=piVnArp9ZE0
I am pretty impressed. I honestly wonder how this will effect the web development industry moving forward.
It seems to me there are two groups inside Microsoft -- Developers and Managers. Developers want to do things like this. Managers want to prevent things like this. Looks like the devs won this one.
Coder's Stone: The programming language quick ref for iPad
I guess Microsoft's MVC stuff is OK, and Razor in particular is comparable to the best of other frameworks out there, but their C# language is the primary glue that enables the awesomeness. C# is the top of the line within the Java-ripoff genre of languages, and I would like to see Microsoft take steps to help it be used more widely. I realize OSS purists will probably never be on board, and I understand why; but it's definitely not based on the quality of the technology.
Of course... The time that it takes you to find the bug in a program you didn't write (and the specifications may not be open for you to quickly find it) then you fix the bug, if your fixed isn't approved to go back to the Core code, then you will need to check each time to see if the bug has been fixed and reapply the patch and test it every time.
Sometimes it is much easier to code a work around, report the bug and continue on.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
Is this a Microsoft vs Competition thing? There are a lot of "propietarier" code out there that could deflect this against.
I think this just proves that MS is no longer worthy and it's high time we honour Steve Jobs with the "Borg" /. thumbnail
Apple seems to have taken over the Evil Empire franchise with great gusto.
I've seen too many "developers" created with VS wizards, who didn't even know what language they were programming in (VB or C#? I don't know!). The apps they build technically work, but are slow, ungainly, and if something breaks, who knows how to fix it? That was SOP at the family-owned Fortune 500 I previously worked at. The open source programmers were forced out, now their whole development staff are dragging and dropping their way to app mediocrity. However, i can see real developers benefiting from this, especially if they can get their asp.net apps to run without IIS, the Windows GUI, and the rest of the usual MS overhead. On Linux and Apache, C# just might scream.
IANAP, but if: .NET tools...
Windows 8 is focusing on HTML5 and JavaScript.
Microsoft still wants to sell
then open sourcing. NET makes sense. give away the handle, sell the blades.
deleting the extra space after periods so i can stay relevant, yeah.
All evidence points to Microsoft no longer being "evil". At worst, maybe jerks, but not evil:
Internet Explorer is following standards about as well as everyone else
Windows is no longer a horrible, bug-ridden mess - the main complaints are "it's too similar to the last one, no need to upgrade" and "they're changing the interface too much AND I DON'T LIKE IT"
The 360 is fairly open, by console standards, even with "official" homebrew via XNA (you need to buy a license, but it's not a $100,000 developer's license)
They've been submitting a lot of code to open-source, using *actual* open-source licenses
Their stuff works well withttp://developers.slashdot.org/story/12/03/28/142228/microsoft-releases-aspnet-mvc-under-the-apache-license#h virtualization under Linux, and their VM will run Linux (face it, the Old MS would have made it near-impossible to run Windows within Linux)
Now, they're still far from my favorite company, but I for one am willing to reclassify them from "lawful evil" to "lawful neutral".
MFC isn't a program, it's an MVC framework library combined with a C++ wrapper around most of Win32, which itself is mostly organized as OO, even though it has a C API. And when things don't behave the way you expect, you're tracking it down anyhow. Once you've worked with MFC (or any library) for five years, you're going to know parts of it at almost as well as your own code--and, given that the framework represents a hotpath for you across multiple projects, you'll know parts of it better than your own code.
And if the patch is rejected, at least they can tell me why. If it's "WONTFIX", then so be it; I'll leave the workaround in place. Otherwise, I can adapt and apply.
tasks(723) drafts(105) languages(484) examples(29106)
So, tell me, which flag ship open source projects main branch can you just merge your code into without approval? The Linux kernel? Apache? X? MySQL? Firefox?
Thats a fucking pathetic jibe "Unknown Lamer", not something an editor should be making.
Fork it now!
Microsoft now seem to have a really good grasp on how to deal with free software. They know they need to get developers and administrators to incorporate or use their products in part, rather than use the defacto standard free software, and that means they need to be interoperable and compatible.
A conference I attended for CakePHP in Manchester 2011 was sponsored by Microsoft, they provided a 3 course meal and contributed towards the bar tab for attendees.
They know the way to a geeks heart - food and beer - and they also know that they need to get free software communities to build support for Microsoft platforms as well as the free platforms. For example the CakePHP community, Microsoft went to great efforts to ensure that the MSSQL database abstraction class was improved by the core developers to better support the MS platform. Now I can at least choose between MySQL and MSSQL, and there's a chance I'd buy and license it for a particular application.
This attitude from Microsoft isn't new, but I don't really see them being able to execute the "extinguish" part of their normal plan on GPL/BSD/MIT licensed software. Instead I can see them at grassroots level trying to make their platform relevant and make sure people can hook into it, but they get left on the sidelines.
MFC isn't a program, it's an MVC framework library combined with a C++ wrapper around most of Win32, which itself is mostly organized as OO, even though it has a C API.
Do you need more coffee this morning/[time of day where you are]? MFC is not an MVC framework. It is (as you say) a sometimes precariously-thin OO wrapper around the native C-based Windows API. And most people who work with it would like for it to die. Which Microsoft has actually been working at facilitating in various ways, between the whole .NET ecosystem and now the ability to write Metro apps in C++ against WinRT, leaving the C API out of the picture completely.
My apologies; I misspoke. MFC implements a document/view architecture, not a full MVC. WP article is still critically lacking on that point.
tasks(723) drafts(105) languages(484) examples(29106)
duh
And most people who work with it would like for it to die. Which Microsoft has actually been working at facilitating in various ways, between the whole .NET ecosystem and now the ability to write Metro apps in C++ against WinRT, leaving the C API out of the picture completely.
Microsoft has made it entirely possible for many people who work with it to move on to different frameworks, but has responded to developer pressure to keep MFC alive and maintained. I doubt it's one of their priorities, but it's better than where things sat with the release of VS2008. VS2010 has improved MFC, and it sounds like VS2011 is marginally better, with its first-class support of C++.
And while I'd love to ditch having my code support anything older than Vista, that's just not going to happen any time soon. My code isn't written for the mass market, it's written for specced use cases, which includes things like supporting WinXP and even (at times) Win2K. If you're writing a new application every year, or doing a major refactor of your code every couple years, you can keep with the times and depend on bleeding edge libraries.
If you're working with a large legacy codebase with install sites over a decade old, you're not going to be jumping at Metro quite yet. It probably isn't going to be until Windows 9 before Microsoft stabilizes their new platform enough to be worth porting code forward. Look at 95 vs 98 vs ME, and then XP vs XPSP2 (which really could have been a new operating system...), and then Vista vs Win7. Microsoft tick-tocks between "what fresh hell is this?" and "Whew! That's a relief!".
tasks(723) drafts(105) languages(484) examples(29106)
Really? One project; three three-letter-acronyms? OK, .NET isn't an acronym, but still..
Playing TLA Bingo in our developer meetings will get too easy if this continues
I think the "pretty typical" was in regards to any major project requiring the changes to be approved. I'm not so sure it was meant to be a jibe as just saying that's not a huge deal.
The whole sentence is just bringing to light that there is a key difference since MS is the gatekeeper where typically it is the community.
And most people who work with it would like for it to die.
I read that as, "And most people who work with it would like to die". For obvious reasons.
:wq
i just looked and saw one fly past the *space needle*
TFTFY
Geeks like to think that they can ignore politics, you can leave politics alone, but politics won't leave you alone.-rms
Prior to Sun being bought by Oracle, you could be forgiven for thinking that Java was the safer patent bet. However, now we are about a decade into the conversation and the "safer" platform is the one where there is a major patent battle while Microsoft has never once even bared its fangs at Mono. I think the difference comes down to this...
For Microsoft, C# is just a gateway drug to making Windows apps. Microsoft honestly doesn't give a rat's ass if you are building products with C# or any other aspect of the .NET on Linux platform because .NET is just a means to an end for them. Their goal isn't to make you a C# developer, it's to make you write code that works only on Windows. If you use C# to make a Linux app, you are no different to them than someone who makes a Linux app in C++. Compared to Oracle, it probably gives them a little skip in their step to think that Mono will never enable true Windows development because that dichotomy leans commercial development in their favor without them having to be rat bastards about anything.
The same is not true of Java. Java is a whole damn platform unto itself. When Oracle senses their grip is failing, they have to squeeze harder because the goal is to make "Java apps" not "Java apps for Oracle Solaris/Unbreakable Linux." Therefore they have a lot more incentive to control.
It's pointless to conjecture about how Microsoft would have dealt with Mono had Google used it for Android because Microsoft very well might have let them violate Microsoft's patents to their hearts' content as a way to isolate Oracle a little. If Windows Phone and Android used .NET, not Java, there would be no mobile Java platform worth mentioning. That works 10x better to Microsoft's advantage than the short term victory of hurting Google.
Thanks for the tip. Microsoft is putting old, dead, proprietary code --still tied up in patents-- into the wild (and possibly occupying space on Sourceforge). Its sufficiently full of holes, security vulnerabilities and broken that anyone wanting to do anything with it 1) has to debug it, 2) has to code software (in general) exclusive to microsoft, and 3) still has legal patent mine fields to dance through at the end of the process. Wouldn't it be better (easier, faster) to cover yourself in honey and jump on a nest of army ants?
MFC is not an MVC framework.
err... from the wikipedia article you linked to:
Implementations as GUI frameworks
Microsoft Foundation Class Library (MFC) – called the document/view architecture.
If you're working with a large legacy codebase with install sites over a decade old, you're not going to be jumping at Metro quite yet. It probably isn't going to be until Windows 9 before Microsoft stabilizes their new platform enough to be worth porting code forward. Look at 95 vs 98 vs ME, and then XP vs XPSP2 (which really could have been a new operating system...), and then Vista vs Win7. Microsoft tick-tocks between "what fresh hell is this?" and "Whew! That's a relief!".
Where's my mod +1 when I need it?
I can mend the break of day, heal a broken heart, and provide temporary relief to nymphomaniacs.
Just using the word "framework" doesn't imply "MVC framework". Model-View-Controller is a specific software engineering design pattern that is not built into MFC to my knowledge.
Waiting for approval is a valid point, but anyone who spent time using MFC probably has their own list of things that drive them bonkers, and most likely know where the fix needs to be. Screw approval, fix it in your code and ship the result linked statically.
No joke, even the C/C++ headers in MSVC 6 are broken, and due to licensing issues Microsoft can't release a patch for it. People just fix it locally and it's done. Of course, this is mostly STL, so it's not in the runtime DLL files so you could still dynamically link these updates.
http://www.dinkumware.com/vc_fixes.html
If you choose you can install the source code to the MFC library, and step through it like your own code. Just like you can go through the C/C++ runtimes. You're not supposed to fix and re-build it, they did not release the build/project files, only the code so the PDB files could tell the debugger where to look.
If you have spent time in MFC, you quickly learn that every other line of code is likely to have some quirk that you didn't expect. Adding simple overrides requires hacks on top of hacks. And you learn how it works, even if you don't install the code.
I left MFC a long time ago, but I guarantee I could find and fix one bug a day for the next week, maybe two, just based on working with it for maybe 5 years. On top of my normal workload, not just hacking away on bugs for 16 hours. Entire websites are dedicated to working around how MFC doesn't work like it should.
The Petzold equivalent book for MFC starts out with making an MFC app in notepad, no wizards or GUI. If you understand what you are writing, and what the wizard does for you, you can make your own workarounds. All it takes is having the code to see where it is screwing up what you did to it. "The time it takes to find the bug in a program you didn't write" is negligible compared to working around it every time you write a program that works around the same problem.
http://www.amazon.com/Programming-Windows-MFC-Second-Edition/dp/1572316950
Microsoft is aggressive towards their competitors, as was IBM in its day. Both had antitrust problems. Google and Facebook are aggressive towards their users. They have privacy-invasion problems.
This is the price of ad-supported "free". Microsoft wants you to buy their stuff. You're the customer. With Google and Facebook, you're the product.
Razor is a great little technology. It reminds me a lot of the old asp classic style of coding. .net much easier to work with.
So you get all the awful practice, and a much deeper level of system access. On the up side, it does make
Good stuff.
I would be starting a Metro/HTML 5 AJAX gui front end of your app soon. This summer at latest.
Your customers directors, managers, CIOs, and others will be using Windows 8 tablets, Iphones, and Andriod devices to view their web apps and to get work done. If you are not ready you will be left behind by a competitor. If you must insist on win32 at least try to Metrosize it. Whether we like it or not explorer.exe is going away for Metro. Your costs to your employer will be sunk as you will be working on a dead project. Windows 7 will probably be used for many years in the enterprise but the trend is towards HTML 5 and it will only accelerate.
In terms of supporting 10 year old operating systems and browsers ...
XP is not going to be around forever and it is astounding it still is being used in corporate America today. It is dying fast and the acceleration is going up. 2011 saw a doubling of marketshare and many are enteprise users. g.statcounter.com has interesting statistics if you look in USA on a day to day basis of operating system usage. XP spikes during the weekday as does IE. These users are already switching to Windows 7 or in the early planning and implementation stages.
Your customers are leaving XP as I type this in record numbers. A year from now the last clients will be putting the nails in the coffin and I doubt if VS 2012 can even run on XP??
What will you do with that old code?
CIOS are tired of old decade old stuff that can't be upgraded as evident with being stuck with IE 6. They wont make the same mistake again. Trust me. A html 5 standards app or METRO wont have that issue and can be more easily ported to IOS or Andriod.
http://saveie6.com/
Don't assume you know my problem domain, because you quite clearly don't. You obviously don't even know the kind of user my UI faces, or that VS2012 isn't even in public beta yet.
Your lack of knowledge shown in your judgement is beyond laughable; it's pitiable. Hell, it shows you didn't even bother to read the comment you replied to. You didn't pick up on that I noted I'd love to set a minimum of Vista, and you didn't pick up that my requirements are driven by my customers.
Either that, or you're just another troll. I hope it's the latter, because I'm tired of encountering the alternative.
tasks(723) drafts(105) languages(484) examples(29106)
VS2012 isn't even in public beta yet.
Yes it is. It's even supported for production code. They just don't call it 2012 yet since the RTM date hasn't been set.
-1 overrated isn't the same thing as "I disagree".
I'm well aware of the product currently called "Visual Studio 11 Beta". And is even called such in all the per-version MSDN API docs. If they rename it when they RTM, so be it. If not, then not.
tasks(723) drafts(105) languages(484) examples(29106)
Your customers directors, managers, CIOs, and others will be using ...... Iphones, and Andriod devices to view their web apps and to get work done
fixed that for you.
This is truly an awesome news, but... my gut feelings somehow tells me MSFT might think: "Let's hand this over to the open-source community, we're not interested with it anymore and we won't be supporting it, we'll leave it to those guys. Off to other interesting projects !"
However, I am happy to be proven wrong !
So you knew it was released and then made an intentionally misleading statement because of splitting hairs over the name. What a dick move.
So you knew it was released and then made an intentionally misleading statement because of splitting hairs over the name. What a dick move.
No. It's not called Visual Studio 2012. It's called Visual Studio 2011 Beta. The person I was replying to used the term "VS2012", and that's the term I responded to. No misleading statement was intended. If he meant the VS2011 beta, that's the product he should have referenced. We're (presumably) computer programmers talking about computer programming, for crying out loud; accuracy and precision count.
tasks(723) drafts(105) languages(484) examples(29106)
I'm well aware of the product currently called "Visual Studio 11 Beta"
It's called Visual Studio 2011 Beta.
My god you are a moron. It's 11, as in the current version number not the year it will be released. Notice how it is 2012 and the beta was just released. It will almost certainly be called 2012 when it is out but it isn't called that yet because the RTM date hasn't been announced. Visual Studio 2011 simply does not exist in any way and will never exist.
I suppose you didn't bother checking out SQL Server Denali until it got renamed SQL Server 2012 in the RC either? Actually, that would be too early as well. You probably want to be certified first before using it. hehe.
My god you are a moron. It's 11, as in the current version number not the year it will be released.
Doh. So it is. I've simply been misreading the various blog posts about it for quite some time.
Notice how it is 2012 and the beta was just released.
I'm a C++ developer. Remember C++0x?
It will almost certainly be called 2012 when it is out but it isn't called that yet because the RTM date hasn't been announced. Visual Studio 2011 simply does not exist in any way and will never exist.
Probably correct; you're right about the version number. I grew accustomed to VS2010's being VS10.
tasks(723) drafts(105) languages(484) examples(29106)
I cannot wait for Visual Studio and the Visual Basic Compiler to become libre software.