update 2012/07/13: I have realized only today that from March 2012 Scratch is also available with a GPL v2 license.
Recently there have been two separate discussions on two italian Free Software mailing lists, about the meaning and obligations of the license for the source code of the educational software Scratch. In both cases, I asked (and received) confirmation of my understanding of the license directly from the “Help@Scratch”. The discussions were about two topics that are, I believe, interesting and relevant for everybody considering usage or development of Free Software, especially (but not only) in educational and non-profit contexts. Therefore, I’m publishing the answers I got from the Scratch team here (with their approval), hoping they may be useful to everybody else with the same doubts in the future (but please see the disclaimer below!).
Does contributing your code to some FOSS project automatically give away your copyright on that code?
Point 4 of the Scratch source code license says:
copies or derivative works must retain the Scratch copyright notice and license
Reading this, some members of those mailing lists said that they would NOT use Scratch and would actively recommend others to NOT use because their understood the sentence above to mean something like: if you write extra code to modify or extend Scratch you HAVE to assign the copyright of their changes to them.
My understanding, instead, was that this means that if I modify the source code and (respecting all the other conditions) redistribute the resulting program:
I must include with all the source code the original notice that says that copyright of the original code belongs to the original authors
but copyright of the code I write remains to me. In other words, I do not need to assign the copyright of my modifications to the Scratch team to contribute.
In other words, I’ve always understood (even before the OpenOffice/LibreOffice saga confirmed this to me) that contributing your code to a FOSS project with whatever license doesn’t automatically means that the copyright of that code goes to the original licensor. The answer from the Scratch team confirmed this interpretation, in two separate messages:
the copyright belongs to whoever makes the modification. However, they are compelled by the terms of the license to make their code available to others under the Scratch license. So the modified code must be made available to others under the same terms that the original source was made available to the programmer that modified it. But that’s not the same as assigning the copyright to us.
A programmer of Scratch added his interpretation:
The author of any modifications to Scratch owns the copyright to any new code that they write. The copyright for their code is NOT automatically assigned to MIT. MIT could not, for example, include their changes in a Scratch release without their permission. However, under the "share alike" clause in the Scratch license, they must share the source code for their changes. "Share alike" clauses are quite common in open source licenses. A derivative work is bound by all the terms of the Scratch license, including the non-commercial clause, so creators of modified or extended versions of Scratch cannot sell their derivative works without permission. However, anyone who modifies Scratch is allowed to use and their distribute derivative work for free or use it in other ways. For example, the Open University created a modified version of Scratch that they hope will be used by over 10,000 students over the next five or six years. They are allowed to do that under the terms of the Scratch license. Note that the Scratch source license is irrelevant to people who merely wish to use Scratch (which includes most students and educators). The license for the "binary" Scratch packages does not even include a non-commercial clause, so people can, for example, distribute it in an educational package or package it with a book
Can you be paid to develop software “for non commercial use only”?
The other topic of discussion was about another point of the Scratch source code license:
The Scratch source code license allows you to distribute derivative works based on the Scratch source code for non-commercial uses subject to the following restrictions...
The mailing list got stuck on this case:
suppose some public school, Public Administration (PA), NGO… decides it needs a modified version of Scratch for non commercial use, for example to use it internally, or to give it away for free, only to give free classes to kids
but the only programmer who’s skilled enough and available to modify the software wants to be paid by the school or NGO. Is this allowed by the license?
My (Marco) understanding is that if that school/NGO/PA pays the programmer to modify the Scratch code and release both the modified source code with the same license as Scratch and the executable program for free, they aren’t violating any license. Why? Because what I see as being used commercially here are only the skills and time of the programmer and any tool (e.g. compilers) he or she may use to modify the program, NOT the source code or binaries of Scratch (or any other software licensed with a non-commercial clause) in and by themselves.
Others, instead, said that the license means that nobody can ask or take money for building the derivative works, even if those derivative works will never be sold or used to make money.
When I asked again to “Help@Scratch” who was right, I got this answer:
You are correct. The non-commercial clause just means that you can't make a modification and then sell the finished product. It's totally fine to pay programmers to work on it... <code>[that clause is there because]code> especially in the early days of Scratch before it was well known, we wanted to be sure some company with a big marketing budget didn't take the code, change the About page, and then sell it to schools for $50 a license. We're a non-profit, and our marketing budget is $0, so we have to be careful about such things. :)
DISCLAIMER: I published this exchange for two reasons. First, I hope that it will help to clarify the meaning of “copyright assignment” and “non-commercial use” when software is concerned, especially to non native English speakers. In the second place, I hope to gather more feedback and info on these topics. This said, I am not a lawyer, and laws are different from country to country! Therefore, do not assume that this page is 100% accurate and complete! Ask a lawyer in your country if you need a definitive, up to date answer (and in such case, please let me know it!) Thanks.