Law in the Internet Society
(this is ready for edits/comments, but also excessively wordy . . so I will be cutting it down. perhaps you can all be ruthless in helping me do that. but first i must sleep.)

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 begins by summarizing the importance for project founders to originate from or otherwise establish a local base of developer support. It then explores the unique challenges confronting open source developers in emerging economies, and concludes with ways to incentivize developing world production of FLOSS despite these challenges.

I. The Importance of Local Talent

Development for the people, by the people means better functionality for the end-user. Software that originates in first-world countries often reflects first-world needs and biases that are not well-suited for users in the developing world. Over a year into international deployments of Sana Mobile, my friend and co-developer wrote, after teaching a training workshop in India:

It seems the biggest problem we will face in this pilot is language. Some of the health workers in Raichur may not be literate at all in either Kannada, the local script, or English. This is a big problem if we are trying to get them to fill out forms on our phones.

It was an obvious problem with a simple solution, but throughout months of frenzied development of fancier and more exciting features from Cambridge, we had completely overlooked something that a local developer spotted in less than an hour.

Development for the people, by the people also improves sustainability. A locally tended code is more likely to survive everything from sudden server crashes to evolving features needs because developers who are close (and in the same time zone) to the community are more responsive to things like maintenance, upkeep, user error and need. Would you rather hire the plumber next door, or one you have to call on Skype to show you how to fix the toilet remotely? Local developers can charge for these services, and projects will still realize financial savings: hiring local developers for support requires lower costs of labor, which decreases total cost of ownership.

There are certainly other positives to explore, such as resulting skills development and an improved sense of community ownership (“every good work of software starts by scratching a developer’s personal itch”) over technology-based solutions, which can reduce brain drain and wariness towards westerners coming in with gadgets and gizmos . . . but I’m already getting too wordy so let’s leave those rocks prodded but unturned.

II. Unique challenges

Most projects embrace the importance of attracting local developers on paper, but fall through when implementation becomes difficult: relationships with local partners sour, language barriers abound, it’s just easier to code the thing yourself. Successful mobilization of developing world computer scientists towards FLOSS development requires readjusting the 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 abundances 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. See IDI Development Index (2009) (detailing the lack of access to reliable ICT systems in the developing world, particularly amongst African nations).

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 from both domestic and international communities to turn perceived barriers (financial, educational, ICT resource) into incentives for open source development.

A. Finance

A comprehensive 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). Working within such environments, project founders should structure 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 –ultimately, projects need to aggressively iterate and launch with local customers, and this can also be a good way to expand distribution.

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 open-source initiatives 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 be focused on both developer and 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 in lockstep with skills gained or milestones met should be leveraged.

C. Community

To address the lack of ICT/network resources that developers may face, projects, communities, and donors 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.

III. Final thoughts

Time, space, and personal experience have limited my discussion in this paper to FLOSS communities in the developing world, but there is ample evidence to suggest that similar principles and benefits apply to the generation of information tools more generally (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.


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. To restrict access to your paper simply delete the "#" on the next line:

# * Set ALLOWTOPICVIEW = TWikiAdminGroup, CrystalMao

Note: TWiki has strict formatting rules. Make sure you preserve the three spaces, asterisk, and extra space at the beginning of that line. If you wish to give access to any other users simply add them to the comma separated list

Comment:

First, I think a system that requires "core" information to be given freely but allowing creators to charge for "bells & whistles" could work in theory. But, the problem with implementing a system like this might be defining core vs. not core. With free software, seemingly no money is derived from distributing the product itself - its free. But, my understanding is that, as you noted, a lot of companies charge for perhaps consulting on how to use the software, and how to set up the software. Free software, as you mentioned in class, is not readily usable by people who aren't technologically savvy and thus need others to help them learn. Many companies charge for these services. But shouldn't that service be considered part of the core or not part of the core. Free software is only good if you are able to use it so it is essential for many that they get that service. Thus it could be deemed "core." But, its technically not the software itself but rather what you might consider a premium (something on top of the core software). So, if this system is to work, there needs to be a good way of defining what is core vs. not core. I think you thought about this when you said "at which point do services become or equal content."

Further, if people are only going to make money by charging for bells and whistles, might not this lead to a system in which people derogate from the core and make content part of the non-core (by whatever method) in order to make more money? What in the system will prevent them from doing this?

I think that this system can work - if what's important to us is getting as much information to as many people as possible, for the lowest cost possible, then the core information really is what matters. If people want premium, they can pay for it. But the fact that something is a premium means it is extra, it is on top of the core information we truly care about. So even if we charge for the premium, even its MC=0, i don't think that's an injustice. If people want extra, they can pay for it. Since its extra, there is less demand for it and the price might go down to close to 0 or even 0 in some circumstances. The system you are proposing really relies on the definition of core vs. not core, and how we are to prevent creators from abusing these definitions to maximize profit.

-- AustinKlar -- Oct 19 2011

. I just wanted to chime in to note that if you want to frame your paper around the question of what justice requires, you will probably need to develop an account of what justice is. That will be a fairly serious undertaking. It seems like most of the material you've got here is less about normative questions, and more about the business side of things, the empirical question of "what works" rather than normative question of "what justice requires." Rather than asking if justice will allow or disallow companies monetizing content through advertising, you might want to narrow down to the question of: does an advertising or other premium type thing work as a business model to a) generate profit and b) actually increase access to content. One potential issue there is the question of how much longer content-embedded advertising will exist as a business opportunity. Bitstreams are easy to filter, as the folks at AdBlock? have demonstrated. This is not good for people who want to make money off inserting things people don't want into their bitstreams.

However, the 'accompanying services' model has worked well for many free software companies, eg, RedHat? , Ubuntu, etc. The concept of "accompanying services" can also be extended, as Austin suggests, to include customizations - charging customers for special customizations of material. However, while this applies to software, it is difficult to see how it would apply to books and music.

-- DevinMcDougall - 19 Oct 2011

Austin + Devin, thanks for your thoughtful comments. As you can see I've decided to scrap my initial idea to write about something nearer-and-dearer to my heart and work (Devin, you're right that I'm not really a fan of normative thinking and much prefer empiricism / case study type analysis).

But! I stand behind my original idea . . defining core vs. non-core could come down to a distinction between the information itself vs. things that enhance or detracts from use / enjoyment of that information. Content-holders can generate positive non-core (for software: service contracts, custom code development, for media: enhanced layouts, better HD/bitrates quality for movies/music) or negative non-core (ads) complements to try and extract some kind of revenue stream. Core vs. non-core can also change depending on the type of good, the degree of segmentation preferred, and current market climate. In general I think that segmentation is a good compromise: an ebook on .txt versus one that has been beautifully laid out, with thought to typeface and perfect kerning do have different market values (to typography lovers, at least). As long as the essential ideas are available without restriction, people should be able to profit off of providing enhanced enjoyment. But yeah, there would need to be a good business case (increased user base?) for rights-holders to release basic content in the first place. . . the NYT / Hulu have headed other way, so perhaps that is not a good sign.

-- CrystalMao - 1 Nov 2011

Navigation

Webs Webs

Attachments Attachments

r5 - 01 Nov 2011 - 07:51:13 - CrystalMao
This site is powered by the TWiki collaboration platform.
All material on this collaboration platform is the property of the contributing authors.
All material marked as authored by Eben Moglen is available under the license terms CC-BY-SA version 4.
Syndicate this site RSSATOM