It is part of the Open Source license agreement that the vendor provide the source code for the machines they sell that use Marlin. My guess is they have it posted somewhere. For sure other users have made changes and needed the source to do that.