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
Now I know why Windows installs IIS by default! They want higher Netcraft-ratings! ;-)
I doubt, therefore I may be.
The percentage of IIS versus Apache is soon becoming irrelevant. What is important is the percentage of Servlet/JSP versus .NET/ASP sites. Which is kind of hard (impossible) to measure using Netcraft by the way.
One of the most succesful Servlet engines now is Tomcat, which is also open source coming from the Apache Jakarta project. I don't see any indication at the moment that the number of Servlet/JSP/J2EE sites is dropping in favour of ASP or .NET. No reason to worry yet.
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.
Apache decreased, what, 1.5% or something? This is somehow a signal of the end of Open Source? When Microsoft loses a dime a share, does that signal its imminent demise too?
Let's get real.
"Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
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!
I would like to see the netcraft study after all of the unintentional IIS sites are shut down because of CodeRed.
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."
Take EJB for instance. What a bloated overhyped piece of crap. There's so much bullshit from Sun about EJB when the bloody thing just plain doesn't work. Just about every project is better off with just using servlets and standard beans and their own persistence instead of relying on the slow and crappy CMP. EJB is bullshit and so is the dotNet crap and all that web services circus. 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. I'd say OpenSource is not missing the bandwagon at all unless you have a bandwagon of hype in mind.
Your pizza just the way you ought to have it.
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
The trend is that IIS is gaining little and apache is gaining alot wiht small ups and downs while the others fade away at the exepense of apache/IIS.
With the code red worm and all the latest news about security holes in IIS/NT, I believe corporate mindshare has dwindled quite alot. I have a relative who works at FedEX(one of the huge victims of code red), and bussiness was down for close to 2 days. They are a mainly unix vased company trying to adopt to win32 but now they are having second thoughts.
Go look at the chart and you will see that apache usually wiggles up and down while it rises. Also expect the number of apache installs to rise up significantly due to some bussinesses worried about security holes of Microsoft products. However the introduction of WinXP may change this. I assume college students who are not cs-majors will form their own webpages with IIS because its there on their computers for free.
http://saveie6.com/
>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.
To implement a simple web service, one doesn't even need a "web server" at all! Just instantiate the xml-rpc server in Python or Perl, or instantiate a SOAP server in Java. And apache can certainly hook into any of these things just as well as IIS can. As for the other things... well, UNIX types have been living without Microsoft's hold-your-hands-and-stick-handcuffs-on-them pre-rolled 'architectures' & components & and everything else.
As the article says, Reduced to the technological basics, it's just XML over HTTP. Are we seriously saying that Apache has some sort of problem serving XML over HTTP? I think the author has bought into the "Web Services!" hype and seriously over-estimates the problems in creating them. Web services are not cool because of technology. They're cool because we're finally finding formats that we can all practically agree on for remote procedure calls.... shorn of the hype, web services are purely social innovations. Microsoft had to hook tech to it to attract the attention of people who are driven by flash, but the tech is almost incidental.
If we were wiser 5 years ago, there's no technological impediment to creating web services then... but there's no known way to shortcut the aquisition of wisdom.
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
So it's nothing short of miraculous that Apache managed to retain its market share for about two years while essentially treading water. Let's face it, in spite of a few point releases, Apache hasn't introduced any significant user features in two years.
/these/ are the strengths of Apache.
/any/ job we throw at it. Jakarta is a great example of a web-services enabling extension to the Apache project.
This is a completely unfair statement. While work on a 2.0 release of Apache has been ongoing, development has hardly stalled in the 1.x series. The strength of Apache was never the server itself - It was the modular design. Mod_rewrite, libphp, etc -
Yes, you can run PHP under IIS/Apache for Win - But you have to run it as a CGI. It loses one of it's major strenghs.
Apache is constantly being refined and extended with modules. If the author has any doubts about this, I strongly suggest he 'grep -v ^LoadModule' his httpd.conf. I suspect he would soon realize his Apache did nothing at all.
My guess is the author has never actually admin'd Apache. He's probably been just an Apache user his whole life. (I see nothing to the contrary in his bio at the bottom of the article). Apache is a wonderful tool that is upto
Please excuse the poor thought-line of this post:) I was in a hurry to get my thoughts out the door.
- James
While it's certainly scary that IIS is enabled by default, when one considers the recent (and not so recent) problems it's had, the fact remains that Apache is also enabled, by default, in quite a few Linux distributions. So I don't know if this is a very strong against the survey.
- James
Comment removed based on user account deletion
- 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.