Microsoft announced two significant licensing changes around Visual Studio that will be a boon for partners. First, the company said it will soon initiate a shared-source licensing program for Visual Studio and make the IDE's source code available to ISV partners for debugging purposes. Microsoft also removed a licensing restriction that previously limited use of the Visual Studio software development kit to development only around Microsoft's platforms: partners will now be free to create Visual Studio-based applications and extensions on Linux and other non-Windows platforms.

Seems like maybe some people at MS are getting the picture. The "If you don't like go play somewhere else" attitude is going to end up with them playing all by themselves. You can only be the bully so long before people just avoid you at all costs.

I really don't think these decisions are as voluntary as MS would like us to believe.

In fact it's been a pretty poor year for Microsoft.
* Vista's recieved wide spread critasum while..
* ...Apples image is going from strength to strength.
* Major distributors are now offering Linux preinstalled on desktops and/or laptops,
* and not forgetting them loosing their EU court appeal (in fact wasn't one of the rulings that they had to open up their products more?)

In fact it's been a pretty poor year for Microsoft.
* Vista's recieved wide spread critasum while..
* ...Apples image is going from strength to strength.
* Major distributors are now offering Linux preinstalled on desktops and/or laptops,
* and not forgetting them loosing their EU court appeal (in fact wasn't one of the rulings that they had to open up their products more?)

'Pretty poor year'! Baaahhahahahah...did you miss the quarterly results just posted by MS about 2 weeks ago and heavily debated on this site?

They showed the fastest growth in 8 years.

If those numbers a 'pretty poor', I can't wait to see what 'pretty good' is.

Fact is MS is firing on all cylinders. There are few companies out there that wouldn't kill to post the kind of numbers that MS did in it's last quarter.

One can question their motives all they want, about why Microsoft is doing things like this lately. I've heard it all from Microsoft is waiting to pounce on people for patent infringements, code violations, all the way to Microsoft just wants to get along with linux users, and help their code. I think Microsoft definitely knows what they are up against, what the current trends are, and they know how to use that to their advantage. They wouldn't be where they are today without being in the loop. Microsoft will do whatever it takes to make sure they keep their business, and if they have to open up some of their code, under these shared licenses, how is that going to hurt them? Linux is indeed a serious contender in a lot of areas against Microsoft, and beating them in other areas. Microsoft understands this, and you'll see a lot more of these announcements coming up in the future. They will do what ever it takes.

Microsoft is in the loop - with business customers only, not developers, nor end-users. That is how they built their success.

Microsoft will do whatever it takes to make sure they keep their business, and if they have to open up some of their code, under these shared licenses, how is that going to hurt them? Linux is indeed a serious contender in a lot of areas against Microsoft, and beating them in other areas. Microsoft understands this, and you'll see a lot more of these announcements coming up in the future. They will do what ever it takes.

You said it: "[Microsoft] will do [whatever] it takes".

Sure, they'll open up the code - but only to keep people using their tools, and will build some method in that they can still control where those customers are going so as to keep them on their platform. Watch - they'll do the same thing they did to get Posix apps to Win32 - support it just enough to get people over, and show performance on Win32 due to a crappy Posix implementation. They'll figure out how to do something similar with VS - they're not going to let VS be a link to their loss of Windows.

Of course, on the flip side, this also puts them in a position to allow them to lose Windows without losing the rest of their space. It would be really nice if that happened, but they're not going to give up their primary source of income - especially when they're making a billion dollar profit monthly with it. (Even if it is really secondary, it is primary as it pushes the rest of their platforms, namely Office, that are tied to it.)

Microsofts "almost" support of stuff like mono and monodevelop are definitely moves in the right direction, but what I would like to see from them is a publicly declared, legally binding "we will not sue over mono" declaration, and a release of the .net sources under a liscence that third party implementations like mono could use.

Microsoft is a software company. The idea of giving away software is not profitable if selling it is your main source of income.

I'm certain that eventually Microsoft will open up more and more code because that is the way the industry is heading. But currently the market isn't demanding open code, so microsoft isn't losing any of it's market share because of it's closed source.

There are many more billions of dollars to be made before Microsoft even needs to think about opening up and they owe it to their share holders to keep the money rolling in.

Microsoft is a software company. The idea of giving away software is not profitable if selling it is your main source of income.

True. Sure, there are extremists who advocate 'free software, not matter what the consequences' - most of us, however, are very happy to pay for software. All the software (like the music) I have on this machine, I bought. I certainly don't feel guilty.

I'm certain that eventually Microsoft will open up more and more code because that is the way the industry is heading. But currently the market isn't demanding open code, so microsoft isn't losing any of it's market share because of it's closed source.

What people are demanding is equal access to Microsoft technology - properly documented APIs, that Microsoft has, so that they have the same understanding of Windows as Microsoft's own application developers.

There are many more billions of dollars to be made before Microsoft even needs to think about opening up and they owe it to their share holders to keep the money rolling in.

Many of us here realise there is a difference. You make a HUGE leap from development tools to 'all software'. The issue isn't all software - the issue is development software, which quite frankly, should be open and freely available to all. At the very least, if it can't be opensourced, free for all developers to use - like Apple XCode.

What people are demanding is equal access to Microsoft technology - properly documented APIs, that Microsoft has, so that they have the same understanding of Windows as Microsoft's own application developers.

Sadly, to my understanding, we already do with the exception that Microsoft's own application developers can look at the code, while we can't. So, this puts those special ISV's on equal terms, and they're probably only getting it because they pay for it. ;-)

MS, it seems to me, is basically offering select partners the ability to do its bug fixing for it without actually extending any rights to make use of the code that they are now contributing to in any other way.

I've never had a clear idea of really just how much damage can be done to a developer by looking at someone's code and then going and working somewhere else. In most cases I've heard about, employment agreements about leaving company X and then working for company Y in the same field are usually not enforceable and I suspect there is probably only so much that could be done to someone who sees MS code and then goes and works in a similar field and contributes anything short of literal copies of MS works. Still there is a lot of fear floating around this concept and between that and a lack of reciprocal rights, I'm not sure that slightly faster (because you did the work) bug fixes would be a strong enough proposition to want to be a partner in these types of arrangements.

Am I missing something basic here that would make this more attractive than what I've characterized?

I've never had a clear idea of really just how much damage can be done to a developer by looking at someone's code and then going and working somewhere else.

The damage wouldn't really occur to the developer, but to the developer's new employer if any code developed closely resembles code from the previous employer, whether intentional or not.

Generally speaking, if you've had access to Microsoft source code, then you run the risk of tainting any other project you work for, and some of the major OSS projects will go so far as to decline code from someone that could put them in a compromising position with regards to copyright. Again, it doesn't mean their will be intentional copyright infringement, but it does make it more difficult to argue against inadvertent infringement.

For instance, it would be difficult for MS to claim that code (not patents or concepts) from Windows has been "stolen" by the kernel devs when the kernel devs have no access to Microsoft's closed and closely guarded source code. On the other hand, if the kernel started suddenly receiving core functionality improvements from former MS developers that had worked directly with the kernel, and MS could find resemblances to corresponding Windows code, then Ballmer can start rubbing his hands. Copyright infringement in code can be tricky to argue for or against, since many common program algorithms are likely evident enough to be created near-identically by independent, unrelated programmers. Code taint from a developer can reduce that defense.

It is an interesting point, because it makes me wonder if Microsoft's interest in publishing but not opening code for their various projects could be a tactic to try and increase the risk of code taint. Most of the larger projects utilizing something like MS code for interoperability reasons would utilize a clean-room approach, but you never know. But then, maybe I'm just cynical...

If Microsoft is actually polluting the internet with freely accessible source code under non-free licenses I think someone should file a class action suit against them. If it becomes too difficult not to run into this code, then you can't expect that a developer hasn't accidentally seen it in spite of all endeavours to avoid it at all costs.

I'm already ticked off that Sun has CDDL licensed Opensolaris code freely accessible on the internet, which isn't GPL compatible. I'm afraid that even accidentally looking at it would preclude me from contributing anything to the Linux kernel in the future.

The best way to avoid this situation is for Sun to release Opensolaris under GPLv3. Not because I'm a GPL fanatic, but I'd like to be able to contribute to all kinds of free software projects without being tainted.

No you're not cynical or paranoid, it's common sense really . Not to mention I'm even more paranoid than you are, I've never seen any proprietary code at all and would like to keep it that way.

There'd be two parties that would qualify as idiots in such a suit: the legal firm/lawyer, and the willing clients of that law firm involved.

You would have as much chance (or much less) of filing a class action suit against Microsoft (or any other company) that made their free-to-read-but-not-to-use code on that basis, as you'd have for suing everyone into bankruptcy for making clearly labeled peanut/wheat/milk containing products available just because someone might ingest them and be harmed or killed. Well, you might be able to file such a lawsuit, but chances are as soon as it was filed and a judge did a quick sanity check, they'd toss it out.

Next thing we know, we won't have forks or knives available for eating with, because someone could cut or impale themselves!

What I'm arguing for is that if I look something up on the internet using a search engine and accidentally stumble upon Microsoft closed source non-free licensed software snippets, the burden to prove that I might willingly have used their algorithms is not on me but on Microsoft.

I agree that such a suit wouldn't have much of a chance at success unless legislative changes would be conducted that would exempt a software developer from being sued for this accidental stumbling upon non-free code.

We'll see what the future brings but I'm not blind to what is already and might be happening in the near and longer term. We're really at a crossroads and only legislation can prevent the situation that software developers and companies will become unprepared targets for patent trolls and other nasty parties.

Google-searching on (( Cringely free411 )) takes you straight to his recent "The Pulpit" on how according to him, Google did the viciously-hard-bargaining-routine on poor little startup free411. Thanks to slashdot for originally alerting me to this great rant.
It is so very important to always remember how vicious business-on-business behavior tends to be. Boeing for example is known for maximal-hard-bargaining, "at the last minute" techniques.
Only with consumers is there usually a "shadow of the future", the iterative notion of future purchases, which can mellow out the "Prisoner's Dilemma". Of course with such degree of monopoly, as Cringely points out, the monopolist has come to believe that indeed there will never be a time at which the over-a-barrel-folks will "have choices".

"Am I missing something basic here that would make this more attractive than what I've characterized?"

Yes. Maybe, just maybe, Microsoft actually wants to make steps that are in the best interest of their customers, and maybe *gasp* create a better product portfolio. Is that such a longshot?

Regardless of what anyone thinks about MS, being a company that focuses on its customers who write software for Windows is one thing they've always gotten right. They understand that Windows is nothing without any of the applications that run on top of it, and ultimately it is the ISV's and IT organizations that drive the majority of Windows sales. Keep your developers happy, and the result is a trickle-down effect that ultimately keeps everyone else (for the most part) happy as well.

Keep your developers happy, and the result is a trickle-down effect that ultimately keeps everyone else (for the most part) happy as well.

And good lord do they do a good job at that. .Net is the JVM done right, C# is java done right, and I worked with J2EE for 3 years and loved it. I missed a few things going from IDEa to VS, but nothing that Resharper can't fix.

Honestly, the only thing that is bad about the microsoft stack is the cost. It is a joy to develop on.

"Yes. Maybe, just maybe, Microsoft actually wants to make steps that are in the best interest of their customers, and maybe *gasp* create a better product portfolio. Is that such a longshot?

but thats what I don't get... how is this keeping developers happy? I've worked for nearly equal times now as a developer first in an MS shop and now in a UNIX shop so I've seen both sides of the street in that regard and I have my own opinions about who does what better, but I'm thinking back to my visual studio days and trying to imagine how having access to MS' code base for certain products would help me as a developer in any significant way and certainly in a way that would be more significant than the possible 'taint' that access to their code could put on either me as a developer or my employer if they happen to develop anything that is now or could in the future be in competition with an MS product.

This isn't actually an anti-MS stance I'm taking, I'm just not sure where the value is and am curious to know. I'd be curious if any other notable software shop was doing something similar. I'm just not sure what value is created by 'Read Only' code access.

With all of the great well paid minds at Microsoft someone at the (top or close to) can see in the future maybe even near where it will not really matter what OS you use but their "cloud" strategy by using the internet for central storage/information with client applications pulling information from the cloud.

I really don't think this strategy would work if it only worked on Windows. What this is all about is getting their tools and apps ready for what is comming after.

Say 3 or 4 years and some killer gotta have apps that run on Linux or unix using Microsoft's Dev tools, Microsoft will have its foundation ready and the "cloud" will just work because the underlying tech will be there from other sources.

I don't believe this is a evil scheme, just Microsoft preparing to switch modes away from Windows (Not saying they will ever stop developing it) but I believe they are in the process of evolving into their next business model.
Just my $.02

You suggest that they're preparing to "switch modes away from Windows", but Windows is still a powerful source of vendor lock-in that would be suicidal to give up.

Whenever Microsoft does something that seems to take the customer's interest into account I think it's always because they're responding to a competitive threat. In this case, the threat must be either winelib or monodevelop, which are free alternatives to Visual Studio for developers that want to write apps for multiple platforms.

It might look not important but expecially license changing is huge to me.

It looks like Microsoft will stop defending desktop Windows by locking Visual Studio but before someone will pop saying "Microsoft is dying" or any other nonsense, I think we should consider that:

* Microsoft never made so much money as they did in this quarter. This is mostly dued to Windows and Office using new anti-piracy tools which are basically enforcing anyone really wanting to use Windows and Office at its fullest, to get a legitimate copy. Microsoft is finally capitalizing tens of years of exploiting piracy to gain market share. I still believe most Windows/Office installations are still pirated so Microsoft will get much much MUCH more money in quarters to come.

* MS finally decided that server market will be more important than desktop one. Server market is where money is hidden because of coming web-based society. Microsoft knows that they won't be allowed to achieve server market dominance while still holding desktop one. It's a matter of fact. So they prepare to loose some ground in desktop market to be allowed to grow in server one. That partly explains the crazy Vista fragmentation. They prepare to sell Windows to those "willing to pay for it".

* Microsoft also realized that it will be easier to defend Windows by producing great tools like Visual Studio. They can charge tools instead and charge less for Windows installations. A single VS copy is worth several hundreds Windows installations and, plus, it creates market for Windows. Their strategy has always been to produce free tools and technologies to sell Windows: now I think they believe they can sell tools. By controlling platform, they will always be one step forward to others but that would have less anti-trust implications.

* Unlocking Visual Studio means they could sell it to a wider potential audience. If .NET (via MONO) proves to be as good as it is on Windows, they could make huge money by providing VS to other developers. Plus, each MONO app will be a .NET app thus making the case for Windows, where .NET is supposed to run better.

* MS developed .NET-based technologies which are very good (take Silverlight, for example). If they can spread SL, they could potentially reach any supported system and by supporting Linux (via Moonlight), OS X and Windows, you gain access to almost all user base. Then MS must be sure to reach dominance in server market and they will control the basis of tomorrow technology.

In the end, this is clearly a sign Microsoft finally decided how to move for years to come. Which is good, given previous conflicting and mixing signals.