It is my understanding that the contract with you is APLv2, and he can't one-sidedly change that.
However, nothing is guarantied about the future license of the project. The rights holder could only release future versions under a proprietary license. Meaning buying rights assignment is buying the future of the project. Of course everyone forks and leaves if you get to draconian up front, so you have to slow boil that frog.
Not really though right? Copyright assignment applies to the existing code, which is again already licensed as APLv2. Future versions of software could be licensed differently because there would be new contributions. However now that Ben is working for fly.io, the primary way to do this would be to say fly.io is the rightsholder for contributions Ben makes to Litestream while working for the company.
This does not require selling the copyright of existing code, nor does it seem to me like that sale would be beneficial for achieving the above.
>Copyright assignment applies to the existing code, which is again already licensed as APLv2.
? If you have a copy of the code in your hands, then the license that applies to your use of it is APLv2.
The owner of the rights can take the official public project repo private, and either never publish it again or change the license on the official repo to whatever they like.
It doesn't matter if the code used to be APLv2 if you didn't get a copy of it. If you don't have and want the code, and it is now available with N license, you either accept N license, find some unofficial copy of the APLv2 version, or you don't get access to the code.
However, nothing is guarantied about the future license of the project. The rights holder could only release future versions under a proprietary license. Meaning buying rights assignment is buying the future of the project. Of course everyone forks and leaves if you get to draconian up front, so you have to slow boil that frog.