Jepson Rebuts Petreley On The Dangers Of Mono
Tim O'Reilly writes "Brian Jepson, a long-time perl hacker who's been working with Microsoft on some of O'Reilly's books about .Net, and with Miguel on mono, rebuts Petreley's warnings about mono."
← Back to Stories (view on slashdot.org)
What I don't get is why the HELL they are implementing the CLR. There's already a GNU endorsed, open source VM architecture - Kaffe. GCC 3.0 does java bytecode's now, too. It's a massive wheel-reinvention to go implement an MS technology.
KDE and GNUStep are both better than anything the NGOME camp's put out anyway.
Go back and reread the article. You obviously don't understand the technical details.
The Common Language Runtime and web services and so on DO NOT NEED PASSPORT!
Passport is simply a web service that Microsoft is offering which provides a single-signon. You don't have to use it, it's NOT required. You can use it if you want to.
It is amazing how eagerly people are willing to believe conspiracy theories.
It is not the fault of any of you to do so, but it would be Petreley's duty to do a little research before writing from an uninformed point of view.
I remember I was once sitting in a panel with another famous pundit. The panel was on `Open Source' and they had brought the `experts' on Open Source to talk about it.
Such pundit said a minute before the panel begun to us `I do not see the difference between Peer to Perr and Open Source, to me they are the same thing'.
In Market speak .NET is a Microsoft-wide company initiative. To humans this means that a vision has been set at Microsoft, and every bit of the company is moving towards making that goal happen.
Now, this .NET "vision" encompasses many different areas, let me list some of them for you:
People are confused between two elements: The development platform and Passport. People who claim that Mono is related to passport are making statements that are similar to `Excel is Turbo Pascal'.
The Mono Project is a project that Ximian has launched and is devoting resources to bring the benefits of a new, fresh and powerful development platform to Unix. Why we are doing this? Because we need those tools to bring you the next generation end-user applications. We could do this with C, C++ or Python, but it would take us longer, and we would waste our engineering time.
Passport is a completely different beast. Many people are confused, and asked me `How is Mono related to Passport'? The answer is: it is not related in any way. I have written a document that highlights the problems on Passport, you can get it here: http://www.go-mono.com/passport.html. This has nothing to do with Mono, but people are still confused.
Even worse, some people claim that `Mono will bring Passport to Linux'. Those people have not been paying attention. Passport is already available to be ran on Linux servers. Just go to http://www.passport.com, and download the Linux toolkit.
This bears repetition: Mono is not related to passport.
If you want to have an informed opinion on Mono, please read our FAQ: http://www.go-mono.com/faq.html
miguel.
If you want one of those, take a look at dotgnu, but even there the strategy is to be a REPLACEMENT, not a plug compatible Microsoft clone.
- Sam Ruby
.NET and Passport are just functions and noone is required by law (yet) to use them.. Example? Ebay now uses them, if they require it then I stop using ebay and I tell them why. If you contact an E-commerce site and tell them they you cant buy their products because of a dimwitted decision to lock out people that dont use MS software they will take notice. (In e-commerce today, one lost sale is felt, and general managers will hang sales people for losing sales.... A GM will probably fire the entire web team if their migration to .net and passport hurts sales even just a little nowdays.
Ecommerce isnt driven by Microsoft and their drivel, It's driven by moola, dollars, that green stuff in your wallet. That is what Ecommerce believes in fully, and that is all they care about.
Ecommerce sites will bail on microsoft instantly if it affects cash flow or the bottom line.
Do not look at laser with remaining good eye.
That's partially true. An OSS project lives as long as the tarballs are on a server somewhere. Howeer, you can't think that they wouldn't be happy to see VA Linux, Red Hat, SuSE, Ximian, et al. go away? They might not be able to get rid of the software, but they seem to have shown a certain skill reducing the market share of competitor's projects. For example, I doubt many people are using WordPerfect on OS/2 these days...
There can be no endgame for MS. They cannot go after a checkmate. They cannot kill us.
Yes, there can and they can and will. They can do something similar to what the IM stuff has been all about. They tacitly agree to help Mono (by not squashing it outright and releasing some sorta-open code). They get good press and the DoJ off their backs somewhat. People are duped into thinking MS can change and actually do some good for OSS. Then let's say that IBM or some such starts backing Mono. And then let's say that other companies like this because it's either free or low cost, or they have hackers that can toy with it, or whatever. So they start using Mono-based stuff instead of the MS stuff. Maybe even an OSS version of Passport comes out and starts to take off.
What will hapen then is that the Mono-based stuff will break in subtle ways. Like Java, maybe. Or Kerberos. Or like what will happen soon with SMB. Nothing sinister. It's just that Windows 2004 XP needed small changes "in order to maintain interoperbility with Microsoft's .NET (TM) and Passport (TM) services..." And, oops, those small changes break every Mono-based implementation previously released. And, no, the spec will not be opened because it would compromise MS's IP.
At that point, Mono plays catch-up and eventually dies. No company will touch Mono with a ten foot pole if they fear that at some point down the road MS might "have" to change a spec, and that change will break their apps. Apps which will aim to take people's money, mind you. That hits close to home. Sure the technology might live on, but it won't compete with MS's stuff. Not really, anyway.
If MS feels like their lunch is being eaten they will retaliate. They have to. Failure to maintain market share will get Bill Gates sued. This is a cold, hard fact. MS does not give any ground for long.
So what are we terrified of?
That maybe OSS companies and independant developers will waste effort on a doomed project. They they are dancing to the beat of MS's drum, not their own. They they will be forced into a role of playing catch-up, of always being second best or merely an "alternative" to MS's software.
If MS could controvert HTTP (read: Apache) such that IIS would be the only logical choice for web deployments, they would in one flat second and without even thinking about it. It's projects like Apache (and Tomcat, etc.) that are examples of what we need to be doing. Instead of coding up our own implementation of an IIS-like server that can do ASP and FrontPage and whatever, we have our own software. MS has been catching up to us on that front, and that's good because they actually come up with stuff that makes sense and we end up being forced to innovate where we otherwise might not. Apache is good software for good software's sake. Not software because it fits someone else's mold. I'm afraid Mono is just the opposite and that by the time we realize it, it will be too late.
-B
Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.
I swear, it's cliche come true: Those who forget history are doomed to repeat it. It's like the Ximian guys are abused spouses. They're making excuses, thinking they can change the other person, pretending it'll all work out good this time, forgiving this one last time, so on and so on. People get therapy for this, you know. The solution is not to give them one more chance. The solution is to get the hell out and start fresh. We cannot let this codependant wool-gathering to continue where Microsoft is concerned. They cannot be beaten at their game. We need to get them to play our game. There are many things OSS can do better than a monolithic organization. we'll win by focusing on that. Proaction, not reaction.
Hmmm. Time for a new analogy.
People need to remember that MS is out to do one thing and one thing only: Create and maintain shareholder value. That's the only thing publicly traded companies aim to do and the only thing that matters to them. Everything besides that is secondary (contrary to the "We like to make innovative software for the betterment of the world" mantra the PR types like to repeat to us). And the cash goal is just fine; it's what our country was built on and it's created a lot of happy people and started a lot of successful companies. It works pretty well. Until you throw in some incredibly lucrative technology backed by technologically savvy yet altruistic individuals. It's chum for the MS corporate shark.
MS could no more resist the urge to co-opt and/or subvert Mono or related techologies than a Great White could resist a tasty meal at the Ft. Lauderdale Hemophiliac Seniors Beach club. MS will come out with .NET and Passport, and Ximian will have Mono. As soon as organizations start favoring Mono over MS's proprietary tech, MS will devour Mono by any means necessary. They have to, in order to maintiain market share. They have to keep up with the slippery slope, and nobody can tell me they won't do whatever it takes when it comes right down to it. They have to stay moving and eating to survive, and will react badly to anything that threatens their food supply of cash and mindshare. What we are dealing with here is a perfect engine... an eating machine. It's really a miracle of business evolution. All this machine does is extend and embrace and extinguish other competeing technologies and that's all. (Apologies to Mr. Hooper.)
Anyway, people would do themselves well to remember the past.
-B
Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.
Miguel de Icaza and Nat Friedman response is here
Reminds me of...
"Yes, primarily we're looking for someone with 10 to 15 years of Java application development experience."
-----
crazy dynamite monkey
No, that is unlikely to happen. Perhaps you don't understand what .NET is. .NET is a brand new platform. It will run on many
devices, not just Windows PC's. For example, it will run on X-Box's, and Hand Helds, and embedded devices. Those devices will not
be necessarily running on X86, they will use a whole variety of CPU's and architectures. Thus rather than telling programmers to write for
the Windows API, Microsoft is not saying that if you are writing an Internet application you should be writing for the .NET API.
If Microsoft succeeds in doing with .NET what they have failed to do with Windows, that is make it available on a wide variety of
platforms, then changing the underlying environment will be very, very hard. The whole point of the environment is that it is consistent
across the entire Internet. Its attraction to programmers will be that they can write write something once and it will run everywhere. If you
then change that API in an incompatible way you break the concept.
Microsoft are in the same bind with Samba. I am sure they would love to break Samba with each new release of Windows, in the way they do with NTFS. But they can't, because that would mean older versions of Windows would cease to work on a Microsoft network.
DOS 1.0 was not "basically stolen". Bill Gates offered a chunk of money, the chunk was accepted. Fair and square. You may think Gates should have said, "By the way, don't accept my offer, take your QDOS to IBM and they will pay you more than I will." I don't think a failure to say that is the same as theft. Was the guy who wrote QDOS (which became MS-DOS 1.0) heartbroken and embittered? I'd say not, given that he went to work for Microsoft, and worked there off and on for years. (The ironic thing is that his stock options from being hired at Microsoft must have made him a millionaire, given how early he was hired.)
DOS 3.0 didn't break anything but TSR programs; I agree it would have been nice if MS had made some sort of TSR API, or at least documented everything the TSR guys needed, but to take a lack of documentation and expand that into a claim that DOS 3.0 broke things is absurd. TSRs were hacks; getting different TSRs from different companies to work without stepping on each other was an adventure. By the time Windows got really useful, TSRs had been sorted out, but they were always hacks.
DOS 4.0 was basically written by IBM. Microsoft had little to do with it, and I remember a lecture I attended when I worked at MS where a DOS engineer talked about ways in which DOS 5.0 would fix the screwed up and broken things of DOS 4.x. DOS 5.0 was a very successful product; it was smaller and more compatible than 4.x, and it had new memory management APIs that people wanted. (HMA and all that.)
DOS isn't done til Lotus won't run? I don't believe that for a second. I worked on Word for DOS, and I never once saw any calls to secret back-door functions in the OS. Microsoft pulled some weird stuff, like that version of Windows that put up a confusing warning message if you ran it on top of DR-DOS, but I never saw any evidence they did anything like add code to break competitors. You can't do something like that without people in the company knowing about it, and it only takes one of those guys blowing the whistle to land the company under a pile of trouble; which never happened. And the Undocumented DOS books reverse-engineered all sorts of stuff from DOS, and they never found any "secret make Lotus break" code.
Windows 95 was in beta forever. I was using it almost a year before it shipped, and it always was very stable for me; they tested it as much as they could before shipping it. You may wish they had waited three years before shipping it; if so you are on drugs. Everyone wanted them to ship it. 32-bit addressing, no more near/far functions, Win32 allowing you to write one app for both Windows 95 and for NT? Everyone was eager for MS to ship that thing. Win95 was a huge success, which means that most of the people who got it were happy with it.
OS/2? When I started out at Microsoft, we all ran OS/2 on our development machines. All the really important desktops were running OS/2. Microsoft really believed OS/2 was the future. Then, after Windows 3.0 shipped, the customers bought huge piles of it; MS realized that the customers wanted Win 3.0, not OS/2. The customers were voting with their dollars, and MS gave the customers what they voted for. I'm amazed IBM wanted OS/2, but IBM did, so MS was able to just walk away from it and not even have to support it; IBM took care of all that. MS never did anything to kill OS/2, unless you count their refusing to license the Win32 API to IBM, which I don't.
Microsoft stuff is far from perfect, yes. But it is also far from the picture you paint.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
Go ahead, hit me with the -1, Flamebait. I can take it.
.Net. The Linux crowd worked for years just getting Java ported, and it already ran on a flavor of Unix)
In all seriousness, though, I cannot even remotely imagine Mono actually working for anything more complicated than Hello World apps. Consider that our experience with powerful cross-platform languages so far basically starts and stops with Java. Before anybody starts spouting out examples of their favorite cross-platform programming language: unless you've written a word processor or equally heinous client-side app and had it work on other systems on the first or second try, it does not count.
So let's consider Mono in light of our current experience with Java (disclaimer: I am a professional Java developer). Java's basic operations were pretty simple to get right: right out of the gate most non-GUI apps were likely to work on all platforms (as long as they weren't too big...). The AWT, however, was a disaster. GUIs are a lot more complicated than most non-GUI programmers realize, and tiny inconsistencies between platforms can easily break things. The AWT was the simplest API imaginable, and after two years of Sun's (and many other's) work on it getting GUI apps to work was still very hit-and-miss. Keep in mind that this API was so simple that it didn't even support clipboards, drag-and-drop, or even PRINTING in its first release. It didn't have tables, or real file dialogs, or trees, or split panes, or a million other things we take for granted. And it still didn't work.
Only after the incredible investment of time that Swing took was Java finally able to *really* get things right between platforms. For the non-Java-nuts among us, Swing is a component library written completely in Java. The native system libraries are used only for very basic painting and input operations. In other words, getting native GUIs to work the same way on multiple platforms was essentially impossible for Sun: they gave up and wrote it all from scratch in Java.
The situation with Mono is even worse, because the API is by Microsoft. I confess that I am not familiar with WinForms; if it's an incredibly elegant, simple API please correct me. However, most GUI libraries are REALLY, REALLY complicated; again, if you've never tried writing something like a cross-platform word processor, you just don't understand how tough it can be. The idea of everything working exactly the same between Mono and Windows (when Winforms simply delegates to Window's native API) is almost laughable.
I'll close with a simple example of what the Java team faced and why Swing even exists. The AWT TextArea naturally just used the native Windows, Macintosh, or whatever text area to get its work done. Exactly, I believe, as WinForms does. Problem: the Windows implementation of TextArea wouldn't work with more than 32K of text under Win95 and Win98. Unix programmers would happily dump megabytes of text into their (perfectly working) text areas, which would then blow up on Windows. They would then bitch at Java for not working cross-platform. This particular issue with Windows may since have been resolved, but in its time it was a very large problem. There were many, many other similar things -- which is why for the most part nobody uses native GUIs in Java anymore.
No disrepect to the Mono team intended, but I'm inclined to believe that any complicated apps won't have a prayer in hell of working. Again, the non-GUI stuff may not be a problem, but Unix doesn't need any help in that department. What Unix needs is good client apps, and I think the Mono team is completely out of touch with reality if they think it's as simple as hacking together a Winforms implementation overnight.
(And please don't bother responding with anything along the lines of "Yeah, but it's open-source so it must be better than what Sun can do!" Bullshit. Sun, Netscape (now AOL) IBM, the Apache team, and a million other groups are all working on Java, and there's no way such incredible development resources will ever be pooled together for a simple port of
--- egomaniac
ZFS: because love is never having to say fsck
That being said, there is a limit to EBay's ability to control how their customers pay each other. They obviously would like everybody to use their Billpoint system. (Payments amount to $251 per second. That a lot of "collection float" and banks would kill to process it.) But you still see a lot of people using Paypoint. There are even technophobic sellers who still insist on money orders.
Bottom line: third-party implementations of .NET definitely will help Passport increase its market share. Whether this will force everybody to start using Passport remains to be seen. Given the amount of scrutiny Microsoft is under, and their general ineptitude, I'm sceptical.
__
I see you point - but I worry that .Net will be the Windows or IE of the connected world. I.e. everything else will become gradually more sidelined, more difficult to 'sell' to the non-technical people who make the decisions that we then have to implement.
.Net, we want Passport' and I'll have to stop coding in my beloved PHP and go back to the pain and suffering that is ASP.
Basically, I'm worried that they'll all say 'we want
Seriously, it scares me
Ever since prohibition was lifted, the mob's main cash cow was organized drug trafficking. Now they can get into organized money laundering and theft using MS Passport.
Microsoft will even make it easy for them to get started for the first 3 years or so.
-vax computer, vi, lynx. 'nuf said
Is it just me, or does anyone else have vivid flashbacks of the Outbreak monkey every time you see the Ximian logo next to a headline containing "Mono"?
You are right. What Microsoft did, though, was see a side of the market that others did not-- the economy of scale. Most production costs of software is tied up in development. By selling lots of copies of the software, they could sell for less.
OSS, IMO, is an extension of that idea. I firmly believe that open source would not be where it it were it not for MS. The ubiquity of the computer is an amazing factor as is the internet (which has nothing to do with MS, but is just mentioned as an aside).
MS is not simply the power that we strugle against. It is the Kronos of our existance. It is the murderous father who made our existance possible and whose wrath we will survive in order to overthrow him. We are ascendent now and cannot be defeated.
You also say: "they made it easy to get on and use a computer so that people would buy them, and that fueled the market so faster tech would be developed and rolled out."
Ease of use has nothing to do with it. Were DOS machines less easy to use than Macs? No. They were more widely used because Microsoft took full advantage of a great economy of scale. The scale is going away though, which is why Hailstorm and passport are so important to the company.
I do not agree with Ximian's enthusiasm regarding the C# language, but that is there choice, and in a free market, choice must be preserved and, I think, supported. That is our greatest strength-- as computers are ubiquitous, we are ubiquitous. We fave far more resources than MS and far more developers.
I agree that Hailstorm poses some substantial problems, but my resolution is simply not to use it ;)
Sig: Tell all your friends NOT to download the Advanced Ebook Processor:
LedgerSMB: Open source Accounting/ERP
Remember how funny that was? Remember how funny it was that the Net portrayed in that movie was so fast you could practically do full-motion video? That was a real scream when you got home to log onto this net with your 56K. And now that you've got a cable modem, well, things are looking a bit faster. And now that you have a 1.2 GHz processor and 512 Mb of RAM the scene where Sandra opens about 50 windows whilst seeking out BillG, er, the bad guy's identity doesn't look quite as foolish any more.
And the idea of using one application to hack all those different real-world apps -- police, jails, drivers' licenses, hospital records, all stored in a completely compatible and accessible form. Baloney, you remember thinking, thinking of all those old WordPerfect 5.1 docs the boss wants you to convert to Word for Windows 6.0.
Well, it's not so funny any more because that's exactly what .NET is. MS want not only to perfectly integrate all your apps, they want to hold the data on their servers. It's almost as if BillG saw that movie and thought, "gee, what a swell idea."
I've lost count of the number of apps I've run across written with Access, or SQL, when flat files would have been more efficient and made more sense. But flat files tend to be proprietary in form, distribution, and content. If you've ever gone into an 80's-era accounting system you know what I'm talking about -- hundreds of files with enlightening names like X878190.DAT.
But put it all on a SQL server, especially one owned by BillG, and things become much clearer. Every record is tagged as to type and you can much more quickly work out what data go where. It wouldn't be perfect, but tricks like switching the photos on a couple of driver's licenses would become much simpler (assuming, of course, that you go for the last piece of the puzzle and install your back door).
Microsoft has the ultimate history of irresponsibility. Since their first days in business they've specialized in producing slow, buggy, unfinished code which they've rammed down our throats through brilliant (and often illegal) marketing tactics. Now they want to centralize all the data in the world under their own aegis. Excuse me while I go puke.
Brackets contain world's first nanosig, highly magnified:[.]
Because they said so in a press release. This wasn't about .NET, it was about one of their other efforts -- Hailstorm IIRC.
But like any service, it is something you subscribe to and decide to participate with. Microsoft's hope is that you'll find it conveninient and want to use it. If not, then well what are you worried about?
Well, it's like this. I have credit cards. Now there is no reason on Earth I need credit cards; I'm debt-free and have plenty of money in checking. I have credit cards because of the absurdly large number of things you can't do without them. Like rent a car, reserve a hotel room, or get stuff delivered next-day when you order it online. Microsoft is positioning itself to be the next "credit card," only moreso because they will invade every area of life that involves a computer. Do I get to "opt out" of the police, hospitals, fire stations, ambulance services, ADT (who write paychecks for my employer), or my employer placing itself in Microsoft's grand scheme of things? Of course not. So as in the movie, if BillG really were to put a backdoor into the architecture, he could create a great deal of mischief for me despite my aversion to his wares.
They certainly have a history of producing high quality software. I don't know what software you've been using that you consider low quality.
Well, it's like this.
1970's
1980's
- DOS 1.0, basically stolen
- DOS 2.0, nearly equal to CP/M
- DOS 3.0, broke half the apps that ran on 2.0
- DOS 4.0, broke 3/4 of the apps that ran on 3.0 AND was a memory hog AND full of bugs (but then, "DOS isn't done until LOTUS won't run")
- Their first series of compilers, which were unaware of the 8088 failure to complete string copy operations after an interrupt, and so crashed randomly
1990'sIt's true that they have done a few things right, especially w/r/t Microsoft Office. But I could have told you in 1978 that their corporate style wasn't capable of developing a stable operating system. Early versions of Word tended to blow up a lot too, but then they didn't tend to take the whole universe with them when they did.
You then claim that this software is rammed down users throats. Are you just gullible? I've never had software rammed down my throat.
You've never received a document as a .DOC after you had multiply and explicitly demanded .RTF because of the totally unnecessary virus threat caused by their irresponsible security defaults, you've never had to install a Windoze partition on a machine just to run some app that is unavailable in non-Windoze version which turns out to be indespensible either to you or a coworker, you've never...
Wait a minute. Of course you haven't been forced to because you're so ignorant you actually like this shit. Never mind.
Brackets contain world's first nanosig, highly magnified:[.]
Monkey see monkey do... =) Why should people use a bad copy of a bad software ?
And I suppose without Microsoft, we'd all still be using mechanical typewriters? Get real. If Microsoft hadn't been there, other companies would have filled the demand. In fact, the way things actually happened is that other companies did do all the innovation and create the new markets, only to be copied and then outmaneuvered by Microsoft on the business and PR front. Microsoft has yet to come up with a product that they haven't copied from someone else.
The overall effect of Microsoft on the industry has been to hold us back technologically by at least a decade compared to what would have happened in an efficient and competitive market. For that, we shouldn't be grateful, we should be furious. And it's particularly depressing that now that they have eliminated all alternatives, they are successfully rewriting history, as your post shows.
What this guy has done is actually look at the .NET API and see how it actually will work when it comes time for .NET to go live. He suggests alternatives to using Passport as a form of authentcation through the use of SSL and HTTPS. On the other hand, I still follow from the first article of MS's attempt of a possible bait-and-switch tactic to make Mono incompatible with Passport by having MS make a quick change to Passport and dropping support for Mono.
The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.