Proposal for Event Series

<Africa relating to Free/Libre Software. These include the Idlelo conference in Cape Town, Africa Source in Namibia, Train the Trainer in Ghana, and other events which mark 2004 as the start of a new era of open initiatives in Africa. In South Africa, the Go Open Source Campaign was launched by The Shuttleworth Foundation and the Open Source Coalition, and several FLOSS events were staged leading up to and following Software Freedom Day.



Rationale
A need often highlighted at events in Africa such as those mentioned above, is to link software developers to civil society and other groups concerned with addressing sustainable development issues. Sustainable development implicitly refers to managing social, economic and biophysical concerns (simultaneously), suggesting a wide range of needed applications and services. For example, the web (in the broad sense, covering any connected device), by enhancing both technical and social connectivity, provides clear opportunities to network and leverage knowledge for wise use of economic and environmental resources for social upliftment. The intention of this initiative is to facilitate meetings of minds through a series of "travelling developer road shows" in Africa (and elsewhere). The first "pilot"/"flagship" event in this series will be in, to prove the concept and get the show on the road. Education and localisation have been identified as key areas requiring attention towards the broader vision of sustainable development.

Purpose
Linking Software Developers to Civil Society and Real World Needs:

Traditionally, free/libre software development has tended to focus on developer and technical needs (for developers by developers). The travelling developer road shows will serve as opportunities to enhance synergies among software developers and technical people, but more importantly, opportunities for communication of African development needs to developers, and to make a start in building relevant solutions and sharing results. Part of the preproduction work will be identifying civil society needs with a focus on education and localisation.

Building Capacity for Software Development in Africa: through example via free software:

On a technical level, the purpose of the initiative is to enhance software development capacity in Africa. Developers learn best by example and interaction with peers. The events will include hands-on tutorials, interaction with experts and solutions-oriented workshops building on existing open source projects – prime examples on which to learn coding and design best practices.

The workshops will also include application of best practices associated with "agile" methodologies, and point to the “distributed team” approach to be followed after the event. The opportunities to share knowledge, collaborate on projects and grow the network of skills in Africa are key to the success of the initiative. To this end, one or more projects will be started on day 1 addressing specific needs.

=Projects=

The nature of the projects will be decided upon during the lead-up to the first event with the intention of creating usable products during the week. Possibilities for the whole series include (for example):


 * build an interface implementing open standards sharing content among e-learning systems
 * localisation of a content management system for environmental health education,
 * a pack of utilities for multi-media content creation,
 * contributing to the eXe (educational XML editor) project1,
 * a distribution with GIS facilities including GIS map creation and web map serving2,
 * dictionaries, spell checkers and other localisations of Mozilla and OpenOffice,
 * contribute code to Social Source Commons: portal to needs, developers & digital artifacts.

The project(s) developed during the week will be selected based on pre-event preparation and maturity of the project if it exists already, passion and critical mass (of participants), impact, pragmatics and the extent to which they serve the purpose of networking developers around Africa and enhancing relevant skills. For example, a system to help educate communities about environmental health would score high on all counts:


 * impact with respect to sustainable development and relevance to the theme,
 * networking on both technical and societal levels,
 * pragmatics: customise and localise an existing content management system (CMS), and
 * relevant skills development: localisation and enhancing CMSs (etc).

The projects developed during the week will be evaluated and, if appropriate, "released" to the free software community for re-use, localisation and extension in other contexts (potentially during successive events in this initiative).

Hands-on Tutorials:

In order to cater for a wide range of participants, tutorials will be offered during the week subject to the availability of trainers and demand. Appendix 3 outlines the full suite of skills levels that may be covered, though we expect to cover only a sub-set of these and link them to the project(s) where appropriate. On a higher level, exercises may cover additional existing free software prioritised according to local needs such as open source geographical information systems, e-learning management systems, etc.

=Continuity=

A critical success factor for this initiative is continuity. On the last day of each developer week, a workshop will be held to capture the learning in the process of setting up and hosting the event, and to determine the next steps including roles and responsibilities of the parties involved. The learning points will include suggestions and best practices associated with the following:


 * Tailoring to the Context: is the model used in (e.g.) South Africa appropriate in (e.g.) West Africa, East Africa, etc.?
 * What additional factors need to be taken into account?
 * Planning and curriculum design: which applications and skills sets are most needed in the target country?
 * Re-use and extension of content developed in previous developer weeks.
 * Identifying and engaging local support: planning, attracting the right participants, publicity and logistics, etc.
 * Pragmatics and rationalisation: is the proposed curriculum, vision and approach for the next event realistic given the context and resources available?
 * Check-lists – budget items, logistics, programme, scheduling, etc.
 * During the event: managing the changing requirements and expectations of the participants, sensitivity to local customs, attitudes and cultural differences, local trouble shooting, etc.
 * Post-event actions: review process, keeping the identified role players inspired and active.

