0

I have an open source project (under GPL license) that has some parts incorporated from other projects (that use MIT and GPL), and one of the provisions of both of these licenses is The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software or something along those lines. However, I can't find any clear information on how to acknowledge copyright holders in my project on repository hosting sites like GitHub or elsewhere. Should I make a file and 'copypaste' these notices there?


I also read somewhere that notices are no longer obligatory under Berne Convention (at least in countries that are signatories to the convention), but despite this I still want to properly acknowledge other's work I've used in my own project.

1

I also read somewhere that notices are no longer obligatory under Berne Convention (at least in countries that are signatories to the convention)

You are not required to add a copyright notice to your work in order to be able to establish copyright protection. But once a copyright notice exists, most licenses do not allow you to remove it.


When you copy (parts of) a file from a third-party project into your project, you should copy the license information that is present in that file along with it.

If that license information contains the full text of the license, you don't need a separate file with licensing information.

If that license information only contains a referent to the license but not the full text, then you also need to include a file with the full license text at a location where a potential user of your code would look for it.

If the third-party code is included directly into the source tree of your project, then the license file should reside next to the file containing the license for your code (or it could be the same file if it is the same license).

If you copied (nearly) entire libraries and placed them in a distinct part of your codebase, then you should copy the license files that exist in the project as well and leave those in place.

1
  • 1
    +1 from me. The only thing I might add is a cautionary note to the OP that, since (s)he's used code under GPL, the entirety of his/her program is required to be conveyed under GPL, even though it contains the required copy of the MIT licence text. – MadHatter May 2 at 8:12
0

If I were using files from project1 with MIT license, and files from project2 with GPL license,

I would create two subdirectories:

  • project1: including the files from project1, and a file named LICENSE or COPYING containing the license
  • project2: same as above but for project2

I would try to keep as separate as possible my code from their code, so that I could drop the dependency and the related legal obligations if needed, without losing all of my work.

I would also include the source code including the two folders in any distribution of the software.

I would also include a notice at the end of the github pages which states something like "this project makes use of project1 and project2, see the related subfolders for copyright and licensing details.

Regards

-1

Depending on the language your project is developed in it may be the case that the GPL / MIT licensed code can be installed via a package management tool. Composer for PHP, NPM for NodeJS, RubyGems for Ruby, PyPI for Python, etc. In this scenario, attribution wouldn't be needed.

Failing that, you could look to other projects for inspiration. Here's what phpBB 3.0.x did:

https://github.com/phpbb/phpbb/blob/3.0.x/phpBB/includes/diff/diff.php#L19

Here's what WordPress does:

https://github.com/WordPress/WordPress/blob/master/wp-includes/SimplePie/Credit.php

Here's what Joomla! does:

https://github.com/joomla/joomla-cms/blob/staging/libraries/phpass/PasswordHash.php

So it looks like in a lot of these cases they're just copying the sources directly without any modification. They're not adding a LICENSE file to the subdirectories or anything like that. The license is in the comment block at the top and that's it.

1
  • I'm unpersuaded. The third example is under public domain, which imposes no such reproduction requirement. The first is under LGPL, which means it can also be taken and used under GPL, which would require a distribution copy of the GPL, and indeed there is one such at the top of the repo. The second example is similar. Besides, even if any of these were slam-dunk violations, the fact that other people are getting away with licence violations doesn't mean the OP should try to. – MadHatter May 2 at 5:58

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.