With Phacility [[ https://admin.phacility.com/phame/post/view/11/phacility_is_winding_down_operations/ | winding down operations ]], maintenance of Phabricator no longer receiving regular updates, and Phabricator being an open source project, there are a number of discussions around creating forks.
The Phabricator application contains a large number of references to the product and organization names which are both trademarked. To make rebranding easier I've been investigating what these changes might look like and would like to discuss the approach with Phacility, and if agreeable submit these changes for upstream. These findings are based only on where "Phabricator" or "Phacility" appears in the user interface, and not changing the 20,000 files/classes/variables under the sea.
In reviewing where "Phabricator" appears in code the set of changes I believe would need to be made are
1. Create something like `src/infrastructure/Platform.php with `getProjectName()` to return "Phabricator" and `getOrgName()` to return "Phacility".
2. Update the the ~500 "Phabricator" and "Phacility" references used in translated text (appearing in `pht()`) to swap out for `%s` and the appropriate new function to be called
- Invalidates ~500 * 6 translations, update these
3. Create `Platform::getProjectRepo()` to return "phabricator", or instead detect the repository name. There are a number of places which assume the project is checked out under `phabricator`, both functionally as well as when displayed to the user, e.g. "Run this command to change configuration, `phabricator/ $ ./bin/config ...`.