On closure the participants will go home with the following:


 * CDs containing (e.g.) TheOpenCD, selected GNU/Linux distributions, the projects' output, and/or other resources contributed by participants.
 * The knowledge and skills to localise prominent free software packages such as Mozilla, OpenOffice, etc. and/or other techniques covered in the week.

The coordinators will conclude with:


 * A plan for continuity (a core team with roles and responsibilities for ensuring continuation).
 * A more specific plan for the next event in the series (location, participants, focus, etc.).

=Approach=

The objectives of this initiative (see Abstract, above) will be achieved through week long workshops/ seminars/ travelling roadshows with several tracks. As a guide, Figure 1 (Appendix 3) maps paths from Newbie to Guru in a number of technologies, while Appendix 1 presents a “concept” Programme for the first event. The tutorials should support and augment the project work throughout the week.

Preproduction and preparation:

A wiki will be set up in advance of the event(s) on which participants may discuss possible projects, offer tutorial sessions and indicate levels of interest and expertise.

As far as possible, local people will manage the event including logistics, hosting, etc., and, for the most part, the attendees will be from the same region. The high level input, experience and assistance of experienced event planners in all aspects of planning, managing and "animating" the event will be key to its success (free software as a global phenomenon).

Staging Workshop (day 1 for all):


 * Specify requirements of projects emerging from the pre-production discussions set the week's agenda including personal and collective objectives.
 * Brainstorm solutions towards addressing the prioritised needs.
 * Output: prioritised lists of needs and a matched list of solutions (existing/proposed).
 * Prioritise mini-projects that could be completed in a week using existing partial solutions or frameworks [An example might be localising Fle3 and extending it to be able to exchange content with Kewl-NextGen].

Days 2-4

The tutorials start in the morning in parallel to the projects. Later in the day and in the evenings, space will be available for less structured activities such as discussions, movies (e.g. Revolution-OS), "birds of a feather" sessions, social events, etc. (fun factor :-).

Coding on the projects and tutorials on special topics determined by participants including (optionally) unit testing, refactoring, Eclipse, RSS, XMPP, mobile access, wiki editing and management, etc.

The programme provides structure for those who need it as a starting point, but participants are free to come up with innovative ways of achieving the objectives during (and after) the event.

Day 5

Wrap up the week's activities: demonstrate outputs, capture learning & plan the next developer week.

Notes Tutorial tracks and special topics

Appendix 3 outlines a broad "curriculum" for developers. Ideally, the participants should be experienced and ready to contribute effectively in integrating distributed applications/services. Learning will occur "on-the-job". However, some topics might be of particular interest, and participants might like to contribute hands-on and on-line tutorials.

Content will be released under a free Creative Commons license permitting unrestricted distribution, use, modification, translation, sharing, etc. (except where otherwise specified).

Evening Sessions

The evenings will include informal "birds-of-a-feather", "fish-bowl" and other unstructured activities to stimulate interaction and community building.

Topics for these sessions and discussions, to be determined by the participants, are likely to include free software business models, open standards and interoperability, agile methodologies, topics shown in Figure 1, and others. Project Content [commonalities]

In addressing civil society needs in Africa, localisation of high profile free software office suites, content management and e-learning systems are deemed likely to have highest impact.

Localisation of components of projects such as OpenOffice, Firefox and eXe, are likely to be on the agenda as tasks to be achieved during the week. The educational theme also suggests localising and extending free software e-learning and learning management systems such as Fle-3, Moodle, etc.

By the end of the week participants will have a better awareness of the features of a variety of Content Management Systems and Learning Management Systems such as Plone, OpenCMS, Midgard, PostNuke, Nukes on JBoss, Blogging engines, Wikis, Moodle, EduPlone, ATutor, etc.

Output: a collection of localised/customised and extended open source solutions (optimistically), better knowledge of the features of various CMSs and LMSs, a wiki capturing learning and other details, new co-developers, friends, networks, etc.

=Description of technology involved=

The technology will be focussed on Free Software – on any hardware that is available (depending on venues, hosts, etc.). The operating system will be a GNU/Linux distribution (most likely Ubuntu or derivative), developer tools will include a variety of free/libre and open source utilities, frameworks and integrated development environments selected by the participants including BOA, Hybernate, Eclipse, JUnit, Emacs, Zope, JEdit, JUnit, PyUnit, etc.

