Ask HN: Diverging products: fork codebase, create config file or other option?
I was wondering about your experiences, since this problem is quite common.
You work at a company that has a flagship product. Suddenly they need a slightly diverging product from it (that's how it starts out). For example, the B2B version gets a B2C version, and the B2C has some extra features that the B2B version doesn't need (e.g. credit card payments, slight UI changes). Later on, the team finds out that the B2B version also has specific features that the B2C version doesn't need to know about.
The team is at the beginning of all of this.
The team could:
- Split the codebase with a fork
- Add a configuration file and have checks inside your code
- Do something else
How would you go about this? And what have you experienced before?