Article: Microsoft is serious about open source: 10 proof points

Arthur

Honorary Master
Joined
Aug 7, 2003
Messages
27,328
Reaction score
5,927
Location
Little Karoo | Dallas TX
Yes, I know, I know. There are good historical grounds for skepticism (we all remember Ballmer calling Linux a virus). But this guy makes a good case that things are finally changing at Redmond. No, they're not going to chuck out Windows, but there's a much greater openness to Open Source. Worth a read with an open mind.

Microsoft is increasingly warming to open source. Not only is the company increasingly publishing open-source projects of its own, it’s also developing major parts of its web/cloud infrastructure in the open and is also supporting a variety of external open-source projects. This is great news, but it’s taken a long time and a considerable amount of hard work and damage-repair to make it happen.

Microsoft’s stance on open source began to thaw during the 2000’s as the company grew-up and learned more about open source and how it can significantly benefit all of us.

I thought it would be constructive to share examples that illustrate that Microsoft (and its ecosystem) are serious about mending fences, supporting external open-source projects and opening up development teams and projects. Here’s my top 10 list:

... whole article here
 
Sorry I dont see those points as Microsoft supporting Open Source, its more a case of them being forced to support services or stand a chance to totally lose your hold on those customers.

Hell just looking at them braging about Linux kernel contribution is a laugh a minute. All they did as add better hypervisor support and this was forced ontothem as they where told if they do not fix their submited code it would be droped from the kernel totally. See Creators own Blog

This work by Microsoft was to clean up the “Microsoft Hyper-V (HV) driver” so that the Microsoft driver would be included in the mainline Linux kernel. Microsoft originally submitted this set of code changes back in July 2009, but there were a lot of problems with it, and the Linux kernel developers insisted that it be fixed. The Linux community had a long list of issues with Microsoft’s code, but the good news is that Microsoft worked to improve the quality of its code so that it could be accepted into the Linux kernel. Other developers helped Microsoft get their code up to par, too. ( Steve Friedl has some comments about its early technical issues.) There’s something rather amusing about watching Microsoft (a company that focuses on software development) being forced by the Linux community to improve the quality of Microsoft’s code. Anyone who thinks that FLOSS projects (which typically use widespread public peer review) always produce lower quality software than proprietary vendors just isn’t watching the real world (see my survey paper of quantitative FLOSS studies if you want more on that point). Peer review often exposes problems, so that they can be fixed, and that is what happened here.

Even the reason was covered:

Microsoft did not do this for the sheer thrill of it. Getting code into the mainline Linux kernel release, instead of just existing as a separate patch, is vitally important for an organization if they want people to use their software (if it needs to be part of the Linux kernel, as this did). A counter-example is that the Xen developers let KVM zoom ahead of them, because the Xen developers failed to set a high priority on getting full support for Xen into the mainline Linux kernel. As Thorsten Leemhuis at The H says, “There are many indications that the Xen developers should have put more effort into merging Xen support into the official kernel earlier. After all, while Xen was giving developers and distribution users a hard time with the old kernel, a new virtualisation star was rising on the open source horizon: KVM (Kernel-based Virtual Machine)… In the beginning, KVM could not touch the functional scope and speed of Xen. But soon, open source developers, Linux distributors, and companies such as AMD, Intel and IBM became interested in KVM and contributed a number of improvements, so that KVM quickly caught up and even moved past Xen in some respects.” Xen may do well in the future, but this is still a cautionary tale.

I can go on pointing all the other crap in that article but we all know where Microsoft really stands when it comes to Open Source.

If they wanna convince me that they dont see Open Source as a thread(which it really is) they would sell some of their software for other operating systems or even embrace open standards without trying to get their own spin on things. I for example would love to see a simple Outlook or Office install for sale, they dont have to sell a professional port or even support the full suite either, a Basic package with limited Excell+Word and maybe Power point would do. After all they do this for the Mac.
 
