Are Microsoft's own implementations of their OpenSource colleagues better and why?

Microsoft, for example, implements its own versions of popular open source frameworks and assemblies, for example:

  • Microsoft MVC Framework vs MonoRail
  • Microsoft Unity IoC container vs Castle Windsor / Spring.net/Ninject etc.
  • Microsoft VS Unit Test framework vs nUnit (and others)

Questions:

What else did Microsoft borrow?

What is better in every situation and why?

What is the attitude of people towards official Microsoft material compared to versions of ALT.NET?

What do you think will be done under the wing of Redmond?

EDIT Well, not "better", which do you prefer to use as a developer?

+4
source share
6 answers

This is completely subjective, because what will be โ€œbetterโ€ for one person will not necessarily be better for another. One difference between the implementation of Microsoft's idea / technology / product and open source is that Microsoft has the ability to allocate resources full time for the project, while open source usually cannot.

There is also a support issue. Most open source projects have no support other than from the development community. This is not always bad, because sometimes you can get support such as from an official (dedicated) support group.

There are many reasons why Microsoft does this, one of which is owning a part of the market in this particular space and attracting more customers to their solution, and not to a third-party one. Another reason is actual customer demand.

Some other Microsoft products have "borrowed" from open source projects:

  • SandCastle (from NDoc)
  • TFS Build Command (from CruiseControl.NET)
  • MSbuild (by NAnt)
  • ?? (not sure if it has a separate code name, but it should be part of the MVC Framework) (from SubSonic)
+3
source

Why not just take a stick into the hornet's nest?

There one thing is definitely better about the MS versions of these great tools - itโ€™s much easier to get your MS store to use the product if it is an official MS product.

If you are a store that is being developed for Windows systems, you need to take additional steps when incorporating non-MS into your product. There are problems with licensing and documentation that, at a minimum, should be met. In addition, there is always an internal policy that needs to be overcome. And in some cases, your customers may be reluctant to use your product if it uses an open source component that is not officially supported by MS.

This is unfair, but not life.

Personally, I like it when MS competes with similar products, as it helps to embed a new life in the framework.

+5
source

In the case of unit testing, I heard a response from a Microsoft spokesperson. In fact, if I remember correctly, the Microsoft function is even based on NUnit code.

The reason for copying this particular OpenSource product (and others, as I was told) is because customers want it. Firstly, this may seem like a cheap pretext, but I can imagine some corporate clients who prefer it that way. In addition, a Microsoft employee said that Microsoft will simplify the provision of support to users if they themselves implement this program, because they can take more responsibility for the source. If this is true, then using OpenSource has a long way to go. :-(

+1
source

Which defines better? In most cases, management will want to have a product that is โ€œstandard practice,โ€ so when they throw rock into the crowd it will most likely hit someone who can name the product they pretend to support. Sad but true.

On the other hand, with the muscles of MS, once something is accepted, and they are serious, the person each of them is serious, and this is also not bad. In some respects, MS can be relatively mobile for a hippo. However, they are still a large body, and the large body does not move too fast.

+1
source

This is completely subjective, but, in my opinion, the answer is definitely "sometimes". Some of their implementations are better because they simplify the work. For example, using an MS MVC scheme is much easier than starting with Monorail IMO. Monorail and related Castle projects always seem a bit fragmented, which will set aside less than an expert developer, just wanting to get started. On the other hand, some of the other MS projects, such as the Enterprise Library and Entity Framework, are so huge on the architecture that it is very difficult to get started for everyone. They are viruses. Just evaluate each product yourself and choose what feels most comfortable.

0
source

Just a sibling, but I remember when they first released Windows XP, I had a computer that would be dual boot between Windows 98 and Linux. He had a non-standard sound card, where the linux driver was buggy; it will work for a while, and then it will begin to stutter very distinctly. When I received xp for the car (for free through the school where I was), this audio driver for the card had the same error!

By the way: does anyone bet on time until closing?

-1
source

Source: https://habr.com/ru/post/1277771/


All Articles