Alice and Bob write a piece of source code (call it Source1) and publish it under the 3-BSD license. Later, Bob and Charlie are working on a software project, licensed under AL2 (Apache License v2). Bob wants to add Source1 to the new project’s source (with/without modifications).
So far, this is possible and easy – Source1 be introduced and distributed under 3-BSD while the project as a whole and the non-Source1 part of the code in particular are distributed under AL2; no problem.
However, for various reasons which we shall not go into, all code in the new project must be distributed under AL2. Every file, every function, everything.
What can Bob do so as to be able to meet this condition (other than not use Source1)?
Bonus question: Same scenario, except Source1 has not actually been published; it has just been decided and set in writing that it may be published under the terms of the 3-BSD license. Does this change things?