VERY LARGE DEVELOPMENT
HOW TO RUN CODE REVIEW FOR 1000+ OPEN SOURCE DEVELOPERS
Joe Gordon
VERY LARGE DEVELOPMENT HOW TO RUN CODE REVIEW FOR 1000+ OPEN - - PowerPoint PPT Presentation
VERY LARGE DEVELOPMENT HOW TO RUN CODE REVIEW FOR 1000+ OPEN SOURCE DEVELOPERS Joe Gordon ABOUT ME Developer @ Full time upstream OpenStack Developer contact information jog0 on freenode github.com/jogo launchpad.net/~jogo VERY LARGE
Joe Gordon
Developer @ Full time upstream OpenStack Developer contact information jog0 on freenode github.com/jogo launchpad.net/~jogo
AS DEFINED BY OHLOH BY BLACK DUCK “ Very large, active development team Over the past twelve months, 1241 developers contributed new code to
source teams in the world, and is in the top 2% of all project teams on Ohloh. For this measurement, Ohloh considers only recent changes to the code. Over the entire history of the project, 1661 developers have contributed.”
LARGEST OPEN SOURCE PROJECT?
(THAT I KNOW OF) is 881,970 lines of python code and OpenStack is 968,893!
THE DATA CENTER
(Rackspace data center)
In January 2011 61 Contributors 71,181 lines of code
Pros fast to develop approachable language 'fun' Cons type checking
concurrency
(3 YEARS AGO)
Never break trunk Master branch is always green Developers are never blocked on broken trunk Transparency Automate everything Egalitarian Be Strict. Reduce burden on reviewers
Work Flow Testing Integration Testing Communication
Gerrit git-review Jenkins
tox testrepository Automated code quality checks: flake8+pep8+pyflakes+hacking
AUTOMATED CODE QUALITY CHECKS
E1** indentation E2** white space E5** line length F401 module imported but unused F821 undefined name name H103 correct apache 2 license H30* import rules H301 docstring should not start with a space
devstack zuul recheck elastic-recheck
ELASTIC-RECHECK
Measure integration tests in percent failure, not black and white Hard to debug transient failures - 10s of MB of logs Trivial to classify failures once have elastic search query
lauchpad etherpad pastebin irc mailing list
OpenStack started with just two projects - Nova and Swift. Now the same functionality is spread out over 6 projects. Nova, Swift, Glance, Keystone, Cinder, Neutron
Statistics from ohlo.net Powered by reveal.js