Archive

Archive for January, 2009

The making of Sugar (2)

January 31st, 2009

Some additional thoughts and clarifications about my previous post.

  • There is a legitimate worry about increasing too much the scope of the deployment communities by having them manage their own releases. I think it’s a challenge for us to provide them the best possible base, both at the distribution and at the Sugar level. And good tools to compose and customize their images. In an ideal world, it should be trivial from a technical point of view.
  • One of the reason I like the structure I outlined is that it creates a very clean interface between end users and the Sugar developers. Deployment communities gather feedback from the field, research about the kids needs, do testing themselves to ensure they ship an high quality product. But they are very lazy on the technical part. Most of the time they don’t do the work themselves but just make sure that their needs are properly communicated to the two of their upstreams: the community of the distribution they choose and the awesome Sugar developers, which are eager to fulfil their needs! And they have the power to select what it’s better for their local situation, to decide when a release is mature enough to ship, to set a schedule, to be responsible for the product they deliver. They are the one which should have this power because they care and because they have the closer point of view on user needs.
  • I would like to see a community forming around Sugar on a stick and start helping with testing and at some point also with image builds. Caroline is coordinating with Olin students about it, I think that’s a great opportunity.
  • As Michael pointed out this is pretty different from the way I’ve been conceptualizing things so far. I don’t see it as a change of direction but as a gradual adjustment. I change my mind all of the time, and I know it can be annoying, but situations and my perception of them changes constantly, it would be silly if my opinions wouldn’t follow. Still, I’m trying to fully understand the consequences.
  • There is no technical reason that the deployment community role could not be handled by a Sugar Labs team. Though I think it’s our interest to do as little as possible and do it at our best. Also organizational separation would probably better represent the situation. In other words, if external groups step up to handle deployment, we should hug them, give them the full space and let them rock.

Sugar

The making of Sugar

January 30th, 2009

We used to be a project directed by a single organization, with no upstream community. And we are now at the opposite of the spectrum, we have a strong upstream and the downstream land is trying to grow up or to recover from organizational changes.

When we created Sugar Labs we made a very conscious decision about the scope of the development. Following the model of GNOME, we were not going to ship and support an end user product, but we was going to rely on linux distributions and OLPC to do it.

The model we had in mind is the classical situation for free software desktops and it goes more or less like this:

  • An upstream entity, usually formed by individual volunteers and company funded engineers develops a code base and a release process around it. Their final product is a set of source tarballs, which went through the testing of developers and project supporters.
  • Several distributors take the source tarballs, build packages out of them, apply customizations and fixes and distribute it as complete operating system: a user consumable product. This usually involves some level of formal QA, beta testing and support.
  • A bunch of end users acquire the distribution, to install it on their machines.

The OLPC step back from active development uncovered several problems in our model.

  • It’s unclear at which level beta testing and QA should be done. If we followed our logic it should happen at the distribution level. It’s not going to happen because Sugar is a niche product in every distribution and that’s not going to change soon. We might even argue it should never happen because our audience is very different from the traditional linux one. To put it bluntly, we are not working on the perfect desktop for geeks.
  • Distributions like Sugar on a stick are hosted and perceived as Sugar Labs products. Upstream/downstream is a good abstraction but it needs both streams to be strong and active to work. Sugar Labs should ideally not work directly on end user products, but it’s forced to do so if no one is covering that role.
  • The feedback from the end users is not reaching upstream developers. There is no entity in the middle which is able to proxy it. And I don’t think traditional distributions will be able to cover that role, their target audience and hence their priorities are different.

The way Sugar reach his ends user is different. There is no direct link between distribution and end users. We have deployments in the middle. And I think that’s where the opportunity to fix our model lies. One or more deployers communities can cover several fundamental roles in the making of Sugar:

  • Testing. We need people to test Sugar based products and to file bugs appropriately, either in the distribution bug tracker or in the upstream one.
  • Feedback. We need to learn more about deployments necessities. A proxy in the middle will ensure that this feedback is actually gathered and appropriately dispatched, without requiring a huge effort from the development team, which should be busy fixing the issues.
  • Release process. Sugar on a stick is fundamentally a different product from Fedora 10, even if it’s based completely on it. Only a subset of Fedora is relevant for us, and part of that is only minimally relevant to the Fedora community. Ideally the deployment community should not do any development at all. But even in that case selecting packages, creating a spin, testing it, making sure that both Fedora and Sugar developers knows about the issues relevant to Soas, are all tasks that should happen at the deployment community level.

There are several deployers communities which are forming. olpcfriends, the Sugar Labs deployment team, Caroline for Soas. We need to encourage them to grow and take their responsibilities. And we need to start considering them as a fundamental part of the process which brings our code in the hands of the kids.

Probably incoherent but I have to run out. I’m still thinking this through. Comments and criticisms are welcome. A well shaped beautiful solution even more, it would make me sleep better tonight :)

Sugar

XO vs RPM

January 22nd, 2009

ivazquez has a very good post about packaging activities. He is not on the planet yet, so I’m forwarding it. Go read it!

Sugar

Never ending education

January 22nd, 2009

I like to think that I will never stop to learn. Being silly most of the time, defending the bits of irrationality in my decisions, explicitly refusing responsibilities, unwilling to plan beyhond the next few hours, are all ways I use to express the same concept. I don’t want to grow up because I want to preserve the same openness to the world of a child, the same desire to be surprised and shaken around by things and people.

