1

I have a plan to use own project (Django backend + React SPA) under GPLv3 in my portfolio with repository on GitHub for all parts of my project. My project is simple landing page with text data and pictures. I want to deploy this project in docker container on hosting's server. And I plan to use MongoDB in this container, but type of DB can be changed easy.

I think that licenses of django, react and docker are compatible with GPLv3 and I can publish my project under it. I have no plans to contribute MongoDB with my project, only use it on hosting and use like example in documentation. And of course, all components and modules with link to authors and original licenses will be listed in file COPYRIGHTS.md

Can I use this stack under GPLv3 with MongoDB that shipped under SSPL in docker container? And can I publish source code of my project (django+react) under GPLv3 on github?

1 Answer 1

3

MongoDB's SSPL license is not an open source license and is incompatible with the GPL, so it's good that you ask. But most likely, this license has no consequences in your scenario.

The SSPL triggers license conditions when you do one of the following:

  • you give someone else a copy of the SSPL-covered software
  • you create a derived work of the SSPL-covered software, for example by modifying it or by combining it with other code into a single program
  • you host SSPL-covered software as a service for someone else

You are likely doing none of these things. While you might have SSPL-covered software and other software in a single container, that doesn't mean they form one program. Similarly, a web browser and a spreadsheet program don't form a single program just because they are installed on the same computer.

However, if you were to publish your Docker image (e.g. by uploading it to Docker Hub) then you would be giving other people a copy of the software. For GPL- and SSPL-covered material, this would mean you'd have to give them the source code for these components as well. The easiest way to solve this is to not publish any Docker images. As an alternative, you could build the image on the server where it is deployed, or use Docker's export/import tool to transfer the image as a TAR archive. There is no issue when publishing a Dockerfile as part of your source code.

10
  • Great thank for answer! I plan create one repository with source code of react spa, django rest controller and Dockerfile with mongo import and thats all is example of my skills (portfolio). Separately I will give a link to demo which show how it work together as webpage. Docker container will work on hosting's server with no publishing image file and with no 3rd party access. I will build image on my laptop and than deploy it to server. Database separatly will not be published. I publish all my project under GPLv3. Can i do this without any additional actions and don't worry about licensing?
    – ND8801
    Commented May 2, 2021 at 19:37
  • @grsm Sounds good!
    – amon
    Commented May 2, 2021 at 19:43
  • Thanks again. How do you think, can i do this (do what you say sounds good) without any additional actions and don't worry about licensing?
    – ND8801
    Commented May 2, 2021 at 20:01
  • @grsm Yes. Since your repo doesn't contain other people's GPL-covered material and you never give anyone else the compiled app, you're not triggering any GPL requirements. Similarly, you're not offering MongoDB as a service to other people, so you're also not triggering SSPL requirements.
    – amon
    Commented May 2, 2021 at 20:05
  • Amazing. And last one. Can I use GPLv3 license for my repository? Publish own code under it.
    – ND8801
    Commented May 2, 2021 at 20:07

Not the answer you're looking for? Browse other questions tagged or ask your own question.