Open Source Globalization and Local Community Li Yang Freescale Semiconductor for Linux.conf.au, Mel8ourne January 2008
Agenda • Why is globalization important • What obstacles are we facing • What can we do about it • How can local community help • What are we doing in China
Agenda Why is globalization important?
Brief introduction of FOSS • FOSS (Free/Open Source Software) • Emerged from 1970s • Represented by • Unix • Gnu • Linux • Through 30 years of experience, development model has been proved viable
Growth of FOSS • 50+ open source licenses (OSI) • GPL • BSD • Mozilla • … • Thousands of open source projects
How to define a successful project • Popularity The number of users. Commercial software usually use profit here • Participation The number of developers. More work can be done. More ideas can be implemented. • The two factors affect each other • More users -> more developers • More developers -> better quality -> more users
Where to recruit new developers? • Internet users are potential FOSS users • FOSS users are potential developers • Internet users are potential developers
Internet Users regional distribution Data from ITU for 2006 Other regions (Brazil, China, India, Russia) are growing even faster than US and EU
Kernel contribution Linux Kernel Summit 2007 attendees
Findings • US and EU are the main base of open source developers • Australia has the highest participation rate • US and AU are more active in kernel, EU is more active in other FOSS • Other regions are the largest potential user base and developer base • GO GLOBAL
Agenda What obstacles are we facing?
Why this happens? • There are obstacles for these regions to participate • Use China as example to analyze some obstacles • Other countries should be similar
Language • Different official languages • English is official for FOSS projects • English is not official for most people in other regions • The situation won’t change • The world is growing to be more diverse, tradition is more valued. • English is not likely to be much more popular in the future. • Community should live with it, and try to address this problem
Language (cont.) • Language family • People from some countries may find English not so hard to learn • Their native language is also in Indo-European family • East Asia, middle east, north Africa may find English harder to learn than others
Language (China) • English is being taught • Reading is ok for most educated • Written and spoken English is relatively poor • Language can not be learnt well without language environment to practice often
Language (China) cont. • Most people can’t use English freely • Read/write tends to be much slower • Easier to misapprehend • Can’t express idea clearly • People are being afraid to communicate in English
Cultural • Any other country could be different, even different parts of one country could be different • List a few differences between China and FOSS community (not all) • Communication: apprehension towards criticism Chinese are used to tactful remarks, likely to treat direct criticism as insult. While direct criticism are quite common in patch review process. • Management style: Organizational behaviors Chinese are used to and are more effective in close-knit team. Community likes loosely-knit team.
Geographical • Time difference • 8~12 hours from China to US and EU • IRC Hard to use. Uneasy to find common time. • Email The most effective way, but normally takes a day for each round of a discussion • Australia and China, better match to cooperate • Face to face Not possible generally
Economical • Developing countries • Less education • Without good IT industry • Spend more time and energy to work for a living, less time and energy for hobbies
Political • Government support • Financial • Policy • Censorship (China) • Sourceforge.net (ok now) • Freebsd.org (ok now) • Wikipedia.org
Summary of problems • Language, culture and geographic problems make communication much difficult, which is the biggest challenge • Political problems can be addressed but not easy Need to negotiate as strong organization • Geographical and economical problems can’t be addressed. We should make up by other means
Agenda What can we do?
What can we do? • Is this a new problem? • Look at multi-national enterprises • Local marketing and sales • Local R&D centers to attract talents • Local PR department to deal with government relationship • Establish aligned local communities to provide localized help
Unaligned local community • Good for users (LUGs) • Not enough for developers • Interactive • Shared goals
Mission • Recruit and sustain local developers • Align local developers with global community
The way it works Local developers Local developers Global Community developers Local developers
Benefit • Developer overlap between global and local community, form strong connection • Share the same goal and standard • Can help other local developers to communicate with the global community • Bridge obstacles for normal local developers
Agenda How can local community help?
How to attract local user • Advertisement, PR • Localized promotion • Features meet expectation • Address local requirements China: QQ (local IM which is massively used), dictionary, more fonts
How to attract local user (cont.) • Easy to use • Localized UI • Localized user manuals/HOWTOs • Fashionable • Local community and User Groups
Local communities • Distro’s are doing well as they have local offices • The same thing can also be done with local community • Distro’s are also making use of local community
How about Developers • FLOSS project • EU sponsored research project • Survey and study about FOSS development • http://flossproject.org/report/index.htm
Motivation for developers • Career (more important for developing countries) • Learn and develop new skills • Get better job opportunity • Fun (social) • Share knowledge and skills • Participate in a new form of cooperation • Participate in OS/FS scene
Local developer community helps • Learn and develop new skills • Easier to get help from local community without communication obstacles. Especially for beginners. • Get better job opportunity • Share local job opportunities • Help more companies to use Linux, increase Linux job.
Local developer community helps • Without any communication problem and culture differences in the local community to • Share knowledge and skills • Participate in a new form of cooperation • Participate in OS/FS scene • More local social activities will make it more fun to be a developer
De-motivating factors • Too hard to get started • Localized introduction documents • Local mentor • Too hard to interact with the community • Not a problem within local community
FOSS development process Maintainer Project Leader Integrate Developers Fix Bug Add Feature Report Bug Request Feature Users Use
Process problem • Project grows larger, process becomes more complex (Linux kernel) • Each steps in the process are deactivated by the obstacles • Makes it harder for developer to involve
Problem in global situation Integrate Fix Bug Add Feature Report Bug Request Feature Use obstacles
How to help • Localize documentation on process and policy • Provide help about the process in local community • Help to negotiate by experienced developer • Do translation or relay if really needed
With help of Local community Integrate Local Community Fix Bug Add Feature Report Bug Request Feature Use
Agenda What are we doing in China?
Zh-kernel.org community • A Chinese language and culture oriented Linux kernel development community
General goals • Promote contribution to Linux and make Linux better to use • Reduce the negative effect of the language and culture differences for Chinese kernel developers to participate • Encourage Chinese developers to help each other • Attract and sustain more kernel developers in China • Improve overall technical skills on Linux related development in China
Characteristic • Focus more on development and contribution • Improve communication and tighten connection with English community rather than being isolated • Provide help to address obstacles in every stage of the development process