this post was submitted on 11 Aug 2023
68 points (91.5% liked)
Programming
17446 readers
150 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Everyone has good answers but I would check the license of more obscure libraries to just be sure you're not violating it. GitHub has a handy feature that explains the license (if one exists) in easy to understand terms. I've never ran into this issue myself but it's a good habit to have. Especially when you're working for a company.
This is good advice. For example, here's a tricky one: https://github.com/IanLunn/Hover/blob/master/license.txt
Would you need to pay Ian Lunn Design to incorporate the library into your portfolio website? It's used for a commercial purpose technically, but you're not selling the website to a client. This is a source-available license, rather than a free software license. A free software license permits you to use the software for anything, with the only obligations usually being around keeping copyright notices intact and licensing your code in a certain way.
Generally, free software licenses are simpler and you'll usually be fine so long as you keep your code available under the same terms. Of course, things get a bit tricky when combining incompatible free software licenses...
Compatibility is important if you want to combine software with two different licenses into one major work.
Generally speaking, most software on Github tends to be licensed under a few free software licenses, which are interoperable with each other:
However, when you combine MIT and GPL together, you may be obligated to distribute any changes you make to the MIT-licensed portion, depending on how strongly it's associated with the GPL portion. This is because the GPL is copyleft—that is, it requires you to provide anyone you transmit the binary form of the software to the associated sources if they ask for them. The MIT license does not require this obligation.
None of this really matters for a website, though, because you're not transmitting the software; you are instead providing a service. Do keep an eye out for the AGPL, because this one applies even with server-side software interacting with clients.
I think writefreesoftware does a good job of explaining licensing for developers in simpler terms than the GNU Project: https://writefreesoftware.org/learn/licenses/
Sorry for the length...it's kind of a complex topic.
It's getting into the realm of law where the answer is almost always "it depends"
Thank goodness. I was concerned reading all the answers. It is this simple. Software has licenses.