While building my Discourse space I chose a couple of themes that I’d like to make some edits. What are the best practices for this?
Should I just clone the theme repository, make the changes there and install that as a remote theme?
What about author attribution and licenses, do I need to do anything about this regardless of the licenses (which are either MIT or GNU v2)?
Discourse updates will occasionally necessitate theme updates.
If you’re not going to have time to stay abreast of those, first merging in the upstream changes from the source and then fixing your modifications then a theme component will decouple the dependency on your changes.
Got it! Thanks
What about licenses and attribution? If I follow the license conditions do I need to do anything else?
Also, is there a place where we could thank the authors of the themes/plugins that were used?
Attribution:. If your fork retains a significant proportion of the original code then just leave the existing authors in the metadata. You can simply add yourself. In themes or theme complaints that’s usually in about.json. In plugins this is in plugin.rb. It’s also good to mention them in the README.md if you like.
Often plugins, themes and theme components have dedicated topics here on meta. If so you can thank them there, or if you create a topic for your distinct fork you can credit the original authors there as a footnote in the OP.
If you publish a supporting Topic the general community expectation will be that you will maintain the asset over years so bear that in mind. It is best not to publish a Topic if you don’t intend to maintain compatibility with evolving Discourse or provide users some level of support. My advice here would be build it first then decide later if you want to publicly support it.
Just an FYI, you can probably get even more advice on this on the broader interweb and my response should not be considered exhaustive, e.g. I’ve not discussed the copyright notice. We’ve given you some of the Discourse specific advice, but really this is a generic question: basically you are asking about a general Open Source Software (OSS) concern.
If you’re only planning to use the modified theme on a single site you don’t need to worry about license or attribution with a theme component as it can also be stored locally on the site, rather than in a remote repo.