Are there any gotchas in contributing public domain code to an open source project? My understanding is that the existence of a copyright gives a project the right to enforce its license. And public domain code is, by definition, non-copyrighted.

What I'm specifically curious about: If an employee of the US government writes source code while on official duty and the federal agency releases it, that code is by law in the public domain. So, in particular, I'm wondering if there would be any issues if a federal agency/employee wants to contribute to an open source project.

  • 1
    Interesting question. I suggest you consult with an IP lawyer. May 5, 2011 at 16:36

2 Answers 2


Not a problem. Look at any Linux distro and all the different licenses that go in the mix.

When a project adopts an identifiable piece of software:

  1. The authors must be credited (even if not required).
  2. The original license must be compatible with the enclosing license.
  3. If requested by the authors, the original license (public domain) must remain.

Public domain is compatible with everything because, unlike licenses like the GPL, it is not viral. It says "do whatever you like with this", much like you can do with mathematics.

What one cannot not do is cover public domain works under a license, because they have no copyright, and thus no one with the right to bind users to any rules or contracts.

(I wrote more extensively about licenses a while back in case you're interested).

  • 1
    Once you change anything, you've got a derived work that's copyrighted by you, and you can provide any license you want. Way back when, the author of CP/M was accused of marketing what he'd written in the Navy (IIRC), and therefore Kildall released what he'd had when leaving the Navy, pointing out that it was public domain and not anything since, and that anybody who wanted to start with that and compete with him was welcome to. May 5, 2011 at 17:55
  • @David You are correct.
    – Apalala
    May 6, 2011 at 22:18

It would depend on the circumstances

Simply adding a small bit of well known public domain algorithm to a GPL project - the resulting combination would be GPL.

There is a potential difficulty if a large complete piece of code was contributed by somebody who couldn't claim ownership (such as a government employee). The simplest arrangement would probably be that the resulting public domain + GPL was GPL but the public domain part was also available for free.
This is equivalent to places where BSD code is included in a GPL project

The question did come up at some institutions. My university introduced a rule saying that they had rights over anything you produced that could be exploited commercially. Some people argued that this meant they could never use/contribute to a GPL project - since the university owned their contribution and they had no rights to give it away as GPL.

It was further complicated by a feeling that the ruling followed the donation of a new computer science building by a large software company from Redmond - and this was a payback banning some of the countries top researches from ever using open source.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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