The use of software licenses and their combinations are tricky (at least for me). Also, I’m in the journey of learning more about FLOSS and I love to see how communities are built around software. My apologies for my newbie questions, but I’m finding hard to understand how all this works, even after looking at a few books related to this topic. Since I’m using Hugo and in an attempt to understand it deeply in those terms I tried to put some order in my mind, but I have some gaps.
- Hugo was created by @bep and is licensed under
Apache License 2.0.
- Since Hugo is written in Go, and Go has a
BSD 3-Clause License, somwhere in Hugo should be giving credits to Go. I’ve found it in the README.md file under the dependencies section nitty-gritty detailed among other third-party libraries.
The dependencies listed in the
README.md file towards Go and to third-party libraries are the credits? For instance, since Go it’s the programming language, shouldn’t the credits be given in each
*.go file? And what about the libraries? When installed should be checked that each of their files have the appropriate license?
The way I’ve understood it, depending on the license it may be sufficient to point to the license without copying it entirely but I don’t think it’s the case of Go. Could someone help me understand or give me a reference on when it’s possible to give credits in a single file or in every file?
In Hugo, who decides which third-party library to use and who checks the compatibility with the
Apache License 2.0 of Hugo?
All right, I’m using Hugo for generating my static site. Then, should I have to give credits to Hugo according to the
Apache License 2.0? The resulting static site is a derivative work? I’m using Hugo to create a bunch of files, but I’m not doing anything else with Hugo.
What about Hugo themes? Each one has its own software license. Most of them are MIT but also there are some more like the ones coming from ThemeFisher which can be for example Creative Commons — Attribution 3.0 Unported — CC BY 3.0. So, I guess, first I need to understand 3 to know the implication to use a Hugo theme to generate my static site. According to most of the licenses I’ve seen with Hugo themes, since they are permissive, I could modify them as I want, but where and how I give credits to them?
If I take my Hugo project and decide it to make it open source and for instance hosted in GitHub, how should I credit Hugo’s
Apache License 2.0?
The dependency graph says “These dependencies are defined in hugo ’s manifest files, such as requirements.txt and …/src/package-lock.json.”
I only get it partially. We’ve seen in the README.md (manifest file) a list of dependencies. Now we have a few more in the requirements.txt file. Which by the way, I don’t understand why they are separated in this file. And finally, the package-lock.json guarantee the exact same version of every package when installed. But where is the package.json and all the tree of node_modules installed?
I would appreciate if someone know about existing resources concerning related questions with other examples of FLOSS projects.
Go license --> golang. org/LICENSE
Hugo license --> github. com/gohugoio/hugo/blob/master/LICENSE
dependencies --> github. com/gohugoio/hugo#dependencies
dependency graph --> github. com/gohugoio/hugo/network/dependencies
requirements.txt --> github. com/gohugoio/hugo/blob/master/requirements.txt
package-lock.json --> github. com/gohugoio/hugo/blob/master/docs/src/package-lock.json
ThemeFisher license --> themefisher. com/license
ThemeFisher GPL v2 --> themes.gohugo. io/twenty-twenty-hugo/
ThemeFisher Creative Commons — Attribution 3.0 Unported — CC BY 3.0 --> themes.gohugo .io/Hargo-hugo-ecommerce-theme/