Monday, December 01, 2008

Forks and Knock-Offs

I'm gratified that Bill Kerr has followed up on my concerns about Scratch Licensing and, after what I'd consider an impartial review of the situation, reached pretty much the same conclusion I have. Here are some quotes from Mitch Resnick's response to Bill's post:

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

Let's start with the Logo question. My reading of the Logo (programming language) history is that the popular Logos of the 1970's and 1980's were commercial and proprietary, including the LCSI Logo, which I presume should be considered the canonical Papert Logo. Because these were proprietary implementations, what happened then was not forking off a common free codebase. What you got was a bunch of knock-offs, many just cherry-picking the flashy "turtle graphics" parts without the deeper aspects of the underlying Lisp dialect.

I don't want to be too glib about it being a mistake to not "open source" the original Logo -- they simply preceded the Free Software movement. We know a lot more about software licensing now than we did then. But we can speculate that a free Logo kernel would have strengthened Logo in its day, putting a real Logo directly in more kids hands as well as putting a more powerful language inside those knock-offs. Open source processes have been a raging success in programming language development, more than in any other application, and it is unfortunate that Logo came along too early to take advantage of that.

Getting back to Scratch: what if this happened:

A government agency, or foundation, or university makes a slightly modified version of our source code and starts giving it away with a big marketing budget -- and with a different educational philosophy than our own.

That's allowed under the current licensing scheme. In fact, a government has better than a marketing budget, it could make its evil Scratch fork part of the curriculum.

Setting that hypothetical aside, let's try to guess what they're really worried about. Let's say LeapFrog wants to market multimedia authoring and programming environment for kids, and they want to build it on Scratch. Here's what they can do now, by my reading:

  • Get an earlier version of Scratch under the more permissive (BSD-style) license and do more or less whatever they please.
  • Distribute the binary release of Scratch with whatever supporting materials they wanted.
  • Modify the source release of Scratch and donate the IP to a shell non-profit. Sell books, hardware, etc., and distribute the software on a non-commercial basis.
  • I think that given the weird nature of Squeak that you could distribute the binary of Scratch with a patch that either via an automatic installer or with some minimal user intervention would change Scratch to do whatever you wanted it to do.

In short, I think if an aggressive corporation really thought they could make a lot of money redistributing a version of Scratch, the current licensing provides plenty of holes for them to do so.

One last point that deserves some discussion: what's the role of educational philosophy in this, really? I for one would be happy if LeapFrog took Scratch, re-branded it, properly crediting the Scratch team, retained the original intent and philosophy and sold a zillion copies. Is the Scratch team against that? I don't buy the idea that a company would take Scratch and mutate it into something with a fundamentally conflicting educational philosophy. Scratch is a tall stack of obscure and obtuse (to most programmers, at least) software engineering built for a specific purpose. If you want something less powerful than Scratch, there are much easier ways of getting there than trying to create a neutered Scratch. It simply doesn't make economic sense. There just aren't enough Squeak developers on the planet to contemplate it. If someone wants a crappier Scratch, they'll write a knock-off.

What's annoying about all this is that the Scratch Team is making a cost/benefit analysis and deciding that an imperfect method of preventing an unlikely outcome which is potentially sort of bad, but doesn't affect them directly, that they'd rather prevent that than take advantage of the entire global free software community and distribution system, which actually exists, and gets stronger every day, with or without them.


Bill Kerr said...

hi tom,

wrt logo

Brian Harvey has always maintained Berkely Logo (and then George Mills ported it to Windows, called MSWLogo) which has more features but a rather clunky UI. It was hard to instruct kids to get started with it and that easy, smooth start is very important for a classroom teacher with mixed ability classes.

I think Brian Silverman was the main LCSI developer first with LogoWriter and then with MicroWorlds. btw Brian is the Turtle Art developer for the xo, a cut down version

I've long regarded Brian Harvey as the true "father of logo" because he was the one who answered all the hard questions at comp.lang.logo, he was / is the grassroots guy

If you have time check out the essays on his website, some fascinating material there.


Tom Hoffman said...

Hi Bill,

I'm thinking more of the first wave of Logo in schools in the 1980's, after Mindstorms came out in 1980.

Sylvia said...

Any company looking to make a lot of money would never bother marketing anything complex and not required. Money in the school market is made by aligning with the stated needs of large schools districts.

I'm starting to see your point on restricting commercial use.

Gary said...


LCSI has been able to continuously develop better programming environments for children, largely consistent with Papert's vision, for nearly thirty years. They have been able to invest in R&D and support dedicated employees longer than just about any other educational software company against very long odds.

It is very hard to see how such a company survives a world in which schools will spend billions on white boards and Orwellian curriculum delivery systems while simultaneously expects open-ended tools to be free.

I see that the FOSS community is very good at copying things that already exist, but don't think they have an impressive track record of innovation.

Brian Silverman, one of the driving forces behind LCSI for decades, plus Turtle Art, LEGO TC Logo and even Scratch will tell ou that one of the problems with FOSS is that there is no mechanism for leaving out features - a critical design discipline when creating constructionist learning environments for children.