This, except for normals, sort of exists:
Craft: https://www.craft.do/solutions/businesses
Default is internal only, but you can allow sharing, which creates a web URL that can be privately or publicly shared (and can be on your own custom domain).
It has versioning, it has comments, it has real time multi-editor collaboration. An entire conference room, in person and virtual, can co-edit in true real time without anything blowing up, a feat not to be tried in Word, or even Google Docs.
Most firms should stop looking and just try Craft. Encourage everyone to do everything there, see what happens.
Note bene: it happily imports markdown, also exports Word, PDF, Markdown, and Textbundle, and can feed a static site gen.
They also keep busy: https://www.craft.do/whats-new
// I use Obsidian for myself, but Craft to collaborate with non-engineers. I've also been known to recommend FOAM to engineering teams, coupled with mkdocs and a good theme for static site gen, such as material for mkdocs:
https://foambubble.github.io/foam/
https://github.com/squidfunk/mkdocs-material
For eng teams already living in VS Code, it's hard to beat PKM where you already are.
GitLab had 2 separate projects before merging into https://gitlab.com/gitlab-org/gitlab in 2019 as a single code base for both, community and enterprise edition.
https://about.gitlab.com/blog/2019/08/23/a-single-codebase-f...
The source code portions use different licenses which are explained in https://gitlab.com/gitlab-org/gitlab/-/blob/master/LICENSE for each directory, etc.
For your use case, speaking with my personal hat:
It depends if you'd prefer the proprietary extensions being source available or not. If they should be visible and are protected with a license, a single code base is a good approach imho.
An alternative way could be treating the OSS project as a Git submodule, including it in your CI/CD pipelines, and dev environments. In these steps, you'll fetch the modules and build everything together.
An example I just thought of: MkDoc Material Theme. You'll get the OSS project at https://github.com/squidfunk/mkdocs-material and the paid insiders version is made available as private project. https://squidfunk.github.io/mkdocs-material/insiders/ CI/CD and deployments then require an extra step to install the proprietary package, example in https://gitlab.com/dnsmichi/opsindev.news/-/blob/main/.gitla...
Multiple separate repositories need good onboarding documentation, and the 5-min-to-success when spinning up a dev environment to contribute. That challenge exists with a single codebase too. In the end, it really depends on the strategy of source available or not :-)
If so, it would probably be good to add a citation if nothing else to raise awareness and support for Squidfunks beautiful and well maintained MkDocs theme https://squidfunk.github.io/mkdocs-material/
Thanks!
https://github.com/squidfunk/mkdocs-material
There's a docker image that makes getting started with both quite easy:
https://squidfunk.github.io/mkdocs-material/getting-started/...
POSITIVES OF MkDocs over Sphinx
* Markdown seems to be easier for people to understand and are familiar with as opposed to reStructuredText. However, Sphinx now does allow you to use Markdown as well as reStructuredText.
* MkDocs seems to have more themes that are actively developed. My favorite is mkdocs-material (https://github.com/squidfunk/mkdocs-material), example can be seen here: https://squidfunk.github.io/mkdocs-material/.
* Most of the features of Sphinx can be used natively or with some plugins for MkDocs. (https://github.com/brianjking/1upkeyboard-docs/blob/master/m...)
* Easy to implement MkDocs with Travis-CI or other CI systems to test/build/deploy documentation on GitHub pages, Gitlab pages, etc. (https://github.com/brianjking/1upkeyboard-docs/blob/master/....)
The times I feel Sphinx is definitely a better choice than MkDocs (from my personal experience):
* If you want to generate PDF & ePUB copies of your files Sphinx seems much more direct, especially if you can use ReadTheDocs (https://readthedocs.org/). Although, there are several MkDocs methods of generating your docs as a PDF using pandoc or other systems. However, depending on what plugins you have in your mkdocs it may cause problems. (https://github.com/search?q=mkdocs+pdf, https://github.com/search?q=mkdocs+pandoc).
* Sphinx seems better for auto documentation for APIs and other code documentation.