Elimentals, I can't agree with your absolutist stance, which seems to be premised on an all-or-nothing approach. It is entirely reasonable to selectively support and even embrace certain open source standards, APIs, tools, etc and also to retain ownership and control of proprietary software. It's not a question of either-or, but of how smoothly one co-exists. Microsoft is a business with well over $100-billion invested in research and development over the years. It is not only understandable but I would submit also responsible that this investment be protected and leveraged for the benefit of shareholders.

One does not need a 100% mapping to open source - that would be folly. Rather, it is a matrix of mixed systems, where some embrace open standards and some don't. No-one on earth maps 100%, and only an unrealistic ideological purity would insist that it does.

What has changed is that the company is no longer viscerally and implacably opposed to open source, but sees at least some important elements of it as playing a part in certain solutions it delivers (for revenue). Microsoft is also contributing significantly to open source areas where it can draw advantage (and not those where it is a threat) - this is as it should be. And it is a good thing.
 
Last edited:
Elimentals, I can't agree with your absolutist stance, which seems to be premised on an all-or-nothing approach. It is entirely reasonable to selectively support and even embrace certain open source standards, APIs, tools, etc and also to retain ownership and control of proprietary software. It's not a question of either-or, but of how smoothly one co-exists. Microsoft is a business with well over $100-billion invested in research and development over the years. It is not only understandable but I would submit also responsible that this investment be protected and leveraged for the benefit of shareholders.

What has changed is that the company is no longer viscerally and implacably opposed to open source, but sees at least some important elements of it as playing a part in certain solutions it delivers (for revenue). Microsoft is also contributing significantly to open source areas where it can draw advantage (and not those where it is a threat) - this is as it should be. And it is a good thing.

I totally know why they not supporting it fully as they make money out of selling software not support, well they sell support too as you need to pay for proper support but I was pointing out that they not doing this out of free will but because its a move forced onto them.

Yes they could opt for the old approach as pretending that Open Source is the devil, but they where bleeding customers and had to do something to keep their pockets aligned, as in the case with the kernel. That's why I say they not serious about open source as your original claim was. If that was the case they would have taken it onto themselves to fix and upkeep of the hypervisor code that was submitted back in 2009. Instead they where forced to fix it or lose the support totally and in turn the hold they had on customers.
 
I agree with Elimentals on this. There is no way that anything the Microsoft has done in the OSS arena has got anything to do with the ethos of what OSS is. They are simply doing these things because that is what the market demands of them. It is their way of trying to stay relevant and compatible with what is happening.

What it does prove is that to a greater and greater extent the are being sidelined by the community and the community is starting to call the shots. This is great news for all of us, except maybe the MS shareholders ;)
 
I must say thanx to the post tough as the comments in it lead me to this interesting find:

No-cost desktop software development is dead on Windows 8

Microsoft wants Windows developers to write Windows 8-specific, Metro-style, touch-friendly applications, and to make sure that they crank these apps out, the company has decided that Visual Studio 11 Express, the free-to-use version of its integrated development environment, can produce nothing else.

If you want to develop desktop applications—anything that runs at the command line or on the conventional Windows desktop that remains a fully supported, integral, essential part of Windows 8—you'll have two options: stick with the current Visual C++ 2010 Express and Visual C# 2010 Express products, or pay about $400-500 for Visual Studio 11 Professional. A second version, Visual Studio 11 Express for Web, will be able to produce HTML and JavaScript websites, and nothing more.

Visual Studio 11 is an improvement in many ways over Visual Studio 2010. Its C++ compiler, for example, is a great deal more standards-compliant, especially with the new C++ 11 specification. It has powerful new optimization features, such as the ability to automatically use CPU features like SSE2 to accelerate mathematically intensive programs, and new language features to allow programs to be executed on the GPU. The new version of the C# language makes it easier to write programs that do their work on background threads and avoid making user interfaces unresponsive. The .NET Framework, updated to version 4.5, includes new capabilities for desktop applications, such as a ribbon control for Microsoft's WPF GUI framework.