During the Roadshows, participants will collaboratively customise existing free/libre software for specific identified needs. As mentioned above, OpenOffice and various content/learning management systems are likely to feature prominently. However, the content is not limited to these and participants will be free to define a completely different set of free/libre and open source technologies.

=Users groups: location and usage scenarios=

Participants, beneficiaries and Value

Participants will include software developers as the primary focus. Interaction with representatives of various sectors of society (public, private and civil) may be conducted in advance of the week to help prioritise needs and project requirements. Where appropriate, such representatives will be invited to participate as "on-site clients". The week will involve collaborative learning while developers work together on delivering usable solutions customised for specific needs. The primary benefits will be networking and experiential learning. Secondary benefits will emerge later through further development beyond the workshops and subsequent use of the solutions by beneficiaries.

Locations

The first event will be held in. Specific venues have not been finalised but likely candidates include: . Subsequent events will be held in four African countries selected from East and West Africa . The most likely combination is (to be discussed at the first event).

Note that the fruits of the workshops, such as translated office software, localised content/learning management systems, etc. will be usable in the countries associated with the relevant developer roadshows. Beneficiaries will be identified in advance, and mechanisms for deployment and sustainability defined – typically via SchoolNets, multi-purpose community centres, and other community organisations.

=Description of civil society application for project=

The overall theme of these road shows is free software: education and localisation. The aim is to facilitate the communication necessary to align the efforts of developers to the needs of society.

Although we will not commit to tangible software products as outputs, it is possible that some (or many) will emerge from this process. An example could be an extension/localisation of the "Social Source Commons" concept brainstormed in Namibia and due to be launched soon (a portal matching development needs via NGOs, SMMEs and non-profit organisations, for example, with appropriate software companies capable of delivering solutions). Another example would be a suite of standards-based software applications to produce and use free/libre educational content. The learning and tools produced will be contributed back to the emerging communities.

=Team: countries of origin and previous software development experience=

At the highest level, the project will be directed by the ... in collaboration with and . A Coordination Team will be established with champions identified and engaged in each participating country (provisionally four selected from ). This team will plan successive events. The host country representative will be responsible for championing the cause, sourcing co-funding if required/desired, and local coordination.

Known experts in the field may be contracted to conduct tutorials and to facilitate various workshops. Local partners may be contracted to help manage the event.

Local Champions/coordinators will be identified through known, established networks such as the FOSSFA, the Idlelo and Africa Source mailing lists, etc.. 



=Budget/timeline=

The project will cover 4 events in Africa with approximately US$Xk to each country from the . Co-funders may be sourced to expand the event with a view to enhancing the effectiveness and impact – but not to side-track the primary objectives and distort the themes (localisation and education). A separate budget will be reserved to cover expenses of the Coordinating Team.

The budget presented here focusses on the first event and associated Planning Meeting with the Champions from each of the five selected countries.

Coordinators Meeting: $Yk, Developer Week 1 : $Xk. See Appendix 2.

=Co-funders (if any)= ''List possible co-funders and other types of support explaining the donors' interest in free/libre and open source software and other outcomes. These may include donor organisations, private, public, academic and civil sector organisations or individuals (e.g. self-sponsorship to attend). Some will sponsor transport, others food, a particular meal, accommodation, venues, etc.''

Private sector sponsors may require something in return such as an opportunity to present, display their wares, etc. Without being too restricted, ensure that their activities do not hinder productivity or affect (negatively) the atmosphere of the event.

Outputs, Outcomes and Impacts
''Some proposals require a lot of detail in this section. Here we illustrate the minimum.''

Outputs


 * On-line, free content tutorials enabling reuse of the material in future roadshows and by people unable to attend them,
 * initial localised implementations of proposed solutions,
 * plan of action for continuity and the next road show.

Note that these will be refined by the participants during the week.

Outcomes


 * New relationships among developers and across the divide between civil society and software developers,
 * enhanced understanding of African needs and challenges associated with education,
 * enhanced ability of software developers to communicate and identify real world needs,
 * enhanced knowledge and skills to apply in meeting those needs (e.g. localisation), and
 * a foundation for future communication, collaboration and growth of the skills base in Africa.

Impacts
 * Ultimately, understanding of sustainability issues and societal needs among developers, and an enhanced networked skills base will lead to a scenario in which the right things are done in the right way to address priority needs in the developing world. * Real long term sustainable impact by empowering communities to understand the real issues to build their own solutions.

=Appendix 1: Concept Programme=

See: Draft Programme

=Appendix 2: Sample Budget=

=Appendix 3: Curriculi=

The figure below presents a conceptual diagram of a broad curriculum for developers.

See: Become a Guru.