Gervase Markham wrote:
I say it would be a hole because, at all effects, you can't make use of
the changes, hence they are worthless.


They aren't worthless. If A' and B have a clearly defined interface, and the ability which the combination of A' and B gives the software is one you want, you could reimplement B to get that ability.

That's the point: "IF". What if not? That's the hole, you see? Someone could use this clause to _avoid_ giving back any useful sources at all.


Imagine I have a file named "foo.c". I then modify this file, and tie it to a new file named "baz.c". As the license demands, I only have to release the sources for foo.c.

In baz.c, i create new functions, which are called by the modified foo.c, but foo.c doesn't invoke those functions directly, it makes use of some macros which can either or both hide the fact that some functions are being called and provide new code - they at all effects obfuscate the code - and these macros are put in a file named "baz.h", which is included by "foo.c". What now? You have no published interface, you _don't_ know what's going on under the hoods, in other words the changes are worhless.


At this point, why not just use BSD?


Because most changes are not like this one.

Even with the BSD license most changes are not like this one, and often people contribute code back, even if BSD doesn't require it. The same goes for MPL, except that MPL in some conditions requires that the code has to be given back, but those conditions can be worked around, hence the big hole.


Regards,
Fabio Alemagna




Reply via email to