March 2024 - This site, and Kamaelia are being updated. There is significant work needed, and PRs are welcome.

Contributor Agreement FAQ

What License do contributors grant the Kamaelia project (ie the BBC)?
You're granting a BSD license on your code to us.

What does that mean for my copyright?
It means you retain copyright, you're just letting us use your code.

Anything else?
You're also granting us the ability to redistribute your code under the usual Kamaelia licensing terms - ie the MPL/GPL/LGPL

Why? How does that benefit me?
It means that the MPL/GPL/LGPL license itself originates from the BBC. This means that if the license is breached, the BBC would be the one to go after whomever breached the license. The BBC has a long history of dealing with copyright infringement - normally sympathetically - after all most of the time much copyright infringement is based on misunderstandings rather than malice.

You also retain full copyright over your code - this is different from some other projects which require copyright assignment.

How does this benefit the project?
This means that we don't have any uncertainty - we know we can use your code. This is the usual deal - an open source license means that you know you can use our code, so this is the same idea really.

Beyond this, it also means that if there was ever a need to change the license (for example an overwhelming majority of Kamaelia contributors said it was a good idea with a very good reason for change), then this could be done, even if we could not contact all contributors (assuming something compatible with the BSD license). Such a change would not be done lightly, and isn't even vaguely likely. But having this as an option is very useful in the unlikely scenario it became a good idea.

Is your approach based on anyone else's?
Yes. It's based on looking at the FSF's, Sun's and the Python Software Foundations. Out of these, the Python Software Foundations looked the clearest language and therefore simplest to work from, whilst still being sufficiently rigourous.

Are there any risks?
This depends on your view of whether the following is a risk. By granting a BSD license, this allows the BBC to relicense the code to (say) a set top box manufacturer for a fee, in exchange for not having to release the code. This is not even vaguely likely, but it's worth mentioning as a risk. Now, whether you view it as a risk is debateable - after all, the fee would be going back to the BBC, which means it would actually mean it would be assisting (effectively) BBC programme making - which is of benefit to all. As a result, unlike the usual case of dual licensing benefitting a private party, if it happened it provides a public benefit. Whether you view that as a risk therefore depends on the individual. So far, no one has viewed this as a major or likely risk.

How do I apply a contributor agreement to code?
You'll be allocated a tag, and you just add the phrase: Licensed to the BBC under a Contributor Agreement: tag to the code you wish to contribute. As a result it's a concious act over each specific piece of code, rather than carte blanche.

Did you check this with anyone?
Yes, we discussed this approach at length with BBC legal over the course of 3 months.

Why is the system paper based?
Because it's just sooooo much simpler in practice, than all the implications of an electronic system. For example, it's very easy to not leak personal details if they're not stored electronically!

I don't want to sign your agreement, do I have an alternative?
Yes - of course. There are (at least) four other options:

  1. If you release your code under the BSD license, independently of Kamaelia, then we will be able to merge your code into Kamaelia, respecting your license.
  2. We can allocate you a namespace within Kamaelia.Community
  3. If it really makes sense we can allocate you a namespace inside Kamaelia.Apps.* or even inside Kamaelia.* if it's appropriate.
  4. Or you can just release your code any other way you like (as long as you comply with our license to you :)

And, yes, we'll still help you where we can (within reason :), even if you choose option 4 - we're interested in pushing the project forward, and helping you helps do that - benefitting all of us.

Is this legal advice?

No! It's a FAQ. If you have any concerns about what's raised here, please seek independent advice as well as chat to us. This is not however legal advice, just my best understanding of the situation & implications of the approach we're taking.

Where can I ask more questions?
Get in contact on the Kamaelia list.

This page refers to the Sample Contributor Agreement, as linked to from the how to contribute page