I consider use discourse in my future website (thanks for making the great software).
In case I make some modifications (not necessarily as a plugin), does that require my modifications be GPL ?
the modification is only for my website.
I’m aware GPL only applies to distribution. However, software like discourse always has a front-end piece delivered to browser. Does this make all modifications GPL?
Like-wise for plugins: will all plugins be under GPL ?
Jay’s point was not a legal one I suspect. You want to retain the ability to one-click upgrade and redeploy Discourse from scratch. All technical modifications should be plugins or theme components. There is an existing API, SSO, Oauth, webhook support and you always have the discretion to host the Discourse element on a subdomain on the same domain. Use those features to integrate with additional software. Consider the alternative: a nightmare of manually merging in core changes and dealing with bespoke migrations. Nasty, risky and … costly!!!
Plugins allow you to modify the core software extensively and in so many ways. Technically the potential is unlimited. Doing things that way forces you to integrate changes in the right way that results in a more robust and dependable solution that can leverage all the hard work the core team does to the features and integrity of the main app.
My response was a technical one. Unless you plan to have a team of several people who are doing nothing but merging new changes, you’ll want to develop plugins to solve your problem. Your legal concerns are then moot.
I’m not sure it’s material either way. The fundamental issue will be that you fork Discourse we can’t offer any support whatsoever.
The only supported means of extensibility are plugins, themes and using the hooks in the container yml. There’s no limit to what they will allow you to achieve, forking really makes no sense at all.
I think you might be missing the point? If you create a plugin on GitHub and place it in a Private Repo, you have full control over modifying Discourse (albeit with plugin approach) and have full ownership and control over those changes. No-one else will see them and you don’t need to fear any legal implications afaia. All whilst being able to take advantage of supported core changes.
A plugin gives you the ability to change the front and back-end.
Forking and modifying Discourse is going to get real messy, real fast, regardless of the legal situation, so is not advised.
Robert might be better to give him links to Discourse highly customized setups to improve his understanding and/or some of the more powerful plugins & themes.