Wednesday, January 30, 2008

The Future of Open Source

Matt Asay ponders "what happens to the open-source development community if the world moves to cloud-based computing?".

His blog provides an interesting angle on a discussion I had over the weekend with my 12 year old son.

My son is hooked on the ROBLOX Virtual Playworld, which is a free online Multiplayer game where you play in user-created worlds with blocks. When I asked my son what he likes about Roblox, he said: "Roblox combines Legos and scripting...two of my favorite things!". My reaction was "Scripting? Show me what you mean.".

So he proceeded to show me Roblox Studio, a development environment where you can create your own customized "Place" and publish it to the Roblox servers. It's actually a pretty cool development environment. Roblox enables you to customize the behavior of elements in your virtual world via the open source Lua scripting language.

For example, you can add special "admin" doors to buildings that only let in people with the right permissions. Actually, my son likes setting up the door so all people without the necessary permissions explode upon contact with the door. Typical 12 year old. :-)

Anyhow, there's extensive online help, a community forum, a developer's blog, and the ability to freely share Places, Objects, and Scripts.

It is cool to watch my son develop his online world; he scours through the shared online scripts, grabs a script that sort of does what he wants, modifies it to suit his needs, tests and perfects it, then uploads it to the server. He laughs out loud when one of his friends explodes upon contact with his new "admin" door.

So I will ask a question in response to Matt's original question:
Is Roblox, and other online destinations like it, grooming the next generation of open source developers?

I wrote "ROBLOX Redux" in response to a followon blog written by one of the ROBLOX developers that details the corallary between the ROBLOX model and the open source model.


Ben Overmyer said...

It sounds like ROBLOX isn't grooming the latest batch of open sourcerers so much as it is building interest in coding and development in general.

Given the recent decrease in computer science-related college graduations, this is coming at a very opportune time.

Now you've given me a new toy to examine...I'm a big fan of user-created content and experiences in virtual environments. Second Life may have a younger sibling in ROBLOX.

Shaun Connolly said...

It's open source at its simplest in that the ability to share and modify code (i.e. scripts) is made easy.

I also see these destinations as driving their own DSLs (domain specific languages) which I see as a likely and natural direction for many "cloud-based" platforms. Hmmm...maybe another blog on that topic.

I'm with you, though. The fact my son is slinging and sharing code is COOL!

sankarshan said...

I read Matt's post and yours as some kind of starting point to initiate thinking about and around "Open Source". As to whether the whole phenomenon of Open Source development requires an introspection. I have a small disagreement with the notion that Cloud Computing is going to start driving nails into traditional FOSS development. You would still require an OS to run your cloud and applications to be hosted and notions of virtualization to be put in. That provides ample scope for engaging more through a FOSS model than anything else. But, I think I'd blog about it :)

Shaun Connolly said...

I am actually implying in my example that sites like Roblox encourage code/script sharing. Once you're OK with opening your code, OSS development is not such a big leap. Not that simple, I know, but that's my point.

I'm an open source guy, so I'll place my bets that cloud-based models will only increase OSS development. Why? Because open is better than closed.

Roy Russo said...

And to think, all I had were Lincoln Logs.

Shaun Connolly said...

I hear ya Roy. When I was 12 I played wiffle ball, skateboarded, and raced my bike. It's fascinating what today's kids have at their fingertips.

sankarshan said...

I couldn't agree more - models of coding (or non coding) which allow collaborative evolution would always have their tribe increased. What does bother me is the fact that someone like Matt decides not to "get it" or worse, set up strawmen.

The increasing uptake of FOSS would of course be based on perceived returns and/or benefits. So, for example, if Roblox and others (including Clouds) limited the benefits of collaboration to be shared by a select elite, the amount of effort push going into them would decrease to the extent they would become irrelevant.

I'd also agree with you to the extent of what kids do have at their fingertips. What bothers me of course is and things along the same line. Somewhere along the line we are not really using the tremendous power of technology for "good".

Shedletsky said...

Hello there. I'm one of the developers of ROBLOX. I came across this blog post last week and have published some of my thoughts relating to this issue on our Developer's Journal.

Bill Miller said...

I find this fascinating. Thanks Shaun for posting it. What I find most interesting is that Roblox makes open collaborative innovation so easy and intuitive. This is a great model for open source development. I added some XAware specific thoughts on this on my own blog at Bill Miller

Ryan said...

If the cost of deploying an application or web service becomes zero, will everyone be writing cloud based applications just like they write excel spreadsheets today?

kids like . info said...

This is fascinating.
I posted it on,

where we are compiling and reviewing a list of educational programming languages to teach children computers
So far we've been focusing on (having a child progress from ) Scratch, Alice, Greenfoot, Python, and Java

Is it possible to post your son's code for the door? I know some young people who would be very interested!

Thank you.

kids like . info said...

I also linked to your success story here, in our kid friendly encyclopedia article about using Roblox to teach children programming.