The following Java project contains an Apache 2.0 license https://github.com/apache/pdfbox-jbig2/blob/master/LICENSE.txt as well as a copyright header on every file in the project https://github.com/apache/pdfbox-jbig2/blob/master/src/main/java/org/apache/pdfbox/jbig2/Dictionary.java.
If one were to port the code, to for example an Apache 2 licensed golang project, what is necessary to meet the terms of the license? The files aren't being copied 1:1 but are derivative works in my understanding. Which of the following are required?
- Attribute the source project in a NOTICES.txt
- Update the license of the project to include a copy of the license of this project (so 2 licenses stacked on top of each other)
- Add a copyright header to every
.go
file corresponding to a.java
file in the source