As I understand it, Mr. Brown only has to release the sources of A',
right?
Right.
If I'm right, please follow me: what happens if A' _doesn't_ work
without B?
Nothing special.
In other words, if Mr. Brown modified A in such a way that
now A' depends on B and B depends on A'? Is Mr. Brown still required to
only open the sources of A'? If yes, isn't this a big hole in the
license?
Not really. :-)
If not, in which way exactly the license would require Mr. Brown to also opensource B?
The only license which requires Mr Brown to open source B would be the GPL and possibly the LGPL also (if the calling was both ways between A' and B.)
In yet other words, do the modified sources need to be completely functional, or can they also not work at all without the "proprietary" part?
They can be just a pile of bits. That's perfectly allowed.
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.
At this point, why not just use BSD?
Because most changes are not like this one.
Gerv
