|
|
Subscribe / Log in / New account

Programming with Scratch (Linux Journal)

Linux Journal reviews an educational programming language for younger children, Scratch. "Scratch allows the user to write programs by dragging and connecting simple programming instructions. The programming instructions resemble puzzle pieces and will only "fit" together in ways that make semantic sense. For example, you can't put the "Start" instruction inside an "If" instruction. The instruction pieces are also color-coded according to what type of instruction they represent; all control structure pieces are yellow, while all motion pieces are blue. The program that the user creates controls one or more objects, or sprites. From a programmer's perspective, Scratch has a very sophisticated set of instructions, as we'll see soon."

to post comments

Programming with Scratch (Linux Journal)

Posted Jun 29, 2010 19:45 UTC (Tue) by ikm (guest, #493) [Link]

Great. I'll expect it to replace Python some time in the future.

Programming with Scratch (Linux Journal)

Posted Jun 29, 2010 19:54 UTC (Tue) by atai (subscriber, #10977) [Link] (1 responses)

Logo comes back!

Programming with Scratch (Linux Journal)

Posted Jun 29, 2010 20:41 UTC (Tue) by njs (subscriber, #40338) [Link]

Sort of -- AFAIU, Scratch doesn't even have recursion! But there's an extension: http://byob.berkeley.edu/

License issues with Scratch and Squeek resolved?

Posted Jun 29, 2010 21:38 UTC (Tue) by dwheeler (guest, #1216) [Link] (8 responses)

Last I saw, there were many licensing issues. Have they been resolved?

There may be some issues with the Scratch source code license.
Basically, the source code they release is NOT the source for the binary they release; there are various changes. Details here: http://info.scratch.mit.edu/Source_Code
The license adds interesting additions. You're not allowed to implement an uploading capability to the MIT site, in particular. Is that a usage limit (not okay), or simply a statement of an access control (it's perfectly fine to say "don't mess with my system")? It certainly isn't an OSI-approved license.

Historically, the big problem has been Squeak's license (Scratch is written in Squeak; Squeak is an implementation of the Smalltalk-80 language). Looks like that problem, at least, has been resolved: http://www.squeak.org/SqueakLicense/

License issues with Scratch and Squeek resolved?

Posted Jun 30, 2010 4:17 UTC (Wed) by rsidd (subscriber, #2582) [Link] (7 responses)

From what I can tell on the site, there are no licensing "issues" to "resolve". The licensing terms are their deliberate choice.

The uploading restriction is to avoid confusion between their official version and derivatives. But in addition, they only allow non-commercial derivatives, so it's not free software. That is their choice, not a problem that they need to resolve.

License issues with Scratch and Squeek resolved?

Posted Jun 30, 2010 13:41 UTC (Wed) by dwheeler (guest, #1216) [Link]

> From what I can tell on the site, there are no licensing "issues" to "resolve". The licensing terms are their deliberate choice.
> ... [and] they only allow non-commercial derivatives, so it's not free software. That is their choice, not a problem that they need to resolve.

Perhaps it'd be better stated that there is a problem in that many people seem to think that Scratch is FLOSS, even though it is not. Many posts, such as http://www.openscience.org/blog/?p=211 and http://news.cnet.com/8301-13505_3-10041584-16.html refer to it as being "open source", but it appears that it is not open source software at all. Thus, it can't be put in FLOSS repositories like Fedora's, you can't use it for many purposes, and so on.

It would be better if the Scratch folks *specifically* stated on their site that their software is *NOT* open source software, since this seems to be a common misunderstanding. That way, that misunderstanding would be cleared up immediately.

License issues with Scratch and Squeek resolved?

Posted Jun 30, 2010 13:44 UTC (Wed) by rahulsundaram (subscriber, #21946) [Link]

Sometimes, upstream projects do not understand the implications of their licensing choices and resolve licensing issues after being in touch with distributions that won't distribute their software under the original licensing terms. So, yes, it can both be a deliberate choice and still be a issue from the perspective of downstreams.

License issues with Scratch and Squeek resolved?

Posted Jun 30, 2010 19:52 UTC (Wed) by foom (subscriber, #14868) [Link] (4 responses)

Strangely, the license that they say it's under on their website:
http://info.scratch.mit.edu/Scratch_License/1.4License
has none of the negative attributes that the summary says the license has on this page:
http://info.scratch.mit.edu/Source_Code
and that the actual license contained in the tarball has.

So it looks to me like someone had a last minute change-of-heart, probably without fully understanding the impact of their license changes.

License issues with Scratch and Squeek resolved?

Posted Jun 30, 2010 19:52 UTC (Wed) by foom (subscriber, #14868) [Link] (2 responses)

For reference, here's the actual license:
=====================
Scratch Source Code License

Copyright (c) 2009 Massachusetts Institute of Technology

All Rights Reserved.

Scratch was developed by Lifelong Kindergarten group at the MIT Media Lab. See scratch.mit.edu.

Permission is hereby granted, free of charge, to any person obtaining a copy of the Scratch source code and accompanying documentation (the "Software"), to use, copy, modify, merge, publish, or distribute the Software or software derived from it ("Derivative Works") for non-commercial purposes, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

1. The above copyright notice and this permission notice shall be included in all copies of the Software and Derivative Works.

2. The word "Scratch" shall not be used to refer to Derivative Works except in the phrase "Based on Scratch from the MIT Media Lab" provided that such phrase is not used to promote the Derivative Work or to imply that MIT endorses you or the Derivative Work.

3. Derivative Works shall not use the Scratch logo or the (copyrighted) default Scratch sprite cat used in the official Scratch software distributed in binary form by the Lifelong Kindergarten group at the MIT Media Lab.

4. Derivative Works shall not implement or enable any feature that would allow uploading Scratch projects to any MIT Scratch website (currently http://scratch.mit.edu).

5. The source code for any Derivative Work based on this software shall be made readily available to the public, ideally on a public web site, free of charge.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Non-commercial use only

Posted Jun 30, 2010 21:04 UTC (Wed) by dwheeler (guest, #1216) [Link] (1 responses)

It says "non-commercial" use only. Therefore, it is not open source software.

Non-commercial use only

Posted Jul 1, 2010 19:51 UTC (Thu) by Hawke (guest, #6978) [Link]

...at least not OSI-approved Open Source.

License issues with Scratch and Squeek resolved?

Posted Jul 1, 2010 0:11 UTC (Thu) by rsidd (subscriber, #2582) [Link]

So it looks to me like someone had a last minute change-of-heart

Not exactly. The version 1.4 link that you supply is only for binaries. It looks superficially like the usual MIT licence, but note that it does not include the words "modify" and "merge" among the things you are allowed to do with it. Their source code is available only for version 1.2 and under a different licence, quoted by foom above.

Programming with Scratch (Linux Journal)

Posted Jun 30, 2010 4:29 UTC (Wed) by xxiao (guest, #9631) [Link] (3 responses)

why not learn python directly, Python is today's BASIC for kids.

Programming with Scratch (Linux Journal)

Posted Jun 30, 2010 5:07 UTC (Wed) by dambacher (subscriber, #1710) [Link] (2 responses)

the kids get used to mouse gestures and programming like writing text commands in an editor to comile it then is soooo oldfashened.
Its like telling a lua programmer to learn cobol - or an emacs user to use edlin.

Programming with Scratch (Linux Journal)

Posted Jun 30, 2010 5:13 UTC (Wed) by rsidd (subscriber, #2582) [Link]

Your first line sounds like sarcasm, but your second sounds serious. I'm confused.

Programming with Scratch (Linux Journal)

Posted Jun 30, 2010 5:26 UTC (Wed) by xxiao (guest, #9631) [Link]

well check this out, way better than scratch in my opinion: http://pythonturtle.org/

there are other python for kids stuff as well.

Programming with Scratch (Linux Journal)

Posted Jun 30, 2010 7:05 UTC (Wed) by sasha (guest, #16070) [Link] (6 responses)

All children MUST speak English. If a child does not speak English, he/she is a bad child.

I wonder that the problem of translations is not even mentioned on the home page of all these tools (Scratch, PythonTurtle, etc). I've failed to find the list of supported languages even trying to dig the web sites deeper.

Programming with Scratch (Linux Journal)

Posted Jun 30, 2010 7:25 UTC (Wed) by Im26 (subscriber, #48749) [Link] (2 responses)

The software I write doesn't have translations. I have neither the need nor the desire to do this.

I don't think that makes my work any less valuable. It just not one of my goals.

If I perceived that there is market for making it accessible to different languages then I'd put some effort in. If someone else wanted to do the translations then that would be fantastic.

Programming with Scratch (Linux Journal)

Posted Jun 30, 2010 7:40 UTC (Wed) by sasha (guest, #16070) [Link] (1 responses)

You do not need to make translation yourself. But the infrastructure for translations of the particular software is not the task of translator.

> If someone else wanted to do the translations then that would be fantastic.
Someone else can't do anything as long as your software does not provide an easy way to incorporate the translation. As far as I see, as soon as software provides an easy way to translate it, there are a lot of translators for many different language happily contributing to it. When there are no generic translation support, it looks too hard to ask the developers to do something with a translation for any given language.

Programming with Scratch (Linux Journal)

Posted Jun 30, 2010 9:05 UTC (Wed) by mpr22 (subscriber, #60784) [Link]

I agree. I will in passing note that supporting generic translation well (gettext() only supports translation "well" for static text and simple computer-ese messages like "%s: file not found") is surprisingly effortful.

Programming with Scratch (Linux Journal)

Posted Jun 30, 2010 12:11 UTC (Wed) by NAR (subscriber, #1313) [Link] (2 responses)

I'm not quite sure what is your point: the user interface should be localizable or the language itself should have keywords in local languages? The first is a good idea, I'm not sure about the second. Localized Excel versions have localized function names - so a macro written in Hungarian Excel might not work in English Excel... Also, languages differ in more than words, so the underlying implementation would get more complicated. Part of the example code looked like this:

if "x position" of "Ball" > 255 change "LeftScore" by 1

This is more or less correct English. In Hungarian this would be something like this:

ha "labda" "x pozicio"-ja > 255 valtoztasd "BalPontszam"-ot 1-gyel

Those "-ja", -"-ot", "-gyel" all depend on the type of vowels in the variable name and also on the last consonant of the pronounced number. Of course, we could use the "pidgin Hungarian" from the text based adventure games in the 80s, but I'm not quite sure this would be a good idea in education.

Programming with Scratch (Linux Journal)

Posted Jun 30, 2010 12:25 UTC (Wed) by sasha (guest, #16070) [Link] (1 responses)

My main point is "nobody thinks about it at all".

I have a 7-years son, and he reads/writes Russian. Ha also can read a few English words. Possibly, it is not a bad idea to write a program in English-based programming language, at least if the help is in Russian. However, it is essential to have easily-available help in native language for every command, even if the command is a simple word "for" or "if". And, obviously, UI for young children should be translated.

Programming with Scratch (Linux Journal)

Posted Jun 30, 2010 13:05 UTC (Wed) by job (guest, #670) [Link]

While there is truth to what you say, the reverse situation is true too: Programming can be a fun way to learn English. I got started learning the language by reading BASIC manuals for the original IBM PC (well, that and Sierra adventure games).

Good books can be much more rewarding and a lot more help to the learning process than the built in help systems. The dead tree format can do a lot for your motivation and inspiration.

Programming with Scratch (Linux Journal)

Posted Jun 30, 2010 11:25 UTC (Wed) by james_ (guest, #55070) [Link]

Just a quick comment to say my children started programming with scratch 2 years ago. When they where 7 and 9, the older has started programming in python in the last year and is at about the level of either hangman or a simple gui calculator use TK.

So a thumbs up from the children :)


Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds