Software licenses and Hugo

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.

My research

  • 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 file under the dependencies section nitty-gritty detailed among other third-party libraries.

Question 1
The dependencies listed in the 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?

Question 2
In Hugo, who decides which third-party library to use and who checks the compatibility with the Apache License 2.0 of Hugo?

Question 3
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.

Question 4
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?

Question 5
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?

Question 6
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 (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/

A correction: The original creator of Hugo is @spf13 who also owns the Hugo logo which is not Open Source.

You give credit in the README of a theme and in the theme.toml if you are planning to submit a fork to the Hugo Showcase. Detailed instructions can be found here

Also some themes have a GPL LICENSE which is copyleft. It cannot be modified and if you are creating a fork of such a theme you need to include the original LICENSE unmodified.

Regarding the other questions I’m sure others can provide answers.

1 Like

If you want to learn more about the most popular permissive license start here:

You must keep the original copyright notice and license terms in your derivative works.

1 Like
1 Like

Definitely not. You use software (Hugo in this case) to process your data and generate some other data. You’re in no way modifying the software itself, nor do you distribute it when you put the generated public/ up online.

Think of it as using a text editor (Emacs or Vim or even Notepad) to author and edit a text file. You’re not under any obligation to credit the text editor you’ve used when you distribure the resulting text file. Of course, you’re not prohibited of crediting it either, if that’s what you want to do.