1

I would like to start writing my portfolio to improve my probability to get a job as a developer. I know that I can do small problems on my own but there are also libraries I use. What kind of guidelines there are to post code on the Internet? I mean, if I write code that uses Pandas and Matplotlib, do I have to ask a permission for the authors of the libraries to use their functions on a program that will be on the Github as I finish the program? Or is there copyright issues if I write the code such that it has not used other code from the Internet but downloads a code from Github, writes another source file and then compile or run the code the other script made?

1
2

What kind of guidelines there are to post code on the Internet?

Besides the fact that your portfolio should only contain code that you have written yourself (as it is meant to showcase your coding abilities), you must have the right to publish the code.

You have this right if

  • the code is not written as part of a contract or as part of your job, or
  • the contract specifies that you own the copyrights on the code, or
  • you have an explicit license from the copyright holder to publish the code

I mean, if I write code that uses Pandas and Matplotlib, do I have to ask a permission for the authors of the libraries to use their functions on a program that will be on the Github as I finish the program?

Technically, you need to have permission from the authors of 3rd-party libraries to write a program that builds upon such a library. This permission takes the form of a license.

In practice, there are two variations:

  1. The library uses an open-source license. In this case, the library authors have granted the required license in advance to everybody that wants to use the library. These licenses promote sharing and definitely allow you to put your code up in a public repository. Both Pandas and Matplotlib appear to fall in this category.
  2. You need to pay to use the library. In this case, you need to contact the vendor of the library to obtain a license and the license terms may or may not forbid you from making your code public.

One thing to be aware of: If you use a library (directly or indirectly) that uses the GPL or AGPL license, then the license terms require that your software is also made public under an open-source license.

1
  • 1
    The software that you write (privately, not as an employee) is yours. It may not be functional without a third party library, but you can still publish it (without that library of course). As a potential employer, I can look at your code in that situation. I can actually run your code if I have a license to the needed libraries.
    – gnasher729
    Mar 7 '20 at 18:56
2

You first have to understand the difference between copyright, patents and software licensing.

You will have copyright on the work you produce by default.

If you use third party libraries then you have to check their license which will be something like MIT, BSD, GPL, L-GPL ... etc. Pandas is on a BSD 3 license and matplotlib has it's own license.

You also should note that in certain jurisdiction (USA is the main one here) you can create a patent on software which may mean that your work infringes on someone patent with which they can try to seek damages from you (Most likely start with a Cease and desist email).

2
  • "Work you produce" excludes work that you produce in the course of your employment. The copyright holder for such works is the company that pays your salary.
    – gnasher729
    Mar 7 '20 at 18:52
  • Depends on the contract and in the UK it's only for work produced on company time and on company equipment. Regardless not sure why you made that comment it makes no difference to OP as they aren't employed at the moment.
    – Dave3of5
    Mar 9 '20 at 16:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .