There are a lot of interesting posts in this thread. I want to call out a few of the different arguments:
- If you open source it, you get free labor and at least you get to manage commits and vet new patches and features yourself.
This is false. First of all, most of the patches you get will need to be rejected. In the end, you likely either spend as much time reviewing patches as it would take to implement the feature, or you're just not getting the patches. Secondly, open sourcing doesn't guarantee that you get to be the maintainers of the project. It won't stop people from also forking it to do what they want. For a product like this, where the maintainer has a very high standard for polish and integration (a good thing) and the audience includes many competent, connected developers, the likelihood of a serious fork is very high. So the idea that going open source somehow lets you pre-empt the clones is just wrong.
- Company X seems to do pretty well with open source
Irrelevant. It's a different business in a different situation. Even if the situation seems similar, there will be little differences that can have a big impact. This applies to WordPress and Reddit as well. And many of these companies are still in the stage where they're burning through VC money, so appearances can be deceiving.
- The on-site version is too expensive.
This is very much true. For that kind of money, I could take one of the (bad) clones as a starting point and tell a developer to spend a couple months turning it into something usable. It'll take a bit and won't be quite as nice, but pretty soon we'll have something that our users like almost as much, is tailored to fit our company, integrates with our existing systems, and is much cheaper to operate. If after a year I'm still not happy, we can work on it more and I'm still not out anything vs using SE. If I had that kind of money to burn and needed something right away, I might buy SE, but I probably can also have another developer hack a replacement at the same time and so you wouldn't keep the business for long.
Then again, I'm a programmer and not a business manager, so perhaps this would never even occur them. Instead, all they'll see is a big price tag on something that's basically a toy for their internal users. Either way: it's too much. Basically the problem is that it assumes the reason you'd want the onsite version is to go bigger, when it's more likely customers will want it because they're smaller; they only want to use it for internal staff and don't want it's contents public.
You also need to look at it from a forum site standpoint. Right now there are thousands of little sites running vBulletin or phpBB. What do those users pay? How can you capture some of that money? Currently you are completely priced out of this. The only way to get into that market at all is to have some form of installable package. Will it hurt you if a bunch of other little sites start using the same code base as stackoverflow? Probably not, especially if they're paying for the privilege. Will releasing the code as open source allow you sell to more of these users or fewer? Depending on how you do it, it could be many many more, or it could completely cut off any sales of the for-pay edition at all.
- Competition from other other providers will drive the price down to your costs or below.
Perhaps. I think probably not quite that far: as the originators of the code base, you will always be able to command a premium over the competition. If you go this route, what you would need to do is make sure you're in the business of selling hosting to the richest customers (the banana republicans) rather than poorest. Let others worry about making money from the low end. Yes, you're giving up a lot of revenue to them, but most of that doesn't count because it's revenue from customers that could not have afforded your offering anyway. All you get to think about is the portion that you lose due to pricing pressure from the competition. This will be significant at first, but the story isn't over yet.
What this does for you long-term is allow you to use the competition to grow your market. Some of the smaller customers that start out going through a competitor and could never have afforded to even get started under your current plan will now grow enough to need your services. Think of it like giving CoPilot away for free on the weekends. Some of those weekend users will eventually want it during the week. And some other big users might hear of it because they know someone who knows someone who uses it for free. Over the long haul, the economics say this should be the better option for the business. A bigger market usually means more revenue - eventually.
- You can split the code base into distinct parts and open source just some of the site
Separating the engine from the interface is a good idea anyway, and probably required for StackExchange to be a success. Additionally, setting up the engine to use a provider or plugin model for certain parts would be a very good idea. One big is the authentication mechanism. Another is treating your main input editor as a pluggable component (so users can swap out your markdown for freetextbox, for example). Others include adding badges and moderator tools as plugins. I could come up with more like this. Again, this makes sense to do anyway, and will make managing the StackExchange product easier. It would also allow you to hold some key code in reserve in a meaningful way if you ever do go open source.
What I really like about it is that it gives you the option to sell the components. You could forget StackExchange (at least as the main money-maker - I really doubt it will take off anyway because you can't just install a community on a server), and sell your markdown editor implementation as a component that can plug into any web site.
Finally, my own new point:
You keep saying this, and we know it is very much true. You have the ability to show potential customers the graphs published by google and bing of how clicks and attention drop off as a page takes longer to load, look them in the eye, and guarantee your pages will load in the fastest block. Even if you open source the code, your competition would have a hard time doing that, because they don't have your intimate knowledge of how it works and what it takes to keep it fast. You can do a better job monitoring and profiling your customers performance, and tuning the servers than anyone else could ever hope to. And this is another big reason the banana republicans with money to burn would go to you for hosting vs cheaper competition, even after you open source the product.