Working for closed sourced companies

After hanging out at Hacker News, GitHub, twitter and other places where the hacker community gathers, I've come to the realization that the only way forward for a good hacker is to contribute to open source projects. Working for fundamentally closed source companies then is a very bad idea. I don't always mean open sourcing the core fundamental Intellectual Property which is the secret sauce of the company[1]. But the company should have a strong ethos of open sourcing anything which is auxiliary and useful to the community at large. 

I worked for Data Domain in Santa Clara which later got acquired by EMC. When we were a startup there was very little time to think about open source and community. I also was just out of college and didn't think too hard about community. I wasn't hanging out on github and hacker news. Once we got acquired, I got a lot more time on my hands [2]. What I realized was that EMC was strongly about patenting [3]. There was never any program or intent internally to open source anything. It was ok to publish papers (with patents submitted before hand) with management's approval, but our team of 100 engineers never open sourced a single thing to the best of my knowledge. We did some really cool stuff in C and some of those things could really have been contributed back to the community. But we never did. I now feel sad about my lack of imagination at the time (maybe I could have convinced management. I never did try.)

So from now on, I will try to work for companies fundamentally committed to open source. Right now, I have my own startup. We are soon going to open source a non-core but a useful project to the ASP.NET MVC community [4].

To conclude, open source aggressively. Luis (a fanatic Linux kernel contributor) tells me, that is step-1. After that comes good documentation, marketing, getting contributors who are as motivated. I'll tell you of the journey when I get there.

-------

[1] My friend, Luis works on the Linux wireless drivers for Atheros and has been ardently pushing the company to open source more of its IP. He is a staunch FOSS believer and believes that even with core IP open sourced, there is little or no threat to a company's ability to survive. I disagree with him (Cheap Chinese manufacturers could potentially eat Atheros lunch if all its IP was open source. But I digress).

[2] The place went from a magical fun place to shoot me till I am dead mind numbing. Maybe I matured, but a bunch of key smart people left.

[3] This is true for most large companies inside and outside of the valley. Friends at Cisco, Microsoft, etc report the same emphasis on patenting. As an aside, I am fundamentally opposed to software patents. I never wanted to write any patents for EMC and I never did. The Chief Architect of Data Domain and I had several long chats about software patents. Real world business examples of patent trolls made his arguments valid. 

[4] We write most of our code in C# and asp.net MVC. For the uninitiated it is the Microsoft clone of Ruby-on-rails. Being part of the asp.net MVC community has been interesting (asp.net mvc is opensource). It is not fundamentally as open as the Rails community, because of the belief in Redmond's one true way. But the open source framework so far has made me learn a lot. The aggressive use of lambda expressions and other higher level functional goodness has made me a better programmer. I am now learning Lisp to cover the gaps in my education.