I’ve been thinking a lot about getting back into school lately and… a question that I don’t really have an answer for is if I want to be a teacher or a student. I’m uncomfortable with the notion that you spend a certain part of your life learning and then move into a separate role where you are allowed to spread your knowledge. It sounds nice and clean, but people brains are complex than that. Eh, I guess that applies to most social roles. When I see Walter hacking on Turtleart, it always makes me smile. His desire to learn is moving and a great example for everyone. Then I also feel compelled to make fun of him, but that’s just my being silly all the time.

Mel has a very interesting post about learning. Sugar emphasizes reflection, collaboration, and exploration. I would also add creation. We already discussed how it would be important to describe how these abstract categories are concretely embodied in the software. But now I’m doing a step back and thinking that it’s even more fundamental to communicate why education, the specific kind of learning we are advocating, it’s something that is relevant to every child and every adult life.

Making things is my drug. It’s easy and rewarding. Everyone knows how I can get pretty nervous if you argue a lot or even just show me some wonderful new idea, while I’m trying to get something done. Reflection and exploration (more precisely the part of it that doesn’t require social interaction, for example reading books) are also very natural to me. Creation tends to overrule them though, and if I look back to the last two years, I see myself hacking madly to make Sugar, without ever looking back. And then a sudden stop, tiredness, the need to reflect for a while on what and why I was doing, the desire to explore ways to do it more efficiently.

Sharing is hard, I have the constant fear to look stupid, which is why I’m rereading this post a couple of hundred of times before publishing. Creation is also sharing in some ways. The sole reason that kept me involved with free software after my first immature hacks has been the “keep up the good work” mails I was getting from people. That’s something I badly missed with Sugar and that often affected my motivation. Our users are (or used to be) distant and the social part of making things goes somewhat lost.

I think these elements turns into a wonderful learning experience only when they are all combined. Focusing too much on any of them makes me feel stuck, limited, incomplete. It’s necessary sometimes to push things further, but it cannot be the normal situation. They are also the essential components of my happinnes. And I guess that means that learning is what makes me happy!

Sugar

Amazing team

January 20th, 2009

I’m thrilled by the amount of progress my teammates are doing on Sugar these days, I’ll just mention the upstreaming of the evince changes that Tomeu almost completed. It feels good to see the team running so well, without needing any help or pushing from me. I’m enjoying my invisibilness. Also seeing all the fun they are having, makes me want to get back more actively into the game. Yeah, I’ve been slacking lately.

Sugar

Surprise

January 14th, 2009

My sorellina Daiva might be stopping a few days in Italy on his way to Malta in February. I can’t believe it, I’m soooo looking forward for it now, I really hope it will happen. I must be dreaming, two of my Christmas hugs unexpectedly getting real in a couple of days. Only one to go!

Uncategorized

See, that's why I can't work from remote anymore

January 14th, 2009

I had conversations with a couple of people today about the fact that I cannot stand working from remote any more. It turned out that the night would prove the point.

Spent the whole day at XOcamp, being tired I decided to head back home. Stopped at Legal to take some food. Gah! I left my power cord at the office! Grab my shrimps, run back, get in with some difficulties. Run into Mel, which also lost her power cord.

Well, a few hours later my stomach was complaining and my shrimps was cold, but I had spent a beautiful night with beautiful people. Mel trying to find the cheapest flight to Australia and later drawing us the plan for her travel around the world. Martin entertaining us with awesome New Zealand pictures and stories, while helping her out with the tickets. Adam noticing our excitement and pointing out that Martin has already found a new job… at the Wellington tourism office. Yifan looking very skeptical at the travel map, “But Mel, normal people usually spend six months to do *one* of the travels you drawed there”. “Sure, but they don’t sleep just three hours per night like me!”. Bernie and Michael friendly fighting about OLPC and Sugar Labs closeness, while migrating the build system.

Too tired and happy to say anything meaningful, I headed back home.

Sugar

Back!

January 6th, 2009

Finally back from vacation. It has been really wonderful travel, I got some rest and I re-energized, but now it’s time to get back to work. First up is email backlog. Already handled a good amount of it, longest and most difficult answers are left though. Tonight and tomorrow is going to be really busy.

And then I need to prepare for FUDCon and XOCamp. I would like to give one talk for each, but I haven’t prepared any slides yet, I will see if I can sprint them tomorrow. Leaving on Thursday and looking forward to meet everyone there and to make as much progress as we did at Sugarcamp.

Spending the whole day to write email made me realize once again how frustrating is for me to write in english. I’m always unsatisfied about the way I say things, because I miss the words to say exactly what I want to say. I usually have to reread and tweak an email several times before I’m ready to hit the send button. My mind is sort of screwed up between two languages. I can talk and think about computer stuff only in english (at the point that I force Bernie to talk in english even if it’s just the two of us), but I’m unsatisfied about my writings quality. And I can talk decently about personal stuff only in italian, which is frustrating when posting a blog. I need to find the time to read a bunch of books in english, I think that will help a lot.

Back to work, lots of email to answer!

Sugar

Alberobello

January 5th, 2009

Travel

Galatina

January 4th, 2009

Travel