微软自己的OpenSource副本的实现是否更好,为什么?

时间:2008-10-15 19:57:07

标签: .net visual-studio open-source

Microsoft喜欢实现自己版本的流行开源框架和程序集,例如:

  • Microsoft的MVC框架与MonoRail
  • Microsoft的Unity IoC容器vs Castle Windsor / Spring.net / Ninject等
  • Microsoft的VS单元测试框架与nUnit(及其他各种)

问题:

微软还借了什么呢?

哪种情况在每种情况下都更好?为什么?

人们对微软官方版本与ALT.NET版本的态度是什么?

你认为接下来将在雷德蒙德的一翼下做什么?

修改 好吧,而不是哪个更“好”,您更喜欢将其用作开发人员?

6 个答案:

答案 0 :(得分:5)

为什么不把棍子塞进大黄蜂的巢穴呢?

这些伟大的工具的MS版本肯定有一个更好的事情 - 如果它是官方的MS产品,它会更容易让你的MS商店使用产品。

如果您是为Windows系统开发的商店,则在将非MS产品纳入您的产品时,您必须采取额外措施。许可和文档存在问题,至少您必须满足这些问题。此外,必须克服内部政治。并且,在某些情况下,如果客户使用的是MS未正式支持的“开源”组件,则您的客户可能不愿意使用您的产品。

不公平,但生活也不公平。

就个人而言,当MS与这样的产品竞争时,我喜欢它,因为它有助于为框架带来新的生命。

答案 1 :(得分:3)

这是完全主观的,因为对一个人来说“更好”并不一定对另一个人更好。微软实现创意/技术/产品与开源软件之间的一个区别是,微软有能力将全职资源投入项目,而开源通常不能。

还有支持问题。除了开发社区之外,大多数开源项目都没有任何类型的支持。这并不总是坏事,因为你有时可以得到更好的支持,而不是官方(专职)支持小组。

微软这样做有很多原因,其中之一就是拥有该特定领域的一部分市场,并推动更多客户使用他们的解决方案而不是第三方解决方案。另一个原因是客户的实际需求。

微软从开源项目“借用”的其他一些产品:

  • SandCastle(来自NDoc)
  • TFS Team Build(来自CruiseControl.NET)
  • MSBuild(来自NAnt)
  • ? (不确定它是否有单独的代码名称,但它应该是MVC框架的一部分)(来自SubSonic)

答案 2 :(得分:1)

在单元测试的情况下,我听到了微软官员的回答。事实上,如果我没记错的话,微软的功能甚至基于NUnit代码库。

复制这个特定的OpenSource产品(以及其他人,我被告知)的原因是客户想要这个。起初,这似乎是一个廉价的借口,但我可以想象一些喜欢这种方式的企业客户。此外,微软员工声称,如果微软自己实施该计划,则他们更容易提供客户支持,因为他们可以对来源负责。如果这是真的,那么OpenSource的采用还有很长的路要走。 : - (

答案 3 :(得分:1)

更好的定义是什么?在大多数情况下,管理层希望拥有一种“标准做法”的产品,这样当他们向人群扔石头时,可能会遇到可以拼写他们假装支持的产品名称的人。悲伤,但却是真的。

另一方面,有了MS的肌肉,一旦采取了一些事情并且他们是严肃的,那么他们每个人都是认真的,这也不是一件坏事。在某些方面,MS对于庞然大物来说可能相对敏捷。然而,他们仍然是一个大公司,大公司不会移动太快。

答案 4 :(得分:0)

这完全是主观的,但在我看来,答案肯定是“有时”。他们的一些实现更好,因为它们使入门更容易。例如,使用MS MVC框架比使用Monorail IMO更容易。单轨列车和相关的城堡项目似乎总是有点脱节,这将推迟不太专业的开发人员只是想要开始。另一方面,一些MS其他项目,如企业库和实体框架是如此庞大和架构,这使得任何人都很难开始。他们是英国媒体报道。只需自己评估每种产品,并选择最舒适的产品。

答案 5 :(得分:-1)

只有一点相关,但我还记得当他们第一次发布windows xp时,我有一台可以在Windows 98和linux之间双启动的电脑。它有一个非品牌的声卡,Linux驱动程序是错误的;它会工作一段时间,然后以非常独特的方式开始口吃。当我获得机器的xp(通过我所在的学校免费)时,该卡的音频驱动程序完全相同的错误

顺便说一句:任何人都要下注多长时间才能关闭?