Indirectly, I suppose we do. We rely heavily on MySQL, and have a fairly pricey support contract with MySQL AB. I'm not in Admin, but I wouldn't be surprised if we paid (indirectly) to assist other projects as well.
As for code itself, we've talked about this a bit in the past, but the general consensus has been (so far) that pretty much everything we write is so specific to our own operation that it'd take a lot of work to clean things up enough for general release. Most everything we've written has been from scratch and isn't part of an existing project. We'd probably only release parts of our stuff, and it's all so intertwined that this may be difficult. It has come up from time to time, though.
I believe some of us have also done some stuff 'on the side' in this direction. It's not exactly mind-blowing, but I started the "Aphrodite" Mozilla skin that has grown to be pretty popular by some (I handed it off pretty early, though, and the current 'owner' of the project has done some amazing work with it, far beyond what I started with).
I can't speak for the rest of the company, but my personal impression of open-source software is this:
It's an excellent model for developing large-scale projects, particularly those that are infrastructure oriented, or scratch an itch that commercial developers aren't interested in. It's a "feature" that adds a lot of value to any piece of software. Generally when I'm looking for a solution (particularly something server-side), I'll look for open-source software first.
I do differ from some people in that I don't really consider it as a philosophical or ethnical issue: To me, you choose the tool that works the best, and often it has been my experience that open-source software tends to have a level of reliability and flexibility that is often hard to find in closed products, if only because so many people are looking at the source, bugs tend to get fixed quickly. You also avoid locking yourself into proprietary solutions that may fail you should you decide to migrate to something else or the vendor goes out of business. I do think it's cool that people are willing to pour hard work into a project without significant monetary gain, but it has never occurred to me that there's anything wrong with people selling closed commercial software. That's just one more thing to consider in the total equation, as a consumer.
One other major advantage is that open-source software tends to be developed quite openly, by definition. Even if I'm not interested in hacking at the source, read a few mailing lists and you're likely to know what is being worked on and can even provide direct input. While there are exceptions, most closed-source developers aren't nearly that open.
However, I've also found that - in general - closed source projects have a greater degree of usability and 'polish'. I'm much happier using (for example) Linux in a server environment for flexibility and reliability than on the desktop, where usability and workflow is more important.
Again ... You just pick your tools for the task at hand. :>
It hasn't really come up, as we've never had the time to start a DreamHost-sanctioned open-source project. However, I believe the following concerns would pop up.
Is it something that isn't already being served well by existing software? In our case, much of our value isn't in any specific feature, but in how they are all integrated. Could we give away sections and it still be something people will want?
Is it something you can take the time to clean up and maintain? If you don't want to maintain the software yourself, is there someone out there you could trust to keep things running?
Are you potentially 'giving away' some sort of super-duper feature that your competition can install in a weekend without giving something back? Will this impact business, or will any potential loss be outweighed in benefit to your customers, the Internet community, and/or visibility?
Is Richard Stallman going to coin you "GNU/DreamHost"? :>
Jeff @ DreamHost
- DH Discussion Forum Admin