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.
Second, and more importantly, since when has feeding the fires of corporate IS departments been the prime motivator of free software development? It's a pity so many otherwise intelligent people have swallowed this poison pill of believing that profits are the sole metric of human accomplishment. What is important is this: How many people have a choice that they would not otherwise have, at work or, better still, in their private lives? How many people have we helped ?
That's all that matters in the Big Picture. Everything else is just ego games with twisted little men in suits who fancy themselves alpha males because they have a bigger number in the bank database than you do.
Proud member of the Weirdo-American community.
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.
What?! J2EE has very little to do with web services. J2EE is middleware. Web services can be implemented with anything, that's true, but the point was that battle is going to be on the middletier architechtures, not Apache vs. IIS. And the battle is going on allready.
It's not about programming languages either. It's about component architechtures. Currently Java is strong and is going to be. And I'm happy with that. Personally I'd say it would be nuts to begin desigining and implementing OWN component architechture from scratch just because {insert-your-favourite-language-here} is THE best.
I'm doing J2EE development and I use much open source software. In open source java world there's quite much GOOD projects going on, projects that are innovative and deliver good software. Of course slashdot won't know this, since here java=applet or java=javascript.
JBoss might be the best example. Truly innovative and good piece of software! But it's not written in C or Perl so it's propably news to avg. slashdot reader.
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.
I believe that you are correct about implementing J2EE in competition with .NET. Your arguments and the arguments of Prasad suggest that Java is David's weapon against Goliath. What really convinces me that this is true (sort of icing on the cake) is that Microsoft has said that they will not be including the Java Virtual Machine in Windows XP. I think the folks at Microsoft are thinking along the same lines.
Always do right. This will gratify some people and astonish the rest. -- Mark Twain
My feeling is that a dedicated group of Java fans needs to get involved in Mono, and promote Java as a first class citizen alongside C#. Heck, the open source community already has a Java compiler that's miles ahead of the Mono C#/CLR combo. It shipped as part of gcc 3.0.
While Java was not submitted to ECMA, Sun has stated that anyone is free to implement it based on the open specification as long as the "Java" brand isn't mentioned. This is quite similar to the Mesa 3D library vis a vis OpenGL, and Mesa has been quite successful. Further, Sun and IBM have both provided high quality VMs and development kits for Linux.
Java (despite all of Microsoft's spin to the contrary) is still growing in popularity, and is the dominant technology in several important areas. Over 100 million Java enabled phones should ship this year, for instance. Java is also dominant in the application server arena. Sun is still investing heavily in desktop Java (most of the 1.4 release is aimed at an improved client side experience), and MacOS X proves that Java on the client can be very nice. In fact, another area that could really use work is simply better integrating Swing applications into the Gnome/Ximian desktop.
As a final point, Sun has stated that it has no problem open sourcing Java at some point...when it is clear that Microsoft won't co-opt the platform with it's famous 'embrace and extend' tactics. C# is the latest (weak) attempt to do so. The best thing you can do to prevent .NET (.NOT!) from taking over e-commerce is to learn Java, and leverage the tremendous amount of high quality Java code out there to write great cross-platform web applications.
Extra credit for client side development...check out the Grand Canyon Demo for inspiration...it is pretty awesome!
186,282 mi/s...not just a good idea, its the law!
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
Wow. The propaganda show really got to you. Well, I have been creating e-commerce / dynamically driven web sites for a while now, and I have to say that there are different tools for different applications. For most jobs apache is great. If you have to run a transaction manager (with cashing / pooling), both fall short (unless you are going to write one yourself). And java, while very good at server-side html / dynamic web page generation is not the only language out there. I have seen some pretty bloated, over engineered java programs. Mostly because java is easy to learn, while good programming/engineering is not. J2EE is not really a robust web server. It is designed to support java applications. Just my 2c.
-CrackElf
"Blake is an idealist, Jenna. He cannot afford to think." - Kerr Avon, Star One, Blakes 7
I believe that the reason for the myths about Java speed are created by poorly coded applications (Dynix WebPac, anyone?). Applications with a start time around 5 minutes on a machine any slower than a gigahertz. It would be amazing if something were ever to be done about this, and it would improve the reputation of Java immensely.
I mean seriously, i read /. almost religiously 4-5 times a day, and its just getting redundant to hear fud stories like 'Will Open Source Lose the Battle for the Web?' or 'Will linux die?' 'is this the end of the GPL' and so so so many questions and doubts.
I'm just getting tired of hearing so many 'experts' predict the end of something and then watch it prosper for years to come..
Face it people, Software and Stock analysts are the same as weathermen, except less dependable.. The wind shifts and they scream "its a hurricane", well i'll be one to stay calm until my shed blows away, then it will be time to worry...
If I can do:
- web services with a click of the mouse;
- horizontal scaling with the simple addition
of a new computer;
- ease code reuse;
What else will I need ?
Microsoft is not stupid anymore! Now it knows
that the internet is the way to go.
Java is the only answer.
Sorry, dude, but a "Dot com", meaning an Internet web site with a few thousand visitors a day that sells stull if not considered "enterprise class". If you're building a REAL web application for a large enterprise that say, managers their HR, purchasing, etc., then you DO need and you do use the current systems. CGI+Perl may be nice for Dot-Coms, but remember that Dot-Coms are considered small potatoes when compared to a real "enterprise-class" web app.
Wish I could, but I'm fresh out of mod points.
I use Zope a lot. Doing a webhosting kind of a thingy at a ISP. A collaborative environment at a university. A online game by myself. That last is of course a hobbyist project, but the other two are "enterprise-level".
I am very much into the web services paradigm (seen it called at least "application server" and "web application platform") and have looked into a number of different implementations. Zope compares really well. It's unproven at highest levels of scalability (the Megaportal class), but also is the most flexible and has the best user management I have seen.
Don't despair about J2EE or
(A few quotes from earlier replies.)
"I admit Zope is cool. But mention it to your average pointy-hair, and they'll look at you cross-eyed. Java and J2EE they've at least heard of - maybe they don't really understand it - but they've heard of it."
"I perfectly agree. I don't know how come Zope has never taken off. Zope and Python are sweet
"Zope is cool. Python is cool. But neither have the marketing budget of IIS and ASP."
Don't be the defeatist! Remember the time not so long ago when somebody would the same thing, except it was about Linux or Apache. So you might get the same funny stares and sighs you did the last time, but you probably already have their ear. After all, you were right the last time.
A point to stress in the excellent list above: Zope is useful out-of-box and, while extensive development is going on, the core of Zope is a mature product.
--Flam, an admited Zopista
Computers are useless. They can only give you answers - Pablo Picasso
> 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
I don't think you fully grasped the guys argument. He was arguing that the guy was arguing that though other platforms are capable of doing what's needed, J2EE does it so much better that the alternatives are not really interesting.
Among other things, that goes for performance and code maintanability. J2EE is a truly impressive platform. Trust me. Learn it before you diss it.
Web Services will need to handle huge amounts of traffic when somebody discovers them and develops a liking for them. Performance and scalability are key!
Stop the brainwash
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.
You miss the big contradiction in your post. You question why someone would use IIS after something like Code Red happens. Well, if someone cares enough about security for it to be the deciding factor in the OS they choose, then they also know that (1) Microsoft released a patch and a workaround for the security hole long before Code Red existed, and (2) all the Linux distributions have tons of patches for all the security holes in them. So if someone really cared about securing his own boxes, he applied the patches or the workarounds and never had to worry about his machines getting bitten. You act like a security-conscious person would just move to Linux, set up a box and forget it, and conveniently forget about all the holes that have been needed to be patched in the Linux distributions. Doesn't sound like much incentive to switch for anybody who knows what they're doing.
Which begs the question of Apache's marketing budget, or Linux. 8-page glossy pullouts don't move mindshare, 30-second StuporBowl spots don't move mindshare, the casual chat at the table after the staff meeting moves mindshare. So start talking.
illegitimii non ingravare
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?"
Of course the IIS share is going to go up, it's enabled by DEFAULT in 2000 server!!
Apache wont die. Maybe it will become less popular commercially, but it wont die. All the people who cant afford commercial hosting (like me!) will use it. Its always nice to have a free alternative.
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
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.
The way I've seen it in real life, it's not the EJB technology that sucks, it's these bullshit can-barely-code psuedo-architects who design these ridiculous mega-projects without understanding the proper way to do n-tier development. They load the app up with a whole bunch of RMI-enabled beans (that'll never be called by anything other than things running on the local machine) and then shit when it uses up a whole gig of RAM and crashes every ten minutes. EJB requires intelligent, up-front planning. You can't code by the seat of your pants in this arena.
"...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
Don't you think it's at all interesting that
.NET, and if the open source community ignores that, it's insane. We're chasing tailights either way, but far better to be chasing Sun's tailights than MS's.
apache even fell 1.5%? In spite of everything it
DOES have going for it (more secure, cheaper per
installation, open source...)?
And keep in mind that with the number of web servers running out there, 1.5% is a pretty large
change....
There are lots of possible explanations for this... it could just be a hiccup. But the explanation our friend who authored the column
provided is equally plausible.
He's also right on in that java/enterprise/beancomponentthingies are the only real non-vapor non-MS-controlled alternative to
Tweet, tweet.
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.
Zope is cool. Python is cool. But neither have the marketing budget of IIS and ASP.
Sure:
1 - of course e-commerce apps are run by Apache, but there's a very strong contingent of commercial products that support IIS.
2 - ASP vs PHP religion is irrelevant. What is relevant is how many MS trained people are out there. I have no data beyond my own difficulties in getting people, but I can shake a tree and get ASP devs to rain down upon me, but PHP devs are much harder to find (caveat: I work near Redmond). And as for CORBA development, now that's hard (flame on!)
Invisible Agent
This post is a mirror; when a monkey stares in, no hacker gazes out.
Comment removed based on user account deletion
What does PHP offer that you can't do with C or Assembly? It's called choosing the right tool for the job. PHP is like VB. It may be okay for quick hacks, but not so good for large projects.
EJBs are like kernel modules. You don't really need them. You can hack everything into a big super duper monolithic kernel, but do you really want to?
Granted, Apache is great. But the big picture is not whether or not Apache will lose the battle for the web, but whether or not Open Source will lose the battle for the web. I think that we can honestly say that if past experience is any indicator, then no, Open Source will not lose the battle for the web.
There are still plenty of businesses who want to have something on the web, although many of them don't know what. Either it's a "corporate presence" or actually putting a useful application on the web...whatever. All they know is they want it. Many of those businesses are cash-strapped (especially in times that are supposed to be poor, like now), and they don't have the vision to consider all the costs of a web-based project. They only see the cost of the software, hardware and either salary of who they have to hire/contract to get it done or the training budget to teach someone in house. Based on those factors alone Open Source in general (and Apache + PHP in particular) win. But, even if those poor saps in the IT department are called upon to actually give reasons besides money to go with Open Source, they can point out that there are many, many existing deployments of Open Source web servers that are happily humming along handling gobs of traffic without the susceptibility to attacks that Windows NT and 2k are normally susceptible to. Pair that with the overwhelming support of the Open Source community and you've got yourself a viable product.
But hang on, Virginia, it really isn't that simple. Microsoft is a really huge company (duh) and they've got clout in name if nothing else. Plus, IIS is ain't a half bad server and Active Server Pages really are easy to implement. Web services could make the server software more or less irrelevant, so Open Source could be on the ropes, right? WRONG! We, as the developers who are responsible for presenting all the options to our superiors, continually appeal to their desire for profit and remind them that there are alternatives to the pricey software packages they have been limited to knowing about.
If human nature is still what I think it is, the price alone will make the bean-counters salivate. The stability, proven performance and community support will make the IT managers grin. And a goddamned working product will make the customers/clients happy. Open Source may have to simply find itself a comfortable niche as the alternative to budget-busting name-brand software, but it most certainly not lose the battle for the web.
Good night.
My sigs always suck.
Not that Windows machines would place very well anyway...
When I hear stuff like that, I think, "Uh oh, here come the consultants". I've been there: and believe me, the emperor has no clothes. This stuff is just what the term "FUD" was invented for. When someone quotes "enterprise component architecture" at me, and then adds "WSDL"and "UDDI", and then throws in a measure as Java jargon as the solution, I think: "there's no there there". Usually, this means the person saying this wants me to pay him a lot of money because he is so much smarter than I am.
We have OK clustering and failover solutions today. If anything is an obstacle there it is open source databases, not server/service platforms. WDSL? UDDI? Must it be those acronyms or will others do? I would like to hear what the real missing functionality is. A GUI and a few acronyms du jour buy me very little.
So web services are the next big thing? Maybe. But we thought the same about thin clients 5 years ago, or B2C's two years ago, or B2B's just last year. Wrong, wrong, wrong. Give me choice between an acronym consultant or a competent PHP programmer, and I will tell you who makes the biggest and fastest difference to my business's bottom line. And that counts nowadays. (Hint: it's not the consultant.)
That, and the obvious Java bias of the author, and his Sun links, makes me doubt the article even more. I put this one down as "In spite of his bias he may have a point but if so, I'd like to hear that point, not just hype.
Michael
---
BDOS ERR ON A:>
EJB definitely has its uses but they arent useful in every application. For some reason you seem to keep equating EJB with web stuff. EJB doesnt have to be used just in web stuff. In fact even in web software EJB would be in a completely different layer. Think out of the box on this one. It really isnt just limited to web applications.
Servlets and JavaBeans can get you pretty far but in some instances they just dont cut it. How do you propose complicated transaction handling or location transparency with servlets and javabeans?
My blog: http://jkratz.dyndns.org/~jason/blog/