I'm working on a web-app that has a pretty big .json database file baked into it with a lot of images associated with it. The database & it's images will be frequently updated alongside the main web-app itself.

Can I apply a different license for the .json database file & it's images? I'd like to use Apache 2.0 for the main web-app itself and a Creative Commons license for the database & images but how would I do that?

I considered using git submodule and git subtree but I generally dislike having to create a seperate repository for it as it makes the codebase a lot more complex than it should be so I'd like to see if multiple licenses would be an option and how it would work first.

  • It makes perfect sense to have databases, images and other text content with a different license than the software. Do you plan to update the version number of your entire web app even if you just make a change in one of the images or other 'non-software content'? Which CC License did you have in mind? Just the CC-BY or anything more specific? Is the database and the images potentially useful for other projects or is it closely linked to your web app? Commented Nov 17, 2021 at 11:24
  • I currently don't plan to put much of a focus on version numbers since it can be used as a website so you're supposed to use the master branch as-is (which I plan to keep as bug-free as possible). As for the CC license, I plan on using CC BY 4.0. The database and it's images can be useful to other people as well (whether someone will actually find my project and use it is up to debate though).
    – blueYOSHI
    Commented Nov 17, 2021 at 11:32

1 Answer 1


You can put the database and the images in a subdirectory of your project and identify in a licenses.txt within this subdirectory that all parts are there licensed under CC-BY. To make it perfect, you can additionally include a SPDX identifier in each of the files (if the file format allows).

You should inform others in the license.txt of your GitHub project that it is under Apache license with the exception of files in that certain subdirectory.

If you are using 3rd party images you should include their license and attribution language in an 'About' page of the web project. Obviously that is also a good place for the information about your own code and images.

You should increment the version number of your project on GitHub with each change in the database or images, even if the code remains unchanged. I would increment the minor version or one level below (e.g. from x.y.2 to x.y.3) for that, but that's up to you. Obviously, if you use your own project for a website and you change the pictures there without feeding each change back into the GitHub project, then you don't need to bother with the sub-versioning.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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