is it ethical to use third party libraries and other stuff in my portfolio website?

raley2@discuss.online to Programming@programming.dev – 68 points –

I am confused as to whether it is acceptable to use code produced by other people for something that is related to me and my creations. Do i have to resort to coding my portfolio website with pure css and js to demonstrate my credibility and experience as a candidate employee? Does the ideology of 'using other people's tools to create a better product' apply here in this context, or would it be considered plagiarism? Is there some sort of gradient as to how much i should use third party tools for my website for it be ethically appropriate, if it all?

33

You are viewing a single comment

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

Hover.css is made available under a free personal/open source or paid commercial licenses depending on your requirements.

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:

  • MIT License
  • GPL, LGPL, and AGPL Licenses, which have one major difference in obligations between them
  • ISC License
  • Apache 2.0 License
  • Mozilla 2.0 Public License

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.