The files under the frontend directory are dual-licensed, and released under
both the GPLv2 and the Apache 2.0 license
(http://www.apache.org/licenses/LICENSE-2.0)
