Sunday, November 30, 2008

scratch license disappointment

If there could be a synergy between free software and the best constructionist software then that would be so much better for the poorest children of the world ...

Unfortunately, the Scratch team at MIT Media Lab does not appear to support that. Very unfortunate because Scratch is currently the best available beginners constructionist software IMHO ... and Mitch Resnick is a great populariser of Scratch and has interesting theoretical ideas about learning (kindergarten metaphor, low floor wide walls)

However, I recently discovered (through Tom Hoffman), that the Scratch license has been changed from free to non commercial

The new license (1.3.1) says:
"Permission is hereby granted, free of charge, to any person obtaining a copy of this software and accompanying documentation and media files (the "Software") to distribute the Software for non-commercial purposes, including the right to use, copy, publish, or distribute copies of the Software, and to permit persons to whom the Software is furnished to do so ..."
[[update (2nd December 2008): The Scratch binary license has been changed to allow commercial use]]

The previous license said (wording obtained from the folder containing my old copy of Scratch):
"Permission is hereby granted, free of charge, to any person obtaining a copy of this software and accompanying documentation and media files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so ..."
The right to modify Scratch has been taken out.

[[update (2nd December 2008): There are two Scratch licenses, one for the binary and another for the source. The source code license does allow modification. See comment by Mitch Resnick in response to this blog]]

This will effect the distribution of Scratch on Sugar, the software originally developed for the OLPC and now being ported to other platforms, to Debian at least and other Linux distributions. See Debian Bug report #471927

Tom Hoffman wrote in his blog on October 14th:
"Since it is un-free software it cannot be put in Debian, Ubuntu, Red Hat, or any other free software distribution. Can it be shipped on the XO? This license significantly restricts the distribution of Scratch to children around the world, and to what benefit?"
I posted my query to the Scratch forum and received this reply from Andres Monroy-Hernandez of the Scratch Team at the MIT Media Lab:
There has been some discussion in the Scratch Team about this. Overall our concern is to avoid forks. In general forks are good because bring diversity but since Scratch is a tool for beginners we're worried about having multiple versions out there. This happened a little bit with Scratch's predecessor LOGO, there were a lot of versions, some of them incompatible.

I am an Ubuntu user and I appreciate the choices I have for every element of the OS, but I do spend hours trying to figure out between apt-get and aptitute, Compiz vs no compiz, KDE vs Gnome vs Xfce, etc, etc. In some ways, Ubuntu has been able to succeed by providing something that works out of the box without forcing users to choose.

I think we are going to change the license of the binary distribution to allow for commercial use but we're uncertain about the source. What do you think about forking in Scratch?
This issue was then discussed on the IAEP (Its an education project) list and here are some of the responses:

Tom Hoffman:
Scratch is, or should be a trademark. Only MIT, or people they give permission to, can use it. Anyone else can fork their code, but they can't call it Scratch without permission. An example of this is from the Apache License:

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for the reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

Mozilla has very strict terms for trademark use -- so much so that it is called Iceweasel in Debian: http://www.mozilla.org/foundation/trademarks/

I suspect Scratch would want to find some language which says "you may only call this Scratch if you have not modified the source." Ultimately, IANAL, and I don't know *exactly* how to do it, but it is in this ballpark.
Me:
I'd like to see the widest possible distribution of the current or up-to-date version of Scratch to the children of the world. This includes distribution through the OLPC and Sugar (which are no longer the same thing and Sugar is now being ported to various platforms). From my understanding this will not happen if you keep the new non commercial license since some Linux distributions will not include Scratch under that license. Ironic voice: The Scratch team has forked Scratch by changing the license.

I don't follow why Scratch is special because it is for beginners.

It also seems to me that FLOSS has a far bigger and more influential footprint now than when Seymour Papert / LCSI went commercial with LogoWriter / MicroWorlds and you need to take that into consideration. Thanks, of course, to the hard work of FLOSS advocates

Comparison with LOGO: Well, the versions of LOGO that are going out on OLPC / Sugar are Turtle Art (cut down, developed by Brian Silverman) and Brian Harvey's logo (powerful but non intuitive user interface last time I saw it). It's the Open Source versions which will go out to the poorest children of the world. In that sense it's very fortunate that there were forks in logo, that the commercial versions were not the only ones.

I love logo and used it for over a decade as a school teacher, mainly LogoWriter, then MicroWorlds, ie. commercial versions. Eventually I stopped using Logo because it wasn't free and another free (but not open source) alternative came along (Game Maker) which had a great UI and a lot of appeal for many students (but not as good in terms of its deep educational philosophy). But now I have stopped using GameMaker, partly because it went commercial, and now use Scratch (which I see as a version of Logo and has the best UI yet) as my main introduction to visual programming for students. Teachers will chop and change like I have. In general they are committed to easy to use software and are not tuned in to complex legal arguments about licensing and its implications.

However, as a teacher I would like to be able to use the latest version of Scratch in Australia and use the same version if I decided to travel to a developing country to work on the OLPC project. Another hypothetical: It would also be great if African kids in refugee camps working with XO's were working on the latest version of Scratch before they came to Australia.

