[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 @title Phabricator Project History 2 @group lore 3 4 A riveting tale of adventure. In this document, I refer to worldly and 5 sophisticated engineer Evan Priestley as "I", which is only natural as I am he. 6 7 This document is mostly just paragraph after paragraph of self-aggrandizement. 8 9 = In The Beginning = 10 11 I wrote the original version of Differential in one night at a Facebook 12 Hackathon in April or May 2007, along with Luke Shepard. I joined the company in 13 April and code review was already an established and mostly-mandatory part of 14 the culture, but it happened over email and was inefficient and hard to keep 15 track of. I remember feeling like I was spending a lot of time waiting for code 16 review to happen, which was a major motivator for building the tool. 17 18 The original name of the tool was "Diffcamp". Some time earlier there had been 19 an attempt to create a project management tool that was a sort of hybrid between 20 Trac and Basecamp called "Traccamp". Since we were writing the code review tool 21 at the height of the brief popularity Traccamp enjoyed, we integrated and called 22 the new tool Diffcamp even though it had no relation to Basecamp. Traccamp fell 23 by the wayside shortly thereafter and was eventually removed. 24 25 However, Diffcamp didn't share its fate. We spent some more time working on it 26 and got good enough to win hearts and minds over emailing diffs around and was 27 soon the de facto method of code review at Facebook. 28 29 = The Long Bloat = 30 31 For the next two and a half years, Diffcamp grew mostly organically and gained a 32 number of features like inline commenting, CLI support and git support (Facebook 33 was 100% SVN in early 2007 but 90%+ of Engineers worked primarily in git with 34 SVN bridging by 2010). As these patches were contributed pretty much randomly, 35 it also gained a lot of performance problems, usability issues, and bugs. 36 37 Through 2007 and 2008 I worked mostly on frontend and support infrastructure; 38 among other things, I wrote a static resource management system called Haste. In 39 2009 I worked on the Facebook Lite site, where I built the Javelin Javascript 40 library and an MVC-flavored framework called Alite. 41 42 But by early 2010, Diffcamp was in pretty bad shape. Two years of having random 43 features grafted onto it without real direction had left it slow and difficult 44 to use. Internal feedback on the tool was pretty negative, with a lot of 45 complaints about performance and stability. The internal XTools team had made 46 inroads at fixing these problems in late 2009, but they were stretched thin and 47 the tool had become a sprawling landscape of architectural and implementation 48 problems. 49 50 = Differential = 51 52 I joined the new Dev Tools team around February 2010 and took over Diffcamp. I 53 renamed it to Differential, moved it to a new Alite-based infrastructure with 54 Javelin, and started making it somewhat less terrible. I eventually wrote 55 Diffusion and build Herald to replace a very difficult-to-use predecessor. These 56 tools were less negatively received than the older versions. By December 2010 I 57 started open sourcing them; Haste became //Celerity// and Alite became 58 //Aphront//. I wrote Maniphest to track open issues with the project in January 59 or February and we open sourced Phabricator in late April, shortly after I left 60 Facebook.
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |