Apache Dubbo
Copyright 2018-2021 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

This product contains code form the Netty Project:

The Netty Project
=================
Please visit the Netty web site for more information:
  * http://netty.io/

Copyright 2014 The Netty Project

The product contains code form the Google Protocol Buffers project:

Please visit the following site for more information:
https://developers.google.com/protocol-buffers/

Copyright 2008 Google Inc.  All rights reserved.

