Scope
This page explains when an extension should be published under https://lab.civicrm.org/extensions and when it should be published under https://lab.civicrm.org/partners
When to publish under /extensions
- Any extension that you think is fairly generic and might interest other people in the community. Keep in mind that we encourage people to publish draft/non-polished extensions. It doesn't need to be perfect or even working at all. Someone might be happy to find it and improve it.
When to publish under /partners
- If you want to fork an extension or other repository on lab.civicrm.org
- Any extension that is very specific to your shop or to one of your clients, but you still want to host it under CiviCRM's Gitlab. Ex: to share some internal extension with the rest of the community, knowing that it will not be useful to anyone else unless there is significant work done on it. Another possibility is a client-specific extension and they really want you to publish it.
Do not publish under /partners
if:
- You want to do it for branding/promotion. Instead, add a label to your extension, and focus on having a clear README and info.xml. Most users do not look on Gitlab for extensions, only the in-app extension manager.
- Someone might fork your extension under their partner space, so we might end up with
lab.civicrm.org/partners/partner-A/foo
andlab.civicrm.org/partners/partner-B/foo
. - In general, we encourage people from various shops to co-maintain extensions where it makes sense. Avoid artificial barriers!