Taken together, there are many new features in Visual Studio 11 that are relevant, interesting, and useful for desktop developers. Indeed, things like the new WPF capabilities are only useful for desktop developers.

But Microsoft has decided that if you want to use these things to write desktop apps, you have to pay. The free Express tools will produce only two things: Metro-style applications for Windows 8, and websites. Eventually, the company will also release a third version that can produce applications for Windows Phone, and nothing more. The company announced the Visual Studio 11 product line-up last week, but the full implications (and positive confirmation of the implications) are only now becoming clear. In Redmond's words "Visual Studio 11 Express for Windows 8 provides tools for Metro style app development. To create desktop applications, developers need to use Visual Studio 11 Professional, or higher. In addition, Visual Studio 2010 Express products—Visual Basic 2010 Express, Visual C++ 2010 Express, and Visual C# 2010 Express—will remain available for free download."

Metro-style applications are obviously going to be an important driver for Windows 8's adoption, especially on tablet machines. Although Windows 8 remains a fully fledged desktop operating system and will be able to run essentially any and every desktop application that Windows 7 can run, Microsoft is keen to develop an ecosystem of applications that are pleasant to use on tablets, and to do that, it needs Metro-style programs built on the new WinRT framework.

Extending the Visual Studio Express range to support Metro-style development is, therefore, an obvious decision. The cost barrier to entry is very low—it costs nothing to download and use the IDE—and it should stimulate a healthy amount of application development, just as it has done for Windows Phone. Developers, too, have an incentive to develop Metro-style applications, when it's appropriate, because the greater promotion and easier distribution should provide some new revenue opportunities.

But merely extending Visual Studio Express apparently wasn't good enough. Redmond has decided not only that Visual Studio Express users should have the ability to develop Metro-style applications: they should have no other choice.

In practice, you'll probably have to pay even for Metro development. Windows 8 won't, in general, support side-loading of Metro-style applications. Developers won't be able to stick a Metro-style application that they wrote themselves onto their website and let people download it. Every application will have to go through the Windows store, and will be subject to Microsoft's approval. Submitting applications to the store will cost money, even for free applications; private developers will have to pay $49 a year, corporations $99 a year.

It gets worse

Just to make doubly sure that nobody will dare try to produce desktop applications without paying Redmond for the privilege, Microsoft has gone a step further than crippling Visual Studio Express. The Windows SDK for Windows 7 includes a C++ compiler and all the requisite bits and pieces to develop Windows applications. You'd have to do a bit more work to get things set up than you do with Visual Studio, as it's a little barebones, but it's enough. But that won't be the case for Windows 8: the Windows SDK for windows 8 will not include a compiler toolchain at all, lest any sneaky developers try to cheat the system and use it to write desktop apps.

There is no upside to this decision. It is immensely bad.

Throughout its promotion and description of Windows 8, Microsoft has made the case that it is a "no compromise" operating system, one that offers both touch-friendliness for tablet users, and the full power and flexibility of the PC UI paradigm. The desktop is valuable, and indeed for many applications, necessary. Microsoft's own Office 15, for example, will be a desktop application. It's too big and complicated to work with the many constraints that Metro-style applications face.

It's very likely that most productivity applications will stick with the desktop for some years to come. The same is true of utility programs, AAA-gaming titles, and a large swath of current Windows software: either their interfaces are too complex for the touch-friendly Metro, or they need access to APIs that Metro-style apps are forbidden from using—or both.

The desktop, and desktop development, is here to stay. But with Windows 8, hobbyists, open-source developers, those just starting out with learning about software development? They're not welcome. The desktop is so important to Microsoft and Windows 8's future that the company doesn't want just anyone writing software for it, and will only begrudgingly tolerate such behavior if you cough up some money for the privilege.

