|
META TOPICPARENT | name="FirstPaper" |
| |
< < | | | Bazaar Expanding : Encouraging Developer Communities in the Developing World
-- CrystalMao - 1 Nov 2011 | | While the interconnectivity of our digital economy provides many positive opportunities for the sharing of global expertise, it is also important to recognize and incorporate the role of local, community driven efforts in ushering technological change. This is particularly true as socially conscious developers increasingly tap open source to address developing world needs from afar. Open source (hereafter FLOSS) solutions targeted to developing economies have long been embraced, but many ultimately suffer from lack of a dedicated community of local developers who can support the code long term. See Nah Soo Hoe, Breaking Barriers: The Potential of Free and Open Source Software for Sustainable Human Development, UNDP-ICT4D (2006) (noting the difficulty of building local FLOSS communities as a common theme across projects); See generally FLOSS Survey and Study (2002) §2.7 (finding that nearly 90% of FLOSS developers hail from a handful of western countries / India). This paper explores the unique challenges confronting open source developers in emerging economies, and suggests ways to incentivize developing world production of FLOSS despite these challenges. | |
< < | I. Unique challenges
Most projects embrace the importance of attracting local developers on paper, but fall through when implementation becomes difficult. Successful mobilization of developing world computer scientists towards FLOSS development requires readjusting our typical understanding of how and why FLOSS communities organize. Eric Raymond has described such communities as gift cultures, within which the “joy of hacking” represents a self-actualization or transcendence that does not kick in until lower level Maslow needs are minimally satisfied:
Gift cultures are adaptations not to scarcity but to abundance. They arise in populations that do not have significant material-scarcity problems with survival goods. . . . It is quite clear that the society of open-source hackers is in fact a gift culture. Within it, there is no serious shortage of the ‘survival necessities’ – disk space, network bandwidth, computing power.
These luxuries are often not enjoyed by computer scientists in the developing world, where shortages in survival goods are common and access to ICT resources and hands on programming skills, even amongst well-educated CS students and professionals, are scarce. | > > | A. Financial and ICT Resources | | | |
< < | While the long-run solution undoubtedly hinges on macro factors like economic growth, political stability, and investment in quality education, convincing existing developing world developers to “go FLOSS” requires concerted effort to turn perceived barriers (financial, educational, ICT resource) into incentives for open source development. | > > | A study of (largely developed world) FLOSS contributors confirmed that open source junkies are, for the most part, not in it for the money, with 70% contributing <10 hours per week and over 65% maintaining full-time employee status at day jobs. Nonetheless, over 50% of contributors received some income from their FLOSS work, and open source companies have the potential to be profitable and sustainable. A “part-time” approach is less feasible in developing economies where many programmers do not have access to computers or the internet outside of school/employment. As mobile devices leapfrog traditional computers to become the dominant computing devices in such societies, FLOSS developers should focus on projects for both the current and the next generation of local mobile platforms (while Symbian is still the dominant OS used in developing countries, Android is positioned for an aggressive push). This helps alleviate the lack of ICT resources that programmers face, and ensures that software products can reach the local community. In regions where the only computing devices programmers have consistent access to are their phones, it would be wise and convenient for these phones to allow for self-programming (perhaps runnng their own SDK and API tools within the operating system). Symbian and Android (let alone iOS) does not allow this without hacks. A second machine should not be necessary for developing world programmers to begin programming the traditional way, by fiddling around. While Symbian, Android, and iOS all provide versatile SDKs for developers once they are on a separate computer, Canonical’s planned Ubuntu mobile OS may be the best bet for fostering a versatile programming environment that requires the least amount of capital investment and confusion. | | | |
< < | A. Finance | > > | For experimental programs that are not yet deployed, project founders should also make financial incentives available to at least a core group of local contributors who can then personally recruit and manage the needs of additional local volunteers. Boot-strapped projects may find that their cash goes further in the developing world, and can seek additional funding from programs like Google Summer of Code, project competitions/fellowships, and Kickstarter to support local developers (GSOC summer funding amounts to over 300% of median annual salary in many developing countries). Depending on the target user, local contributors eventually can experiment with selling their code and services. | | | |
< < | A study of (largely developed world) FLOSS contributors confirmed that open source junkies are, for the most part, not in it for the money, with 70% contributing <10 hours per week and over 65% maintaining full-time employee status at day jobs. Nonetheless, over 50% of contributors received some income from their FLOSS work, and open source companies have the potential to be profitable and sustainable. A “part-time” approach is not feasible in developing economies where many programmers do not have access to computers or the internet outside of school/employment (conditions obviously vary, but over half my class of senior CS students from Rwanda’s leading technical university did not have computer access at home). Within such environments, project founders should emphasize financial incentives to at least a core group of local contributors who can then personally recruit and manage the needs of additional local volunteers as needed. Boot-strapped projects may find that their cash goes further in the developing world, and can seek additional funding from programs like Google Summer of Code, project competitions/fellowships, and Kickstarter to support local developers (GSOC summer funding amounts to over 300% of median annual salary in many developing countries, in just 3 months). Depending on the target user, local contributors can experiment with selling their code and services. | | B. Education | |
< < | Encouraging student developers from local universities is a powerful way to promote FLOSS development in emerging economies. The average CS education in the developing world tends to be heavy on theory, light on practical experience (prior to our class in Rwanda, many of our CS students had never committed a single line of code!). By making an effort to engage and train students, FLOSS projects transform education from a barrier into an incentive. Contributing to FLOSS is rewarding hands-on programming education for beginners, and engages advanced students who out-grow the expertise offered by their local institutions. Pieces of FLOSS projects are also effectively pitched as practical-minded masters or Ph.D. theses that ultimately generate more value and community engagement than the average leather-bound volume of graduate student babble. Projects looking to partner with universities may find it helpful to have an academic on their own team to serve as a credible liaison.
To enhance the mutual value of working with student contributors, existing FLOSS projects can assign less-experienced contributors community mentors, promote formal and informal training (webinars, forums, and an active developer mailing list are crucial), develop standards for documentation/testing/committing, and be cognizant that pieces of the overall project are split into manageable pieces for various skill levels. In-country trainings / meet-ups should emphasize developer education as much as user education. Students in the developing world (perhaps all over the world) seem to be especially fond of obtaining certifications, so any opportunities to create a recognition system to reward skills gained or milestones met should be leveraged. | > > | Encouraging student developers from local universities is a powerful way to promote FLOSS development in emerging economies. The average CS education in the developing world tends to be heavy on theory, light on practical experience. FLOSS projects that engage and train students transform education from a barrier into an incentive. Contributing to FLOSS is rewarding hands-on programming education for beginners, and engages advanced students who out-grow the expertise offered by their local institutions. Pieces of FLOSS projects are also effectively pitched as practical-minded masters or Ph.D. theses. Projects looking to partner with universities may find it helpful to have an academic on their own team to serve as a credible liaison. To enhance the mutual value of working with student contributors, pieces of the overall project can be split into manageable pieces for various skill levels. In-country trainings / meet-ups should emphasize developer education as much as user education. | | C. Community | |
< < | To address the lack of ICT/network resources that developers may face, projects should consider supporting the creation of open technology “hubs” where local technologists can gather to use shared computers, internet access, and collaborate with like minds. Beyond providing tangible tech-enabling resources, countries whose citizens have not converted to living on the internet as the norm can use such centers to foster hacker culture in a physical space, and promote innovation from within the community. | > > | FLOSS project leaders should take care to avoid using a cookie cutter approach that ignores cultural, historical, and political nuances affecting FLOSS adoption from country to country. For example, projects operating within countries with a dearth of private enterprise and where government contracts dominate technology deployment require different longterm planning than projects in countries with grassroots economies. Community attitudes towards technology and technology education also have a huge impact on the availibility of local programmers (In India, fairly easy to convince average people to learn programming. In the Congo, not so much). | | | |
> > | Despite inevitable culture differences between countries, there are positive, non-culture specific steps that developers can take to encourage FLOSS development. The major way to avoid faux pas in cultural planning is for project leaders to spend extended time on the ground in the countries they are deploying in to familiarize with the local environment. Aligning projects with educational institutions is also a good way to address, or at least identify, cultural obstacles that are unique from country to country. Local academic collaborators tend to be valuable advisors who can shed light on the state of FLOSS development in their communities, including key players and challenges. They can also facilitate legitimacy and community acceptance, characteristics that foreign projects often lack. | | | |
< < | II. Final thoughts | > > | Another strategy is to use trajectories from similar “sister” countries as blueprints for the target country. For example, Kenya’s path towards economic and technology development is both praised and critiqued as a standard-bearing example for its East African neighbors (In this vein, Google’s Nairobi office currently serves as a experience-gathering hub for Google’s eventual expansion into surrounding countries). | | | |
< < | While my discussion in this paper is limited to FLOSS communities in the developing world, but there is ample evidence to suggest that similar principles and benefits apply generally to the generation of information tools (books, directories, academic research, etc.) Truly democratized innovation requires input from all of its users. The culture of the digital economy should not omit creative participation by those with the most to gain from its success. | > > | Projects should also consider supporting the creation of open technology “hubs” where local technologists can gather to use shared computers, internet access, and collaborate with like minds. Beyond providing tangible tech-enabling resources, countries whose citizens have not converted to living on the internet as the norm can use such centers to foster hacker culture in a physical space, and promote innovation from within the community. | | | |
< < | Crystal, I think there
are really three issues here: First, whether it is possible for
people to make software without computers. Second, whether there are
primarily economic obstacles to getting people involved in making
free software. Third, whether there are non-economic obstacles,
otherwise known as cultural obstacles, to be overcome, and whether
those can be stated in non-culture-specific terms.
As to the first, I think we should probably agree that it is
difficult if not impossible to make software without computers. The
problem is sometimes poverty and limitation of resources, but quite
often now, and almost always within a decade, the problem will be not
that people have no computers, but rather that the computers they
have prohibit programming. Manufacturers all over the world are
competing to sell people objects capable of being self-developing
systems that are deliberately crippled. They increasingly use OS
designs for handsets and tablets that not only aren't
self-developing, but enforce memory management models that make
programming almost impossible. They provide mobile devices with all
sorts of applications, but not terminal programs that would allow
programming on remote devices.
If every smartphone and tablet were equipped with a Putty-like
combination of SSH and Xterm, not only would everyone have access to
more secure, more private, proxy-based browsing that leapt national
firewalls, they would also have a tool which (with shell access
somewhere else) would allow remote programming activity that would
lead directly to FOSS participation.
One of the primary reasons Richard and I put such emphasis on the
"installation information for user devices" component of section 6 of
GPLv3 was to discourage as far as we could with the weight of GPL'd
software the creation of hackable consumer electronics, so that
people in the world who can only afford one digital computer (such as
a mobile phone) would get the chance to become effective and useful
programmers. You don't mention anywhere here how the
greed-structured nature of capitalist technology is creating this
part of the problem you are concerned with, nor do you mention
anywhere a reason not to believe that the hardest part of the hardest
problem is, as usual, best exemplified by the dead anti-hero Steven
P. Jobs.
(I must say that I take your Rwandan story very differently than you
do. When in Rwanda half of the students in even the most
privileged educational institutions have access to computers at home,
you know how far the process of putting computers and the Net
everywhere has gone. In what year did that become true of the US?)
On the second point, I do not think that the question is how people
who make free software would make money. The global IT giants alone,
let alone all the commercial, industrial and financial enterprises
they serve, could absorb several hundred thousand more free software
makers immediately. Labor market constraints that inhibit
globalization of many kinds of valuable activity have little effect
on collaborative software effort, and programming (unlike many kinds
of network-connected service business activity) does not require
high-bandwidth infrastructure. In any capital city in the world,
including in Africa, if you had a collective of a dozen or more free
software programmers with proven skills, you could get them hired to
perform project work at prices that would be lavish by almost all
local-society standards. Soon, that is with ten years, the labor
exchanges necessary to make that work simpler to get, including the
reputational capital systems necessary to allow programmers working
in arbitrary places to demonstrate their track record as free
software contributors to potential employers, will have come into
existence, and the barrier to individual free software
entrepreneurialism will be quite low.
Third, well, there's third. Your essay presents no analysis of
cultural obstacles, because it doesn't acknowledge the existence of
cultural obstacles because it has nothing to say about culture. I
think, as I've already indicated, that this is a mistake. In my
slight experience with free software and its adoption around the
world, I've seen societies and states behave very differently from
one another, but very explicably in historical and cultural terms.
This is true also, I think, at lower levels of demographic
granularity. | | | |
< < | | > > | II. Final thoughts | | | |
> > | While my discussion in this paper is limited to FLOSS communities in the developing world, but there is ample evidence to suggest that similar principles and benefits apply generally to the generation of information tools and collaborative content. Truly democratized innovation requires input from all of its users. The culture of the digital economy should not omit creative participation by those with the most to gain from its success. | |
You are entitled to restrict access to your paper if you want to. But we all derive immense benefit from reading one another's work, and I hope you won't feel the need unless the subject matter is personal and its disclosure would be harmful or undesirable. |
|