Unfortunately, they don't have $100m to pour into marketing.
Unfortunately, they don't have $100m to pour into marketing.
In that way it gives Linux an inroad it didn't have before Mono.
Here's the thing you have to understand about corporate IT: Support is king. Unlike startups which are filled with technical people company's have only a few IT people and usually only one whose knowledge is at a high enough level to even think of editing the source of an open source project. So you need to have a support option in place.
Now Microsoft has support contracts but even if you don't purchase one you can get support for $245 per incident on any Windows Server issue. Our agency of 200 computers uses this option once, maybe twice per year. Novell on the other hand offers support for Mono but it's sold in packs of 25 incidents and costs $13,000. So no matter how much Linux and Mono can save your company the outrageous support costs make it virtually unjustifiable.
Amazon wouldn't be nearly as good as it is if it wasn't for the degree of software quality that they have.
In your customer service example IT has clearly had a positive impact, but you'd be hard pressed to convince anyone that the IT department is generating revenue for the company. If you walked into the CFO's office trying to make that case you'd be laughed out of the room. Good customer service does not manifest itself through good software.
A better approach may be to walk into the CFO's office and show how your IT department is helping the company realize it's goal of providing good customer service at an acceptable cost. It's a very subtle distinction. This is what I was getting at when I said not thinking of IT as a cost can be a roadblock to advancement.
Then again, I think it was Bezos himself who described Amazon as a technology company that happened to sell books too.
Maybe Mono is great for smaller agile shops who can somehow work around that (most likely since they don't have a lot of legacy code - or they can start from scratch), but at the big corp I work for it just doesn't work. Many of our teams couldnt get our major projects running without major issues on mono without significant work (which wasn't undertaken).
People doing software development on top of Linux tend to choose other languages, like Python, Perl, PHP, Ruby, C++ and Java. That's because these languages have matching cultures and communities.
Personally when I'm investing time learning a tool, if the learning is not trivial, I first take a good look at its community. If you're getting in trouble with Mono, who you're going to talk to?
The core mono mailing list is nice, but other than that you're out of luck. You could join a .NET community for support, but their topics, issues and goals aren't a match for a developer used to work on Unix-related projects. And the signal-noise ratio is rather poor.
No, it doesn't. For internal development you have a wide variety of options. Java is quite good and very popular among those who consider the option of not running their wares under Windows. The only way Mono can appeal to Windows-only houses is by making it possible to run unmodified (and proprietary) products that run under Windows on other platforms.
Were I insane enough to allow my business to run on .NET and Windows, I would only consider migrating it to other platform if I had the assurance of being able to run it unmodified.
And, BTW, as it is, Mono is a patent minefield. Do you really trust Microsoft to act as a responsible corporate citizen when doing the right thing would cut their profits?
I wouldn't even if acting responsible would be profitable. Playing dirty seems too embedded in their corporate DNA.
I'm working at a Windows-only house with internally built .NET apps. Mono is definitely part of our long term plans to run these apps on other platforms.
Unfortunately, some shops need to use off-the-shelf software that may even run on Mono but is not officially supported and, if something did go wrong, they would on their own.
Can you provide the patent numbers of the specific patents you had in mind, or otherwise provide a source for why you think this is the case?
Can you provide any declaration Microsoft supports Mono and promises will not sue those users not under their IP cross-licensing deal with Novell?
Until then, it is a minefield. And that is what a minefield is about - you never know when you step on one or even if there are any mines.
1) C# is a standardized, open spec language. Mono is an implementation of that open spec. The development of that specification is driven by MS's .Net platform.
2) Here's a crucial bit of patent/IP law: by releasing the specification of the language to the "public", MS is barred from suing over it in a court of law. So again, there's no need for it say that it won't sue, since it's already prevented from doing so.
And even if by publishing the spec they would have given up their right to sue implementors (which they did not) they would be free to sue anyone that used any technique on which they own valid patents on any jurisdiction insane enough to allow such patents.
And while I doubt their willingness to test such patents in court, I also acknowledge the potential for long and painful lawsuits is more than enough an incentive use other technologies that are every bit as nice to the developer as .NET while negating completely any litigation risk.