Software: Big Business and Open Source
I’ve been trying very hard to understand the value of open source. It seems to me that most open source projects are duds. They fail to generate interest and fade away. But some of them succeed beyond imagination and become the de facto industry standard. Others succeed so stupendously that service companies base their entire business model on them. For programmers who dedicate their time to open source projects, I see open source as a great way to learn, share, and establish a reputation. And for those who get paid to work on open source, it seems like a great way to make a living.
But how can big business benefit from open source? We see big business trying to get into the game. With IBM buying Apache and Oracle trying to buy MySQL. We see Sun releasing Solaris as open source and Microsoft creating an open source group. To many programmers open source is cool and they believe - the way software should be written. There are many bloggers saying open source is the future. I think that open source has its place but that both types of software – closed and open – are needed.
My concern about big businesses buying open source projects is two-fold. First, I'm concerned that sucking open source projects into a large company has the potential to destroy the community and slow down innovation. Like any merger the process needs to be handled very carefully and quite frankly most mergers fail. It seems IBM has done a great job with Apache, but who can say that other mergers will be so successful? My second concern is that people are building stuff for free and then when the project gets sold they get little or no compensation. How long can that model survive? Personally, I would resent putting a lot of time into a project and getting nothing back.
Rather than buy open source projects I would rather see big business donate money to those projects that either directly or indirectly help their business. And then create open source hybrid projects in areas that the big business thinks complement and enhance their product lines. The big companies need to contribute any pieces the open source community can't (i.e. equipment or software) and provide paid personal to fill in the teams. This can create a win-win for everyone.
What this does for big business:
- Cost effectively creates value-add products and services around core product lines.
- Great way to identify potential hires. The companies learn what the programmer's coding style is, how they work on a distributed team, what their work ethics is, communication skills, technical skills, etc... Just great visibility into potential hires.
- Great place for employees to work on stuff that really interests them.
- Cheaply test features and enhancements – if few people want to work on something then it's probably not worth the time.
What programmers get:
- Access to bleeding edge technologies.
- Opportunity to contribute to the future direction of much used products.
- Opportunity to make a name, show-off, and be seen. If this is done right the programmer will be able to name her price and position when looking for work.
- Maybe a little cut???
Microsoft will soon be releasing the source code for Power Toys for Visual Studio and I find myself looking forward to playing with the code. Much of my career has been spent working on development tools and the idea of expanding on an existing product line intrigues me.
Is there a common ground between big business and open source? Any other pros or cons? I'm interested in your thoughts on this.