GPL license for modified discourse for own website

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 ?

Everyone who has done that has been very sorry. You want to make your modifications in plugins and themes.

You can use plugins and themes that are not publicly distributed.

3 Likes

Thanks.

How about the case if developer makes a larger web application with discourse being part of it, e.g.,

  • a social media app with a forum component
  • use discourse differently from a typical forum app, e.g., use it as a comment section for an article.
    will the full app be mandated to use GPL.

I’m aware discussions here is not legal advice, but appreciate some early feedbacks.

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.

1 Like

Well keep in mind say with your social Media App you could have a plugin to facilitate connecting to your Discourse Forum.

There are already a variety of plugins created to use things like:

  • Facebook Authentication
  • Steam
  • WeChat

And more. Problem with modifying/forking is you end up with potential security and Bug issues that you and your team would need to correct yourselves.

The Discourse Team has made it very customizable through plugins, Theme & Theme Components along with using css and scripts.

I would more reccommend exploring what Discourse has to offer to see how it can fit without drastic direct modification.

There is even a Social Chat Plugin called Babblechat.

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.

3 Likes

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.

3 Likes

Thank you all for inputs. I found this article with a good discussion. The client side code should be GPLed, but not the server side.

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.

2 Likes

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.