The generic Blue Ocean plugin is quite handy to install the whole experience, however that adds a bunch of plugins that might not fit a specific installation and add some overhead in maintaining the fleet of installed plugin (notably for security issues). Our setup does not use the generic plugin, we instead hand picked a subset of the Blue Ocean plugins to reduce the number of dependent plugins that are installed.
Our organization does not use Jenkins with GitHub, I am thus looking at uninstalling the GitHub related plugins. I have stepped upon
JENKINS-50885 which is to make Jira optional which was straightforward, not depending on GitHub might be a bit more annoying since I am assuming most organizations do rely on GitHub.
Based on a grep of "artifact.*github" in https://github.com/jenkinsci/blueocean-plugin/ master branch:
I think it is implementable by amending blueocean-pipeline-api-impl and mark github-branch-source optional there. For setup that do use the blueocean generic plugin, it already depends on github-branch-source and people have the whole experience. So in most case it should be a non issue?
Is it sufficient to just mark github-branch optional in blueocean-pipeline-api-impl/pom.xml or is there some documentation that should be added or code to be checked? The pom has a comment stating: "Not needed by blueocean runtime but adds to blueocean experience" . Added by Vivek in 2016 with https://github.com/jenkinsci/blueocean-plugin/commit/2f2aad5b5494d3918b4c8db6ca5f9ac39d69ac38