Answer by Gil Yehuda:
tl;dr: To be a good, contributing citizen. To use standard open source technology in our products when there is good code to use, and to create the new standards when that is needed. To attract the kind of developer who has proven Open Source cred already, with the promise that they’ll do even more once they get a purple badge.
Longer answer: Yahoo engineers use lots of Open Source software in Yahoo’s products and tools. The company is built on Open Source in just about every section of the stack and corner of the code. When you use Open Source, you realize that code can have a life of its own beyond your particular use of it. This happens when you view code in a communal way — not just as a utilitarian tool. When you find problems with the code, you are very motivated to fix it, care for it, enhance it. Yahoo engineers do that with our code. We don’t just use code — we love code and care for it.
So Yahoo contributes code fixes and enhancements to those Open Source projects. Not doing so would be foolish and shortsighted. Doing so shows that we care to curate and support the very ecosystem that supports us. It’s simply good business and good citizenship.
Yahoo also contributes new projects that were created within Yahoo to the Open Source community. There are many examples of this which you can find on Yahoo’s page, in various Apache Software Foundation Communities, and in niche communities like CPAN and elsewhere. This is how the top engineers work — we attract this talent because they know we respect their ethos, it’s our ethos too. Moreover by participating in the community, we work with others, not against them. This reduces the friction to partner — and this helps make Yahoo one of the best companies in the valley to partner with. Few companies in the world have the depth and breadth size and scope deals with Microsoft and Google and Facebook and Apple like Yahoo does.
Some of the projects Yahoo contribute to have helped create and revolutionize the technology industry as a whole (like Big Data and Computational Advertising), yet many of the projects we publish are small and fairly insignificant to most people. The do however matter to the person who wrote that code and perhaps to a dozen or so others who use it. We don’t try to hit grandslams every time we publish code. We just want to make it a regular habit, to get good at it. To work out loud when we can, since it makes for better engineering, better documentation, good feedback, good discipline, etc. Sometimes we publish code that really makes a deep impact on many, and we accept pride for that. It feels good (See: ).
We have a very small ‘team’ of people who help make sure that we do this right — legally, with licenses, attributions on the code when we need to, CLA’s signed where appropriate, providing answers to questions about the various licenses that come up daily — with new hires who ask if they can still work on their favorite projects, acquisitions of companies (and their code), product launches (and our obligations w/r/t giving credit), partnerships (and the legal stuff), software purchases, and science publications (that usually contain code). On behalf of my ‘team’, I say hello and hope that you use our code, contribute to it, and be inspired to be great citizens in the communities that sustain you too.
So I’d say Yahoo’s “role” is to be a good citizen, at least that’s what I’m striving for. Yahoo’s accomplishments in this space have been even more profound. I expect for this to continue, as it is very much a part of the engineering culture at Yahoo.