In addition to making a mockery of Microsoft's claim that the desktop is important to Windows 8, the move means that Windows is no longer a good platform for learning basic skills like "how to program." Few of us are born with the ability to write a program; most of us have to learn using a combination of books and online resources. Programming can be a complex task even on a good day, and to keep this complexity tractable, most beginner developers stick to simple, command-line programs without rich GUIs. This allows a much greater focus on mastering the programming language and core concepts.

Simple command-line programs are the bread-and-butter stuff of programming tutorials, with the classic "Hello World" program being the best-known example.

The current, 2010 versions of Microsoft's Express tools are a fine environment for learning these basic programming skills. Visual Studio 11 Express? Not so much. If you want to learn software development, you'll have to look elsewhere. Want to hone your skills by working on the Project Euler challenges or enter a programming competition such as ICFP? Again: the 2010 Express versions would be a good match. Visual Studio 11 Express won't be.

Continue in next post......
 
Hindering open source development

Open source development is similarly disadvantaged. Consider a project such as the server-side JavaScript platform Node.js. Node.js was originally developed for UNIX-like platforms, but its developers have worked hard to make it a first-class citizen on Windows (including some small contributions made by me). This work was done with Microsoft's sponsorship and assistance; the company has contributed its own development resources to help bring Node.js to Windows. Most open source projects take the (not unreasonable) viewpoint that if the source is freely available, and the project is free to use, then it should be free to compile too. Node.js is no exception, and so the developers made sure that it could be compiled and built with Visual C++ 2010 Express.

But going forward, Microsoft won't have any suitable development environment for projects like this to target. They'll have to choose between Visual C++ 2010 Express—and a compiler that lacks many of the standard C++ features that the latest version includes—and the $400-500 Visual Studio 11 Professional.

Short-term, the decision is easy—stick with 2010. Long-term, the situation is lousy. Microsoft will let you have a free compiler or a good compiler, but not both.

Windows is unique among mainstream operating systems in charging for development tools: the development tools for Linux or Android are zero-cost, and the tools for Mac OS X and iOS flit between being free or available for a nominal $5 fee, depending on Apple's mood.

Microsoft's decision to charge for the more powerful versions of Visual Studio leaves a bad taste in my mouth, because to my mind, a development environment is not really the same as other pieces of software. Software development has a kind of synergy with the operating system platform: an operating system is only made useful by the pieces of software that developers create for it. By itself, the operating system has little value or appeal. Platform developers need third-party developers to produce the applications that make their platforms valuable.

Charging developers for Visual Studio is, in effect, making developers pay money for the privilege of making Windows worth buying. And yet, without third-party software, Windows itself has next to no value; it doesn't seem right to make programmers pay just to be able to make Microsoft's operating system valuable.

I think that Microsoft implicitly understands and acknowledges this argument, too: why else would the Windows Phone and, now, Metro development tools be free?

As much as I dislike charging for such software, the Express products, which first shipped in 2005, partially appeased me. Although Microsoft did not give developers everything for free, they did at least have enough to start developing and shipping Windows software. High-end features remained the sole preserve of the extraordinarily expensive Ultimate version, which was a pity (and not a problem faced by Mac OS X developers) but the basic Express tooling was enough for most purposes.

But it won't be any longer.

Microsoft is keen to point out that anyone who is currently attending an eligible educational institution will be able to get a free copy of Visual Studio 11 Professional through the DreamSpark scheme. This is true, but inadequate for hobbyists and open source developers. As such, it's little consolation.

Desktop development is essential, and it will remain so long after Windows 8 is released. It's unlikely that Microsoft will ever relent and make its entire range of development tools zero-cost, but for the company to completely rule out even the option of using its current tools for the free development of desktop applications, whether for hobbyists, beginners, or open source developers, is a huge step backward. It threatens to make Windows inaccessible to a large body of current and future programmers, and casts an ominous shadow over the entire desktop.

Source Arstechnica

Makes for very interesting counter point dont you think?
 
