I am working on some software where there is an open source part and a closed source one.
The two parts have an interface that is very similar, but the implementation is quite different.
Each part must reside in a different file, so that it is easy and manageable to use git and avoid to check in closed code in the public repos.
The closed source part, as well the open source one, will need to interact with the rest of the project which is completely open source.
Is there some quick techniques that I am not aware?
Ideally I would like to have two files that do the same thing and switch between them using the compile level flags.