It seems as if the description of an article posting on/. determines the tone for the response here in the forum. The description made note of how it made him "sad" to see the credits go, but if you read the aricle, Steve chose to eliminate the credits because only a small number of people were gettting credit for work that several people did.
Rather than list thousands of people in a credits list and acknowledge everybody who helped support a product launch (which would be stupid) Steve did the wise thing and took the whole thing out. He took it out, not because he didnt want to offer credit, but instead to insinuate a notion of teamwork, rather than individuaality.
If you recall Apple's darkest years, you'll remember that everyone took the company to a downward spiral that seemed never ending. This was because nobody was working towards a common goal, and instead sought out what they felt was of the utmost importance.
Now that Apple is on track, with everybody working towards a common goal, people should realize that TEAMWORK is what matters, and not getting credit for your individual part.
No, the article was not authored by me, but it was I that sent a notice to/. in an effort to publicise the piece.
Every webmaster knows about the profound effects of what a/. link will do for your hit counter... I send notices to slashdot every now and again whenever I get an exceptionally interesting editorial contribution.
Is this a shameless plug for osOpinion? Are you saying the piece wasen't worth the link that Slashdot offered it? It sounds to me as if your issues are with the link-selecting people at/. and not with me.
Slashdot gets over 400 link suggestions per day. If osOpinion ever gets picked out among all those link offerings, it is because of the excellence of its content and not due to the "Shamelss plug" factor, where you insinuate that I somehow forecefully get the kind and generous folks at Slashdot to give me a link.
Send me an article for osOpinion. If it's good, I'll post it, If its exceptionally good, I will go the extra mile for you and make sure that it's read by far more readers than my own reading audience, and will promote the heck out of it as I did with this piece.
Sending press releases to sites such as Slashdot is a common practive among daily content oriented web sites such as mine. I suggest you think about this next time before you cry shenanagins...
osOpinion recently switched to a new hosting company... (You know... one of those... "unlimited everything for $8.95 per month? places) Well, as I learned after as little as 2 weeks on their servers and 2 weeks worth of bad service, I learned that you get what you pay for. I have since terminated my service, and sighned on with a new company who appears to be more reliable. (Lets hope)... I won't know tfor sure until the transfer goes through.... lets all cross our fingers...
I have been on the phone to icoms (the current host)'s tech support personel every single day for the last two weeks, and If you can believe it, they keep saying that they don't see any problems! As a matter of fact, I just got off the phone right now after speaking to one of their technitians... He said, "I don't see any problems. It came right up for me" Then he sarcastically said, "Perhaps we have some magical computers that allow us to see it while yours don't?" So, I then told him to go to slashdot and read about all the comments everybody posted...
Him: "huh, slashdoot?"
Me: Slashdot!
long pause...
Me: Its a tech news site!...
long pause...
Me: www dot S-L-A-S-H-D-O-T dot O-R-G
Him: Slasdot.org?
Me: Slashdot! with an "h"!
Him: oh... ok... um, it came right up for me, I don't know what the problem is...
Me: Sigh.... No, this is the site that will tell you the error messages. Scroll down a bit, till you see the headline, "Alan Cox on The Risks of Closed Source Computing" and the penguin...?
Him: ok. I'm there
Me: ok, click on the "read more" link
Him: ok.... (pause) It looks as if they're saying that a site is reporting 503 errors.
Me: YES! Mine! On your Server!
Him: Ok, I'll tell the techs over here...
I've had a nearly identical conversation like this every single day this week with another phone rep... I am so pissed I could scream. Lets hope to God this new host can handle the load my site generates...
It's the developers, stupid!: the real NT-Linux battlefield
The media is nutso for bigness. All you hear about in the tech press these days is that Linux is attracting big partners like IBM, finding big users like Deja.com, and making big IPO money like RedHat. That's all good, and I'm sincerely grateful for anything that helps me make a living without using Visual Interdev -- but to me, small and raw is where it's all at. As a recent Salon story hinted, by the time something gets big enough to have major media outlets and MBAs and marketeers crawling over it, much of the juice of the thing is gone. The masses might find Bill Gates worthwhile because he's on the cover of Forbes magazine; but for a minority, the one interesting thing he ever did was write a little BASIC compiler on a crappy paper tape when he was a teenager. It's all been downhill from there.
The tiny raw startup is the real locus of the Microsoft-Linux showdown. Forget the desktop, forget the enterprise, forget the few big content/commerce sites -- it's unclear whether Linux can win in any of those segments, and in any case it doesn't matter. The important thing about Linux (and Open Source and the Web) is that it shifts the balance of power back to the independent developers, the underfunded experimental coolness-of-the-thing-itself startup-type hackers.
OSS (including Linux) has radically reduced the costs of development and vastly increased opportunities for collaboration. The Web has opened up new vistas of demand, and nullified most distribution problems. Funding and business services are far more available now; while the potential for personal peculation (or the opportunity costs of developing within a corporate framework) tend to make startups seem relatively attractive. The most innovative and productive segment of the tech industry has famously been the two geeks in a garage, and now they can compete strictly on the basis of ideas and skills rather than corporate resources. Somewhere in this segment are the Yahoos and Inktomis and Netscapes and ids and ebays and even slashdots -- basically all the things that make people buy computers in the first place -- of the future. It's all about the applications, baby -- because without a continuing stream of gotta-have-it apps (and the sites on which they're implemented, often transparently to the user), computers are just typewriters and the Internet is just a color fax machine.
Microsoft cares about developers, or they say they do -- and they should, because that's how they got to be the giant iguana of the software industry in the first place. DOS/Windows/NT has always been about as sexy as a Depends adult undergarment; but even if an OS ain't cool, it can still win by being super-dependable, ultra easy to use, or overwhelmingly popular with application developers. The last rationale has traditionally been Microsoft's trump card, the reason that developers grumbled and cursed at Visual Basic but kept buying. I'm one of many people who basically keeps a Windows machine around just to read PowerPoint documents (and, I confess, I'm gonna keep using IE until something better comes along) -- which suggests that one or two killer apps make the OS decisions for you.
But in August 1999, the Gartner Group released a study claiming that the number of Windows-first developers is in the middle of a sharp decline from 65% in 1998 to 40% in the year 2000. A quick flip through the job ads in bellwether Silicon Valley shows more *nix than Windows development jobs, especially in the hot new sectors. For the first time in a long time, the road to software nirvana does not go directly through Redmond.
Thus, for the first time in a long time the question of how the startups developing the apps of the future choose their platforms is an interesting one. As I hinted in my previous essay, I will argue that Microsoft may now be putting out halfway-decent small business software, but their marketing strategy utterly fails to reach the more innovative part of the developer community. Linux, in contrast, seems to effortlessly meet the needs and philosophical convictions of the raw tech startup. This seemingly insignificant difference, almost impossible to account for in traditional marketing terms, could have startling consequences down the line.
How startups choose their platforms
Let's say my partner and I are developing something: a product recommendation system that makes sense to humans, unlike the bad jokes heretofore palmed off on the public under the rubric of "collaborative filtering". We've written a bizplan, learned a few stupid PowerPoint tricks, given slide presentations, schmoozed with suits -- and for those of you who've never done it, let me tell you what a thrill it is to sit through dozens of "where the software industry is going" sermons (summary: technical innovation is dead/pointless/the problem and big corporate power is good/inevitable/the solution) by a bunch of people who don't know Hello World from Hello Kitty -- but that's a different essay topic.
But for us, the crucial thing is the implementation. We just think it's lame to go after funding with nothing but a pile of paper, a slideshow, and a song in our hearts. We've also discovered that finance types, many of whom are refried bankers or accountants or real-estate moguls, don't really like to invest in software. Startups that are basically about tweaking a business model tend to get more dates than the ones that depend on complex new systems working as designed, which give VCs bad dreams about all the things that can go wrong. (Caveat: this may not apply to Silicon Valley, where all the VCs are hackers and the streets are paved with gold.) So for a software venture to compete with the mass of SellOnTheWeb.coms hatched up by MBAs who speak the same language as the funders, the idea needs to be fully implemented or as near as dammit. Realizing this, we're going to put up an extensive alpha on the Web, complete down to the last font style and hyperlink. It's gotta rock -- this is our whole business at stake here. So how will we choose a development platform?
Cash-poor
The very first variable is that we're knowledge-rich and cash-poor. Really, really poor. We keep hearing how people in Silicon Valley can get millions of dollars just for the right concept, but that ain't how it works here in the Midwest. In Palo Alto, "startup" connotes the thrill of entrepeneurship, the adventure of high growth, the possibility of massive stock options. Saying you work for a startup can get you some play with that cute girl/guy at the espresso bar. Here in Chicago, "startup" means you and your buddies gotta look under the sofa cushions for enough change to buy a CheapBytes CD-ROM. Plus, your mom calls you up every other day to beg you to get a real job so she can hold her head up at your cousin's upcoming wedding reception -- you're good with technology, have you ever considered becoming a Xerox machine repairperson? So the idea of spending thousands of dollars putting together a little network so you can put out a demo that may never come to anything is a laugher.
Programming tools
We certainly can't claim to be visionaries here: my partner actually wrote our first web application (the recommendation engine currently used on www.mysteryguide.com) in Macintosh Common Lisp. As the probability of Lisp world domination dwindled, we did finally decide to move over to Java. Of course, that's a tiny bit awkward in Microsoft world due to the long-running Scott-hates-Bill soap opera (J me no plus-pluses and I'll violate you no licenses).
We've also started to use Java servlets and Java Server Pages. I had sort of thought Microsoft might buy Live Software, makers of leading commercial servlet engine JRun -- all together now: embrace, extend, exterminate -- but those clever Allaire boys scooped it up instead. We've used both the JavaSoft Win32 JDK with JRun, and the Blackdown Linux JDK with JServ (the Apache Project's first servlet engine). The latter combo has the definite edge because it's free (speech and beer). (And before you flame me for hypocrisy: we are seriously considering GPLing our e-commerce software tool but nothing's final yet.)
There are still people who have a specific reason to develop native, like game makers. But I think we can all feel the momentum toward cross-platform and especially web-based apps, once those bandwidth and privacy issues get worked out. And this is where what went around is coming around for Microsoft. They've done tons of things over the years to make developers -- especially those in small shops -- fear and distrust them. Like a straying spouse who's just been served with the divorce papers, Microsoft wants the love back now -- but is a free subscription to Microsoft Certified Professional Magazine gonna do the job?
Client-server versus server-server
Everyone in our shop develops on a server. Clients are just bimbo-boxes for reading mail and data entry and goof-off web surfing. I can't even look at most of my work without having it processed by a web server, and I'm always needing to connect to local and remote databases (it's possible I could work around this issue if MS Proxy Server didn't choke on telnet, but that's already in the subjunctive tense). Because we run separate NT and Linux networks, we need to move things back and forth between machines (remember, BackOffice Small Business Server doesn't form trust relationships with other servers, and the ftp on my SBS installation doesn't work). We need to run big processes that tie up tons of cycles. Finally, we're a virtual organization with people doing parts of projects in disparate locations. So client-server computing in the SBS sense is already a paws-up model for us.
Here's a chart of the stuff we use on a daily basis in our business. It clearly shows the awkwardness which NT imposes on the tech startup, versus the "instant tech startup in a box, just add connectivity and stir" flexibility of the Open Source model.
FunctionBackOffice SBSLinux Web service Server (up to 5 domains) Choice of servers (we use Apache) DNS No Primary, secondary, or caching SMTP/POP Server (one domain) or client Server Networked servers No Yes Scripting language ASP (or sold separately) Choice of products (we use PHP) SQL database SQL Server 7.0 (see note) Choice of products (we use MySQL) Servlets Sold separately (we use Jrun)
Choice of products (we use Jserv) Java Yes (we use the JDK) Yes (Blackdown JDK) JDBC driver Sold separately Yes (we use MM.MySql)
Note: it's not clear under what circumstances, if any, SBS allows you to deploy SQL Server on the backend of a public website, as opposed to in a development/intranet environment. There's no technical barrier to doing so. The enterprise version of SQL Server requires a $3000 per processor Internet Connector License, but there's no mention of the topic one way or the other in SBS materials. Thanks to Jiva DeVoe for this info.
Software licenses
When people talk about "scaling", the implied modifier is always "up" -- presumably from a big server farm to a humongous one. But let's get real: a relatively small number of businesses require more than 16 processors, more than a thousand simultaneous connections, databases stable over hundreds of GBs, and instantaneous mass-customization for millions of users. Why don't we ever talk about scaling down -- in other words, that part of the spectrum from a big server farm down to one box? The vast majority of businesses, and an awful lot of the most interesting ones, live here.
In the real world, Linux grows seamlessly from the first workstation to the quite large office. You can churn out all the custom boxen you need whenever you need them without worrying about a thing. Microsoft, on the other hand, requires a software startup to endure what we might call "punctuated equilibrium" in order to stay within the bounds of restrictive licenses and technologies. At any given point, a MS solution will require you to pay for something you don't need, or go without something you really do need but not quite enough to justify the cost, or violate the license. Wasn't it de Toqueville who said bad licenses force good customers to cheat?
I certainly don't claim to be an expert on Microsoft licensing; in fact, the whole subject confuses and bewilders me. I tried to learn about it on the MS website, but didn't get too far into the arcana: the licensing glossary was a dead link so I still don't know a PUP from an UPG, and it's not easy to get info on volume discounts and Open License deals. But this is my first crude whack at trying to figure out a typical software upgrade path from the needs of a small development-only environment to those of a 51-person software company running both a production website and a development-oriented intranet:
Redhat Linux Microsoft 1 intranet server, up to 5 clients 79.95 1499 1 developer software package (programming and office) 1079 (Visual Studio) 249 (Office2000) 1328 subtotal per (x 51) Each 5 additional clients (up to 50) 299 (x 9) 2691 subtotal Back Office Server upgrade (over 50 clients) 4349 1 single-processor web server with database 158 (MySQL) 639 (NT Server) 1239 (Site Server) 2999 (Internet Connector) 1399 (SQL Server) 2999 (Internet Connector) 9257 subtotal per TOTAL 237.95 85524.00
I realize that this chart is completely artificial. On the one hand, if you had a 51-person development team, the price of Visual Studio would be the least of your concerns. On the other hand, I can't imagine 51 programmers being willing to share one intranet server for everything. Also, while it's true that many smaller organizations aren't going to run their own web servers, application developers find it harder and just as expensive to be hosted elsewhere. My main point, however, is still valid: that the Microsoft licensing maze hinders the tech startup that chooses it.
Business rationales
Here I must venture into a sensitive topic: who makes the IT decisions, and on what grounds? Leaving aside the edgy cracks about nerds and PHBs, I think we all know there is a gap as wide as the Grand Canyon between the thinking of the two sides. The party of the first part makes decisions based on their own training and experience plus discussions with other techies they respect; their motto is either "Once you go *nix, you never go back", or "Mo' bugs, mo' money.". The party of the second part gives priority to non-technical rationales, including customer preference, the difficulty of hiring skilled workers (meaning those you can't treat like fry cooks at McDonald's), and the ability to sue vendors when things go wrong. Both sides have their prejudices: semi-rational hatred of all Microsoft products on the one hand and unquestioning reliance on Microsoft marketing materials on the other.
Until recently, there was an uneasy balance of power between the two which varied by location and industry but basically resulted in the suits getting their way. In business circles, the statement "[Authority figure] says NT is the industry standard; besides, Microsoft's stock is soaring while [competitor]'s stock is sinking" was the unanswerable trump card which ended all discussion. However, this smug acceptance of the Microsoft party line is being challenged more frequently of late, particularly by the Silicon Valley types who make money by spotting the waves of the future.
Here's an object lesson: I know a startup full of genius hackers that decided to develop their application on a 100% Microsoft platform -- NT, Visual Basic, the whole nine yards. They did this despite the fact that all their programmers were true artistes on *nix and Mac who had previously scorned Windows, and furthermore that all of them had been early users of the Web. They were definitely following a strict client-server model as late as the end of 1998, when their CEO told me "the Web isn't a legitimate business tool, therefore our customers won't use it". Within weeks of this conversation, every enterprise software vendor -- including the leader in this startup's market -- announced the death of client-server and a mass rush to get their apps on the Web. So much for MBA herdthink.
I can't believe this attitude wasn't partly engendered or reinforced by the fact that Microsoft has been (for understandable reasons) so dependent on its market share and so reluctant to see the Web as a legitimate tool. Their brand of Follow the Leader works because of the huge anxiety engendered by technical change. Everyone's looking for something solid to hold onto, one thing that will continue to be true no matter what. For some, it's good technology. For others, it's market dominance. But what does that phrase even mean today? Maybe it designates the OS with the most desktops; but maybe it means that the most successful and innovative companies in every category are running some flavor of Unix. Small startups in particular need to think hard about the growing risks of hitching a ride on the Redmond express. If Ballmer and company guess wrong about something, they've still got billions of bucks in the bank. If you go along with their wrong guess, game over.
Consequences
For all these reasons, we decided to do our alpha on Linux instead of NT. Now Linux is part of our global business strategy -- not because of any ideological issues we might have, but because it works. From a Linux/Java base, it's easy to port to other platforms like the other Unices that dominate the server market, if necessary. NT is on the way out and W2K seems to be stuck in the birth canal, but developers can be comforted by the thought that *nix has endured a lot already and will probably be around for a while longer.
Now I don't know whether my particular startup will get off the ground or not -- that was just a convenient illustration. My point is to suggest that every "two geeks in a garage" team now must discuss whether Linux (or some other *nix, and/or other Open Source solutions) are right for them. The arguments in favor are too overwhelming, the cost of choosing wrong too great.
A modest proposal
If Microsoft truly wants to focus on customer service, developers, and the Internet, they've gotta come up with some new marketing ideas which take cognizance of the unusual value of the small developer market. This entails reversing one of the fundamental tenets on which the company was built, which is that mass beats class every time. In years past, it made sense to cater to the lowest common denominator while alienating the few pesky independent-minded developers -- because of the desktop monopoly, which was the city hall no one could fight -- but now developers have to be convinced it's in their interest to work native rather than go web-delivered.
So here's my humble proposal: maybe Microsoft should try to appeal to the raw startup, so more of the cool apps of the future might run on some version of Windows. If I were Steve Ballmer, I would form a small team to bring out another version of Small Business Server deliberately oriented toward the raw Internet startup. It must be built on top of a rock-solid TCP/IP layer, because everything will employ that protocol -- so fix my Proxy Server problems or forget it! Get some development tools in there -- I don't need to share a fax machine, I need to use servlets and make database queries. Move faster to figure out what new stuff independent developers want, and give it to them tout de suite. Carve out a logical upgrade path through the thicket of licenses. Microsoft shouldn't think of this SBS as a moneymaker at all, they should think of it as developer relations -- meaning it should be cheap (free for CS students -- an awful lot of the innovation is coming out of a really small number of these folks), update frequently, and go very lightly on the more annoying usage restrictions. The goal is to match most Linux distros' "instant tech startup in a box, just add connectivity and stir, appeal.
But I guess no one wants marketing advice from me, the most successful software company in the world least of all. Little software startups like us will be attracted to Linux in larger and larger numbers, while the Colossus of Redmond spends its time trying to squeeze the last drops of blood from its desktop dominance.
Sorry guys... looks as if my web site got slashdoted... I'd like to attribute this problem to my web hosting company. Despite promising me unlimited bandwidth for $8.95 per month, they've been giving me nothing but grief for the two weeks that I've been using them. (I knew it was to good to be true...) Anyways, I fired them yesterday, and found a new host the same day. Unfortunately I wont see the results of that for another day ot two. What lessons can be learned from this... Never buy anything from icom http://www.icom.com BASTARDS! - Kelly McNeill
Assuming the emulator is allowed to procede... There are some that fear that the release of Connectix' Sony Playstation emulator for the G3 Macs will dissuade game developers from creating games for the Mac market. Nothing could be further from the truth. In fact, it will most likely spur game development. First of all, Connectix has already admitted that the emulation is not perfect. Even the fastest G3 Macs will experience the occasional frame skip as the emulator tries to keep up with what is happening in the game. Also, some bugs may crop up in the emulation that may affect the operation of the game itself. If anything, just like Connectix' Windows emulator, it is only a stopgap measure. Certainly, the presence of Virtual PC did not stop Microsoft from developing Office 98 for the Mac platform. The other reason why it won't dissuade game developers is that sales of the game emulator and the Playstation games themselves will act as an additional gauge to the size of the Mac gaming market. If Connectix reports great success with the emulator, and Playstation games sales spike, it sends a very clear message to the companies involved that there is money to be made. Money is the next reason why games for the MacOS won't stop coming. Although I don't have any hard evidence, in my thinking a game developer makes more money per unit from the computer versions vs. the Playstation versions of a game. This is simply deduced from the fact that Playstation products have to go through additional channels to be sold and the licensing fees and co marketing costs that go to Sony. With the addition of game sprockets in OS 8.6 code named "Veronica" and Apple promising OS level support for OpenGL, it will make porting and co developing games for both the Mac and PC platform incredibly easy. There is one final reason that I think that release of Mac games won't be affected and will pick up considerable steam - the buyers. Apparently, Sega has said the iMac is being sold to the very market it is targeting. If Sega knows this, then the other game producers know it too. It is Marketing 101 to piggyback your products with another that is successful in the very market you're trying to reach. Steve Jobs announcement of 800,000 iMacs sold wasn't just to make us feel good, it was a signal to game developers. If Apple sold that many iMacs in four and a half months, imagine what they will sell in an entire year, at lower prices, with better specs and more colors! In essence, Steve was telling the gaming world that the Mac consumer market will explode in 1999. The fuse was only lit in 1998. Now, where is that catalog with all those Playstation games in it? This opinion is from:
It seems as if the description of an article posting on /. determines the tone for the response here in the forum. The description made note of how it made him "sad" to see the credits go, but if you read the aricle, Steve chose to eliminate the credits because only a small number of people were gettting credit for work that several people did.
Rather than list thousands of people in a credits list and acknowledge everybody who helped support a product launch (which would be stupid) Steve did the wise thing and took the whole thing out. He took it out, not because he didnt want to offer credit, but instead to insinuate a notion of teamwork, rather than individuaality.
If you recall Apple's darkest years, you'll remember that everyone took the company to a downward spiral that seemed never ending. This was because nobody was working towards a common goal, and instead sought out what they felt was of the utmost importance.
Now that Apple is on track, with everybody working towards a common goal, people should realize that TEAMWORK is what matters, and not getting credit for your individual part.
In response to your question...
/. in an effort to publicise the piece.
/. link will do for your hit counter... I send notices to slashdot every now and again whenever I get an exceptionally interesting editorial contribution.
/. and not with me.
No, the article was not authored by me, but it was I that sent a notice to
Every webmaster knows about the profound effects of what a
Is this a shameless plug for osOpinion? Are you saying the piece wasen't worth the link that Slashdot offered it? It sounds to me as if your issues are with the link-selecting people at
Slashdot gets over 400 link suggestions per day. If osOpinion ever gets picked out among all those link offerings, it is because of the excellence of its content and not due to the "Shamelss plug" factor, where you insinuate that I somehow forecefully get the kind and generous folks at Slashdot to give me a link.
Send me an article for osOpinion. If it's good, I'll post it, If its exceptionally good, I will go the extra mile for you and make sure that it's read by far more readers than my own reading audience, and will promote the heck out of it as I did with this piece.
Sending press releases to sites such as Slashdot is a common practive among daily content oriented web sites such as mine. I suggest you think about this next time before you cry shenanagins...
osOpinion recently switched to a new hosting company... (You know... one of those... "unlimited everything for $8.95 per month? places) Well, as I learned after as little as 2 weeks on their servers and 2 weeks worth of bad service, I learned that you get what you pay for. I have since terminated my service, and sighned on with a new company who appears to be more reliable. (Lets hope)... I won't know tfor sure until the transfer goes through.... lets all cross our fingers...
I have been on the phone to icoms (the current host)'s tech support personel every single day for the last two weeks, and If you can believe it, they keep saying that they don't see any problems! As a matter of fact, I just got off the phone right now after speaking to one of their technitians... He said, "I don't see any problems. It came right up for me" Then he sarcastically said, "Perhaps we have some magical computers that allow us to see it while yours don't?" So, I then told him to go to slashdot and read about all the comments everybody posted...
Him: "huh, slashdoot?"
Me: Slashdot!
long pause...
Me: Its a tech news site!...
long pause...
Me: www dot S-L-A-S-H-D-O-T dot O-R-G
Him: Slasdot.org?
Me: Slashdot! with an "h"!
Him: oh... ok... um, it came right up for me, I don't know what the problem is...
Me: Sigh.... No, this is the site that will tell you the error messages. Scroll down a bit, till you see the headline, "Alan Cox on The Risks of Closed Source Computing" and the penguin...?
Him: ok. I'm there
Me: ok, click on the "read more" link
Him: ok.... (pause) It looks as if they're saying that a site is reporting 503 errors.
Me: YES! Mine! On your Server!
Him: Ok, I'll tell the techs over here...
I've had a nearly identical conversation like this every single day this week with another phone rep... I am so pissed I could scream. Lets hope to God this new host can handle the load my site generates...
It's the developers, stupid!: the real NT-Linux battlefield
The media is nutso for bigness. All you hear about in the tech press these days is that Linux is attracting big partners like IBM, finding big users like Deja.com, and making big IPO money like RedHat. That's all good, and I'm sincerely grateful for anything that helps me make a living without using Visual Interdev -- but to me, small and raw is where it's all at. As a recent Salon story hinted, by the time something gets big enough to have major media outlets and MBAs and marketeers crawling over it, much of the juice of the thing is gone. The masses might find Bill Gates worthwhile because he's on the cover of Forbes magazine; but for a minority, the one interesting thing he ever did was write a little BASIC compiler on a crappy paper tape when he was a teenager. It's all been downhill from there.
The tiny raw startup is the real locus of the Microsoft-Linux showdown. Forget the desktop, forget the enterprise, forget the few big content/commerce sites -- it's unclear whether Linux can win in any of those segments, and in any case it doesn't matter. The important thing about Linux (and Open Source and the Web) is that it shifts the balance of power back to the independent developers, the underfunded experimental coolness-of-the-thing-itself startup-type hackers.
OSS (including Linux) has radically reduced the costs of development and vastly increased opportunities for collaboration. The Web has opened up new vistas of demand, and nullified most distribution problems. Funding and business services are far more available now; while the potential for personal peculation (or the opportunity costs of developing within a corporate framework) tend to make startups seem relatively attractive. The most innovative and productive segment of the tech industry has famously been the two geeks in a garage, and now they can compete strictly on the basis of ideas and skills rather than corporate resources. Somewhere in this segment are the Yahoos and Inktomis and Netscapes and ids and ebays and even slashdots -- basically all the things that make people buy computers in the first place -- of the future. It's all about the applications, baby -- because without a continuing stream of gotta-have-it apps (and the sites on which they're implemented, often transparently to the user), computers are just typewriters and the Internet is just a color fax machine.
Microsoft cares about developers, or they say they do -- and they should, because that's how they got to be the giant iguana of the software industry in the first place. DOS/Windows/NT has always been about as sexy as a Depends adult undergarment; but even if an OS ain't cool, it can still win by being super-dependable, ultra easy to use, or overwhelmingly popular with application developers. The last rationale has traditionally been Microsoft's trump card, the reason that developers grumbled and cursed at Visual Basic but kept buying. I'm one of many people who basically keeps a Windows machine around just to read PowerPoint documents (and, I confess, I'm gonna keep using IE until something better comes along) -- which suggests that one or two killer apps make the OS decisions for you.
But in August 1999, the Gartner Group released a study claiming that the number of Windows-first developers is in the middle of a sharp decline from 65% in 1998 to 40% in the year 2000. A quick flip through the job ads in bellwether Silicon Valley shows more *nix than Windows development jobs, especially in the hot new sectors. For the first time in a long time, the road to software nirvana does not go directly through Redmond.
Thus, for the first time in a long time the question of how the startups developing the apps of the future choose their platforms is an interesting one. As I hinted in my previous essay, I will argue that Microsoft may now be putting out halfway-decent small business software, but their marketing strategy utterly fails to reach the more innovative part of the developer community. Linux, in contrast, seems to effortlessly meet the needs and philosophical convictions of the raw tech startup. This seemingly insignificant difference, almost impossible to account for in traditional marketing terms, could have startling consequences down the line.
How startups choose their platforms
Let's say my partner and I are developing something: a product recommendation system that makes sense to humans, unlike the bad jokes heretofore palmed off on the public under the rubric of "collaborative filtering". We've written a bizplan, learned a few stupid PowerPoint tricks, given slide presentations, schmoozed with suits -- and for those of you who've never done it, let me tell you what a thrill it is to sit through dozens of "where the software industry is going" sermons (summary: technical innovation is dead/pointless/the problem and big corporate power is good/inevitable/the solution) by a bunch of people who don't know Hello World from Hello Kitty -- but that's a different essay topic.
But for us, the crucial thing is the implementation. We just think it's lame to go after funding with nothing but a pile of paper, a slideshow, and a song in our hearts. We've also discovered that finance types, many of whom are refried bankers or accountants or real-estate moguls, don't really like to invest in software. Startups that are basically about tweaking a business model tend to get more dates than the ones that depend on complex new systems working as designed, which give VCs bad dreams about all the things that can go wrong. (Caveat: this may not apply to Silicon Valley, where all the VCs are hackers and the streets are paved with gold.) So for a software venture to compete with the mass of SellOnTheWeb.coms hatched up by MBAs who speak the same language as the funders, the idea needs to be fully implemented or as near as dammit. Realizing this, we're going to put up an extensive alpha on the Web, complete down to the last font style and hyperlink. It's gotta rock -- this is our whole business at stake here. So how will we choose a development platform?
Cash-poor
The very first variable is that we're knowledge-rich and cash-poor. Really, really poor. We keep hearing how people in Silicon Valley can get millions of dollars just for the right concept, but that ain't how it works here in the Midwest. In Palo Alto, "startup" connotes the thrill of entrepeneurship, the adventure of high growth, the possibility of massive stock options. Saying you work for a startup can get you some play with that cute girl/guy at the espresso bar. Here in Chicago, "startup" means you and your buddies gotta look under the sofa cushions for enough change to buy a CheapBytes CD-ROM. Plus, your mom calls you up every other day to beg you to get a real job so she can hold her head up at your cousin's upcoming wedding reception -- you're good with technology, have you ever considered becoming a Xerox machine repairperson? So the idea of spending thousands of dollars putting together a little network so you can put out a demo that may never come to anything is a laugher.
Programming tools
We certainly can't claim to be visionaries here: my partner actually wrote our first web application (the recommendation engine currently used on www.mysteryguide.com) in Macintosh Common Lisp. As the probability of Lisp world domination dwindled, we did finally decide to move over to Java. Of course, that's a tiny bit awkward in Microsoft world due to the long-running Scott-hates-Bill soap opera (J me no plus-pluses and I'll violate you no licenses).
We've also started to use Java servlets and Java Server Pages. I had sort of thought Microsoft might buy Live Software, makers of leading commercial servlet engine JRun -- all together now: embrace, extend, exterminate -- but those clever Allaire boys scooped it up instead. We've used both the JavaSoft Win32 JDK with JRun, and the Blackdown Linux JDK with JServ (the Apache Project's first servlet engine). The latter combo has the definite edge because it's free (speech and beer). (And before you flame me for hypocrisy: we are seriously considering GPLing our e-commerce software tool but nothing's final yet.)
There are still people who have a specific reason to develop native, like game makers. But I think we can all feel the momentum toward cross-platform and especially web-based apps, once those bandwidth and privacy issues get worked out. And this is where what went around is coming around for Microsoft. They've done tons of things over the years to make developers -- especially those in small shops -- fear and distrust them. Like a straying spouse who's just been served with the divorce papers, Microsoft wants the love back now -- but is a free subscription to Microsoft Certified Professional Magazine gonna do the job?
Client-server versus server-server
Everyone in our shop develops on a server. Clients are just bimbo-boxes for reading mail and data entry and goof-off web surfing. I can't even look at most of my work without having it processed by a web server, and I'm always needing to connect to local and remote databases (it's possible I could work around this issue if MS Proxy Server didn't choke on telnet, but that's already in the subjunctive tense). Because we run separate NT and Linux networks, we need to move things back and forth between machines (remember, BackOffice Small Business Server doesn't form trust relationships with other servers, and the ftp on my SBS installation doesn't work). We need to run big processes that tie up tons of cycles. Finally, we're a virtual organization with people doing parts of projects in disparate locations. So client-server computing in the SBS sense is already a paws-up model for us.
Here's a chart of the stuff we use on a daily basis in our business. It clearly shows the awkwardness which NT imposes on the tech startup, versus the "instant tech startup in a box, just add connectivity and stir" flexibility of the Open Source model.
Function BackOffice SBS Linux Web service Server (up to 5 domains) Choice of servers (we use Apache) DNS No Primary, secondary, or caching SMTP/POP Server (one domain) or client Server Networked servers No Yes Scripting language ASP (or sold separately) Choice of products (we use PHP) SQL database SQL Server 7.0 (see note) Choice of products (we use MySQL) Servlets Sold separately (we use Jrun)Choice of products (we use Jserv) Java Yes (we use the JDK) Yes (Blackdown JDK) JDBC driver Sold separately Yes (we use MM.MySql)
Note: it's not clear under what circumstances, if any, SBS allows you to deploy SQL Server on the backend of a public website, as opposed to in a development/intranet environment. There's no technical barrier to doing so. The enterprise version of SQL Server requires a $3000 per processor Internet Connector License, but there's no mention of the topic one way or the other in SBS materials. Thanks to Jiva DeVoe for this info.
Software licenses
When people talk about "scaling", the implied modifier is always "up" -- presumably from a big server farm to a humongous one. But let's get real: a relatively small number of businesses require more than 16 processors, more than a thousand simultaneous connections, databases stable over hundreds of GBs, and instantaneous mass-customization for millions of users. Why don't we ever talk about scaling down -- in other words, that part of the spectrum from a big server farm down to one box? The vast majority of businesses, and an awful lot of the most interesting ones, live here.
In the real world, Linux grows seamlessly from the first workstation to the quite large office. You can churn out all the custom boxen you need whenever you need them without worrying about a thing. Microsoft, on the other hand, requires a software startup to endure what we might call "punctuated equilibrium" in order to stay within the bounds of restrictive licenses and technologies. At any given point, a MS solution will require you to pay for something you don't need, or go without something you really do need but not quite enough to justify the cost, or violate the license. Wasn't it de Toqueville who said bad licenses force good customers to cheat?
I certainly don't claim to be an expert on Microsoft licensing; in fact, the whole subject confuses and bewilders me. I tried to learn about it on the MS website, but didn't get too far into the arcana: the licensing glossary was a dead link so I still don't know a PUP from an UPG, and it's not easy to get info on volume discounts and Open License deals. But this is my first crude whack at trying to figure out a typical software upgrade path from the needs of a small development-only environment to those of a 51-person software company running both a production website and a development-oriented intranet:
Redhat Linux Microsoft 1 intranet server, up to 5 clients 79.95 1499 1 developer software package (programming and office) 1079 (Visual Studio)249 (Office2000)
1328 subtotal per (x 51) Each 5 additional clients (up to 50) 299 (x 9)
2691 subtotal Back Office Server upgrade (over 50 clients) 4349 1 single-processor web server with database 158 (MySQL) 639 (NT Server)
1239 (Site Server)
2999 (Internet Connector)
1399 (SQL Server)
2999 (Internet Connector)
9257 subtotal per TOTAL 237.95 85524.00
I realize that this chart is completely artificial. On the one hand, if you had a 51-person development team, the price of Visual Studio would be the least of your concerns. On the other hand, I can't imagine 51 programmers being willing to share one intranet server for everything. Also, while it's true that many smaller organizations aren't going to run their own web servers, application developers find it harder and just as expensive to be hosted elsewhere. My main point, however, is still valid: that the Microsoft licensing maze hinders the tech startup that chooses it.
Business rationales
Here I must venture into a sensitive topic: who makes the IT decisions, and on what grounds? Leaving aside the edgy cracks about nerds and PHBs, I think we all know there is a gap as wide as the Grand Canyon between the thinking of the two sides. The party of the first part makes decisions based on their own training and experience plus discussions with other techies they respect; their motto is either "Once you go *nix, you never go back", or "Mo' bugs, mo' money.". The party of the second part gives priority to non-technical rationales, including customer preference, the difficulty of hiring skilled workers (meaning those you can't treat like fry cooks at McDonald's), and the ability to sue vendors when things go wrong. Both sides have their prejudices: semi-rational hatred of all Microsoft products on the one hand and unquestioning reliance on Microsoft marketing materials on the other.
Until recently, there was an uneasy balance of power between the two which varied by location and industry but basically resulted in the suits getting their way. In business circles, the statement "[Authority figure] says NT is the industry standard; besides, Microsoft's stock is soaring while [competitor]'s stock is sinking" was the unanswerable trump card which ended all discussion. However, this smug acceptance of the Microsoft party line is being challenged more frequently of late, particularly by the Silicon Valley types who make money by spotting the waves of the future.
Here's an object lesson: I know a startup full of genius hackers that decided to develop their application on a 100% Microsoft platform -- NT, Visual Basic, the whole nine yards. They did this despite the fact that all their programmers were true artistes on *nix and Mac who had previously scorned Windows, and furthermore that all of them had been early users of the Web. They were definitely following a strict client-server model as late as the end of 1998, when their CEO told me "the Web isn't a legitimate business tool, therefore our customers won't use it". Within weeks of this conversation, every enterprise software vendor -- including the leader in this startup's market -- announced the death of client-server and a mass rush to get their apps on the Web. So much for MBA herdthink.
I can't believe this attitude wasn't partly engendered or reinforced by the fact that Microsoft has been (for understandable reasons) so dependent on its market share and so reluctant to see the Web as a legitimate tool. Their brand of Follow the Leader works because of the huge anxiety engendered by technical change. Everyone's looking for something solid to hold onto, one thing that will continue to be true no matter what. For some, it's good technology. For others, it's market dominance. But what does that phrase even mean today? Maybe it designates the OS with the most desktops; but maybe it means that the most successful and innovative companies in every category are running some flavor of Unix. Small startups in particular need to think hard about the growing risks of hitching a ride on the Redmond express. If Ballmer and company guess wrong about something, they've still got billions of bucks in the bank. If you go along with their wrong guess, game over.
Consequences
For all these reasons, we decided to do our alpha on Linux instead of NT. Now Linux is part of our global business strategy -- not because of any ideological issues we might have, but because it works. From a Linux/Java base, it's easy to port to other platforms like the other Unices that dominate the server market, if necessary. NT is on the way out and W2K seems to be stuck in the birth canal, but developers can be comforted by the thought that *nix has endured a lot already and will probably be around for a while longer.
Now I don't know whether my particular startup will get off the ground or not -- that was just a convenient illustration. My point is to suggest that every "two geeks in a garage" team now must discuss whether Linux (or some other *nix, and/or other Open Source solutions) are right for them. The arguments in favor are too overwhelming, the cost of choosing wrong too great.
A modest proposal
If Microsoft truly wants to focus on customer service, developers, and the Internet, they've gotta come up with some new marketing ideas which take cognizance of the unusual value of the small developer market. This entails reversing one of the fundamental tenets on which the company was built, which is that mass beats class every time. In years past, it made sense to cater to the lowest common denominator while alienating the few pesky independent-minded developers -- because of the desktop monopoly, which was the city hall no one could fight -- but now developers have to be convinced it's in their interest to work native rather than go web-delivered.
So here's my humble proposal: maybe Microsoft should try to appeal to the raw startup, so more of the cool apps of the future might run on some version of Windows. If I were Steve Ballmer, I would form a small team to bring out another version of Small Business Server deliberately oriented toward the raw Internet startup. It must be built on top of a rock-solid TCP/IP layer, because everything will employ that protocol -- so fix my Proxy Server problems or forget it! Get some development tools in there -- I don't need to share a fax machine, I need to use servlets and make database queries. Move faster to figure out what new stuff independent developers want, and give it to them tout de suite. Carve out a logical upgrade path through the thicket of licenses. Microsoft shouldn't think of this SBS as a moneymaker at all, they should think of it as developer relations -- meaning it should be cheap (free for CS students -- an awful lot of the innovation is coming out of a really small number of these folks), update frequently, and go very lightly on the more annoying usage restrictions. The goal is to match most Linux distros' "instant tech startup in a box, just add connectivity and stir, appeal.
But I guess no one wants marketing advice from me, the most successful software company in the world least of all. Little software startups like us will be attracted to Linux in larger and larger numbers, while the Colossus of Redmond spends its time trying to squeeze the last drops of blood from its desktop dominance.
Sorry guys... looks as if my web site got slashdoted... I'd like to attribute this problem to my web hosting company. Despite promising me unlimited bandwidth for $8.95 per month, they've been giving me nothing but grief for the two weeks that I've been using them. (I knew it was to good to be true...) Anyways, I fired them yesterday, and found a new host the same day. Unfortunately I wont see the results of that for another day ot two. What lessons can be learned from this... Never buy anything from icom http://www.icom.com BASTARDS! - Kelly McNeill
The mirror is no longer needed....
I contacted the webmaster.... Apparently He fixed the problem with the server .
osOpinion.com