Ho adattato del codice dal progetto Apache Ant nel mio lavoro. La parte utilizzata è veramente piccolo: ~ 70 righe, ~ 2000 personaggi . Aggiungere dipendenza a ant
per usare quel un singolo metodo sembrava un eccesso.
Il progetto su cui lavoro è interno all'azienda, quindi inizialmente ho incluso un javadoc come
@see <a href="...">original source</a>
per i miei colleghi sapere che il codice non era mio.
Poi ho riscontrato questo sommario su tldrlegal che afferma che questo non è abbastanza, e per farlo correttamente devo fare molto di più :
- Includi copyright
- Includi licenza: include il testo completo della licenza nel software modificato.
- Modifiche dello stato: affermazione delle modifiche significative apportate al software.
- Includi avviso: se la libreria ha un file "AVVISO" con note di attribuzione, devi includere tale AVVISO durante la distribuzione. Puoi aggiungere questo file NOTICE.
Da questo deduco che in realtà devo includere il file NOTICE da ant (è come 10 linee), in qualche modo ridistribuire il testo della licenza di Apache 2 con il progetto e includere un commento del mostro come questo prima del corpo della funzione o prima dell'inizio della mia classe:
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
C'è un modo più compatto ma ancora corretto per farlo, o non c'è altro? L'introduzione di molti cambiamenti perché utilizzo solo una parte minuscola del progetto (vale a dire, un singolo metodo di ~ 70 righe) avrà un impatto negativo sulla qualità della revisione del codice e sulla manutenibilità del codice finale.
P.S. Non cerco consigli di diritto professionale, solo alcune linee guida basate sul senso comune per questa situazione, preferibilmente con esempi di altri progetti open-source.