Elimentals. I had already previously read the above article by Peter Bright. He's wrong.

Here is the proof by well-known boffin Rafael Rivera, currently writing a book with Paul Thurrott, called Windows 8 Secrets:

vsexpress_compiler.png
 
Sorry I dont see those points as Microsoft supporting Open Source, its more a case of them being forced to support services or stand a chance to totally lose your hold on those customers.
I'm sure you will correct my silly silly point of view, but surely if someone it still counts as them doing it regardless of why?

For another example - let's say McDonalds is pressured into using carbon neutral cows (whatever), and have no choice but to do it - their carbon emissions are still being reduced. Regardless of why, the net effect is the same.

EDIT: @Arthur, and last night he posted a VS template for a Metro Console app onto git.
 
I'm sure you will correct my silly silly point of view, but surely if someone it still counts as them doing it regardless of why?

For another example - let's say McDonalds is pressured into using carbon neutral cows (whatever), and have no choice but to do it - their carbon emissions are still being reduced. Regardless of why, the net effect is the same.

EDIT: @Arthur, and last night he posted a VS template for a Metro Console app onto git.

Agreed on the net effect, its always good to see it happening, its just a petty that the "why" is not because of own free will as it would have led to better support where we need it. For example if they actually worked on a proper port for Silverlight it would not have gone the way it did.
 
Agreed on the net effect, its always good to see it happening, its just a petty that the "why" is not because of own free will as it would have led to better support where we need it. For example if they actually worked on a proper port for Silverlight it would not have gone the way it did.
To be merged into one of the main ways to develop on their next major OS? I don't see how it could have turned out any better. (and yes, that's coming from a SL developers perspective).
 
Elimentals. I had already previously read the above article by Peter Bright. He's wrong.

Here is the proof by well-known boffin Rafael Rivera, currently writing a book with Paul Thurrott, called Windows 8 Secrets:

Well I will reserve judgement till it comes out (Not beta) as there are a couple of points raised in the comments of your link:

The only problem is that you're using BETA versions of VS and SDK and the news are about the newer builds (RC and RTM). So, I'd like to see how it'll go after they'll be released to the public.

Also, CLI tools are not the equivalent of fully-fledged IDE

did you just compare notepad and a command line to a ful IDE and debugger?

seriously? you just look like an idiot with this post.

This will NOT be the case for VS11 RTM or Release Preview. The C++ compilers were indeed in VS11 Beta/Consumer Preview/Developer Preview, but they will be removed for Release Preview and RTM.

Getting working, up-to-date VS projects included in the many open-source libraries written by primarily Linux-based devs is bad enough as it is. Adding extra barriers and cost to them maintaining and testing the VS versions is going to put us back a few years, I think. (Or will do once VS2010 Express is no longer viable. So this may not be a disaster today but it's a bad sign for the future.)

I know someone who maintains such a project, and I know he likes to ensure the Windows version builds but does his main work on Linux. I doubt he's going to buy Visual Studio to do that now.

Hard to see what the upside is, really. I don't think many people who were using the free version are going to change to the paid version because of this, and I can't see many people who wanted the free version for their projects deciding they'll start writing Metro/tablet apps instead. Seems like a dumbheaded decision to me.

I'm not gonna mention all as you can go read them for yourself. The Metro apps is one big concern in my view but we will see.
 
To be merged into one of the main ways to develop on their next major OS? I don't see how it could have turned out any better. (and yes, that's coming from a SL developers perspective).

Exactly, see post above RE Metro apps and Open source development.

Problem is Metro store vs Sideloading that sounds like it will not be possible in Windows 8 and even all ARM tablet devices.(So far its mixed rumors if ARM will allow desktop/apps)

Oh and if any website contains any Silverlight I can not view it at all on Linux/Macs, this is with Moonlight installed so its kind of useless in my view.
 
Last edited:
Top
Sign up to the MyBroadband newsletter
X