Microsoft has just reported $40 billion in revenues and over $16B in earnings yet it is out to do what it has had to do many times over – change its image on a major Enterprise computing issue. This time it is interoperability. But in fact, over the past 10 years Redmond has consistently had to play catch up on major IT performance measures: scalability, reliability, security, availability. And now it is the turn for interoperability.
Yes, once again we are treated to the spectacle of Microsoft almost discovering for the first time one more aspect of Enterprise caliber performance . It is positively embarrassing to see Redmond executives apparently recognizing, like an ingenue, that yes indeed interoperability is an important factor in IT success. “We suspected, we knew it was important; however now its got our full attention.”
But, no, in the meantime, this does not mean that Microsoft has delivered on its prior promises to achieve world class performance on availability, reliability, security and scalability. For example, in the security area we have raised some fundamental questions about prior to .NET commitments to security and continuing negligence and backsliding since then (see our assessment here). Likewise in the scalability arena, Microsoft is going substantially outside Globus and other Grid Computing standards in developing its own, proprietary BigTop grid computing initiative. So now Microsoft is “embracing interoperability” but strictly on its own terms.
Microsoft and Interoperability: Do They Really Get It ?
This is the title of the first and one of the Microsoft recommended webcasts on the Microsoft Interoperability website. Microsoft has pulled out all the stops on this website including having 20 webcasts available, giving away some free Tablet PCs and a guaranteed book from a selection of five on system architecting and design if you watch at least three webcasts. So you see, Microsoft is serious about Interoperability.
Or is it ? Judging by that first webcast on Microsoft and Interoperability: Do they Really Get It ? one can safely say NO. For example, in this pivotal opening presentation were there any top Microsoft Executives on board and at least being quoted as to why they felt interoperability was important? – NO. Did the webcast address the issue of what is different between interoperability in the past and now going forward? – NO. Did the presentation address the issue of why Microsoft has taken and continues to take a distinctly proprietary approach to software development ? – NO. Did the webcast try to explain some of anti-interoperability actions of Microsoft in the past ? – NO.
This latter point is quite important in the fast moving IT world because there is a tendency to forget any technology more than 5 years old – and the history behind it. But of course as Santayana said, we ignore history at the peril of repeating it (and all of our mistakes). So for convenience here is a small list of questions on anti-interoperability that Microsoft executives should be held accountable for:
1)Why did they seek to proprietize Java and not go through Sun and any sort of Java Community Process in formation at that time ? Why do they continue to poison the well of Java runtimes, even after “rapprochement” with Sun, by distributing a hopelessly obsolete version of the JVM on Windows and therefore cutting of an avenue for great interoperability between Windows and other systems ?
2)Why did Microsoft morally and financially support the ill-advised attack on Linux by SCO, absolutely poisoning the climate, instead of building interoperability bridges to Linux and Unix that the company now avows it wants to do ?
3)Why has Microsoft suspended for the past four years all functional updates to Internet Explorer including long promised upgrades to full W3C, ECMA and other Web standards thus adding billions of man-hours per year to all web developers that have to correct/adjust for both Microsoft omissions and proprietary extensions ?
4)Why has Microsoft discontinued all use of stick to interoperability and open standards switches ? Such switches when toggled on guarantee in Visual Studio and other Microsoft developer tools that any code generated by MS or added by the developer will adhere to ECMA, ISO, W3C and other open interoperability standards (a scan is required in the latter case). Microsoft has supported such capabilities in the past. And such vendors as Adobe, CA, Macromedia, and others currently support such interoperability switches in major products right now.
5)Why has Microsoft embarked on a major campaign to increase its software patents, always an enemy of interoperability, especially in the face of W3C and other standards organizations calling for patent free zones and also in the light of IBM, Sun and others granting sizable chunks of patents to the Open Source community ?
6)Why has Microsoft failed to support in its development tools directly major standards that have either broad industry/market acceptance and/or recognized IT standards organizations approval ? The list is very long and includes: CORBA, DCE, J2EE, JPEG2000, OpenDoc, OpenGL, PDF, SVG, SMIL, SWF, etc, etc.
7)Why is programming interoperability strictly forbidden on Windows? None of the Microsoft programming languages are portable to other platforms in their full entirety- not VC++, not VB.NET and all its Visual Basic predecessors, not VBA, not JScript, not C# despite the efforts of the Mono group, not Visual Foxpro, not VBScript, not WSH etc. And why are the three most popular cross platform programming languages: either ignored (PHP) or subject to debilitating restrictions by Microsoft (JavaScript is locked in IE well below standards, Java is held to an obsolete JVM on Windows ) ?
Now it is important to get these and other questions on Microsofts support for interoperability answered precisely because interoperability is based to a great extent on timely and continued support for open standards. We would like to emphasize the “timely and continued” part of that support because Microsoft executives have proved to be “good weather” supporters of standards and interoperability. One has to look no further than the Web interoperability and standards adherence promised in Internet Explorer and still not forthcoming five years later. Or the off and on again support for full SQL standards. Now this is crucial, because as we shall see below Microsoft is really dependent on third parties for most of its “interoperability” message. And if there is one immutable fact, Microsoft is infamous for pulling the plug on its software partners in arbitrary ways (think IBM and OS/2, Sybase and SQL Server, Sun and Java, Sendo and SmartPhones, etc ,etc).
The Microsoft Interoperability Message
So despite its provocative title, the lead-off webcast turns out to be an Infomercial about Microsofts interoperability efforts. And the Infomercial tells us about two major trends in Redmonds support for interoperability:
>Works with What You Have
…Blithely cites support for W3C standards and XML
…Touts two gateway products, Host Integration Server and BizTalk which have limited interop
…Admits the bulk of interoperability comes through 3rd party software and vendors
>Interoperable by Design
…XML provide the data interoperability framework for information workers
…XML-based Web Services worked out in cooperation with BEA, IBM, Oracle and Sun
And as Porky Pig would say – “Thats All Folks !!!”
So you can imagine 19 more webcasts on this foundation leaves a lot of technical evangelism and infomercials for .NET, Office and Windows products and Services and how they relate to XML and Web Services.
So the bottom line is full steam ahead for Microsoft in creating its gated IT community experience we have called the Gates of Longhorn. The Gates of Longhorn only allows entry by data interoperability – no programming interoperability allowed. Web Services you say offers programming interoperability ? Thats like making a delivery to the second floor by walking to the top of a 20 story building walking across the hall and descending 19 floors to make the drop off. Web Services are essentially macro orchestration tools; not operational implementors. XML offers programming through XPath, Xquery, and XSLT you say. Well first Microsoft has taken pass on XSLT2 and XPath2 and is even rumbling about XQuery not meetings its requirements. Microsoft is saying for an XML GUI resources/events/actions description language, it is Redmonds own XAML or the highway – Microsoft will accept nothing less. Microsoft is also taking out a slew of patents on XML against the express wishes of W3C. Now thats what I call Anti-Interoperability. Ohhh and XPath and XSLT are declarative programming languages. Lets face the music – Microsoft simply does not allow any major procedural programming language on Windows that is not proprietary. Remember – everything must run best on Windows. This latter objective means that all of Office Longhorn, all of the new Microsoft ERP apps, all of the .NET Servers, and Windows LongHorn are sure to be tightly coupled together such that Microsoft software runs best in Longhorn and everything else runs second best.
Now this conclusion is derived only from the lead off overview webcast and a fairly long history of Microsoft practices and declarations in the past. And I have 19 other Interoperable webcasts to wade through. But I promise you, if there is any news in those 19 other webcasts that would lead me to revise the assessment presented so far, I will be the first to let you know. Meanwhile, let Microsofts actions in the past and ongoing right now speak louder than any 20 webcast infomercials words.
(c) JBSurveyer 2005
Hell of a good infomercial; but I want on the Oracle rocket!
Kent, in the interest of lucidity my comments will be interspersed directly with your generally excellent thoughts and ideas.
Like you, I am a bit suspicious of where Microsoft is really going to do with all of this, but at the same time, this kind of prattle doesnt help the situation much. Its little wonder to me why folks from either side have a hard time being willing to work together when somebody paints such a bleak picture.
prattle, noun, pratl, Idle or foolish and irrelevant talk – nothing like a good slap to the face to catch my attention and start a serious discussion. But it is an important subject so we shall soldier on.
Anybody thats tried to do any sort of meaningful binary-level Interop can tell you why Web Services makes sense and why doing at a binary level doesnt. Microsoft isnt alone in promoting the use of Web Services to make Interop work, so are the open sources biggest backers: Sun, Oracle and IBM. Any well designed system is going to present abstract interfaces to its internals. If you wonder why concepts like CORBA and DCE only went so far, just think about how much of the internals of the system they had to expose to make things happen. I shouldnt have to know how you do things to ask you to something for me. That just make sense, but its taken us how long to actually achieve that?
Far too long in my book.
My concern largely coincides with yours on trying to make data integration, program interoperability and their standards, long espoused, more viable. And I concede that binary-based standards indeed are a tough row to hoe for platform and political reasons. There is the tendency over time for bits based standards to fragment because different platforms have slightly to largely varying requirements – one has only to look at ANSI SQL, ECMA JavaScript and the Java Community Process to see that in ever increasing bit-level standards. However, lets be under no illusions, data and declarative standards(which are by their very nature are less tightly coupled to specific bits) have had a rough go as well. We need only look at HTML/XMLs predecessor SGML or ANSIs oft-circumvented SQL for telling examples.
However, Java and JCP, despite being very much a bit-based standard, has done remarkably well regardless of the skepticism from the Cathedral about purity and the yin- yangking pull among some very bullish and blue members. In spite of these strong tides, Java has delivered the closest thing to a cross platform programming language and despite Microsofts long and continuing machinations against Java (see below).
Again, I agree with you, there is a need for a robust set of open, cross platform top-level RPC command and control mechanisms. Clearly Web Services establishes a largely declarative framework with up until recently broad industry support and consensus. However, there are other RPC and distributed processing standards available, such as CORBA, OSF DCE, XML-RPC, GridRPC, and EDI frameworks. Many of these other standards have the virtue of already being implemented, tried and tested with good to outstanding results unlike the wave of newand largely untested WS-x standards.
But my overarching concern on the Web Services declarative standards is that they give away a lot in performance, security, and simplicity that could be achieved with Occam Razor like elegance with some of the more bit-based standards which we have just mentioned above. It is my contention that the complexity plus the inherent performance and other trade-offs of n-tier distributed processing demand that these other more bit-based standards will play vital roles in various segments of the whole distributed processing space. However, one vendor, speaking from its position of dominance on the desktop is arguing to the IT community that should adopt only the one Web Services standard. I, for one , am very leery of this.
In fact, Microsoft appears to be using Web Services standards for their own ends. Microsoft seems to be saying to the IT community – “we will support many data interoperability standards as long as they dont encumber us and our Windows /X86/Strong ARM bit platforms; but as for programming interoperability(and therefore highly bit oriented standards); we will only allow for declarative languages and even then we reserve the right to take a pass on anything there”. For example, it looks like Redmond is going to pass up on XPATH 2 and XSLT 2. My colleagues describe Redmonds standards policy as pure opportunism; unfortunately I dont see any counter indicators to that judgement (see IE comments below).
I also think the implication that IEs behavior is any way indicative of how Microsoft is likely to treat SOAP based interop is at best naive and is, at worst, based on some bias. Its also a pretty bad a pretty bad exemplar: most of the interop problems folks suffer from with IE is based on the fact that other folks decided to the original work that way, not because IE forced them too.
I emphatically disagree with you here. IE and W3C HTML/DOM/ECMA JavaScript and the deliberate stoppage of all functional and promised standards improvements not just in IE but also through Visual Studio and other MS development – this is the prototype for Redmonds carefully orchestrated standards policies. SOAP and Web Services is already seeing Microsofts selective omission and commision act.
What do I mean by selective omission and commission? Redmond has a tendency to do three things on standards. First, just reject and omit some standards support outright. Microsoft will having nothing to do with them(think CORBA, SVG, JPEG2000); not even partial support despite some strong movements in the community(JPEG2000 has support from Corel , Adobe, Jasc(now part of Corel) and several other major media software players). Second, Microsoft runs way ahead of some standards doing pioneering work and proposing such work in the standards committees. JavaScript/DOM, XML, Web Services are three areas and nothing wrong so far. However, when some of those Microsoft efforts get omitted from standards, Microsoft will retain those features and extensions as proprietary enhancements – again nothing wrong so far as long Microsoft completely implements the base standard and has available a stick to standards switch in all its development tools that implement that standard. The stick to standards switch/toggle when turned on does not allow any of the Microsoft extensions to be used (the commands and icons are greyed out) and a review of code/application is done to flag any non-standards code compliant inserted inadvertently by the user. This standards toggle makes it easy for end-users to decide whether they want to use proprietary extensions or stick to standards.
Now some Microsoft people will argue that this type of toggle just does not exist in the industry in general. Wrong! As noted Adobe, CA, Macromedia among others have such switches in their tools. For example, Adobe GoLive and Macromedia Dreamweaver have exactly that kind of toggle that allows users to scan for breeches in browser code against a browser orW3C standards level. Macromedias new Cold Fusion allows users to switch between PDF or Flash based operations. Ditto for a number of reportwriting vendors that allow for a simple switch to direct output to PDF, Flash, Excel, Java, and other standards. Take a look at what Microsoft Reporting Services allows versus the comeptition.
But the critical point here is that Microsoft implements the standard to the penny and offers users a safe and easy to use opt out policy. Now compare this to what Microsft has done in the C++, JavaScript, CSS, DOM, and many other standards arenas. I submit that IE and JavaScriptDHTML/DOM/CSS is the prototype of Microsoft malfeasance is unfortunately repeated elsewhere because it is orchestrated from the top.
And the proof of the latter statement is my third objection to Microsofts support of stanadrds. Redmond reserves the right, despite all its previous promises, to change its mind on standards support. Again IE and the arbitrary discontinuance of meeting its ECMA and W3C commitments is the key example; but I have friends in the networking and media communities that would easily pass on an earful on Missed Microsoft commitments and reversals of form. Standards adherence is not about probabilistic commitment – “well we might continue to support them, and then again we might not”.
Lets also not make the assumption that just because somebody “not Microsoft” proposes something and some other “not Microsoft” folks decide to use doesnt make it an “industry standard.” Standards have much more involved in them than that. Sure, it would be nice if MS could implement everything. Theyre would also be a lot of unemployed programmers and busted partners if they did. That hurts everybody equally.
Kent, I and a lot of readers would take offense based on this comment. Back in the late 80s and early 90s Microsoft spokepersons would say this about defacto and dejure standards – ” we constantly monitor the computing scene – and as soon as numbers warrant, we implement new standards/functionality and /or provides interfaces to them”. Now they dont even bother with such sentiments. Now standards adoptions and support are clearly adopted only as a part of Microsofts overall strategy and advantage. And again nothing wrong with that with the one proviso that Microsofts advantage should not be at the expense of end-users. So if Microsoft bypasses a standard it should have a substitute that offers equivalent functionality without imposing a large start-up and/or operating cost penalty.
Lets look at this for a moment. In Office and Reporting Services I would like to use PDF and SWF files as easily as I use output to Excel or HTML. Currently, some third parties provide these services; but they are at the mercy of Redmond. If Microsoft deems it strategic to enter the market (see what Microsoft has done in the Windows utilities market place countless times or Joel Spolskys team collaboration extensions for Visual Studio or … ) or cut off the interfaces (see the infamous Bristol case) – then Tough Luck to 3rd parties. And in other cases Redmond just say tough luck to all Windows users. Such is the case for support for PNG and JPEG2000. Microsoft does not have a substitute for these image processing capabilities and no or few 3rd parties have dared to enter and offer these as extensions in IE, Exchange, Picture-IT, Visio and/or Visual Studio.
Finally regarding all that “job saving make work” bringing Microsoft programs to standards – I can assure you that is a dogs breakfast that I would dearly love to serve up to the Microsoft excutive team for a few weeks. Working on web projects my team and I can spend anywhere from 10% to 40% of our time coding workarounds to IEs non-compliance and stunted implementation of DHTML including JavaScript, CSS, HTML, and DOM. Then when corporate executives ask why the extra time – they have little to no tolerance for “the excuse” of having to do workarounds for non-interoperable Microsoft code left to us by JScript and ASP programmers or just inherent in making DHTML work on IE these days. In effect, corporate executives are redirecting their scorn away from Microsoft and on to us. Heaven knows we would like not to have to pay that 20-30% “make it work in IE” tithe and get on with more productive work.
And dont be fooled, this is non-standards tithing is not restricted to just IE and DHTML. Just ask the C/C++ coders interfacing apps and devices into VC++, dBase coders interoperating with FoxPro, or even VB6, VBA and VB.NET coders trying to arrange internal compatibility. Oh, for sure, dont talk at all to the Security and Admin people about Microsoft, support and standards.
Of course, time will tell. I for one think that the rise of Open Source really has been a strong boon for everybody: competitive pressure is the best force a market can apply when there are effective few vendors serving that market. Microsoft cant just live in its own world (I think they finally gotten that idea) and I see this push on Inter-op as away for them to talk their communities about how to get better. Thats where they need to start. Its folks like me who can effectively change our products to work together better. We need to do that. Folks in the “not Microsoft” camp are welcome to pay attention so they can see how were being asked to it since it likely has strong influence on how we can work together going forward.
Amen. Microsoft is no longer the lowest cost producer in so many of the markets that it captured by being exactly that . And with Open Source that gap is made ever wider despite Microsofts lame Lower TCO arguments. The fundamental problem is this – Microsoft has yet to deliver a sustaining substitute for the fact that it is no longer the lowest cost and therefore best price-performance supplier in so many of its markets. Admittedly they are working on it – they just have not delivered . And a key piece, Longhorn, looks like its most likely 2 years or more away.
As to your questions:
1.) They dont. Microsoft stopped distributing their version of the JVM and products based on it (http://www.microsoft.com/mscorp/java/faq.asp). In fact, Microsoft now list the Sun JVM as the one to go with (http://www.microsoft.com/mscorp/java/).
Riddle me this then! – Why in Gods Good Earth not deliver the latest Sun JVM with every new copy of Windows?? Especially after their kiss and make up with Sun. This is another example of the workaround tithing end-users have to pay – and pay mightily for sticking with Windows.
What Microsoft did on SCO is shameful. What Microsoft is doing in the case of Java is well nigh unforgiveable. And the IT community and vendors are nearly as guilty for letting Microsoft get away with it. Where were BEA, Borland, Compuware, HP, IBM, Oracle, Sybase and countless other software and hardware vendors (many of whom have profited mightly with their Java wares) when Microsoft said it was going to only support a non-compliamt version of the JVM on IE ? Where were the Fortune 500 organizations who clearly could use data integration and cross platform capabilities that they are now literally begging for? These stakeholders should have made it abundantly clear to
Microsoft that if Redmond only used a non-compliant JVM in IE, then they would switch their browsers to one that supported full Java compliancy.
Having not done so has turned out to be an enormous loss to distributed processing. Having a latest version of the Java client on Windows solves a huge set of problems that stillborn efforts such as IBM weblets and Borlands dynamic applets only hint at. So now we have server based solutions such as ASP, ASPX, JSP, JSF, PHP, etc etc that are non starters for the latest 5As required distributed architectures -> Any Authorized user Anytime, Anywhere on Any device offline or online. And Smart Clients are not going to cut the mustard. So now when I hear some executive or pundit complaining about cost, complexity, and/or failure rates of distributed projects – my tendency is to ask where were you when Java on Windows was under attack ?
2.) Lets roll the clock back to the introduction of J++. Why did Microsoft invent that? Two reasons: First, their technology stack at the time wasnt ready to deliver the kind of developer experience folks were used to in the Microsoft world, so they basically had to invent a different wheel to deliver that. Second, as Im sure you recall, back in 1995, you had to pay a license fee to Sun to distribute the Java Source (http://sunsite.nus.edu.sg/hotjava/licensing.html) MS did that then. Lets also not confuse business with technology. Fact: Microsoft owns a license for Unix. Fact: Microsoft acknowledges by paying SCO for that license that they (SCO) have an intellectual property right to Unix. Has SCO turned around and used that Money to turn around and make their Unix assets any better? Doesnt appear so: they decided to use that money fight to protect their assets. http://news.com.com/Fact+and+fiction+in+the+Microsoft-SCO+relationship/2100-7344_3-5450515.html?tag=st.prev Fact: Sun has numerous IP rights for Java. Fact: Microsoft has paid them for the right to use them in their (MSs) products.
I bet to differ here . I think that Microsofts support for SCO including the payments and support for secondary financing has been shameful. It just has been highly counter-productive for Microsoft itself. Yet some of the key executives around the campaign have been promoted. Those promotions send a clear message to the rest of the IT community – no matter what Open Source face saving gestures we make, really we liked swinging the bat and scaring the bejesus out of the IT and Open Source community. It acts as an ongoing threat to the IT community – “we can be a defiantly nasty, scheming, pitbullish, and meanspirited player if we so chose – so be forewarned.”
Oh by the way where is the promised (http://www.zdnet.com.au/news/software/0,2000061733,39149502,00.htm) deliver of Java to the Open Source community at? Oh, thats right… it wouldnt solve any problems (http://www.pcpro.co.uk/news/news_story.php?id=58628)
See my comments on this at my Java Opens page.
3.) Humm. Your attention must have been distract to elsewhere when in September 2002 Microsoft introduced IE 6.0SP1. Just exactly what parts of HTML 4.01 does IE support? Im sure you know about the DOCTYPE quirky vs. standard mode switching (http://gutfeldt.ch/matthias/articles/doctypeswitch.html). And lets not forget that Not-IE also has some non-standard elements: Layer and ILayer come to mind Since dropped in the sense of no further work is being done by Mozilla, Netscape, Opera and most other players (http://www.mozilla.org/docs/web-developer/upgrade_2.html#Upgrading_Layer). One thing I completely agree with you about the lack of full support for CSS2.
The “Billions of Man per Year” is laughable though: Lets assume for a minute that there are roughly ten-million Web Developers in the world. Kent, you are off by a factor of 5 to 10 in your estimate. And then your arguments proceed to prove my point. Thanks. To reach a billion man-hours, each of them would have to spend 100-man hours a year on just that issue. Hum, I must be slacking because to accomplish what my business want to achieve in terms of interoperability, Ive had to spend maybe 20 or 30 hours at most trying to write pages that rendered as desired as on both IE and not-IE. Ive also found that the biggest problem isnt HTML or CSS, its with plugs-ins.
If the standards community was really interested in fixing the cross-platform problem, thats the problem they should solve. The object tag just doesnt go far enough.
I agree with you here explicitly. But on Internet browser standards – JavaScript, DHTML, DOM, CSS, etc – some of the major players are dragging their feet. Notable is a large vendor from Northwest Washington state.
4.) What youre talking about in #4 isnt clear at all. If you mean that “why dont FrontPage and Visual Studio.NET” use a non-quirk mode by default, I agree, I dont like that as “not the default.” Pretty easy to change if youre worried about though. Not everybody is. Its interesting to note that MS has gotten their act together on this for Visual Studio 2005 where default DOCTYPE appears to be a non-quirk mode.
No you and Microsoft still dont have it right. Adobe and Macromedia do in GoLive and Dreamweaver respectively. There is a tooggle switch in both that allows the developer to set the standards that all their development work on a project will stick to. Call one of the standards switch levels (there are multiple standards adherence options available in both products.) Stick Strictly to W3C. Then when you use either program and go to use a Layers or Ilayers (Netscape non-standards) menu item – it is greyed out. You just cant use wrong non-standard code. Later you can ask the programs to scan your web pages for non-standard code – and both provide a list of flagged statements in all the assocaited files for a web page or web app that dont meet stanadrds. This is very valuable when importing others code that uses Microsoft-oriented DHTML which may use runahead proprietary coding that only works in IE.
But JavaScript and DHTML is not the only example. I know lots of coders that have switched out of J++ and over to JBuilder or ImageJ because those programs provide similar toggle switches that enforce a given level (JVM 1.3.1 no Swing, for example). Then menus and class libraries are just greyed out and not available. Ditto for xBase users and so on. Data Integration and Program Interoperability are the consistent marching orders coming from the executive suite – programmers are going to appreciate all the help they can get in achieving that.
5.) Lets see, 2004 Microsoft targeted going from 2,000 to 3,000 filings per year (http://promotetheprogress.com/archives/2004/07/microsoft_to_in.html) while IBM filed for more than 3,200 (http://www.infoworld.com/article/05/01/11/HNibmtopspatents_1.html). Even HP generated more patent applications than Microsoft. It looks like even Sun has a Patent fetish: http://news.com.com/Suns+Schwartz+guns+for+patent+glories/2100-1014_3-5390714.html. Interesting enough, even Redhat doesnt like Suns behavior: http://news.com.com/Red+Hat+exec+takes+Sun+to+task+on+open+source/2100-7344_3-5378197.html?tag=nl. Answer that and you answer your own question: They are all companies in business to make money for their shareholders. Supporting Open Source helps some companies do that. Pure and simple.
I have commented elsewhere in this forum on what a mess patents are in software. I have been tough on everybody – and deservedly so.
6.) One at a time:
Just how programmable is CORBA without Java? And just how transportable is it? And why does virtually every implementation have its own “extensions.” I can tell you why I ditched CORBA ages ago, but Don Box makes it much easier to understand Microsofts thinking here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxml/html/xmlmanifesto.asp. Of course, it helps if you actually write your broker correctly: http://support.microsoft.com/default.aspx?scid=kb;en-us;299411
This is exactly what I was talking about in terms of having a rich set of distibuted processing standards – some of which are more tightly coupled but substantially more performant, reliable and secure. Let users decide. And judging by the very rosy financials coming from CORBA suppliers, users disagree with Don Box and are using and not just kicking the CORBA tires with increaqsing frequency. Ditto for XML-RPC and some EDI methods. The good SOA and ESB architects are accomodating just such flexibility in their designs.
DCE: Is supported: http://msdn.microsoft.com/library/en-us/rpc/rpc/using_asynchronous_rpc_with_dce_pipes.asp
J2EE: Supporting that is pretty easy… use Web Services: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/jdni_ch01.asp
For both DCE and J2EE
JPEG2000: For now, they are letting the marketplace decide what value JPEG2000 really has. If you “need, want and got to have it,” theres tons of a SDKs for on the market.
Thanks, Microsoft, I will have to wait for JPEG2000 support in IE at least until Longhorn coming out probably about this time two years hence. And then there is still no guarantee that JPEG2000 will be in (much less PNG ). In fact, isnt it curious that Microsoft will talk about everything Longhorn but what and how IE will work there. I think users are in for a few big surprises … and not all welcome.
OpenDoc: Well, weve seen how Apple and IBM treated that. At least Microsoft tried to offer alternatives: http://www.windowsitpro.com/Article/ArticleID/16900/16900.html
OpenGL: Have you ever looked at the platform SDK? http://msdn.microsoft.com/library/default.asp?url=/library/en-us/opengl/openglstart_9uw5.asp
I have some buddies who work in the animation and 3D fields (Alias WaveFront, ToonBoom, Houdini, SoftImage, MindAvenue, Matrox are either Montreal or Toronto based). They tell me that if I think I have compatibility problems with DHTML – then OpenGL to/from DirectX is a minefield.
PDF: Reporting Services offers PDF rendering capabilities with one mouse click. You want XSL-FO, go with Antenna House. You want to do it programmatically? Tons of SDKs on the market. Take your pick. Oh, you want a free, open source library for generating PDFs with Perl on Windows: http://search.cpan.org/src/AREIBENS/PDF-API2-0.2.3.8/. Ive used it. It just works.
SVG: Not so hard:
SMIL: Is a requirement for Windows Media Player starting with version 9. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmsrvsdk/htm/programmingplaylists.asp
SWF: Remains the IP of Macromedia and they provide a free player for it. The problem here is exactly what?
7.) Well, as if there wasnt already a mountain of information contracting this in the previous parts of this comment, I really have to wonder what your point here is?
I dont think anybody really cares that they cant use VisualBasic on Linux. If youre using Linux, youre going to be able to program in some other language anyway. Ive had very few problems porting Perl code from Unix to Windows and back again provided Im careful about the modules I use. I suspect and am discovering that I can use Eclipse and the Sun JDE just fine on Windows as well.
Now Kent you are just being facetious here .
PHP is quite strong on Windows: take a look at Sokkit (http://www.phpgeek.com/pragmacms/index.php?layout=main&cslot_1=12)
And precisely what parts of ECMA-262 doesnt Microsoft comply with? What parts of JavaScript have been submitted to the ECMA as a standard beyond that? Sure, the Mozilla folks have created their version of what v1.5 can have, but just because theyve got “something” doesnt make it a standard.
As mentioned before its the persistent runaheads as well as
If I were Microsoft, Id be waiting to see what happens with TC39s progress on JavaScript 2.0 since that will a lot of work for all of us.
This list of partial implementations by Microsoft or more often 3rd party solutions is a critical concern. This is a variation of the “Tip the Standards to Us ” game. Sure we support PDF or SVG or whatever. Just not all the features or use a 3rd party. Oh want a complete set ? Look to 3rd parties. And then the 3rd parties say we are not up to snuff or Redmond has a software conflict so we cant do that. And looming in the background is the real fear that as in the case of Bristol on Unix compatibility, Software Ag on cross platform COM/DCOM, and Sendo on Smartphones ( and there are plenty of others) – Microsoft reserves the right to say we have changed our mind on that.
Now to give you a feel for how real this concern is the following are nearly identical responses from project managers when I separately and at different times proposed using PHP and then Flash in some projects: “We dont use any technology that is not available and directly supported by Microsoft in Visual Studio.” The PHP rejection got this added remark – “we like PHP and the technology, but we got burned by using open standards . You know that only Microsoft can guarantee a technology will work best in Windows.”
So this not a case of one-sided fault finding of Microsoft as readers can easily find articles on how Adobe, IBM, Oracle, Macromedia, Sun and others have been taken to task for what they have or have not done on standards like JavaScript, SQL, Web Services and others in several articles in this weblog. Rather this is a case of accumulated experience direct and indirect with Microsoft and their technologies. And then the question is what level of Trust can be accorded the company to deliver on its promises of Data Integration and Programming Interoperability. And I would suggest that the evidence supplied would place that level of trust at mid at best, low being a realistic level. But that judgement is made before considering Microsofts treatment of its ISV partners large and small in the past – think IBM and OS/2, HP and New Wave, Adobe and font technology, Sybase and SQL Server, Sendo and Smartphones, and currently its BI partners who Redmond is making stomach even broader Microsoft offers of free client and server side giveaways which at the least reduce their profit margins and more sinister and threatening – endanger their market position and very viability in BI key market segments.
Simply put Microsoft has treaded an ever more errant line in its treatment of its stakeholders. Nothing less than mistreatment of trust has been visited upon employees, partners and its software users to varying degrees. Is that erratic treatment of stakeholders trust, is that anyway to run a $40B company ?