User:Benjamin Mako Hill/BitFront
Support gang anecdote:
- We just need that smart-alec in the schoolyard who helps everyone else. -- Chris Ball (Slide)
- December 19th -- community meeting, GDK, Holt, SJ, CJB, Kim, Walter, JG.
- Pre-meetings, then weekly Sunday meetings started Christmas week.
- Many people at OLPC were skeptical that this would be a good idea, despite our broad support from the Free Software Community. Who wants to do technical support for free?
- KQ to AH: Do you know what it will take to manage them? (Answer: Nope. But we can tell you what we've learned.)
Initially limited to the US, the support gang now extends to L. America, with F.Libre in Peru and olpc-sur, attracting more es-speakers. Again, many remain without their own XO (and some not wanting one!).
Introduction to Mako
Examples of Communities
When your ultimate goal is to do more than you are capable of, you need to look for help. We've looked for help by trying to emulate and build on top of existing community software and content based projects projects.
These represent two types of communities:
- Communities of people inspired to help because they want to change the world.
- Communities of users.
To date, OLPC has been working primarily with the latter group, but as laptops get out there, we need to start thinking about how we want to facilitate that type of community as well. We'll try to talk about both.
Free and Open Source Software
My background is in FOSS where I started contributing to a series of operating system projects when I was 12. I was never paid to work on such a project until I was 24. My experience then, is mostly as a community contributor. Most of my work at OLPC has been as an advisor and volunteer.
I was inspired to do so for the two reasons mentioned above. I'll try to describe the way this has worked in more detail:
- First, by talking about the experience and example of the free and open source software and Wikipedia.
- Second by talking about OLPC.
Changing the World
Free software, many people don't realize, started and continues to be driven in part by the existence of a social movement for what is called software freedom.
Software freedom is something very specific:
- The freedom to use software for any purpose;
- The freedom to study and modify and fix;
- The freedom to share and redistribute;
- The freedom to collaborate with others;
Richard Stallman (who came up with this) was and is a Utopian visionary. This is a vision of autonomy and user empowerment that proved extraordinarily appealing to technologists.
The result was that a small group (but a decreasingly small group over time) of technologists and activists trying to empower people (and, in particular, people like themselves who were programming). They did so by working together to create a completely free platform.
Now, I share his vision but you don't have to share his vision to realize the practical benefit of building such a vision. It provides:
- A goal to work toward (and that is more valuable to individuals than particular roadblocks.
- A set of shared principles and stories
This vision inspired the work (support, use, development, documentation writing) that made FOSS a success.
Open Source happened when ESR noticed that people collaborating on their software were producing software that was actually better. His argument was simple:
- With more people contributing, things became better (in particular bugs went away)
- Users tried to solve their own problem and were better at solving their problems than manufacturers were.
This made sense, of course, because:
- There are many more users than designers.
- Users often understand their problems better than designers and implementers do.
- There were forms of reward and compensation other than payment that were important (i.e., recognition)
The free and open source movement exploded in the late 1990s and that's not a coincidence:
- Connectivity allowed for collaborative production on previously impossible scales between non-collated individuals;
- Software (and other systems) were largely user prototype-able (tools necessary build, test, and deploy were just computers);
- Licenses existed to allow (and protect collaborative sharing) and work;
But of course, work on free software were not limited to development. We've already mentioned our support gang and we saw similar things through
In the Ubuntu project, there have been more than 200 Local Community teams (LoCos, yes it's intentional) and a massive set of community forums with half a million registered members and 5 million posts.
But it's not just about Hackers.
Wikipedia is another strong example of how an empowered, well supported community can do amazing things.
Wikipedia content, organization, and most governance structures has always been located squarely in the community. Most calls to the WMF office are met with answers of, "sorry, the community runs that." Structures, and even the legal structures around the organization have the product of self-organization.
The results you are already familiar with:
- English WP with 2 million plus articles, ~20 others with 100,000+ articles, ~100 with 10,000+ and so and so forth.
- Each are initiated, governed, and empowered by active community members. Community development in country is entirely driven.
Additionally, there are community run events (Wikimania and Wikipedia University).
There are even local chapters which are associate legal entities created by community members to promote and help support Wikipedia and Wikimedia projects in country.
Now, we've spent a bunch of time talking about communities around software and content because these are two areas that are very relevant to OLPC and also because they are two communities we have personally worked hard to leverage in producing OLPC and its software and content.
Here are some concrete ideas and lesson that we've pulled from the communities we've worked with and from our own experience:
- Recognition: Recognizing the world of positive contributions can be essential to motivating a community. All major contributors start out by trying something and their experience will frame their future engagement.
- Empowerment: People don't like to feel like they are "free labor" or treated like that. Rather, they like to be empowered and autonomous. A sense of independence and power over own direction is frequently essential to a healthy community. Ironically, often the less one does to shape this the better.
- Goals: Have a goal, a Utopian/ideal vision of what is desired, what others are working towards. This helps direct development, create common ground, and motivate people.
- Infrastructure: Perhaps most important thing a community-based organization can do is empower communities through building capacity and supporting them in doing so.
OLPC is a wonderful examples of a community of people inspired by the example of doing some great.
Pre-G1G1, OLPC had already received contribution from thousands of volunteers. These were people contributing to a project that they suspected they would never benefit from.
As G1G1 laptops have gone out, we've seen major proliferation of OLPC user groups, support groups, forums, and advocacy communities.
This has happened in a variety of spaces and in a variety of ways.
Software & tools
- Our OS is entirely based on existing open source communities and we've need to learn to work with them. Fedora, OpenWRT, and others have all been instrumental to producing what we have and giving the flexibility we need to do the innovative work on software that we have.
- Activities almost almost entirely contributed by community members. OLPC is focusing on building infrastructure to empower
Activities, git committers : ?
- Trac users: bug reporting, triaging, and more is done through community contribution -- OLPC doesn't always see eye to eye but the dialog is essential.
Local chapters & communication
- Wiki editors: We have a enormous public wiki covering a variety of topics that we consult repeated in the course of our internal work
- Localization: Translation and localization is highly dependent on working with user communities
- Blogs, news sources
- Countries & regions
BMH - implementation of microgobby in js, for obby-wiki : frontend for mwiki for real-time collab. but see: js has contained networking, no socket reps.