Supponiamo di avere libreria X che contiene classe A con metodo b e che la libreria X è rilasciata sotto la licenza GPL .
public class A {
public void b() {
// this is an example of b method's body. But assume that the body of method b
// is very complex
System.out.println("operation a");
System.out.println("operation b");
System.out.prinltn("operation c");
}
}
Supponiamo che io stia usando la libreria X e che ho bisogno di un comportamento simile al comportamento del metodo b ma con una addtition che non riesco a raggiungere con la semplice estensione della classe A e sovrascrivendo alcuni dei loro metodi.
La prima domanda è: Posso estendere la classe A e sovrascrivere il metodo b nel modo mostrato di seguito ed è ancora consentito dalla licenza GPL.
public class AExt extends A {
public void b() {
// this is an example of b method's body. But assume that the body of method b
// is very complex
System.out.println("operation a");
System.out.println("operation b");
doOperationINeed();
System.out.prinltn("operation c");
}
}
La seconda domanda è: Quale delle licenze open source utilizzate comunemente consente tale estensione e quali no?