More and more people, teachers and youth, are using Open Source and nderstanding the politics of Open Source more. By changing the license as you have you diminish the enthusiasm of some of those people for Scratch. People chose software for a variety of reasons. The perception of support for freedom being one of those reasons.
Pamela Jones:
If you are trying to avoid forks, why would you want to allow commercial? That inevitably results in forks, with some code going dark.

Have you thought about LGPL? It allows commercial entities to use the code without worry while protecting the codebase.

I would strongly suggest you speak to Software Freedom Law Center. This is exactly what they do. If you want an MIT-style license, they can help you with this too. It's ultimately up to you, but doing a license without a lawyer never works.
This was weeks ago now and the response from the Scratch team is ... silence

Tom Hoffman has been arguing for a while now on his blog that MIT does not lead when it comes to software license issues. For example, this post about the StarLogo TNG License (October 17, 2007):
That MIT would choose such a license is not surprising. The failure of US universities to not only not lead in this area (particularly wrt K-12 ed-tech), but to not follow the commercial or increasingly governmental sectors is unfortunately quite evident. Fine. What they do with their IP is their business. However, this project is funded by an National Science Foundation grant. I don't understand why the NSF allows grantees to limit the distribution of software written with public funds in this way. It is a waste of my tax dollars.
What a pity. If there could be a synergy between free software and the best constructionist software then that would be so much better for the poorest children of the world ...

6 comments:

Randal L. Schwartz said...

If they wanted to encourage Scratch development and deployment, but not confuse the marketplace with forks, Perl's "Artistic 2.0" license would have worked. With this, you can fork Perl all you want, and use or modify it any way you want... but if you redistribute it, you have to pick a new name. Seems about as fair as you can get. Everybody wins.

plakboek said...

Even a limited GPL licence would have done the trick to deal with the Scratch licence issues. It works quite well with Open Office and Sun Microsystems. Thank you for sharing this issue with us Bill and your efforts to bring it to the attention of MIT.

Anonymous said...

Hi Bill. Thanks for your kind words about Scratch as "the best available beginners constructionist software." I'm sorry that you're not happy with our licensing policies. I think we agree on the larger goals, but we have some differences in how to achieve those goals. Also, I think there are some confusions that make it difficult for us to get at the heart of the differences. Let me try to clarify:

* We have two separate licenses for Scratch, one for the binary (http://info.scratch.mit.edu/Scratch_License/License), another for the source code (http://info.scratch.mit.edu/Source_Code). For an overview of the Scratch licenses, see http://info.scratch.mit.edu/Scratch_License

* In your post, you are quoting from the binary license, but I think you somehow got an old version of the license. If you follow the link for "new license (1.3.1)" in your post, you will see that the text is different from what you quote right below it. Note that the current binary license does *not* restrict distribution of the binary to non-commercial purposes. We don't have a problem with commercial distribution of the binary.

* You say that "the right to modify Scratch has been taken out." I'm assuming that modification is most important for the source code, not the binary. If you look at the license for the Scratch source code (http://info.scratch.mit.edu/Source_Code), you will see that it clearly allows modification.

* One key issue remains. We restrict the source license to non-commercial distribution. Our concern is that a company might make a slightly modified version of our source code and start selling it with a big marketing budget -- and with a different educational philosophy than our own. Such an effort could (via its marketing budget) gain much more visibility than our Scratch effort, and undermine our educational efforts with Scratch. I don't know if that's a significant risk. But we're hesitant to allow commercial distribution of variants of our source code, at least until Scratch is more firmly established in the world.

* In your post, you mention that you personally moved away from certain versions of Logo because they were commercial. So I would think that you would appreciate our efforts to keep Scratch non-commercial, and to avoid commercial competition at least for a while, as we establish Scratch.

* Like you, I am also concerned if the Scratch license "significantly restricts the distribution of Scratch to children around the world." But a well-funded commercial competitor could also restrict the proliferation of Scratch (and the educational ideas underlying Scratch). As I said earlier, I think the Scratch Team's goals are well-aligned with yours; we just have some difference of opinion on how to best achieve those goals. We will continue to re-evaluate our licensing policies over time, as we try to figure out the best way to help more people become engaged with Scratch and related educational ideas.

I hope that this message helps to clarify some confusions, and helps us to focus on the core issues.

Thanks again for your interest in Scratch. If you have any suggestions, please feel free to contact me.

Mitch Resnick (for the MIT Scratch Team)

Tom Hoffman said...

Thanks for sticking with this Bill. Here is my rambling reaction.

Bill Kerr said...

Thanks for the comment Mitch

I've corrected the factual inaccuracies in my initial blog post with update comments. In particular, I wasn't aware that there were two Scratch licenses, one for the binary and another for the source

I'm uncertain about how this information will impact on distribution through Debian and other Linux versions. I'll seek more clarification.

Tom Hoffman said...

Neither license is a free or open source license. The binary one limits modification, the source one limits use and redistribution. They're just unfree in different ways.