-1

Many developers, students, etc. put their code on GitHub without any links to authors of used components and licenses. I tried find a new job and yesterday HR ask me create Rest API with django + drf and publish it on GitHub. I read that if repository doesn't have any license it means that it is 'forbidden all'. Does it mean that if the repository exists without any license that is NO distribution? On my portfolio I have all links to authors and base licenses. But if I need quickly create a project and demonstrate it to hirer I don't have time to create links to the authors or licenses, maybe after demonstration I can create it or simply drop or hide project. Is it violation too if it only short time demo?

Am I violating the terms of the licenses (like Apache 2.0, MIT, GPL) when I publish my project that uses dependencies like Django, React or Spring Boot on GitHub without any license or copyrights and links to authors of used components?

8
  • 6
    Which bit of "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software." isn't clear to you? Jun 9, 2021 at 12:48
  • So people who don't use links to authors and violate the terms of the base licenses? And if I don't publish code or use private repository I must add link to authors of components and links to their license? Or even the app is not ready and it saw only developer's team in this case I must add links and copyrights too? I dont copy paste code I use dependencies only.
    – ND8801
    Jun 9, 2021 at 13:13
  • For example, (this is only my private opinion and assumption) I found repository without any license or links to MIT and it have code, that used React components also without links to React project. Is is violate MIT terms? Link repo just as example, and this is not my own github.com/kontur-web-courses/space-y I think this is repo for a student's hometask.
    – ND8801
    Jun 9, 2021 at 13:48
  • 4
    Links are not required at all. Keeping the copyright notice and adhering to the license terms is. None of the licenses requires to place links in any form to any URL. Jun 9, 2021 at 17:16
  • 1
    Again: which bit of "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software." isn't clear to you? Linking is not including a copy. Jun 9, 2021 at 18:25

2 Answers 2

5

Am I violating the terms of the licenses (like Apache 2.0, MIT, GPL) when I publish my project that uses dependencies like Django, React or Spring Boot on GitHub without any license or copyrights and links to authors of used components?

If you copy code under such a license into your repository, or if you create a deployable package that physically contains such code, then you must include a copy of the relevant license and copyright texts.

That is in addition to complying with other requirements the license may impose upon you (like using GPL-compatible licenses for all parts of the code if any part is under the GPL itself).

If you just refer to the dependencies in your code and use a package manager to retrieve them from wherever, then you are not required to have the corresponding license and copyright texts in your repository itself. And there is no open-source license that requires you to have links to the authors or sites of your dependencies.

3
  • Tnank you for great answer! So, for example, if I use only 'import' ReactDOM from 'react dependency' and ReactDOM.render and do not have source code of React in my repo than I do NOT need to have copyright notice about MIT and React project, isn't it?
    – ND8801
    Jun 11, 2021 at 15:37
  • That is correct, until you start distributing React together with your software. Jun 11, 2021 at 17:09
  • And thank you again.
    – ND8801
    Jun 11, 2021 at 17:23
2

If you use third party software inside your own programs, and it is licensed (which it most likely will be if it is available to the general public) the requirements for use will be depend on the terms of the license. This will differ from one work to another. For example most proprietary software will not require you to do much of anything, providing that you paid for that license beforehand.

Opensource licenses are different. There are a few different types of license available. Different versions may have different requirements from users. Three things, however, will always be required. First of all, you need to have a copy of the license. Just like a driver's license is proof that you are allowed to drive, a software user license proves that you are allowed to use that software.

The first of these requirements sort of implies the second. That is, you are required to be bound by and/or to carry out any terms to which you agree on that license. This is where the "mention the author in your work thing comes in." Note that this requirement isn't technically a requirement of open source licensing. It isn't written somewhere in the ten commandments of opensource (or in any law) that you must do anything printed on a license to use the app. However, remember, having a valid license is required by law. Therefore, Developers only need to state "this license is only valid if these demands are met." It isn't that much different than proprietary. Paid purchase is more or less just another demand prerequisite to license validation.

Now the third rule (requirement) is not only important, it is the very heart of open-source. It states that you must include the open-source. Believe it or not, this is where open-source gets it's name! (and water is indeed wet.)

This just means that, no matter how you decide to distribute your application, be it via package manager, as a clickable download from a website, on CD-ROM via snail mail, or by any other method, the source code has to be somehow publicly available. If you distribute a java app as a jar, you need to either include a copy of the source code, provide a link to it, or at least provide directions for how to obtain it. Note that in the case of included third-party software, this was already the responsibility of the original developers. Therefore, it should have already been included (or pointed to) as part of the software package that you received. However, since you are now using that code, and since it is still open-source, the requirement falls on you to make sure that it stays in tact. Just ask Android.

There are a few other requirements, laid out by the Open-Source Initiative, but at the end of the day, they are just a standards group. When I refer to open-source, I am speaking of the free and often community-built, but licensed software.

1
  • Thank you for answer!
    – ND8801
    Jun 11, 2021 at 15:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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