Will Open Source Lose the Battle for the Web?
snotty writes "A well written article by Ganesh Prasad over at linuxtoday arguing that the shift towards web services has reduced the attractiveness of the current generation of Open Source web products. He talks about the market share decrease in Apache. Also mentions how .NET, Microsoft, Sun, Java, and Open Source Software fit into the picture." I think that the decrease in Apache's share is a red herring, but the bigger picture of web services is a troubling one.
Did you even bother to check with Netcraft as to what the actual cause of Apache's drop was? Are you there? Wakey, wakey?
Since you can't be bothered to follow the link, here's the quote:
What will happen next month? Apache won't be losing ground, unless Namezero had a couple of thousand domains lying around somewhere on Apache and decide to change them to IIS as well.
Namezero have thousands of domains. As for physical servers, no, they don't have many. The drop in numbers is due to a couple of free web sites that Namezero hosted being shifted.
I don't think it bodes badly for Apache. The author of the article linked was a troll, and comes from an disreputable trollish bundle of bollocks organisation. Do you think I believe their trash? As much as I eat my faeces.
imho, it may easier to create a m$ web services solution, but i don't think you'll have the same flexibility and performance
Allow me to humbly disagree. There are things that certain technologies can do and certain things they cannot. In this world, no one technology is ever 'best' or 'worst', they are either well-suited for the job or they are not.
In my example, I work for a company which was always a Microsoft shop (Microsoft partner, and sells tons of MS stuff). Guess what - our particular eBusiness solution, which was developed using the latest/greatest MS solution wasn't up to snuff. We couldn't get the flexibility out of the application we needed (even a redesign wouldn't work - VB had too many limitations), IIS either crashes on a regular basis or needs constant hotfixes to keep it secure, and SQL Server shuts itself off whenever it feels like it. And we can blame the 'expert' consultant who set the thing up initially, took off, and left me to try to support the damned mess that was left.
Enter Java. Using Tomcat as the Servlet engine, and the Velocity template engine, we have nearly completed rewriting our entire eBusiness web application, and this new model demonstrates the ability to customize both the look and feel (a custom framework using Velocity which can load customized templates per customer), and a Servlet framework which can automagically load custom code on a per-customer basis. This code is simply written to extend previous code. Both are loaded on the fly (not necessarily compiled into the main application). Speed/ease of development? We are adding new customizations and features in a day or two when they used to take a week or two to complete when using VB/ASP and COM. In other words, by doing the complete rewrite we have already saved significant amount of developer time, after that initial investment.
We are using this new app in production now, and there have been no problems, other than SQL Server still shutting itself down. This will change within the next two months, as we are moving our database to something more robust which we already use for our backend.
Still being a MS-shop, I was shocked to find out that the president of our company decided to let me go ahead and use what I want on our servers. He was getting tired of the constant security worries and instability of the thing. And yes, we are going to switch to Linux/Apache as soon as we eliminate our final few dependencies on MS-specific code.
You can accomplish anything you set your mind to. The impossible just takes a little longer.
Should it?
Hell no! I've administered to IIS and Apache servers for years, and all that IIS's GUI ever does is get in the way. Let's imagine for a moment that you have an IIS server hosting multiple sites, and that one of those sites is working properly while the other doesn't work at all. Now tell me how you'd go about comparing the settings on the two to see what's different? It's a god damn pain in the ass. You can't compare the two side by side, and there's a handful of entirely separate panels to check for differences, each with sub-panels.
Now, with apache, I can open two terminals/editors and compare the comparisons side-by-side in just a moment.
With text configs, I can also compose a template for new sites and set them up with a quick cut and paste operation. Much less work than creating a new site in IIS...
Wake up... complacency is Microsoft's best friend. Just assume we're winning already and suddenly we'll find they've stolen the goalposts and the spectators, moved to the next field over, built a stadium & are making millions from the pay-per-view market. Zealotry, and a blind preference for whatever version of the story puts OSS/Free software in the best light, gets us nowhere.
> The real question is how the Open Source
> community should respond. You can quote me
> on this one, if we simply stand behind
> reliability and laugh at Microsoft's security
> holes and crashes, WE ARE TOAST.
Very well spoken and I agree with your points.
I have been working as a professional unix software dev for over 15 years now.
I love unix and open source, but I feel that, in general, a lot of the open source that is out there is nowhere near prime time.
It has been very frustrating for me, as I think that there are some really smart people working in unix and open source. I think that ego and other stupid not-invented-here (TM) mentalities have REALLY hurt the unix and open source communities in general.
As much as I loathe M$, I have to give them credit for a couple of things:
-consistency of user interface
Yeah, I think skins are cool and everything,
but in the end, most users want a consistent
and useful user interface and could give
a rats ass about the GUI wars that unix has
had forever (one of my major pet peaves).
-more money and effort into producing usable
products.
I'm not trying to defend M$, because they
certainly have more than their fair share
of really evil and stupid bugs, but the
perception on the part of the user is
that of a stable, consistent and
full-featured environment and suite of
software.
-incredible marketing.
Joe User could care less about us thumbing
our noses at M$. They want consistent,
useful and good products.
Some areas that I think unix/linux/open source community requires some major work on:
-consistent user interface
The X guys REALLY dropped the ball here by
saying that they are not specifying a look
and feel.
I think that having a dozen different GUI
toolkits is not only ridiculous, it is
harmful in the end.
If a particular [dominant?] toolkit doesn't
cut the mustard, have a design and revamp
review to get things right rather than
coming up with YAFGT (Yet Another F****ng
GUI Toolkit).
-let's get some good fonts
The standard X font set is pretty bad.
-some good UI designs. I've seen some pretty awful stuff and concepts that seem to go out of their way to make themselves different from what people are used to using. Being different/inconsistent is a BAD idea in UI.
-getting coding standards higher and having better design and code review processes.
There are a lot of newbie programmers out there that contribute a lot of code that is probably not suitable to go into production software...
-It almost seems as though the open source community needs a seasoned and very smart benevolent dictator to say what is ok and what is not.
-better documentation in the unix kernel sources and header sources. Some of it is just awful.
It's not all bad; I've seen lots of wonderful, intuitive and useful tools over the years.
In the end, a lot of the code that is crap will die off anyhow; sometimes it is just a painful ride to get there...
-Ralph
Right now, PHB is in a panic and their site is still down, because NT+IIS really isn't easier then UN*X+Apache , despite what MS says in Pointed Haired Boss Weekly
Oh yes.
When I resigned my job, my former boss, within a week, grew a hardware budget, bought a new machine, bought and installed Windows 2000 Server, went through a week of downtime and finally got IIS and the company's LAN back up.
According to Netcraft, they have yet to break that elusive 7-day uptime barrier. And, I know for a fact that they got hit by Code Red I, because their webserver appeared in my logfile (see sig below, they've been rotated out now).
All this to replace a Pentium 100 Linux box which had been running for 178 days, handling several hundred website hits a day, providing DNS, DHCP, NAT services, and handling about 500 megabytes of AutoCAD attachments in the outgoing mail spool every day. Without a hitch.
Hell, the guy was so tight, he wouldn't let me at least buy a big hard disk to throw into an old 486 we had kicking around so that we could get the rather sensitive data that Sendmail was handling onto another host. But Windows 2000 and IIS were money well spent. [Nelson: "Ha-ha."]
The ISP goes down, the Linux machine's nameserver can't find the top-level servers, and everyone gets Server Not Found errors from Internet Exploiter. His solution? Windows reflex: Reboot the Linux machine. I had to physically remove the power and reset switches so that he wouldn't fsck up the filesystem.
He tried to log in because he'd decided he had to administer it, too. From the depths of nearly 20 years of DOS/Windows experience but absolutely no other operating systems whatsoever, he came to me shouting that the machine had a virus, because typing "SCANDISK C:" gave him back an error message with the ominous word "bash".
I calmly told him that the machine didn't even have a C: drive, and referred him back to the Linux book I'd bought him when he decided he wanted to have root access, too.
"What?! No C drive? What did you do with it, I saw you putting it in when you built that machine with spare parts!"
Yes. But it's not actually called a C drive in Linux or any other UNIX variant...
"That's preposterous! Just where the hell am I supposed to save my files then? Hmmm?"
Uhh... /home/$USERNAME comes to mind... (almost told him to save his things to /dev/null but figured it would only cause me more work in the long run)
So, he went with IIS after I left, because it seemed more intelligent to him.
Catastrophic failure is usually idiocy's best reward.
Fire and Meat. Yummy.
Seriously, the article has a few good points. E.g., a decent standard gui administration tool would be nice.
Of course, how long until MS starts trumeting the cool P2P aspects of IIS? You know, Code Red contacts other IIS systems, each contacting others, eventually building a gnutella-like network...
Buy Hex-Rated Stuff, fight the DMCA!
What would a user rather have -- a free server that does plain webserving, or a moderately priced one that does webserving plus e-commerce? Faced with such an adversary, does a plain webserver stand a chance, much less one that is virtually stagnant? True, the dramatic drop in Apache's market share comes from just two large ISPs, but will they be the only ones to switch?
.net people. You know, the people over at MS that think we want to plug in our websites like our TV sets, pay metered fees to a webservices provider, and pretend we are actually running a business.
I don't know about you, but I think this guy is a shill for the
I'd rather run my own shit web-server wise, and then have someone like Loudcloud style business model advise me on the e-commerce and user interface and stuff like that - then do it myself.
So many companies are going bust these days, outsourcing the very marketing and user interface of one's e-business is like getting one's automotive steel supply from a steelmaker that is 40% likely to go bankrupt in the next year.
Linux et al is for the radical libertarian survivors out there. Like the Ford corporation, which was one of the first vertical integration innovators, with control of its supply chain, you should know from mouth to anus what your company, and industry, is up to at any given moment.
You can always control and update your own software, and pay for technical advice when needed instead of metered-cost tushy wiping from a big e-services provider that's going to give you shitty tech support anyway.
Goat sex free since 2001
Right now, PHB is in a panic and their site is still down, because NT+IIS really isn't easier then UN*X+Apache , despite what MS says in Pointed Haired Boss Weekly
Next month, we'll see a 1.5% gain in Apache use as the Pointy Haired Bosses are sacked and replaced by an Apache admin who is able to restore the UNIX partition from backup :)
"Can of worms? The can is open... the worms are everywhere."
The huge, big point here is the thing about J2EE vs .NET - that's the focus moving forward. Where we really don't have any other answer but J2EE. dotGNU/Mono/whatever are going to come so damn late it won't matter.
Clusterable, component-based architecture is where it's heading, and PHP/modPERL/whatever ain't doing it NOW. The corp world has gone n-tier architecture, and other than using Apache to front-end WebLogic/WebSphere/whatever, most open source stuff is far behind.
Don't even WASTE your time whining about where they got their numbers on Apache - figure out what to do to address the big picture of web services. What do we got? Not much, JBoss is it as far as I know of for non-vaporware offerings. Tomcat is cool, but it only does servlets and JSP - Tomcat is NOT a bean container. Beans (way stupid, misleading name) are the componentized pieces of code that are needed to beat .NET.
He nailed it on the head - The same way we've been harping about the world changing and rendering Microsoft irrelevant, the way the Open Source world does things is pretty much irrelevant and obsolete as well.
His point about finishing the Open Source versions of j2EE (like way quickly now too) is pretty much the only way we are not going to fall behind. We don't have the time to architect some beautiful dream, we need to shit or get off the pot NOW, it's starting to stink in here!
Which web server you choose is an operating platform decision rather than application decision.
Nobody just wakes up one morning and says "wow, I'm going to switch from Apache to IIS". Rather, if a switch is made it's a much broader move from an MS platform to a UNIX platform, or vice-versa.
Anyone who's worked in an IT facility knows that changing platforms (or even allowing non-homogenous platforms in the first place) is a huge decision, and rightfully so.
So when people talk about relative market shares of IIS vs Apache, know that they are really talking about Microsoft vs Linux (or maybe MS vs UNIX, but you get the idea).
Invisible Agent
This post is a mirror; when a monkey stares in, no hacker gazes out.
Coming from a dot-bomb that preached web services as the solution to every problem and the wave of the future, I see nothing to worry about in this article. The concept of web services as proposed by .NET doesn't boost anything other than Microsoft's bottom line as far as I can tell.
What all the pundits who praise the concepts behind a technology seem to keep missing is that just because you can do something doesn't mean people are willing to pay for it. Look at WAP, sure I've done work with it, but I wouldn't buy a phone with it now and I certainly wouldn't pay a premium for services that can be delivered better and cheaper through an alternate medium. The internet is just another communications pipeline - the stock market and the dot-com shakeups have proved the fact that it is not ipso facto a revenue stream. Have 900 numbers and pay-per-view revolutionized our telephone and cable systems?
When someone shows me a real use for .NET, maybe I'll take a look again but for now Apache fits the bill pretty damn well as far as our business model and budget are concerned. If we need web services with our clients, PTP holds far more promise for keeping our data where we want it - out of Microsoft's hands.
"...Apache hasn't introduced any significant user features in two years. (For example, has Apache even managed to deliver a standard GUI configuration tool in all this time?)"
And, why is a GUI necessary for configuration of a web server. It's already (finally) becoming clear that server administrators need to know how to do more than just aim their mouse and click. Insufficient security training is being acknowledged as a business liability.
Sure web services are useful and may very well become the business model of tomorrow, but define it. Your company's soon-to-be-released new revolutionary product line won't be authored in WordXP or ExcelXP documents on some other company's server. If that's a "Web Service" the author is thinking of, it's not and won't become a business model anyone will buy. Interactive applications is probably one of the more viable prospects, and Apache does not offer such interactivity natively. Apache hasn't really advanced much in a couple years, but does that mean it's dead? You can plug a helluva lot more into Apache to make it an interactive, secure, and functional application server for the web than anything IIS will ever produce.
And, you don't need to reboot your whole flipping server when Apache, PHP, MySQL, PostgreSQL, or mod_mp3, or whatever else you've rolled into that application server submits a security patch. Just apply the patch and kick start the service. Ouch! That was painful....
Apache is far from dead or dying. It probably won't come with a GUI configurator/wizard thingy. Should it?
www.dedserius.com
VB != VisualBasic
>Let's get real.
.net becomes real, MS can toast Quicken at will. Then consider what the X-Box portends, beside entry into the lucrative gaming market and a route beyond the static PC business.
.net, bringing the new territory 'into the fold' and making it immune to assault - Microsoft Forever.
.net. Instead, Microsoft learned from the problems of Java, in addition to attacking it, so that .net has emerged stronger in its first existence, however vaprous.
It is real. Unfortunately, take a look at history. With only a few exceptions, every time Microsoft loses a market battle, they come back stronger, only to lose, again. Eventually they come back and win.
Then (and here's the history for you) the competition lays over and dies. Again, with only a few exceptions, (not universal, but darned close) every time Microsoft wins, they win for good.
To be more concrete and less pessimistic about it, we have to hope Open Source and Linux fit into the exception side of that. But in order to do so, one must look at exactly what Microsoft is really doing. Whenever they pick one of these battles, it tends to be 'near' their core competence. Even though they lose several times, they've got the deep pockets to keep at it. When they finally win, it is close enough to their core to quickly become part of the body, instead of an extension. Kind of growing by engulfing markets, like an amoeba.
They are generally smart enough to not attempt something too far from their core. The few times they have ventured too far are when they've been stymied. Quicken and Talisman, to name two. Incidentally, once
It's now becoming apparent that there are at least three fronts on the battle with Linux and Open Source. First is legal, with patents and the like. Next is web services, essentially negating the positive values Unix (and clones) bring to the web of mere reliability by raising the bar on base function. That way Unix no longer 'meets requirements' because it is missing thise 'essential' Win-services, no matter what the reliability. Finally, consolidate those web services with the desktop - the focus of
Perhaps this is the real tragedy of Java, because in many respects it formed the underpinnings of competition to
The real question is how the Open Source community should respond. You can quote me on this one, if we simply stand behind reliability and laugh at Microsoft's security holes and crashes, WE ARE TOAST.
We need a better response to Microsoft. IMHO part of the process will be "Walling them off in the US." There are several factors in our favor here, one of the foremost being other countries' distrust of the US-based Micro$oft Corporation. Second is the MS revenue model, putting them beyond reach of the third world, where the bulk of the growth is going to occur.
So as a US citizen, I suspect I must advocate not wasting a lot of time on unique requirements of our market. Please fight the battles in South America, in Europe, in Asia, in Australia. They are *much* more important to Linux and Open Source. I suspect in the USA it now pivots around the release of Windows XP as a litmus test. If the courts allow it to happen as-is, Microsoft will feel it a green light to do anything they want, and the genie will be back out of the bottle that has been partially constraining it for a few years, now.
Yes, Virginia, they sky IS falling. There are simply too many defunct companies who failed to heed the warning for us to fail to heed it this time.
The living have better things to do than to continue hating the dead.
Read this: it may not change your life, but it might just change your mind. If it does, mod it up ;)
Zope has Enterprise-level scalability and is the closest OS competitor to the most advanced Java app servers, with much, much more and no Java BS.
However, Zope is more advanced than those, and has now:
Improvments being made continually via current Projects:
Zope is open-source, works well with Apache and Squid, has great RDB abilities. It naturally exposes objects for publishing using a strong, easy to use security model. It supports authentication off of LDAP, NT Domains, RADIUS, etc. It's odb catalog features allow the development of applications that use dynamic queries to organize content (and potentially code) objects. It's the strongest suite of features for web-services oriented middleware out there, because it has a several year lead in many respects on the competition! Python is XP, so it has the same advantages as a CLR, provided it is coupled with an XP GUI component model or class library, like PyXPCOM (Mozilla) or wxWindows (Unix, Win32, Mac). Last, but not least, it is easy to develop for.
An open challenge to all the folks trying to develop their own toolkits from scratch (dotGNU, Mono, etc): DON'T - instead use something that is already proven in this problem domain: Zope and Python!
www.zope.org
www.python.org
Sneer at the article all you want, but he has some excellent and valid points. Having just been through a 7 month design for a customer portal and e-commerce site for my company, I can tell you that this man is right. I actually argued for a Apache + PHP approach to our system. I'm QUITE glad that I lost the argument becuase we'd still be trying to scale that approach.
.NET. I saw the Java Community Process in action at JavaOne and it's actually quite impressive. I went to many seminars where it turned out that Sun's own implementations for Java in the JCS were voted down in favor of externally derived ideas. One of the noted speakers was one of the major developers for Tomcat and the Apache-Jakarta project (Sorry, I forget the name now). Tomcat is a wonderful platform that is an early concept of how the Open Source community can rally around a not-quite-open source product.
I attended JavaOne in June. Granted, it's a 17,000 attendee propaganda show but you'd be amazed at a lot of the software coming out of companies that are doing J2EE. Application platforms like Oracle 9iAS, iPlanet and IONA are amazingly powerful and robust. The J2EE implementation has 5 years of maturity behind it. Microsoft, while honestly having some interesting ideas, is at least 3 years of development effort behind Sun. It's a complete framework that handles everything from massive database connectivity to advanced XML parsing with technology such as XSL, DOM and SAX to guaranteed-delivery messaging systems for distributed applications.
Java is not free software or open source, but it's a lot better than
Open Source would do well to embrace Java as much as possible. Eventually Java will turn into C, where there are many compilers and run-time environments available for all sorts of uses and needs. It's already happening comercially from a lot of companies who have a good idea and are running with it, such as KADA Systems for J2ME. Sun's primary interest in Java is a Microsoft-killer and if they have to relinquish more control to get that they will. Remember that at its core, Sun is a hardware and OS company, not a programming/application company like Microsoft.
Some people take their .sig way too seriously
Am I the only one failing to grasp the importance of Web Services?
.NET Web Services are great for certain applications (anything can be overused). I've seen a lot of PHP, ASP/COM, and Cold Fusion code that could have been so much easier to maintain if they would have stuck some of the core logic into a "distributed object model" of some sort.
The concept behind a web service has less to do with "metered services", and more to do with managed code (like EJB's). Internally for my Fortune 1000 corporation, I can share the "login authentication code" amongs 10 seperate applications without the applications needing the compiled Servlet or DLL on the machine itself. Moreover, applications like Microsoft Passport (or similar solutions) can be seamlessly integrated into non-Microsoft sites. Both of these scenarios promote incredible Code Reuse, at the expense of the overhead caused by HTTP and XML serialization.
Both EJB's and
It seems to me that good coders with PHP and apache knowledge seem to be able to pull a better magic than all the Javas and dotNets of this world.
It's really all about the bigger picture. Sure, some little site that uses a couple of include files and global variables can be managed fine by PHP, but it's all about scalability in terms of the applications power and complexity. Now, I'm not saying PHP or CF can't do these things - they can. It just get's to be more of a kludge then a solution as the project requirements get larger ).
There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
- Webservices are simply RPC via XML over HTTP which can be implemented in any language with a sockets library and on any platform with a web server.
- The predominant web services protocols and standards are open and are in fact W3C recommendations or are soon going to be including XML, SOAP, WSDL, and UDDI.
Whenever I read articles like the one referenced in the above post I can't help but feel that people like screaming like Chicken Little simply to hear the sound of their own voices. The fact of the matter is that the goal of web services has always been for interoperability between platforms and languages hence the use of XML and HTTP, heck even Microsoft's Hailstorm claims to be language and platform agnostic with regards to accessing its web services.Repeat after me, all you need to do web services is a web server and a programming language with a socket library and strings support (i.e. almost all of them). Everything else is syntactic sugar and icing on the cake to maximize developer productivity the same way VB and ASP are supposed to versus C++ and Perl CGI.
Exactly. Why do people think you need something huge and fancy to do web services? The whole point of it is to simplify things. I wrote our order entry system at work using EJB, and I exposed the beans via SOAP by 1) copying Apache's soap.jar to Tomcat's webapp directory and 2) writing a 7-line deployment descriptor. Two steps, that's it. And for any other new web services, I don't even need to repeat the first step. This is all running on open-source software (Linux, JBoss, Hypersonic, Tomcat, Apache SOAP). How exactly is open source behind MS on this one? I can do it all in production-level software today with open source; I have to use a beta-level app from MS to do it in the IIS world. I just don't understand this article at all.
If it ain't broke, you need more software.