ATO2014: Open Source at Facebook

James Pearce from Facebook started off day 2 at All Things Open with his talk about open source at Facebook.


James started by playing a piece of music for us that was only ever heard in the Vatican until Mozart as a boy wrote down the music he heard and shared it with the world. This is what open source is like. Getting beautiful content out to the world. Being open trumps secrecy. At Facebook they have 211 open source projects – nearly all on Github with about 21 thousand forks and over 10 million lines of codes. In addition to software Facebook also open sources their hardware. Open source has always been part of the Facebook culture since day 1. The difference is that now that Facebook is so large they are much more capable of committing to share via open source.


Here’s the thing people forget about open source – open source is a chance to open the windows on what you’re doing – “Open source is like a breeze from an open window”. By using open source it means they have to think things through more and it means they’re doing a better job on their coding. Facebook however was not always so dedicated to open source – if you looked at their Github account a few years ago you were see a lot of unsupported projects or undocumented projects. “The problem if you throw something over the wall and don’t care about it it’s worth than not sharing it at all”. About a year ago Facebook decided to get their open source house in order.


The first thing they needed to do was find out what they owned and what was out there – which projects were doing well and which were doing badly. The good news was that they were able to use Github’s API to gather all this information and put it in to a database. They then make all this data available via the company intranet so that everyone can see what the status of things is. Once of the nice side effects of sharing this info and linking an employee to each project is that it gamifies things. The graphs can we used to make the teams play off each other. Using things like Github stars and forks they compete to see who is more popular. Why they’re not optimizing on the number of stars, but it does make things fun and keeps people paying attention to their projects.


Also using the data they were able to clean up their “social debt” – they had some pull requests that were over a year old with no response. This gets them thinking about the community health of these projects. They think about the depth of a project, how they’re going to be used and how they’re going to continue on. Sometimes the things they release are just a read only type thing. Other times they will have forked something and will have a stated goal to upstream it to the original project. Sometimes a project is no longer a Facebook specific project. Sometimes Facebook will deprecate a project – this happens with a project that is ‘done’ or is of no longer of use to anyone. Finally they have in the past rebooted a project when upstreaming was not an option.


After giving talks like this James finds that lots of people approach him to talk about their solutions and find that they’re all coming up with the same solutions and reinventing the wheel. So these groups have come together with the idea of pooling their resources and sharing. This was the way TODO started. This is not a Facebook initiative – they’re just one of 13 members who are keen to contribute and share what they learned. This group is thinking about a lot of challenges like why using open source in the first place, what are the policies for launching a new project, licenses, how to interact with communities, what are the metrics to measure the success of a project, etc etc. What they hope to do is start up conversations around these topics and publish these as blogposts.


The post ATO2014: Open Source at Facebook appeared first on What I Learned Today....



Related posts:
ATO2014: What Academia Can Learn from Open Source
ATO2014: Open Source – The Key Component of Modern Applications
ATO2014: Building a premier storytelling platform on open source

 •  0 comments  •  flag
Share on Twitter
Published on October 23, 2014 06:44
No comments have been added yet.