Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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.

share|improve this question
1  
Interesting question. I suggest you consult with an IP lawyer. –  Rein Henrichs May 5 '11 at 16:36
add comment

2 Answers

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).

share|improve this answer
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. –  David Thornley May 5 '11 at 17:55
    
@David You are correct. –  Apalala May 6 '11 at 22:18
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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