Apache NiFi - MiNiFi
Copyright 2014-2017 The Apache Software Foundation

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

This includes derived works from the Apache NiFi (ASLv2) project including numerous source files from the core framework API.  
