In Codeplex wastes six months reinventing wheels, Ryan Davis has a bone to pick with Microsoft:
I saw an announcement [in March, 2007] that CodePlex, Microsoft's version of Sourceforge, has released a source control client.This infuriates me. This cool thing they spent six months (six!) writing is called Subversion, and it had a 1.0.0 release [in early 2004]. Subversion had its first beta in late 2003, so the Codeplex folks are waaay behind the state of the art on this one.
As a whole, I think the state of software is abysmal. The only way to make it better is to stop writing new code. New code is always full of bugs, and its an expensive path to get from blank screen to stable program. We need to treat programming more like math, we need to build on our results. Development tools is a special market, as our needs are all very similar, and when we need a tool, we have the skills to make it.
It's a great rant -- you should read the whole thing -- but I'm not sure I entirely agree.
While I do empathize with the overall sentiment that Ryan is expressing here, I also found myself nodding along with Addy Santo, who left this comment:
Author seems to think that all software development is done in basements and dorms. The reality is that software is an industry like any other - and follows the same simple rules of economics. How many brands of sports shoes are there? How many different MP3 players? Flavors of toothpaste ? If you can walk down the soft drink isle and not be "infuriated" by Vanilla Cherry Diet Doctor Pepper then you might just be a hypocrite.
So if you think Microsoft's particular flavor of source control is redundant, you'll really hate Diet Cherry Chocolate Dr. Pepper.
(I am now required by law to link Tay Zonday's Cherry Chocolate Rain video. My apologies in advance. And if that makes no sense to you, see here.)
Are there meaningful differences between Microsoft's Team Foundation flavor of version control and Subversion? The short answer is that there aren't -- if all you're looking for is a carbonated beverage. If all you require is run of the mill, basic centralized source control duties, they're basically the same product. So why not go with the free one?
But Team Foundation is much more than just source control. Of course there are open source equivalents to much of the functionality offered in Team System, as Ryan is quick to point out.
The Codeplex staff stated they needed to write their own client in order to integrate with the TFS server infrastructure. According to an MSDN article (Get All Your Devs In A Row With Visual Studio 2005 Team System), TFS seems to be a complicated tool to help manage your developers. Reading the description, TFS is an issue tracker, unit tester, continuous integration, source control system, and Visual Studio plugin. So, basically a combination of Trac, NUnit, CruiseControl.NET, Subversion, and a Visual Studio plugin. Why not just write the Visual Studio plugin, and hook into the tools people are already using? All those tools have rich plugin-architectures that would probably support any sensible addition you'd want to make.
The answer, of course, is that Microsoft does all that painful integration work for you -- at a price.
If you have the time to look closer, you'll find more flavorful differences between Subversion and TFS source control. Differences more akin to, say, Dr. Pepper and Mr. Pibb.
I'm not going to enumerate all the subtle and not-so-subtle differences between the two here; picking a fight between two modern centralized version control systems is not my goal. They're both great. Choose whatever modern source control system you prefer, and take the time to learn it in depth. Source control is the bedrock of modern software engineering, and I've found precious few developers that truly understand how it works. All that time we were going to spend arguing whether your source control system can beat up my source control system? I've got a radical idea: let's spend it on learning the damn stuff instead.
Still, there is a much deeper, more endemic problem here that Ryan alludes to, and it deserves to be addressed.
One of Microsoft's biggest challenges in the last few years has been that its competitors are free to ship what are, by now, fairly mature open source components as parts of their operating systems. When was the last time you ever saw any open source anything shipping in a Microsoft product? On some deep, dark corporate level, Microsoft must feel compelled to rewrite everything to completely own the source code. Sometimes -- a more cynical person might say "often" -- this results in poor quality copies instead of actual innovation, such as Microsoft's much-maligned MSTest unit test framework. It's a clone of NUnit with all new bugs and no new features, but it can be included in the box with Visual Studio and integrated into the product. It's a one step forward, two steps back sort of affair.
Everybody I know -- including our own Stack Overflow team -- who has tried to use the MSTest flavor of unit tests has eventually thrown up their arms and gone back to NUnit. It's just too painful; the commercial clone lacks the simplicity, power, and community support of the original open source version. There's simply no reason for MSTest to exist except to satisfy some bizarre corporate directive that Microsoft never ship open source code in their products. Furthermore, this blind spot hampers obvious integration points. Microsoft could build first-class integration points for NUnit into Visual Studio. But they haven't, and probably never will, because so much effort is poured into maintaining the second-rate MSTest clone.
In fact, the more I think about this, the more I think Microsoft's utter inability to integrate open source software of any kind whatsoever into their products might just end up killing them. It's a huge problem, and it's only going to get worse over time. Open source seems to evolve according to a different power law than commercial software. If I worked in the upper echelons of Microsoft, I'd be looking at the graph of open source software growth from the years of 1999 to 2008 and crapping my pants right about now.
It's a shame, because the best way to "beat" open source is to join 'em -- to integrate with and ship open source components as a part of your product. Unfortunately, that's the one route that Microsoft seems hell bent on never following.
Update: For background, do read Jon Galloway's explanation: Why Microsoft Can't Ship Open Source Code.
The fact is, Jeff, that both Dr. Petter and Mr. Pibb taste like carbonated prune juice. No matter how you dice it up with fancy words and distinctions.
Coke Zero baby. Diet Coke for men. Most def.
Shmork on July 3, 2008 5:46 AMWhats the problem with MSTest?, I have been using it for about 4 months and I haven't had any troubles. (Sorry if the verbs are messed up, English is not my first language)
Juan Zamudio on July 3, 2008 5:53 AMBoth are open source... No?
Indeed. Why don't IronPython and IronRuby ship with Visual Studio? Why can't I select, File, New, IronPython Project and have a first class integrated experience, just like choosing VB.NET or C#?
Do some searching and you'll find out why this will never be -- both projects both accept open source code contributions.
Jeff Atwood on July 3, 2008 6:00 AMIt's a clone of NUnit with all new bugs and no new features, but it can be included in the box with Visual Studio and integrated into the product. It's a one step forward, two steps back sort of affair.
By that ^^ are you suggesting that NUnit cannot be included in the box with Visual Studio and integrated in it? Because NUnit is licensed under the zlib license, which would permit exactly this kind of usage (with or without source distributed along). It's nowhere near as restrictive as, e.g. the GPL, thus I see no reason why they cannot use NUnit instead of they're own clone of the wheel...
Giel on July 3, 2008 6:03 AMI'm going to do a fairly common thing here in the comments Jeff and complete miss the main point of your post and rant for a minute about TFS. To put it mildly, I'm not a fan. More often than not it seems to be a huge hinderance rather than a help. The usability of the client in VS is pretty horrible, and it seems to have the amazing power to slow almost every part of VS from loading the splash screen onwards.
JosephCooney on July 3, 2008 6:08 AMAs some of the commenters on the other thread pointed out, there are lots of times whet it's okay to reinvent the wheel, especially if you imake a better wheel/i. That's how we got Firefox duplicating IE, or SVN budding off of CVS. However, in the last few years MS has been reduced to me-too status, shipping inferior clones of products that were innovated by open-source projects or Apple (Zune, anyone?). As Jeff pointed out, this is hurting their competitiveness.
I suspect that the reason is blawyers/b. Ewwwww. Microsoft is afraid that if it ships OSS, it'll get sued somehow. And they're probably right. People sue MS for everything.
JS Bangs on July 3, 2008 6:16 AMHi Giel,
I think, you got it wrong. Jeff never said you couldn't use NUnit along with VS. He only said that using Microsoft already made the integration effort between its clones and VS. The problem is that sometimes that is truly the only advantage.
What Jeff said, is that Microsoft could (and should) spend more time integrating with open source software (such as NUNit), instead of cloning it. I totally agree with him. Microsoft will never win the open source battle like that. They could waste less time rewriting opensource software, so that they have more time to implement some brand new software, where they can a first-comer advantage.
I totally agree. Apple has figured this out, why hasn't Microsoft? Is it just because Microsoft is a bigger litigation target, so they're more afraid?
If they don't figure it out at some point, they might not be a bigger target for much longer.
Kevin Dente on July 3, 2008 6:23 AMIndeed. Why don't IronPython and IronRuby ship with Visual Studio? Why can't I select, File, New, IronPython Project and have a first class integrated experience, just like choosing VB.NET or C#?
Jeff,
1) Iron Python Iron Ruby are both definitely work-in-progress projects, they are not ready for the first class integration that C# and VB.NET have. (Also, Iron Python's Visual Studio Integration was included as sample with the VS Extensibility API.)
2) Microsoft Employees like John Lam (Iron Ruby PM) have stated in interviews that the plan for Iron Ruby and Iron Python is for both projects to be easy-to-install downloadable add-ons to the next generation of Visual Studio. He also said the reason why Microsoft won't ship open source is that if something happened legally that meant Microsoft had to pull Visual Studio from the shelf that would be very bad. Where as if something happened legally that meant Microsoft had to stop distributing a Iron Ruby add-on package then they would just return the file from their website.
3) Recent Microsoft ASP.NET Projects like Dynamic Data and more especially ASP.NET MVC have reached out to the open source community. MVC's plan includes the wizard base creation of test projects for non-MSTest frameworks as well as a completely pluggable architecture that allows for things like alternate view engines.
Dan on July 3, 2008 6:30 AMI've thought quite a bit about the amount of redeveloping the wheel that is done in the software industry, it often seems like a terrible waste.
Addy is quite correct that other industries do it all the time as well, but I think there is an important difference between software and softdrinks (or shoes or whatever). When making software almost all of the work goes into building the first one and then copies can be produced quite cheaply. Whereas other products such as shoes and drinks have a lot more of the effort going into the manufacturing of the individual products that are sold to people.
For example I think it would be a lot easier to come up with a new flavour of softdrink from scratch than it would be to design new software from scratch.
Thomas Johnson on July 3, 2008 6:34 AMBack in 2005, before the product shipped, I asked 2 members of the VS product team specifically about their decision to write a new unit testing product rather than simply integrate with nunit. They had 2 reasons for this:
1. A lot of folks want to sue us because we are the market leader. I didn't buy this.
2. They didn't want to integrate with a product developed by outside developers and be subject to respond quickly to breaking changes they might make. This made a little more since but still was a little hard to accept.
Jeff, I agree with the general ideas of your post but not sure I agree with your example using IronPython and IronRuby in your comment. Unless I am mistaken, neither were 1.0 when VS2008 shipped. Also, both can be executed using File|New Project once installed. They are both packages the same as the J#, C#, VC++, and VB.Net packages so they have the same general behavior in the IDE.
I wasn't aware that they are now accepting community source code contributions to be included with IronPython and IronRuby. That wasn't the case originally.
Darren Stokes on July 3, 2008 6:36 AMTwo notes about the wasted effort:
1)Subversion was meant to replace CVS and now new source control projects like Mercurial and Git are meant to replace Subversion.
3) Microsoft is not the only group to look and NUnit and decide to go a different way. MBUnit, XUnit, and csUnit are all open source unit test frameworks that were written to perform a similar task to that of NUnit
(btw, I don't actually like TFS or MSTest but I defend Microsoft's choice to write their own source control and testing framework.)
Afraid of open source, or just disdain for anything not invented here?
Matt Stevens on July 3, 2008 7:04 AMIt seems to be to be at the apex of blithely oblivious that Microsoft would start by cloning a developer community to create a developer community so that people can share source code, but then compound that source of great amusement by refusing to share source code of source code control, instead building their own solution (the adoption of which alters any successful practices that the faction-community's early adopters had already gotten working).
This seems laughable on a good day. On a bad day, you realize that the wildly lucrative licensing fees on the deeply entrenched product known as Windows are helping to finance this particularly bizarre lunacy which features virtually no innovation or refinement over a pre-existing mature product. This behavior, in turn, casts a negative shadow over the whole of the company giving them the reputation of actually being *afraid* to innovate, preferring to attempt to knock off existing products in quasi-low-population markets -- which was pretty much everything they dog-and-ponied at PDC 2005, that's for sure...
It just makes me want to say C'mon guys, you're insanely rich and powerful -- can't you come up with something better to do?
NNeko on July 3, 2008 7:11 AMTFS provides version control, issue tracking, build management and reporting. The primary target for this product is .NET shops who want to move on from Sourcesafe and shops that have a hodge-podge of tools that aren't integrated. So why MS invent TFS instead of using Trac, Subversion, Jira/Bugzilla, etc? Forget that these products are all open-source for a second. Instead, think about different languages/platforms that these tools are written in.
1. The Microsoft dev team would need to know at a minimum, C/C++, PHP, Perl, Python in order to get pieces to integrate and continue development on them. That would be a nightmare to manage. Working on any one of these pieces would be OK but trying to tie them altogether would be a challenge due to the different technology underpinning of these separate pieces. TFS is mostly written in .NET. That makes development much easier for MS.
2. Now what about Microsoft's TFS customers would have to deal with if they shipped a product with Trac, Subversion, Jira/Bugzilla. They probably need to install Apache (probably optional), PHP, Perl and Python in order to get this thing installed. How well do you think that's going to be received in a shop that's mostly Windows oriented and probably touched any of these technologies?
I agree the world would be a better place if we can standardize on fundamental pieces of infrastructure but the world is a very heterogeneous place. Microsoft has some very legitimate reasons for doing what it does.
Sam on July 3, 2008 7:20 AMI've used VSS and Subversion. I have had no trouble at all with VSS each and every time I use it. Subversion is a nightmare each and every time I use it. Just one perspective from one developer ...
PaulG. on July 3, 2008 7:23 AMMicrosoft's policy is all about risk mitigation. Imagine you had to replace eleventy-billion copies of Windows or Office at your expense because some court found that you had accidentally infringed someone's IP by including open source code that had in reality been copy-and-pasted from a closed source origin.
Curt on July 3, 2008 7:41 AMThis is one of the reasons I kinda like Eclipse more than Visual Studio - even though Eclipse is slow, buggy, and has a horrible UI compared to VS, it comes out of the box with support for things like jUnit, Ant, and Trac/JIRA - the tools Java developers actually use. And it's so easy to add Subversion or Perforce support via plugins. The free Visual Studio editions can'tuse ANY source control or test framework from within them, which just reinforces bad programming practices.
Ben Hollis on July 3, 2008 7:45 AMI actually do have a problem with the ever-growing number of products on the shelves of my local supermarket. That's to some extent related to the Paradox of Choice topic (one of my highest ranking book recommendations), but it also seems extremely wasteful. Not only would the logistics of less variations be much easier, we would also not need as much promotion to make us believe that vendor A's product is in any way better than others.
Having said that: the big question is where to cut off. Maybe two products seem very much the same when they come out, but as we all know software products evolve over time and due to different environments they might evolve into something more distinct from each other. And don't forget: the hard part of software development is most often figuring out what to do, not how. With software I am often more happy to accept competing products if they show the willingness to learn from their competitors. The supermarket shelves full of physical redundancy annoy me.
Peter Becker on July 3, 2008 7:45 AMPaulG:
a nightmare how?
my experience has been the opposite of yours, but I actually took some time to learn subversion and use decent tools [notably VisualSVN] and have much fewer problems now than with VSS.
Though admittedly my problems with VSS were mostly with the control part being absolutely useless. Adding/deleting not being versioned, commits not being atomic, renames or file moves loosing previous history, and a commit being a single file not an entire change set... Trying to look at the overall history of something is painful or impossible in VSS, and always works well in subversion.
Nick on July 3, 2008 7:45 AMActually, Microsoft wanted to clone the internet right?
So... why doesn't this surprise me?
It's a cultural problem... they'll never change.
Nicols Miyasato on July 3, 2008 7:48 AMJust to produce a counterexample, what about WiX (see http://wix.sourceforge.net/ and http://en.wikipedia.org/wiki/WiX)? That's open source and released by Microsoft. It works pretty well too, we're using it to build our latest installers.
Julian on July 3, 2008 7:48 AMPaulG: I'm a Subversion fan, so that's my bias, but I appreciate that different source control tools have their advantages and disadvantages and I wouldn't criticize someone for their choice of tool...
... except in the case of VSS. There's absolutely no good reason to be using VSS in this day and age. When Microsoft's Source Safe Best Practices page (http://msdn.microsoft.com/en-us/library/bb509342(VS.80).aspx) is essentially a list of things you need to do to prevent VSS from corrupting your data, you know it's a lemon.
I can't really do the topic better justice than one of Jeff's previous posts: http://www.codinghorror.com/blog/archives/000660.html.
John Price on July 3, 2008 7:56 AMI definitely agree. I'm currently on an internship at microsoft, and there's pretty rampant wheel reinventing. This issue goes way deeper than actual products. Microsoft seems to have a culture of in-housing everything and remaining largely unawares of alternatives. There are probably more source control systems at microsoft than in the rest of the world, and they all largely suck.
I'm hoping to use Mono.Cecil to rewrite some code analysis stuff - hopefully I'll be allowed.
Michael Sloan on July 3, 2008 8:06 AMIn two years, people will be faced with a choice between: (a) Windows 7 (Vista bloat plus a dollop more, sans MinWin) and MS Office (expensive licensing), and, (b) a mature and much trimmer ReactOS (GPL Windows OS API; already runs lots of Windows apps) and OpenOffice (does what most users want; free as in beer).
You betcha Microsoft are crapping their pants right now. Windows and Office are their main revenue stream. Thus the huge push toward Internet search portal ad vending, games consoles and the rest of it.
Pete from Perth on July 3, 2008 8:29 AMI long ago stopped being infuriated by the sheer number of meaningless options for drinks, shoes etc. Instead I think I've taken up the slack of one emotion with boundless apathy. I know what I like, on the topic of drinks: a good cup of coffee from a fresh grind... fruit juice which isn't made from concentrate, and soda water with a squeeze of lemon instead of sugar/corn syrup based fizzy drinks. I've noticed as I get older a splashy new marketing campaign has less and less effect - I know what makes my body feel good and stick to that. About the only thing I'll do to spice up that stuff is maybe trade the lemon for good whiskey on a Friday/Saturday.
Maybe ignoring this kind of stuff has reduced my life enjoyment... but on the other hand, it gives me more time to think about the important stuff... like when Diablo 3 is coming out or why on earth I chose to use a ThreadLocal for a particular problem and what a better solution might be.
David from Oz on July 3, 2008 8:35 AMIt doesn't matter whether it's MS or F/OSS or some niche company. Every camp will be guilty of reinventing the wheel as long as there is something better out there in the other camp. I don't know if this is good or bad. OpenOffice is a fantastic piece of reverse-engineering, but it makes me sad that we even have to use it (well, I almost don't but whatever). And there were good user reasons to develop OpenOffice, just as MS has good business reasons to develop in-house versions of apt-get, kshell, and svn, way overdue or not.
I think it was someone at Red Hat who said billions of dollars are wasted every year because companies don't open source their code. I can see all the developer-years wasted in the constant cross-imitating of closed- and open-source software. But even as a die-hard Linux user I'm agnostic about which side is better. Companies like Mathworks, SAS, and whoever makes CPLEX are way ahead in what they do. I really appreciate being able to use things like Octave and GLPK when I'm traveling, but it always makes me think of how open-source is under a whole different set of goals.
I find the comments about beverage variety pretty interesting but I'm too tired to write more.
Hayil on July 3, 2008 8:50 AMAnyone who's alarmed at how eager companies are to duplicate existing software hasn't spent much time working for large companies. There are many reasons to re-invent the wheel (a loaded, tired analogy) - legal, integration, etc. In this case, what mockery would MS endure if they actually provided a Subversion client? Probably the same noisy backlash they got for not re-implementing every Flash movie in Silverlight.
That said, TFS is an atrocity. The Source Control tool is SourceSafe with lipstick, and the only defense is But TFS does so many things! It's like bundling phone, internet, and cable onto one (usually higher) bill - maybe your new phone service sucks but you're locked into it forever. Isn't integration great?
Erik Mackdanz on July 3, 2008 9:05 AMI both agree and disagree.
I agree with the sentiment that MS has so much money and talent, why can't they build a decent, out of the box source control + revision tracking system that's easy to install, works over HTTP, and bog down? It's like having 1 billion barrels of crude oil and only making 1 liter of gasoline out of it. Inefficient.
But I know why they avoid 3rd party integration too. I do it all the time. I can't stand the myriad of crap purveyed out there. I've been bitten by vendor lock-in far too many times (usually as the result of other team members), and unless you're getting something so totally cool and outside the realm of your abilities as a coder, you're better off just doing it yourself. There's always that 1 feature you need, or 1 bug that never gets fixed.
I'll never reinvent a database wheel, but I won't bother with for-pay ajax component libraries or some such nonsense.
BigJim on July 3, 2008 9:12 AMTo point out the blindingly obvious, businesses and their legal departments do not like:
*Selling something they don't fully control
*Selling something that comes with legal encumbrances
*Selling something they don't own outright
*Selling something they can't demonstrate the full provenance of (If you think this is dumb, put your money where your mouth is and buy your next house without title insurance.)
*Supporting a moving target
I hardly see why Microsoft would be any different than anyone else.
BH on July 3, 2008 9:17 AMWhy should we care if Microsoft wastes their time re-inventing the wheel? Integration is overrated. I'd rather NOT have my unit testing framework, bug tracking, and so forth all integrated in my IDE. Mainly because it means I'm free to pick the framework that is the best fit for my project instead of being forced into someone else's idea of out of the box.
Scott on July 3, 2008 9:39 AMDiet Cherry Vanilla Doctor Pepper is the greatest beverage ever. Bar none.
And yes, I do agree that Microsoft needs to begin playing nice with the open source kids.
Also, do not mock Mr. Pibb.
You people should taste Guaran, it's far better than any other beverage.
http://en.wikipedia.org/wiki/Guaran#Beverages
Hoffmann on July 3, 2008 9:58 AMMicrosoft builds the platforms creating vertical markets for 3rd party tools. There are a number of subversion plug-ins to visual studio, same with nUnit, Resharper, etc. I don't think it's a matter of including opensource offerings in their products, if they did, it's harder to ask for multiple thousands of dollars for a glued together comprehensive product. Not their market.
Ps. Dr. Pepper is far superior to Mr. Pibb (though both trounce Pepsi)
JMinadeo on July 3, 2008 10:01 AMearn subversion and use decent tools [notably VisualSVN]
Totally agree with the VisualSVN recommendation -- if you are primarily a Visual Studio developer like me. Can't say enough about how great this add-in is. I was ready to give up on TortoiseSVN until I installed it!
You betcha Microsoft are crapping their pants right now. Windows and Office are their main revenue stream.
What drives me crazy isn't the wheel reinvention, per se -- sometimes that's healthy. It's the creation of *crappy* copies that do not innovate or make my life easier in any way. Exactly like MSTest.
That's my message to MSFT: Innovate or die. It is possible. Look at the UI innovation of the Office 2007 ribbon, for example.
Jeff Atwood on July 3, 2008 10:37 AMIf you're right that MS has never shipped open source software with their boxed products so far, I wouldn't bet that they never will. Bill Gates, who's never been found of open source, is now out, while Scott Gu and other more open minded people are already making stunning progress in the dev department, with the release of several open source or shared source products, some of which can even run on other platforms than Windows and be used with other APIs/lib than MS ones. A few years ago, it would have been unimaginable.
I wouldn't be surprised if in 10 years, half of what MS releases has open source stuff with compatible licenses included in them.
You may have been right a few years ago, but EVERYTHING is changing inside the Big Blue Monster. They get it more than you realize. It just takes a while to turn a ship this large.
Scott Hanselman on July 3, 2008 11:06 AMHere's a nice quote by Bill Gates:
Open source, he said, creates a license 'so that nobody can ever improve the software,'
Taken from this Wired article:
http://blog.wired.com/wiredscience/2008/04/bill-gates-what.html
Shows where the company gets their philosiphy...
Zoasterboy on July 3, 2008 11:09 AMAnd let's not forget MSBuild, a convoluted clone of NAnt.
Bill Sorensen on July 3, 2008 11:28 AMAs I see it, Microsoft has at least two major reasons to behave like this:
1) The potential to achieve a better integrated experience for the developer/user.
Whether they actually will accomplish this isn't known for sure when they decide to take this path. If I had lots of money, lots of smart developers, I might be confident, too.
2) When you're small and poor, you go unnoticed. When you're big and rich, everyone wants a piece of you.
The decision maker has to consider litigation and reputation risk vs. risk of reduced sales (technically inferior or superior is a corollary only). Perhaps accepting the technical penalty of reinventing the wheel poorly is offset by not having people sue you to release your source code? Or scaring off conservative Fortune 500 customers who themselves are iffy about open source? And there's always the expectation that you can invent a better wheel...
I would imagine, too, that the decision makers are wiser in the affairs of litigation/business/marketing than the pitfalls of ambitious software projects (unconscious weight to concrete risks vs. vague risks?). Maybe they listen to their top engineers for advice... but how many engineers emphasize the risk of failure at the outset of a project?
Andrew Fung on July 3, 2008 11:29 AMPersonally, i don't find it very hard to understand. As a company you don't want to rely on things you can't control and that cannot give you an advantage over you competitors.
Bobby on July 3, 2008 11:40 AMBy the way, can you please get your em-dashes right? The double hyphens puninfuriate/intended me.
Diogo on July 3, 2008 11:42 AM@ScottHa.
For every group that gets it inside of MS, there are 10 that don't.
http://code.msdn.microsoft.com/sourceanalysis/Thread/View.aspx?ThreadId=402
Scott on July 3, 2008 11:45 AMWe won't ship opensource either. Look at the terms of use of most of them. We don't allow others to look into our code. With most opensource components, you must either ship your product as opensource or buy a license. So including opensource would force mircosoft to be nearly completly opensource. thats not good for a company.
Opensource is mostly done at companys with a financial mess. Look at sun. After the losses the put more and more things to opensource and have make more job reduction (march they announced to fire 2500 developers). Sure, OpenOffice is free. At the cost of many job. You won't see Star Devision developers working at sun. Sure, the number of opensource apps increase. But ... the number of good opensource software with a good end customer support is still low. And many opensource developers are disappointed at some point (see nDoc) and get back to real work to earn some money.
offler on July 3, 2008 12:03 PMWhy on earth should this infuriate anyone? If MS wants to throw their resources at reinventing a package that you don't need, well, then, don't buy it!
Or is Ryan D. upset that MS is (god fobid!) making money off their reinvented wheel?
I've contributed to Open Source, and I even have some stuff of my own that I offer free - but I have never understood the mindset of the OS zealots.
Then again, I've never understood not wanting to make money, either...
Tony on July 3, 2008 12:27 PMRe-Invent the Wheel is the stupidest trite comment ever. I find it's use offensive in an industry of engineers.
Sometimes, when you are designing a car (tfs)... a better wheel or just a branded wheel makes sense. Innovation in making a BETTER wheel exists. If your company needs a wheel for it's new car... you are not going to just use http://en.wikipedia.org/wiki/Image:Wheel_Iran.jpg .
These are not the same:
http://en.wikipedia.org/wiki/Image:Wheel_Iran.jpg
http://www.roadsters.com/wheels/
http://www.dmcustoms.net/#
I think if you use the phrase Don't re-invent the wheel you aren't an innovator and you will never be able to make a better wheel.
ps: Another poster had it correct, John Lam explains why iron ruby will never be on any product cds but available for download as a plug-in on his last .net rocks appearance.
If there are so many legal risks with shipping open source software, why apple isn't being sued?
bah on July 3, 2008 12:57 PMWhy wait for Microsoft to go open source? Get the products you need from other places.
Arle Nadja on July 4, 2008 2:11 AMIsn't MS rightfulyl afraid to have their devs looking at open source code? All it would take is for a few lines of that to get into, say Office and if it's ever found...well, lts just say the GPL is MS's biggest fear.
skc on July 4, 2008 2:17 AM[Dr.Pepper] tastes like Carbonated prune juice. Bah! That's what it used to taste like. Today it is but a ghost of its former self.
It seems to me that Dr.Pepper changed the formula sometime in the mid 1960s to expand their market outside the southern USA. When they did that they dumbed down the intensity of flavor, reduced the sweetness and increased carbonation. In other words, they ruined it.
Few of you young whippersnappers may recall that you could, and I did, drink Dr.Pepper in its original formula hot. Make mine with lemon, thank you. Alas, since the formula change I haven't had a Dr.Pepper since.
Rex on July 4, 2008 2:38 AMotherwise it is assumed you are not practising any intensive form of branching and merging if you find VSS a pure joy to use
If you're practicing any form of merging, you can't reasonably find SVN to be a joy to use, let alone a pure one.
The only ways I found to have VSS be a pure joy was either to not code or not use VSS.
VSS has given us file locks
VSS hasn't, and you can ask it to be lock-less. I found it even more painful than locked mode though, since the tool isn't tailored for that.
Masklinn on July 4, 2008 2:56 AMActually, I think a large part of this is to do with the Security Development Lifecycle (SDL). A real assessment of including any open-source component, as for including any third-party component, is going to be, how are we going to deal with security problems in this component?
Read for example Larry Osterman talking about 'giblets' (as Microsoft refer to them) at http://blogs.msdn.com/larryosterman/archive/2008/03/07/the-trouble-with-giblets.aspx.
Mike Dimmick on July 4, 2008 3:00 AMMicrosoft can't figure out open source for probably the same reasons we still have CHKDSK as a kick-a$$ system utility STILL as a part of Windows. You'd think that their wise management would focus on Microsoft's strengths (development tools and OS) to dominate the market. Now they are losing marketshare to OS X and XCode (which, arguably, is a much better dev. environment than Visual Studio - based on the merits of RAD).
Instead, we have Visual Studio which gulps down almost a gig of RAM at launch and needs a 10,000 RPM hard drive to run decently. Heck, why not burn this gem into ROM and save us from installation.
BugFree on July 4, 2008 3:13 AMI worked for a large commercial software vendor - one that funds open source projects, actively contributes developers and code and sells commercial (closed source) products incorporating open source software (not GPL, obviously). It is a very successful model. However, the availability of free code that fit the requirements and was licensed appropriately was not sufficient justification for using open source over writing in-house code - there had to be a business justification above and beyond that. I expect that, like most companies of their ilk, Microsoft projects a driven by business requirements that look beyond the short term gain of getting free code. Perhaps (like many projects) Codeplex will just wither and die; perhaps they will continue to support it and will eventually reap the benefits of a project whose direction they can drive.
McDowell on July 4, 2008 3:14 AMThere are core economic reasons why Microsoft can't out innovate open source. Let's step back and think about innovation for a while. How does technology, or even in the broader sense, culture, change and advance? What kind of conditions promote innovation and which stifle it? The great thinker in this field was the economist Joseph Schumpeter, he coined the phrase 'creative destruction', to describe the driving force of innovation in a capitalist economy. Essentially the rate of innovation is proportional to the number of people able to innovate; the number of minds allowed to tackle a particular question and the ability of individuals or groups to attempt to profit from their idea without a severe cost of failure. Capitalism thrives on huge numbers of small companies and entrepreneurs constantly trying and failing. A Darwinian survival of the fittest where the vast majority do not succeed. Indeed it goes beyond capitalism, Jarred Diamond's seminal work 'Guns, Germs and Steel', brilliantly shows how human development progressed in direct proportion to the size of human communities and the speed at which technological developments could be propagated. When you get bored of 'learn WPF in 21 days' it's must read!
The software industry is a pure manifestation of Schumpeterian economics. The barriers to entry are almost non-existant; anyone with an idea can have a go. It doesn't really make a lot of difference if you're a highly paid Microsoft employee or a Gujarati teenager with a computer, the quality of your ideas is the only thing that matters. In fact there are two good reasons why the Gujarati teenager has an advantage: Firstly he doesn't have to persuade his line manager that his idea is a good one before he's allowed to explore it; he can have a go at any hair brained wackiness he likes. His idea doesn't have to play nicely with any particular corporate strategy or favorite technology. Secondly, and conversely, he has to persuade the whole world that his idea is a good one. The Microsoft guy, once he's persuaded the company, will have the whole weight of Microsoft's marketing behind him and millions of Microsoft shops around the world will use his technology even if it's sub-optimal. But because the Gujarati teenager has none of this support his idea will only thrive if it's a really really good one.
So Microsoft's 1000's of highly paid geeks verses who knows how many millions of the rest of the world's programmers? It's no competition, the cutting edge will always be outside of Microsoft or any other corporation for that matter.
Mike Hadlow on July 4, 2008 3:48 AMI'm sure the biggest issue for MS WRT open source is the 'not invented here' syndrome. Lawyers, APIs, etc are all secondary considerations to a mind-set that says we're the only ones that matter, everyone else must use our software, we don't use other peoples. Several other departments (including the US office in my company) have this same mindset.
The ironic thing is now that MS is partly embracing .NET, that all that source code is freely available for view - just drop the dlls on ildasm (or get a more friendly disassembler). It may not be free to use but its free to look at ... and there are lots of companies that would happily reuse such code regardless of the legalities.
AndyB on July 4, 2008 3:51 AMMicrosoft is a software company that writes code in order to sell.
Whilst I'm all for open source projects to make all our lives a little easier, producing them is not the goal of a software company.
The goal should be to make money for the shareholders, otherwise, what's the point in being in business?
Microsoft is not a charity or a public service, let them build what they want and sell it.
As for the carbonated drinks analogy, Coca Cola make the drinks and sell them, they don't tell everyone the recipe and let them add their own ingredients.
Robin
Robin Day on July 4, 2008 3:54 AMJust as a followup to my earlier about how *I* would have gone about putting up a software development repository I wanted to share with you folks the steps for obtaining the software.
(I run debian testing btw)
Step 1: Fire up konqueror, because it's my chainsaw application of choice (web browser, ftp client, man browser, info browser, file manager, etc.)
Step 2: In the url, because I don't know the name of the package I'm looking for type: apt:/search?forge return
Step 3: Wait a few second while the 20,000+ software packages are scanned (Debian is a leviathan among Linux distros for sheer volume of software packaged and ready to go).
Step 4: Look down the list of hits and follow the one called gforge (Here's how the link for gforge reads:
gforge collaborative development tool - meta-package)
Step 5) Read the description for gforge:
collaborative development tool - meta-package
GForge provides many tools to aid collaboration in a development project, such as bug-tracking, task management, mailing-lists, SCM repository, forums, support request helper, web/FTP hosting, release management, etc. All these services are integrated into one web site and managed through a web interface.
This meta-package installs a complete GForge site.
Step 6) If I was going to install it, I could do either
a) Open a terminal, make myself root, type apt-get install gforge or
b) Run synaptic, the graphical package interface, search for package name gforge, check the install box, press the Apply buton
Wait a few minutes for gforge and all the dependencies to be installed and configured.
Step 7) ???
Step 8) Profit!!!
BTW, for those interested gforge's immediate dependencies and descriptions are:
gforge-common collaborative development tool - shared files
gforge-db-postgresql collaborative development tool - database (using PostgreSQL)
gforge-dns-bind9 collaborative development tool - DNS management (using Bind9)
gforge-ftp-proftpd collaborative development tool - FTP management (using ProFTPd)
gforge-lists-mailman collaborative development tool - mailing-lists (using Mailman)
gforge-mta-courier collaborative development tool - mail tools (using Courier)
gforge-mta-exim4 collaborative development tool - mail tools (using Exim 4)
gforge-mta-postfix collaborative development tool - mail tools (using Postfix)
gforge-plugin-mediawiki Mediawiki plugin for GForge
gforge-plugin-scmcvs collaborative development tool - CVS plugin
gforge-plugin-scmsvn collaborative development tool - Subversion plugin
gforge-plugins-extra collaborative development tool - extra plugins
gforge-shell-postgresql collaborative development tool - shell accounts (using PostgreSQL)
gforge-web-apache transition package to gforge-web-apache2
gforge-web-apache2 collaborative development tool - web part (using Apache)
After doing that research (about 2 minutes), it simply stuns me again that Microsoft chose to waste its resources on a dead issue. I guess the problem I have is that I keep forgetting that Microsoft doesn't *just* provide an operating system for others to develop on, but also software which competes with all other developers on its operating system.
I guess they couldn't make use of a solution that isn't one of theirs no matter how easy or how good it is because then they would lose face?
Johnny on July 4, 2008 4:01 AMThis is not the only time they are reinventing the wheel. Just take a look at the Enterprise library's logging application block. After working with it I came to the simple conclusion to stick with Log4Net.
Dejan Fajfar on July 4, 2008 4:02 AMI'm sure the biggest issue for MS WRT open source is the 'not invented here' syndrome. Lawyers, APIs, etc are all secondary considerations to a mind-set that says we're the only ones that matter, everyone else must use our software, we don't use other peoples. Several other departments (including the US office in my company) have this same mindset.
The ironic thing is now that MS is partly embracing .NET, that all that source code is freely available for view - just drop the dlls on ildasm (or get a more friendly disassembler). It may not be free to use but its free to look at ... and there are lots of companies that would happily reuse such code regardless of the legalities.
AndyB on July 4, 2008 4:08 AMSubversion is such a great tool. Have never used TFC, but my interest is peaked now. A book I can never recommend enough is the Subversion book written by the tool's author(s). Not only is it obviously useful - but it's easy to read, and fun.
Nice post.
Wix is open source and released by Microsoft..Hey Rob Mensching. if you do read this, I found a quite serious bug in Wix..it is regarding CreateFolder/ and Permission user.../..
tokano on July 4, 2008 4:25 AMDr Pepper is a bad example.
We're talking about software not carbonated sugar water. The former is much easier to fuck up and as we all know software sucks. Surely our customers deserve our best efforts and we should be working towards their needs instead of needlessly duplicating our efforts and duplicating the technologies we need to learn.
I have one answer to most of the people who complain that Microsoft cannot use opensource - IBM
They are a software company (amoungst other things)
They write opensource, contribute vastly to OS projects
They use opensource and distribute it,promote it, advocate it's use
They are a larger legal target than Microsoft
I don't see them going broke anytime soon ...?
That's why you Americans are so f-fat! Cherry-Chocolate-flavoured cola! I bet you also deep fry children and eat them with shitloads of ketchup
Sarkozi on July 4, 2008 4:47 AMAll version control systems suck! End of discussion.
The idea of version control is great, but all existing systems suck to some amount. Some suck more, some suck less, but they all do suck. Since they all suck, it plays little role which of the sucking systems you are using, since it's pointless to argue about which one sucks more in which aspect.
There are systems that tried to get out of the sucking state by leaving the path that CVS once created (and SVN took over). E.g. darcs, but darcs is written in Haskell and even getting it compiled is so much PITA, it's reason enough to dump it.
A system that does not suck too much is monotone. It's written in C++. You can argue if that is a good choice, but it's crossplatform, builds on all major platforms and the author himself states I know that C++ sucks, but if you use it wisely and carefully and make sure your code is really clean, it's a usable OO language and working with it has many benefits over using plain C code and the source code looks pretty good IMHO.
Mecki on July 4, 2008 4:55 AMMicrosoft has shipped open source before.
In the resource kit of NT, there were a number of GNU things, with source on the CD, perl or REXX was one of them.
there were GNU utilities, I forget with one. There was source code with Microsoft Services For Unix as well.
the cutting edge will always be outside of Microsoft or any other corporation for that matter.
Not true, Apple pioneered things like GPU powered desktop compositing, new UI concepts such as Expos.
The open source world had even longer to come up with these things, and it has taken them 5 years to even begin to catch up by purely ripping off.
Remove the or any other corporation for that matter and yes you are correct
Trev on July 4, 2008 5:14 AMIt's all about integration and vendor lock-in:
* The whole .Net eco-system (which is mostly great in my experience) is about this:
* Why provide first class ASP.Net support if you could just support Apache/PHP?
* Why create a new language (C#) if there are already tons of languages around?
* Why create WinForms if there is already plain old WinApi-Window-Stuff around?
The whole TFS is just the next evolution of this. Instead of letting developers choose their tools they just provide them bundled and most people probably don't even seek out for alternatives.
Daniel Lehmann on July 4, 2008 5:27 AMWhy don't IronPython and IronRuby ship with Visual Studio? Why
can't I select, File, New, IronPython Project and have a
first class integrated experience, just like choosing VB.NET or C#?
I was thinking this was because these are not yet finished when the last visual studio was set to release.
ulric on July 4, 2008 5:28 AMBTW: Borland released NUnit, DUnit and some other open source components along with Delphi 2006. It was a hella buggy product and wouldn't recommend it at all but at least that integration was quite nice.
Daniel Lehmann on July 4, 2008 5:30 AMJeff, I think you're missing the point a bit. His rant didn't seem to be so much about the differences between SVN and TFS as it was a segue into a critique of the industry as a whole. Is he right about the SVN/TFS issue? Perhaps, perhaps not, but that shouldn't the thrust of the article.
Engineers love writing/rewriting new code and smart engineers are always keen enough to find reasons to do it. They then use these reasons to convince less tech-savvy suits that it's the Right Thing To Do(tm), and they do so at their own peril.
Worries for Microsoft
1) They're worried about being responsible for outside code.
2) They're afraid that someone will inject malicious code into their product and they won't notice in time.
3) They'll reveal previously unnoticed security holes.
4) They're worried about shipping unreliable software (probably not their PRIMARY concern here)
5) They're arrogant, and don't like the idea of depending on outside software.
But, you'll argue, all software, what about Apple, IBM, or Open Office, or Mozilla has survived these issues.
Microsoft is bigger. Not a little bigger. Apple has what, 10% market share, Unix has 5%, and Microsoft has THE REST. EIGHTY-FIVE Percent.
If I add something malicious to OpenOffice Writer, and it slips through, it'll affect hundreds, maybe thousands.
If I do the same to Microsoft Word it will affect billions.
That also means that I can be much subtler about my maliciousness. I don't need to steal $100 from each user, I can just steal a dime, and I'm rich beyond my wildest dreams.
And at the same time, due to Microsoft's *unavoidable* backwards compatibility issues, their code can be fiendishly complex. For reference, see Joel Spolsky's article on the freakin' WORD file formats. http://www.joelonsoftware.com/items/2008/02/19.html
Now imagine what they have to deal with at the lower levels. More complexity = more vulnerability.
Basically the sheer ubiquitousness and complexity of Microsoft code means that adding devious code to their work is more valuable to your time. And as they'll never find l33thaxx0rsb0tt, the asshole who added viral code to VS2010, the lawsuits will just be addressed to Microsoft.
And, as a final cherry on the top, there are entire legions of idiot savants who have dedicated their lives to screwing with Microsoft. The fact that screwing up Microsoft affects everyone won't occur to them.
Is this a decent justification for not including OS software as part of the package? Almost certainly not. But if your job, the jobs, and a sizeable chunk of the US economy rested on that almost, either you'd tend to be conservative, or you're utterly irresponsible.
The reason that MS will not ship IronRuby as part of Visual Studio is that they accept code contributions. If someone decided to sue MS for patent infringement in this code they would have to modify the Visual Studio binaries etc etc. This is the reason IronRuby will be a separate download
Denis Gobo on July 4, 2008 5:55 AMI was thinking this was because these are not yet finished when the last visual studio was set to release.
Maybe that's another problem -- Open Source software is never truly done, is it?
Jeff Atwood on July 4, 2008 5:55 AMet tu, Jeff, et tu?
For a minute, I thought I was reading slashdot.org when I saw this Microsoft copies everything we open sourcers do rant. Also, like /., this opened the floodgates of anti-Microsoft me too-ers.
The reality is pretty much what Robin Day states. I don't see why everyone gets on the Microsoft are a bunch of bullies, anti-this, anti-that bandwagon.
Microsoft generally makes products that work. Sometimes those products work better than OS equivalents, sometimes worse. It's the same as open source projects, some of those work better than other software, some don't.
What about all the Microsoft software that has been copied by open source projects? I don't see a lot of people bitchin' about that.
Me on July 4, 2008 6:02 AMMicrosoft is doing a tremendous amount to promote code sharing and create communities at the moment, so I think it's disingenuous to say that it's all about vendor lock-in (Daniel Lehmann). Can I remind you that C# and portions of the .NET Framework are open standards, free for anyone to use? I believe that C# and .NET Framework have raised the bar in many ways, and the stuff on the horizon (parallel extensions, Dynamic Data etc.) is very promising. Of course, if you don't want to use C#, you can use pretty much any other language you want to target .NET. I don't see Sun giving you that opportunity.
As for reinventing the wheel by coding up their own source control and team management tools, well I can see where MS is coming from too. If they had gathered together a pick-list of open source apps, including NUnit, NAnt and so on and integrated those into Visual Studio they would:
a) Have been accused of profiteering
b) Have been accused of not innovating
c) Have integrated software that they already had alternatives to
d) Have been criticised for including tool X instead of tool Y
You can integrate whatever tools you like by using MSBuild or the various source control add-ons, so I don't see what the big deal is. If you don't want to pay for Team Suite, then buy Professional for a few grand less and add and remove whatever features you like from the open source community. Sure, you're not going to get the integration, but that's the price you pay.
I see MS regarding open source and community contributions cautiously, but progress is being made. Others have mentioned the dynamic languages like IronPython, but teams working on Dynamic Data, ASP.NET MVC and other new additions are actively seeking out feedback from the community in order to provide the best products (which will be free in .NET 3.5 SP1). For these projects, many hooks are being included so you can plug in whatever support frameworks you currently use. They are actively working with open source teams to enable this.
Of course MS have also released the source code to their .NET compilers and tests in the form of Rotor to the community and have, with Visual Studio 2008, enabled you to debug into the full Framework source code (including developer comments and so on). Why isn't this recognised? This isn't altruism, it's a corporation responding to the open source community, doing their best to accommodate developers who really should be more thankful for what they're getting.
Finally, you can get Visual Studio 2008 Express for free.
Dave R. on July 4, 2008 6:28 AM1)
Dear Jeff, would you grant me the authorization to translate this in french and pubish it ? I would grant you half of our nonexistent ad incomes, and links to the original article.
I am infuriated at the lack of insight in the french evangelists regarding how open source has shifted from pure unix/linux to all operating system. (I am not found of evangelists myself)
Your article is interesting since it is balanced and speaks of open source on microsoft system, and per se this will be new to some of the french community wich is not very open on certain point.
2)
At my opinion, MS engeneers are not bad or good, solely their strategy is quite a mess. An editor should rather keep up its good reputation by doing software bricks that excell in their very own domain, and allow some modularity in the integration because high quality third party applications will only enhanced the excellence of their applications.
The strength of a chain is the strength of its weakest link, MSFT is a chain wich weakeast link cant be replaced opposed to a solution such has : SVN + apache WEBDAV + trac + RequestTracker which chain will be stronger since all links even SVN can be replaced (by skn for instance).
Some software that enhanced SVN to reach MSTF level of features :
redmine http://www.redmine.org/
Trac http://trac.edgewall.org/
And when you design softwares as brick ... well, it's the open window to any gates.
The only problem for microsoft is that they can't give up the idea to let external teams do the integration, because windows OS supremacy is all about controling the vertical integration of any features.
It's neither good nor bad, it's just the way it is, but as long as windows don't open the OS to integrators, open source development on windows will keep being painfull, and open source developpers will be bored one day.
Jeff,
In a manner of speaking when is software ever done, open source or not ? Yea you can have hard fast limits if you're writing an driver or something. However take something like Windows. Has microsoft ever truly or will they ever finish windows. Yes they have finished release of an OS but I think that software is only ever 50% done at best on big projects because you can always keep adding to them and expanding, improving, etc.
Chris Howell on July 4, 2008 7:05 AMJoe:
That's because Microsoft bought Spyglass Mosaic and used it as the base for Internet Explorer.
Spyglass in turn licensed code from NCSA.
According to Wikipedia, Microsoft was also sued by Spyglass at some point because they used Spyglass's code (despite having licensed it).
The same article also points out that IE7 was specifically audited to make sure no NCSA or Spyglass code was present in it. Thus, IE7's About box no longer mentions either.
Source: http://en.wikipedia.org/wiki/Mosaic_(web_browser)
Powerlord on July 4, 2008 7:24 AMLots of open source licenses make it almost impossible for the software to be used commercially. I've spent a lot of time working in large investment banks and it's typically easier to bring a new commercial (paid for) product into the bank than an open source product. It all comes down to the Legal Team's reading of the license, the GPL license is particularly bad.
David Hayes on July 4, 2008 7:36 AMWell I agree that MS do like to write their own software, however they have opened up a little bit by building SvnBridge which allows a CodePlex developer to use the Subversion clients TortoiseSvn and VisualSvn against the TFS repository.
I host a free a control on CodePlex (Superlist) and found TFS integration to be extreamly slow over the internet plus annoying when not connected, “do you wish to work disconnected” grrr . In my limited experience Subversion works much better over the internet compared to TFS, but in an intranet environment you probably wouldn’t notice the difference plus you’d get the extra goodies that TFS comes with – if you can afford it.
Great post
Lee
A bit off topic, but is it just me or does it seem that Gates is to Microsoft what Jobs is to Apple? I mean in a sense how Apple's success seems to be directly connected to Jobs involvement in the company.
If I remember correctly Gates started stepping down around the time Vista development started and both development and customer adoption just failed (dropped features, customers begging for more XP, PR disaster etc.). Months to Gates' retirement, MS admits losing document war for ODF, and just after his retirement MS starts talking about rental Office, which sounds like surrendering to OpenOffice (if customers don't want to own it, they sure as hell won't rent it unless absolutely necessary).
Bloodboiler on July 4, 2008 8:37 AMjeff, welcome to the anti-microsoft world.
hatedance on July 4, 2008 8:38 AMmay i know why u had to link to that horrible Chocolate Rain video? I read the wiki entry, but cannot figure out why you were required by law to do so?
tech on July 4, 2008 8:50 AMMicrosoft has shown time and again that their coding skills (overall) have deteriorated. Maybe the key people have left, maybe the culture changed, maybe it is micromanaged to death and nobody can get anything done. Maybe they are hiring anysmal programmers overseas (always a possibility).
How can it be that a bunch of people in dorms can deliver something more stable and usable than a company with virtually unlimited resources and access to best minds on the planet?
BugFree on July 4, 2008 9:10 AMI work for a small software development company. We simply cannot afford to fork out the 10s of 1000s of $$s for TFS and our only alternative is to get cheaper/free tools and try to manually integrate them into our development platform VS - this is a painful effort and we do not have the resources to do this! While I have great respect and appreciation for MS, some of their strategies such as the one you have pointed out are regrettable.
Prasanna on July 4, 2008 9:15 AMWhy Can't Microsoft Ship Open Source Software?
You're asking the wrong question:
Why on Earth Would Microsoft Ship Open Source Software?
Captain Obvious on July 4, 2008 9:24 AMYour statement that Open source seems to evolve according to a different power law than commercial software. makes no sense, considering the huge amount of software that is both Open Source and Commercial.
Did you mean to say that Open Source software and proprietary software follow different power laws?
glomek on July 4, 2008 9:27 AMThere are systems that tried to get out of the sucking state by leaving the path that CVS once created (and SVN took over). E.g. darcs, but darcs is written in Haskell and even getting it compiled is so much PITA, it's reason enough to dump it.
the darcs website provides binaries for most platforms (windows, OSX, various linux distributions, BSDs, ...) and even if there aren't any binaries you can usually find it in your package manager of choice.
I've never had any problem building darcs under OS X using macports. The only issue it has is that the compilation time is fairly long.
A system that does not suck too much is monotone.
Check mercurial.
Masklinn on July 4, 2008 9:32 AMIt's great to say Microsoft should just use and ship open source, but I've seen no mention of the potential licensing problems. There are a plethora of different licenses out there each with implications if you build on top of them, how they can be used commercially, etc. I would have to think that this is at least as important as owning the source since, well, they could always fork if necessary and have the existing codebase.
It's simply not fair to make broad generalizations that Microsoft hates open source because it doesn't ship it without addressing this issue.
Tim Marman on July 4, 2008 9:34 AMIn fact, the more I think about this, the more I think Microsoft's utter inability to integrate open source software of any kind whatsoever into their products might just end up killing them.
I disagree. In reality, people are happy if you deliver a good product reasonably free of defects.
However, considering the success of other well known bloated and buggy software there isn't much MS can do to actually die. That said, they are good candidates for irrelevance: IBM anyone?
Well we all know that OSS is the new communism, so how a righteous, capitalist and a saint(because crusading against the heathens is sanctity) company can add that trash to their pure codebase.
It would undo all existence!
Shipping open source with a commercial product is just not a good idea since you would immediately become (at least morally) responsible for the performance of that section of the product that you do not fully control.
Have you read a Microsoft EULA lately? They don't even claim responsibility for code they *DO* write. Why not just put a new line in the EULA that says and any third party code.
Scott on July 4, 2008 9:52 AM
Microsoft is like an old oil tycoon, rich as anything, but one leg in the grave.
the sua for posix comes with some gnu tools, so ms is already integrating open source tools
notgnu on July 4, 2008 10:51 AMThe comments to this entry are closed.
|
|
Traffic Stats |