Apache DistributedLog
Copyright 2017 The Apache Software Foundation

Apache DistributedLog is currently undergoing Incubation at the Apache
Software Foundation.

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
===============================================================================

Portions of this software were developed by Twitter.
Copyright Twitter, 2016
