We are 3 students in an engineering school, and we chose to work on the engine, especially on the terrain module. We have been asked to correct some bugs and to implement a more efficient terrain culling method.
We already corrected a small bug: the gaps between terrain patches have been removed.

We would be pleased to be able to join the dev team in order to bring our contribution to the project!

Sorry for my slow response. I often forget to check this forum. For the past few years, I've only been working on yage a day or two every month, so progress is slow. But I hope to eventually get to a point in the future where I can put more focus into it. By far, it's my favorite of all my coding projects, but the least profitable.

Are you working with Anarky? He is another developer who was worked with terrain in Yage and had previously mentioned some students who may be contributing. I haven't heard from in in several months. If he is still working with it, you'll need to coordinate any terrain changes with him. If not, then you can have ownership of the terrain system. But please let me know about any big changes so we can make sure they are compatible with the rest of the engine. I've pointed Anarky to this thread so he can let us know.

I haven't done this in the past, but I would also like to start using contributor agreements. I want to prevent Yage from becoming a mess of separate licenses and copyrights like Tango. Unfortunately, work has been very busy and it will be a few days before I have time to draw something up. After this, I can get you write access to mercurial.

And most of all, thank you. I'm very flattered that you would like to contribute to Yage. My time is limited, but if you get stuck, need help, or need a particular feature implemented I'll do my best to help you out.

I used Canonical's Project Harmony to put together a contributor agreement for Yage. Legal agreements can be hard to read and understand, so please ask if you have any questions. Or if there's anything there that you disagree with, we can figure out a solution.

I put the license in the mercurial repository and it's available here. Unfortunately, bitbucket doesn't server the content with the text/html mime type, so you'll have to save it in order to view it.

If you agree to it, please print, sign/date, scan, and email it to me. I've sent you my email address in a private message.

well DonAman is French... I don't see students going to the US to sue about a contribution LGPL-based. I know the patent/copyright laws are a big deal in the US, but in France it's different, including the mentality.
I think that publishing work under an agreed licence (boost, LGPL,...) is more than sufficient. Plus the contribution come from 3 different people working together, not a single entity, and I help them... Who really has the rights on the contributions?

What could be the problems you are afraid of Have you been in trouble with Yage?

What could be the problems you are afraid of? Have you been in trouble with Yage?

I haven't had any past trouble with Yage. My fear comes from watching the tango/phobos conflicts in the newsgroup. I seriously doubt anyone has bad intentions, but sometimes agreements are still necessary to make sure open source is protected.

Suppose this scenario:

1. Someone contributes code to yage without any agreement.
2. Right now I like Yage being under the LGPL because it makes sure that everyone benefits from anyone who improves Yage. But later, maybe the phobos team would want to use part of it, such as the vector library? This part would need to be placed under the Boost license.
3. But then I can't find a way to contact one of the contributors to get permission to change the license to Boost.
4. Then there is no way for me to change the license without removing and rewriting all code from that contribution. The phobos team won't touch code unless the licensing is straight.

This is the same reason why Phobos is not able to use any code from Tango. This is an incredible waste that could have been prevented by a contributor agreement such as this. Walter refuses to even look at code from tango because of this. If I recall, many years ago he was taken to court under accusations of stealing code (and found innocent, but court is still expensive).

Quote:

Who really has the rights on the contributions?

Under the agreement I posted, you do. Contributors retain copyright to all of their contributions, which means you can take that same code and use it for whatever you want, including proprietary, closed source, and commercial purposes. However, this agreement allows the license for new versions of Yage to change in the future. But it does not allow retroactively changing the license for current versions. If I were to ever make Yage closed-source, then the other contributors could fork it and continue making new versions of Yage under the LGPL. And then I would be unable to use any of those new contributions in my closed-source branch.

Quote:

I know the patent/copyright laws are a big deal in the US, but in France it's different, including the mentality.

For that, I'm very thankful. I don't like the way copyright is handled in the U.S., but it's the ridiculous system I have to live under. It's certainly making things more complicated than I like.

Quote:

I think that publishing work under an agreed licence (boost, LGPL,...) is more than sufficient.

I think this is a great solution for entire modules (such as the terrain system). If you wanted to retain copyright and keep the whole thing under the Boost license, I think that's great; we can do that. But what about situations where you modify small pieces of other modules in the rest of Yage? It's not practical to have different licenses for every line of code.

I apologize for my country's copyright laws/mentality that make this so difficult. Do you have any other suggestions for how to solve the problems above?

Well the law is very different in France, concerning both copyrights and patents. For example we don't have patents on software ideas (algorithms, interfaces, languages,...). Basically what we have is simply a copyright law, which concerns only original creations.

In the case of the students' project, I notice two things. First we are not creating something original, in the way that many 3D engines have the same features than Yage with similar implementation. Then the students and I (as their mentor) are working for the school, a public national school. So the rights would go to the French state and by law would be public domain, much like the CIA factbook.

Generally speaking, claiming rights on an open-source contribution is unknown in France. And it would be up to the person to prove that her/his work was original!!! So we are speaking about a French individual going to the US to claim rights? But in this case it would be needed to prove that the code was written inside US territory probably. All in all you won't have any problem with a French contributor except if our law change, but it's more changing in favor of the copyleft nowadays