July 1, 2009
We recently upgraded our database server to 48 GB of memory -- because hardware is cheap, and programmers are expensive.
Imagine our surprise, then, when we rebooted the server and saw only 32 GB of memory available in Windows Server 2008. Did we install the memory wrong? No, the BIOS screen reported the full 48 GB of memory. In fact, the system information applet even reports 48 GB of memory:
But there's only 32 GB of usable memory in the system, somehow.
Did you feel that? A great disturbance in the Force, as if 17 billion bytes simultaneously cried out in terror and were suddenly silenced. It's so profoundly sad.
That's when I began to suspect the real culprit: weasels.
No. Not the cute weasels. I'm referring to angry, evil marketing weasels.
That's more like it. Those marketing weasels are vicious.
We belatedly discovered post-upgrade that we are foolishly using Windows Server 2008 Standard edition. Which has been arbitrarily limited to 32 GB of memory. Why? So the marketing weasels can segment the market.
It's sort of like if you were all set to buy that new merino wool sweater, and you thought it was going to cost $70, which is well worth it, and when you got to Banana Republic it was on sale for only $50! Now you have an extra $20 in found money that you would have been perfectly happy to give to the Banana Republicans!
That bothers good capitalists. Gosh darn it, if you're willing to do without it, well, give it to me! I can put it to good use, buying a SUV or condo or Mooney or yacht one of those other things capitalists buy!
In economist jargon, capitalists want to capture the consumer surplus.
Let's do this. Instead of charging $220, let's ask each of our customers if they are rich or if they are poor. If they say they're rich, we'll charge them $349. If they say they're poor, we'll charge them $220.
Now how much do we make? Back to Excel. Notice the quantities: we're still selling the same 233 copies, but the richest 42 customers, who were all willing to spend $349 or more, are being asked to spend $349. And our profits just went up! from $43K to about $48K! NICE!
Capture me some more of that consumer surplus stuff!
How many versions of WIndows Server 2008 are there? I count at least six. They're capturing some serious consumer surplus, over there in Redmond.
- Datacenter Edition
- Enterprise Edition
- Standard Edition
Already, I'm confused. Which one of these versions allows me to use all 48 GB of my server's memory? There are no less than six individual "compare" pages to slice and dice all the different features each version contains. Just try to make sense of it all. I dare you. No, I double dog dare you! Oh, and by the way, there's zero pricing information on any of these pages. So open another browser window and factor that into your decisionmaking, too.
I don't mean to single out Microsoft here; lots of companies use this segmented pricing trick. Even Web 2.0 darlings 37 Signals.
Heck, our very own product segments the market.
37signals just does it .. prettier, that's all. They're still asking you if you're poor or rich, and charging you more if you're rich.
Eric Sink also advocates the same "rich customer, poor customer" software pricing policy:
In an ideal world, the price would be different for every customer. The "perfect" pricing scheme would charge every customer a different amount, extracting from each one the maximum amount they are willing to pay.
- The IT guy at Podunk Lutheran College has no money: Gratis.
- The IT guy at a medium-sized real estate agency has some money: $500.
- The IT guy at a Fortune 100 company has tons of money: $50,000.
You can never make your pricing "perfect," but you can do much better than simply setting one constant price for all situations. By carefully tuning all these details, you can find ways to charge more money from the people who are willing to pay more.
This sort of pricing seems exploitative, but it can also be an act of public good -- remember that the poorest customers are paying less; with a one-size-fits-all pricing policy, they might not be able to afford the product at all. Drug companies often follow the same pricing model when selling life-saving drugs to third-world countries. First-world countries end up subsidizing the massive costs of drug development, but the whole world benefits.
What I object to isn't the money involved, but the mental overhead. The whole thing runs so contrary to the spirit of Don't Make Me Think. Sure, don't make us customers think. Unless you want us to think about how much we'd like to pay you, that is.
And what are we paying for? The privilege of flipping the magic bits in the software that say "I am blah edition!" It's all so.. anticlimactic. All that effort, all that poring over complex feature charts and stressing out about pricing plans, and for what? Just to get the one simple, stupid thing I care about -- using all the memory in my server.
Perhaps these complaints, then, point to one unsung advantage of open source software:
Open source software only comes in one edition: awesome.
The money is irrelevant; the expensive resource here is my brain. If I choose open source, I don't have to think about licensing, feature matrices, or recurring billing. I know, I know, we don't use software that costs money here, but I'd almost be willing to pay for the privilege of not having to think about that stuff ever again.
Now if you'll excuse me, I'm having trouble deciding between Windows 7 Smoky Bacon Edition and Windows 7 Kenny Loggins Edition. Bacon is delicious, but I also love that Footloose song..
Posted by Jeff Atwood
> First-world countries end up subsidizing the massive costs of drug development
I thought it was "Old World", "New World", "Third World"?
As a now fairly long reader I've often wondered about your Microsoft weakness. Their products don't seem particularly better than the many open source alternatives, nor do they seem easier to use. All that, plus you get the joy of jockeying with their marketing approach. I don't know. It seems a little dodgy to me. You've put your entire enterprise at the whim of a company known for making lousy decisions, for ruining industries, and for being blissfully unaware of what sorts of things would actually help their users.
Or, put another way: it's kind of liking smoking and then complaining that the tobacco companies are heartless capitalists. Uh, duh? Who is enabling them to do that?
I can understand Microsoft wanting more money for an edition with more features, but only for features that cost Microsoft to produce. To overcome the natural addressable memory limit of 4GB limit on some of their 32-bit OSes, Microsoft added software features (the PAE kernel) and reserves the right to charge more for those fetures. However, 64-bit OSes have a much higher natural addressable memory limit, so additional work isn't needed (to my knowledge anyway) for this memory to be available to applications. Therefore, in my opinion, the arbitrary 32GB limit amounts to price gouging. Charge me more for Active Directory or load balancing support, but get out of the way of my exabyte+ of memory.
Memory wants to be free!
Reminds me of the story of the business and consumer editions of an old HP Printer. They build the printer it prints so many pages a minute, thats the business version costing $$$$. They then pay engineers to design a doohicky to limit the printing speed and hey presto thats the consumer version costing $$ even though it actually cost more to produce.
Or in fact the older story of the first trams. The tram came out of the factory with a roof and nice seats they called them first class costing loads of dosh per ticket. Then they hire some guys with cutting torches to chop the roof off and rip out the nice seats these will be second class and cost not so much even though, you guessed it, the things cost more to produce...
"Open source software only comes in one edition: awesome."
I think you misspelled "time-consuming".
>> If I choose open source I don't have to think about licensing...
Ha! You have got to be kidding!!!!!! Have you ever tried to figure out if you should be paying for MySQL or not? Most people just assume that they don't have to pay for it. Some are right. A lot of them are dead wrong!
And don't even get me started on GPL, LPGL, and on and on...
You also act like the ability to support more than 32GB of RAM is the only difference between Standard and other editions of the product. Guess again!
Finally, you mean to tell me you've been in the computer business this long and don't understand that you always have to read the supported hardware configuration guides for all software? Why would you buy that much memory and not even know if your target OS can handle it?
I think the point of comparison with hosted services isn't apples for apples but it still illustrates the concept of tiered pricing being applied everywhere. CPU and video card makers do the same thing and, in that case, we actually do buy the full physical product with a core or some GPU's disabled. That would be a perfect example of a manufacturer selling the same product (albeit, altered) to different audiences at different prices.
I still can't understand how Mac-fans sit firmly in the same circle as the OSS-fans when it comes to "tax-free" products. Apple charges one fair price for the operating system and then an enormous mark-up for the hardware, which is the only hardware technically allowed to run the software. I get the Linux arguments but I'll take the "Microsoft-tax" over the, commonly overlooked "Apple-tax" any day.
Dammit, how come this is this first I'm hearing of stack overflow being available for our own nefarious purposes? I emailed you guys last fall!
Will have to sign up when sober...
If you lay all the versions of all the Microsoft products end to end they strecth all the way to the moon and back.
Think of the costs internally though, you have to develop and test all the different versions making sure they all do the slightly different things right.
And as you so rightly point out the mental overhead makes people switch, not even to open source but how about Apple! they know how to make it simple (okay so you really are paying for them to make it simple)
We had 32 GB, and we maxed that out 100%.
We added 32, and was chocked to see the result on startup. Lesson learned: Never install Standard on servers. The licensing difference is minor compared to the cost of upgrading.
@Owen: "MS doesn't change the price based on whether you are rich or poor, they base the price based on what features you want. "
The rich/poor thing is the important thing here. The features are only the mechanism that they use to divide the rich from the poor. The expensive editions cost more because their added features are valuable to the rich, not because the features are hard to implement.
If you need 48 gigs you are running a big business, and therefore you can pay more. So they create an entirely artificial limit on the OS so that big businesses have to pay more.
Contrast this with a way more complex feature like text-to-speech. If you need that, then you are blind and probably can't pay much, so it's free.
I recommend reading Joel's essay on this, it's a real eye-opener if you haven't thought about this stuff before. It happens everywhere, not just software.
>> Buy an XServe!
Yeah, buy an 1U server that runs an OS you have to pay $1K for that has such an enormous thread creation overhead, you'll need twice as much hardware as Linux (or hell, even Windows) to just run the same thing. But it's pretty. It has blue LEDs even! As an added bonus, it comes with an outdated version of Java in which Apple doesn't even fix critical security issues for six months on end. What a value.
Don't get me wrong, I write this from a MacBook Pro and I made my earlier post from my iPhone, but Apple still has ways to go before it reaches the level of Dell and HP running Linux.
We try our best to distance ourself from proprietary software. We have been successful so far but couple of exceptions. I am sure we will free ourselves from vendor lock-ins soon.
Before any new software we write we think of the following:
a) Can the software run on all major operating systems?
b) Does the software depend on a particular database?
c) Does the software depend on any proprietary software or web services?
d) Is it feasible to release the software under an open source license?
Ideally the answer would be yes for questions a and d. Strict no for questions b and c.
Nice way to market your new product "Stackexchange" :)
@Steve - what were the opportunity costs - what might you have done with the 6 months yo uspent rewriting your code? That counts too.
Aren't Microsoft just profiling their customers, what the average setup would be for those customers, and charging accordingly? I mean, an Enterprise is more likely to buy very high spec servers, and would subsequently potentially require more support etc? A small business is more likely to have more modest servers, and, of course, less money. So I'm not sure their decision making was as arbitrary as some people are making it out to be - they did their homework on what the average spec would tend to be in the price range they were targetting.
As you say, they are really subsidising the poorer customers, with the richer customers, but they do therefore have to make a distinction as to what the extra money is buying the richer customers.
Great blog, I'm just not convinced by this post which seems to be a case of not doing your homework properly on the server front ;-)
I'm amazed that no-one has commented on that Eric Sink bloke. What a bastard! It seems the "greed is good" mantra is still alive and well.
I'm really not seeing the evil here. All MS are doing is offering different levels of functionality for different prices – giving customers the option to choose the features at a price that suits them. Isn’t this how the free market is meant to operate. (Not that I’m a fan of unrestricted free markets in all cases, but this seems innocuous).
“Sure, don't make us customers think. Unless you want us to think about how much we'd like to pay you, that is.”
I may be naive, but I’d have assumed that anyone making a business decision as to what server to buy would be doing as much research as possible before handing over the money. Really, would MS be less evil if they forced you to always buy the most expensive version, even if it offered more than you could possibly need?
“Open source software only comes in one edition: awesome.”
Really, so there’s no such thing as non-awesome open source software?
My reply is missing the point, I know that, but I can't resist:
I'm sorry but I really think that's just extremely perverse to run a huge database on Windows Server.
*Why* did you choose Windows for this role?
@ Samuli: Why *not*? Seems to work well enough for Stackoverflow, which is very database dependent but still very fast and runs on a modest amount of hardware.
Or does this go against your religious beliefs?
This blog post is the exact reason why no uses MS products for anything that needs to scale past a "small" project/website/performance/etc etc.
The problem with this is not that there are multiple versions, I want multiple versions if I am going to pay for it so I don't have to pay for things I do not want
The problem is that there is not one single matrix of features that each has (or if there is one it it very difficult to find), and the consequences of each of these features/limits are not shown
The other examples you gave are all clear, this is what you get, you get more if you pay more. Microsoft seems to be trying to get you to buy more than you need, or you risk buying something that will not do what you want ...
>"... as if 17 billion bytes simultaneously cried out..."
>Umm, ain't that supposed to be 16 billion bytes?
> OS X also only comes in awesome.
yeah awesome tiger, awesome leopard, awesome snow leopard ( ~ $29 upgrade from leopard and ~ $169 from tiger)
> Yeah, thank God that Linux only comes in one flavor.
I hope you meant FOSS. Free and Open Source is awesome for all the advantages that gives the world. Why do we have to invent hundreds of word processors, when we can invent one and move on as a Human race to newer more interesting projects. Its those "don't teach anyone what you have been taught" principles that are causing us to not advance.
What I like about this post, is it goes even further to explain this greed, where people sell the same product under different labels to make more money. We have seen it with intel chips, ati and nvidia cards, and notoriously windows.
I disagree with the hosting plans argument, since in that specific case there is some costs associated with the extra service. Extra support, extra hardware, extra resources. I guess your way would be to give everyone the same exact hosting plan, but that is not necessarily the right thing to do. Each situation is different, I agree that root kits, and limitation features should not come pre-installed (or post-installed) and we should look to the future rather than try to squeeze money of what has been made in the past.
“The problem is that there is not one single matrix of features that each has (or if there is one it it very difficult to find), and the consequences of each of these features/limits are not shown”
I agree that this can be annoying for an ordinary user, but I think people making business decisions should be prepared to put a reasonable amount of effort in to research before making the choice. And I’d have thought that calling something standard edition was offering a bit of a clue that it wasn’t going to be the edition with the highest features. Also, this matrix seems to be pretty clear about the memory limits.
“Microsoft seems to be trying to get you to buy more than you need, or you risk buying something that will not do what you want ...”
I though the complaint was that they were not forcing you to buy more than you need.
In any case, I believe there is a blog post somewhere (or webpage) that discusses this limitation and the registry key involved to allow your edition to see your extra ram. Hope you didn't pay them more money...
This has nothing to do with religion.
Yes, It does seem to work surprisingly well for stackoverflow most of the time (as seen from end-user point of view).
But there are problems, as the one discussed in this very post, and many others. This is why I was curious to know the rationale behind choosing a windows server as a database for the high-traffic and desirably highly available and scalable web-application. I think it is a very unusual choice if you ask any IT professional (excluding of course microsoft's marketing department).
Samuli, the tone of your post reflects that it has everything to do with religion. That's the insidious nature of it: you believe it is unwise to use the platform, and, in the face of a counterexample, you act like it is an anomaly and try to write it off in a hand-waving manner. It is possible to run Windows server to serve a database or a web server. Now, do you have specific scaling problems relating to stackoverflow.com?
"> OS X also only comes in awesome.
yeah awesome tiger, awesome leopard, awesome snow leopard ( ~ $29 upgrade from leopard and ~ $169 from tiger)"
Yeah, or you could instead pay $219 to upgrade from XP to Vista, and then another $219 to upgrade from Vista to Windows 7, and then pray that it will at least be on par with Tiger this time.
While I won't comment on the practices of microsoft, I have to say that I am surprised nobody at stack overflow was aware of this limitation. Not only is it in the first chapter of any windows server book, but it comes up quite often when purchasing.
Not knowing the limitations of your OS is just as irresponsible as not provisioning the right amount of hardware for a server.
Something that appears to be missing from all of this is how do you actually go about getting from Windows Server 2008 Standard to the Enterprise edition.
Do you reinstall? Is there a straightforward authorization process you can execute from the 2008 Enterprise disc to convert your 2008 Standard in-place?
Let's assume you have to reinstall, does it go into the same Windows directory? Will it overwrite my registry? Will all existing software from Standard edition work? Should I risk doing this on my production server? I wonder how long I'll need to take my website offline to do this, maybe it would be easier just to buy another server rather than risk an unrecoverable site outage.
These are not the kind of questions you need to be asking yourself after a memory upgrade. We had a similar experience using PAE to get above the 4GB limit on a 32 bit system, but it was easier to plan ahead and use Enterprise Edition since these are known hardware limitations.
As many commenters have noted, FOSS software does have examples of tiered licensing. The one that jumps to mind is Red Hat Enterprise Linux, which has similar restrictions based on number of CPUs, amount of memory, etc. The difference vs. Microsoft is that if you don't need access to the high priced support drones nor the gold stamp of "Red Hat Enterprise", then you have *options*. Real options, not just love-it-or-leave-it options. You can get the exact same versions of the software for free with CentOS ( www.centos.org ), or for a little bit of porting/integration you could easily choose another distro entirely.
I'm not slamming Red Hat Enterprise. I'm glad they are convincing the pointy-haired bosses that they need to value "enterprise support". That helps pay for the good things that Red Hat does, like supporting Fedora.
"Just don't use Windows............. Oops sorry, I forgot, you're dumb!"
What an eloquent and persuasive argument!
Not to support Microsoft's pricing, but segmented pricing may not be so much about extracting as much value from rich customers as to ensure that you are capturing the value people are extracting from the software. One of the frustrating things as a software publisher is how do you charge for the person who uses it occasionally (who wants to pay less) versus the person who depends on it for their business. All things being equal, they are willing to pay different amounts because the value they extract is different. Segmentation should try to capture that - although most segmentation exercises end up in extremely confusing pricelists, for the consumer and even the sales people selling it.
Excellent article - had me hooked with the weasel pictures.
The problem is that marketing weasels generally don't really understand their markets or what segmentation is really for. They are just regurgitating what their heard in MBA school cookbooks without any thought or consideration about what they are actually doing.
I can say this because 1) I have an MBA, 2) I do think about this kind of stuff for my company, and 3) it often doesn't really make any sense to segment a market that doesn't really have a natural cleavage point in the first place nor is it necessary to segment just because you can.
For my company, simple and painless up-scaling, up-grading of performance is a selling feature so we don't segment on trivial performance levels like this example - instead we segment on mutually exclusive functional options and performance levels that cleanly separate. Even then you can take the code or the hardware you were using and re-purpose it without throwing anything way - it's only an incremental cost rather than 3 steps forward and 2 steps back with the full 5 steps going out as cash. We sell software and hardware so it's a win either way for both us and our customers to help our customers control their costs.
These aren't just marketing weasels, but they are unthinking, mindless marketing weasels - pretty much describes most MBAs graduated from US or UK schools, sadly. It's a large part of the reason the Fortune 1000 is in such dire jeopardy but they don't even know it. Time to die.
@Simon: and how exactly 37signals is different from Microsoft? Price difference in Microsoft's offering is not just supported memory, but some other advanced things which make sence in enterprise environment, whereas 37signal's is just limiting you on the same features for a price.
There's another misconception among people who argued that different hosting tiers are actually vary in physical resources available to customer for a price. If we're talking about shared hosting, Pareto principle works in full power: 80% of people sitting on the same server will use only tiny fraction of resources of this server. Even if you pay more for "more resources" you may end up sitting on the server packed with lowend consumers and will never notice this just because their usage pattern doesn't interfere with yours.
In 2008 you ask non free softare vendors, "do you understand what it takes to build the premium experience that trumps your free competition? And can you deliver it?" Why are you running Windows Server now? The sooner you leave that stuff behind, the more time and money you will save.
When you read Joel Spolsky "Camels and Rubber Duckies" (which was linked in article, so Jeff does know about it) to the very end, you would see that he argues that for software pricing artificial market segmentation just angers users (non-artificial example: paying more for full support), and he argues against it.
I am not sure if it applies to market segmentation and differently priced plans in hosting; there to some extent you sell different products, even if it is only virtual resources (e.g. storage, or bandwidth, or users).
Love your optimism:
[quote]Drug companies often follow the same pricing model when selling life-saving drugs to third-world countries. First-world countries end up subsidizing the massive costs of drug development, but the whole world benefits.[/quote]
That is... First-world countries end up gaining the companies more profit/unit than the sales in third-world countries. Which still turn a profit, I might add.
do i have to say it? you first mistake is using MS products...
>> Similarly, do you *really* believe that the cost of supporting 48 GB of
>> memory versus 32 GB cost Microsoft $1000 per customer to build?
According to their site, the difference between Standard and Enterprise is a mere $2800.
The various points about cars -- that you pay more to get more -- is true to a point. But the American car industry spent 50 years selling essentially the same cars under different brand names at different prices -- Mercury rebranded Ford cars and charged more; Pontiac rebranded Chevrolets and charged more; etc. But there was more prestige, apparently, in driving the Mercury version of a Ford Pinto (!).
Same with watches. A Timex will keep time as well as a Rolex; it's not engineering you're paying for when you go to the jeweler's to buy a timepiece.
Great post! and I really liked the conclusion :)
Have you ever considered that it might be an idea to credit the people you quote from, rather than use a vaguely titled link?
I ask, because there are at least four comments above pointing you to the very article by Joel Spolsky you quote from in this posting.
It's time to admit, Jeff, MS on the serverside = FAIL.
Rails, Django, Struts2, Wicket, GWT...
'In an ideal world, the price would be different for every customer. The "perfect" pricing scheme would charge every customer a different amount, extracting from each one the maximum amount they are willing to pay.'
Its called the barter system... I seem to remember we abandoned it a long time ago. :)
P.S. After some point 'hardware is cheap, and programmers are expensive' = 'we suck at writing good code'
Am sorry master, but i failled to feel the disturbance,
I still feel sorry for those undetected bytes though!
this is one reason I am experimenting with os x, weaning myself off of Microsoft, if possible. Much cheaper and very realiable, I hope. I despise all the complex Microsoft licensing.
Just the ability to use Visual Studio, and especially the Visual Studio debugger, makes using Windows cheaper in terms of money and stress equity than Linux or Mac, regardless of licensing costs.
Jeff, what I love about you is your devotion to your misconceptions.
37Signals pricing may not be fully incremental, but each new price point does involve an increase in both resource availability and a likely increase in support costs.
I assume that MS price point differentiation includes more than a simple bit flip for memory usage as well. I certainly see the difference between my Vista Home Basic and Vista Ultimate installs.
The best argument against MS for smaller businesses would be that you get penalized for success. In your case, needing extra RAM is just a side-effect of popularity. You really don't need a different *edition* of the software, except that they included an artificial limitation on RAM.
Similarly, if you set up the whole site on a single server first, and then need to split the IIS and SQL services to separate machines because of higher traffic... now, even though it's the same OS on each new machine, you're paying twice as much for software you already "own".
+1 for scaling out vs. scaling up
I don't see any problems in this kind of price differentiation. Ofcourse since you have cash you can pay more. This is true with all software products. Businesses tend to maximize profit nothing wrong with that. You might already be aware about Joel's article, MS is doing exactly the same :) . Link to Joel's article on it : http://www.joelonsoftware.com/articles/CamelsandRubberDuckies.html
Where in life dont you get more by paying more. Faster car. Bigger house. More features. More user connections from a DB. STD, PRO, ENT editions. CPU Cycles. Functins on a calculator. Safty features on a car. Air bags for a while were just on the expensive cars. Now many inexpensive cars have them. You PAY for it. We PAY for something because we dont have the resources to make it ourselves. Build your own server OS without the limits. Use open source if available. Those capitalists can profit on their hard work. If a competitor comes out with a cheaper alternative with a higher limit, then you can bet all prices will come down. I am not angry because I cant afford a better thing, I just work harder to get it. Motivation. Not class warfare crap. Save it for the Obama rally. Dry your tears and think how you can get that nice toy.
@Wedge: Unless you've upgraded your ThinkPad's CPU, you are mistaken about which processor it has. The T60 came with a Core Duo, not a Core 2 Duo. It is a 32-bit CPU, not an x64 CPU. That's the reason for the 3GB limit - part of the 32-bit address space is reserved for the BIOS and other things.
ThinkPads with x64 CPUs can indeed address the full 4GB.
Jeff - with a company like Microsoft it really pays to read what you are getting when you go to purchase it.
That said, I agree with what you are saying. It's a royal pain. Why even have a "Home Edition"? Why can't all editions have the same options, but simply do a default install with different configurations?
Okay - I can see why a server shoud be different to a client - they may need different security, different abilities and so on. But beyond "Server" and "Client" I see very little reason there should be any segmentation.
The linux migration path....
ASP.net MVV has been open sourced by Microsoft and is included in the latest mono release (mono 2.4.2)
However that where it port gets harder.
You could change from microsoft sql server -> MySql which would be non-trivial I'm sure.
Mono does not have LINQ to SQL yet (planned for September release).... which means your database access code would have to be re-written (ouch) or you could wait till September.
Even once the port is complete you would need extensive testing to make sure everything still works (hint it wont). And allow time for fixing all the problems found.
You would have to do a cost benefit analysis estimate on the work required before deciding to embark on that path.
However you are really looking at this to late. When choosing a technology you also need to factor in the exit cost. I.E how much vender lockin does this technology have, If I wanted to change to another technology how much would it cost me to do the switch. Including:
1. How much would it cost me to get my data out
2. Would my existing code just work... would I need to do a port... or would I need a complete rewrite.
3. Would I need to pay to get out of a contract.
4. Would I need to pay to licence the new technology.
Companies love vender lock-in... why?
Because once you are locked in. They can charge you whatever they like a you will be forced to keep paying. So long as what they are charging is less then the exit cost. Therefore it is in their best interest to make the exit cost a high as possible.
However it is in your best interest to make sure the exit cost is as small as possible. Or at least consider it when making a technology decision and do not proceed unless the exist cost is acceptable.
@ Johnny - Kudos to you.
See you hateful, mouth-foaming, FOSS zealots, this is an example of how you can promote the use of Linux in a positive way. You know, by praising the OS with examples why it's good, rather than resorting to ad hominem attacks on the users of another perfectly fine OS.
If he's using LINQ to SQL beyond stored procedure mapping, he's got bigger problems than licensing fees. I tried pretty hard to use it for a high performance, large DB app, and it proved to be vastly slower than sprocs, or even the good old SqlCommand. The word from folks responsible for it was that DB perf doesn't matter and I'm in a minority if I want it. Which I thought was insane. So I switched to using it just for sproc access and in memory collections manipulation.
Summary: person makes wrong purchasing decision, blames others for own lack of understanding.
Example: Person buys low end Honda somehow thinking all Hondas are the same. Thinks that because the high end Honda is made of the same materials that the person was ripped off and deserves the high end one for the low end price.
Sad that this is how most programmers think. And then you have the gall to write about it as if it were MS fault that you cannot and did not understand what you get for your purchase.
And the final comment on programmer culture is how many agree with you.
DMB - Normally LINQ to SQL is slower than SqlDataReader, but you can compile the queries so that much of the overhead of using LINQ largely disappears.
Here's an interesting series of blog posts:
The syntax becomes a bit cumbersome, but you could just compile the most intensive or most used queries, rather than everything.
I wonder how StackOverflow uses LINQ. Does it used compiled queries, or does it call SPs for the most used or intensive queries?
Jesus Christ, Mactards are so damn ignorant that they think StackOverflow can be run on a Mac server. Does Mac even have a server? If so, I am sure it is pretty, and I am sure it sucks. Take your stupid asses back to Abercrombie & Fitch, because you don't belong behind the screen of a computer!
Note that even some OSS folks do this in a big way. The original Bitkeeper pricing scheme was, IIRC, somethiing like:
individual OSS Developer : free
Corp 10 seats: $100/seat
corp 100 seats: $500/seat
Mega corp (e.g. IBM) $10K/seat
Of course, this was probably set up that way to ensure they never had to deal with the megacorps. Today they do not have a pricing scheme per se, instead the negotiate individually with each customer.
@Julian - no it doesn't. Try it yourself in anything that requires high concurrency and low latency and compare with sprocs. And do yourself a favor - do something more intense than toy examples.
Sprocs will beat LINQ to SQL handily in all cases, oftentimes by quite a margin. That said, my run-in with LINQ was about a year ago. Things might have changed since then.
Thanks for the data point. If you ever get interested enough in evaluating Linux for your webserver, please consider Ubuntu, or if you want a more conservative distro Debian Linux. Debian stable has 20,000+ packages available for installation from any Debian mirror. Debian testing has 25,000+. Since Ubuntu is a downstream distro from Debian, you'll find it's repositories are also huge.
If you want to test drive without installing, I would recommend an Ubuntu liveCD. As I'm sure you know you know what a live CD, but I don't know if your readers do. For those not familiar, a Linux live CD allows you to run a particular Linux distro off a cdrom/dvd without having to install the software onto a hard drive. It's really nifty.
I think you'll be very impressed with what you have already available on Ubuntu/Debian. The #1 tool to become familiar with is synaptic, the graphical frontend to the package manager. Do a search by name+description for say web server, or database, or php, or mono,python, java, etc. I'll think you'll be stunned at what's already available and wrapped up to go. Also try search terms like "cluster", "monitoring", "load balance". Play with the search terms. Again, I think you'll be stunned by what's already available.
P.s. Based on your description of your home theatre pc entry from a couple of years ago, I finally decided to upgrade my 1GB ram, athlon XP 1150GHz, 160GB IDE HD, box to a 8GB DDR2, Intel Wolfdale Core 2 Duo, 1TB SATA hard drive box. Holy cow!!! Everything runs so much faster. My old box running Debian testing X86 would take about 45 secs from boot up to login prompt. The new box running Debian testing AMD64 about 20 seconds max.
>> it at least SHIPS third party software like (yes outdated) Java, Apache, PHP, etc. A simple update will suffice
Well, yes. But Sun _doesn't make_ an official Java version for Apple platform. Apple does. And Apple doesn't seem to be in a terrible hurry to update it when Sun updates theirs, even if this is necessary to address security issues. They should either fully commit to Java or stop shipping it IMO.
All of the above doesn't change the fact that OS X is a piss poor platform for this application.
>> Just the ability to use Visual Studio, and especially the Visual Studio debugger,
>> makes using Windows cheaper in terms of money and stress equity than Linux or Mac,
>> regardless of licensing costs.
Pssst. There's this IDE called NetBeans 6.7. It's pretty good, and it costs $0. Not as full featured as VS, of course, but not that far behind. Has a debugger, too. And a profiler. And code browsing / refactoring. And built in source control. And it runs on all three major platforms (6.7 is gorgeous on a Mac, BTW). And it has a great Scala plugin. Download it and give it a try, it's free in both senses of the word.
In fact, come to think of it, after working with Visual Studio for more than a decade, I don't really miss anything other than not being able to "drag" the execution point forward or backward when debugging.
> Yeah, or you could instead pay $219 to upgrade from XP to Vista,
> and then another $219 to upgrade from Vista to Windows 7, and then
> pray that it will at least be on par with Tiger this time.
Yeah, and then when your Mac hardware breaks, you can pay $800 to have your motherboard replaced by a "genius."
Great day, the haters! Every time I see F/OSS goons, I want to hug MS...
So, what was the decision you came to, Jeff?
You have couched your argument by bemoaning the principle of charging rich people more and the poor less - so do you also bemoan it when applied to taxation? And should Third-Worlders be expected to pay the same for medical care as First-Worlders? I don't mind if you don't think so - just so long as we're consistent here, folks.
Oh and I get Windows Server 2008 Enterprise Edition for free :) I am a student and have access to the MSDNAA which gives me all MS sotware for free [Including all MS operating systems and development software like Visual Studio 2008 Professional]
The problem Jeff, is you keeping using Windows.
Use BSD, there's only 3 versions Open, Net , Free.
Use Solaris, there's just 2 distros Open, not so Open.
Use Linux, yes, there' lots of Distros, but just go with one of the top ones, like suse or redhat.
There's also plenty of OS's from IBM, and Soracle still have supplanted HP-UX yet.
oh cool, the captcha isn't coloured orange anymore , well you're doing one thing right. Slow & steady wind the race.
@David Warman: Bitkeeper was not OSS.
@Anonymous - you would actually 'trust' an upgrade of Windows? I'd only ever want a clean install.
It's time to take ownership.
All I read is how awful Microsoft is but I can't help to wonder why? If you are about to configure and setup a server why didn't you think about the cost up front?
You should say here is my x,y,z hardware now what server edition do I need to support this? Failure to do so is failure on your part not Microsoft's. Take responsability for being your own IT / Server administrator and quit whining because you didn't do you job.
BTW, I love StackOverflow! Listen to the podcast on the day of the release.
Captcha Words: soulless montgomery - funny!
Try this. You buy Vista Ultimate. Windows 7 comes along and it's looking to be a legitimate upgrade. You go to the upgrade site, decide Ultimate was the ultimate waste of money, and decide on Windows 7 pro. You then realize by looking at the upgrade matrix that you cannot downgrade Vista Ultimate to Win7 Pro without doing a clean install. Conclusion: Microsoft can shove it.
I can almost forgive Microsoft for the market segmentation voodoo that they do; I cannot forgive them for locking me into their 'ultimate' pricing scheme.
+1 to Wild Bob. Do your research.
Oh.. so you are to stupid to look up a edition usable for datacenters?
And don't know the limits of the software you are using?
Well... lets blame the seller, who had similiar offers since 1999....
And then buy the datacenter edition . (Hell , next you find out about the Team Edition of VS)
I assume that the Stack Exchange product means that rumors that the Stack Overflow code might one day be open-sourced are untrue...?
Oh...You want the 'girlfriend experience' :-)
Brings to mind the old Intel marketing ploy used back in the day with their 486DX and 486SX processors. Recall that the 486DX had the math coprocessor built in and had a higher price than the coprocessor-less 486SX. It seemed perfectly reasonable to most consumers that the 486SX, lacking a certain feature, should be cheaper than the comparable 486DX model since it would be cheaper to manufacture the 486SX models, right? Wrong. Manufacturing the 486SX was actually more expensive than manufacturing the 486DX because it involved an extra step in the manufacturing process -- disabling the coprocessor chip. Yup, the 486SX began its life as a 486DX, but Intel took the extra step of disabling the already perfectly good math coprocessor chip in order to be able to segment the market, not to mention competing with AMD and Cyrix.
By the way, this is all based on something I recall reading in a computer magazine. My apologies to the weasels at Intel if the facts are not accurate. It could well be that later on the 486SX processors were built without the coprocessor chip, but I do believe at least the initial offerings were made as described above.
The arguments about OSS taking too much time entertain me. These comments usually come from people who view running linux as a pain. It's only a pain until you understand the system. Then it blissfully makes sense AND it's "free".
As others have stated, you can save yourself a lot of time/money long run if you just take the small investment up front of learning the system.
"...because hardware is cheap, and programmers are expensive."
OMG! Fire the crew, buy some RAM!
Then we can change Coding Horror to RAM Horror.
It would be trivial to prove everything in this post wrong.
@Anton, You might get WS2008 Enterprise for free, however if you check the MSDNAA licensing you may just find that whilst you can use that for development purposes, you sure as hell cannot use it for a Production environment like SO/SF/SU/MSO.
While the licensing and features of the various MS products leads to confusion, I cannot blame it all on MS. I feel some of the blame lies in the procurement channel that sold you a server that needed to be upgraded less than 18 months after purchase.
I am not surprised at the anti-MS comments
@Wedge, @Martin, @Michael- Besides RAM & BIOS, the addressable memory includes other hardware memory- com & parallel ports, sound-video & other cards
@Anonymous on July 6,But 2009: I never said the program itself was put out as a GPL'ed product. Bitkeeper was put together by a group that wanted to get away from cvs. They were an OSS group which is why OSS developers got it for free. They just did not GPL it. I brought them up as an extreme example of pricing by the ability of the customer to pay.
@Mark on the 486DX/SX: Usually this kind of segmentation in the chip world is not done by deliberately disabling a feature in an otherwise perfectly good chip, especially if it is intended to be sold for a lesser price - that would take an extra step and that costs. Every 0.1c matters to them. Instead the SX was a DX with a failed co-processor. It could be sold cheaper because it failed out of the test line earlier than the DX. The automated manufacturing line just did a slightly different bond-out so the partially functional co-proc would not be accidentally invoked.
Now, one can go back further to the early TI calculator chips, which were all the same die but either different bond-outs for the various grades of calculator functionality, or had feature enable pins. Again, not really chiseling, just picking from different test grades. Also there were some EOM calculator manufacturers that crippled their systems while stocking only the one fully functional part. It's not really that the buyers are being cheated. It all comes down to commodity price management.
+1 to Wild Bob.
One of the only comments to not be so stupidly biased it didn't make sense.
>Oh yeah, and everything you do on your MS machine you can do on a >Mac (but better, obviously), so that's no longer an argument
Tried booting a game recently? :P I know, it's not a "dev thing". But that comment was so open, it was false. Try to be more precise.
>If I were you, I would start testing my app on Mono. You can keep >using your existing .NET development tools, but deploy and test onto >a platform with less onerous licensing.
That's an awesome tool. But there's a heap of haters bashing it in the OSS community. Just because it runs/compiles C#
>The old line of "If you want a feature, then why don't you program >it?" is no longer true
Wanna bet? Run me a game. :P Not under WINE. Emulating (I know, Wine Is Not an Emulator but it does the same things. :P) can run most games, but I like my performance on Windows machines.
>Yeah, thank God that Linux only comes in one flavor.
Which distro was that one? :P FOSS is as bad as MSFT. Only difference is that FOSS puts up nice websites slamming corporations and has "FREE" in great big letters with lots of !'s and daggers for emphasis.
MSFT has one major advantage over FOSS. If something doesn't work, you ring someone up and complain. You don't try and figure out what's going wrong, post to forums that call you names because you don't know machine code and google like mad. :P Paying really does give you benefits.
And there's only 7 distros, as compared to how many for Linux? :P
One other advantage is that you know what the MSFT license is, FOSS isn't really free or open. And still hasn't got 1 license.
@OP (article poster)
Really.. How could you miss something like that? I'm a 20yr old student and I've known about software limitations for years. It's, I would have thought, common knowledge.
@ all FOSS MSFT bashers
The day that a linux distro is on the majority of computers in the world is the day that you can tell me it's better.
@ all Apple MSFT bashers
The day Apple decides to 1, secure it's products and 2, patch them with reasonable speed when flaws are found is the day that you can tell me Apple is better.
Safari loads and runs .dmg files silently in the background without informing the user. Apple may get around to patching it the end of July. If it was IE, it would have been patched instantly as a critical update, no-one would have installed it, but at least the patch would be out.
Oh yea, I also want to be able to pick my hardware, not be limited to 1 platform (Apple) or have to browse eosteric sites to find a driver for a part (linux). One of the things that made MSFT is it's acceptance of the rubbish. It would render all websites regardless of standards comformance (IE up to 6) and would run old hardware with dodgy drivers (XP). The main reasons people are leaving MSFT is because IE7 and 8 start showing error messages when they come across dodgy coding and Vista required a reasonably new machine to run instead of a piece of junk that's been sitting in the garage for years.
ALL products have segmented pricing, "FOSS" and major corporations both. It's normal and has been so for quite some time. Get used to it. :P
And read the specs on hardware/software BEFORE you make a decision.
Above sentence with lots of !'s and daggers for emphasis. :P
I use open source everywhere and I have to think about licensing.
So that begs the question, when are you going to Open Source StackOverflow, so it too can be available in Awesome?
How could you have missed the RAM limitation of the version you opted for. I know the marketing lingo built into any MS purchase can lead any savvy user/buyer astray, but, think about it. You needed more RAM even before you started your business plan or whatever plan you had in mind. Don't blame MS for your own folly of missing the scalability aspect of your original purchase.
That being said, switch now to a more open supplier of software and of hardware if you wish to gain more flexibility and avoid the scalability trap. Scalability should be open-ended, not a closed option at purchase time. You will always need more RAM, more disk space. Don't limit yourself to suppliers who put caps on these variables: they need to be unlimited in future expandability!...