What projects should companies open? Choosing which project to open source is just like any other work decision. Prioritize the work with the highest projected ROI. For open source, these are the projects that will attract the largest community (of free helpers, or more specifically, free programmers) without threatening your revenue.
Projects that appeal to programmers are the only ones that will recruit programmers. Things like:
- Incredibly useful programmer stuff (TCP, email, HTTP, LDAP, Unix, etc.)
- Projects that help programmers program (compilers, frameworks, IDEs)
- Projects that minimize annoying tasks generally assigned to programmers (continuous integration, automated testing, setting up and monitoring machines, networks, environments, etc.)
- Projects that give programmers access to tools and systems otherwise unaffordable (large databases, expensive instrumentation, etc.)
Just like commercial products, open source projects are competitive. If there is already a dominant, similar open source technology, unless yours is clearly better, you’re probably out of luck. Giving it away for free isn’t going to help, though a truly open license (e.g. FreeBSD) can beat GPL (because GPL is poison to commercial entities).
We open sourced ATF because it is incredibly useful to tools programmers, it helps programmers program, it minimizes annoying tasks, and it brings a variety of otherwise unaffordable bits into reach. Making long-term success more likely, it has no significant open source (or even commercial) competition. If you want a tool to make tools, ATF might be your only choice.