Archive for the 'academic' Category

How to make money with FOSS?

Friday, August 8th, 2008

“What you say sounds great, but honestly, how can we make money with FOSS?” This is a question I have been frequently asked since I have come to China. It’s the kind of question which made think a lot about FOSS and it’s business model. It’s a question which seems crucial for China, and since I have been asked so many times, I have been trying to improve my answer by asking other people. However, none of these solutions seemed really satisfying, and whatever I said was met with strong resistance and further questions.

When reading the book Open Sources: Voices from the Open Source Revolution, I found the following answer to the question by Robert Young:

“That question assumes that it is easy, or at least easier, to make money selling proprietary binary-only software.

This is a mistake. Most software ventures, whether based on free or proprietary software, fail. Given that until very recently all software ventures were of the proprietary binary-only kind, it is therefore safe to say that the IP (Intellectual Property) model of software development and marketing is a very difficult way to make a living. […]

No one expects it to be easy to make money in free software. While making money with free software is a challenge, the challenge is not necessarily greater than with proprietary software. In fact you make money in free software exactly the same way you do it in proprietary software: by building a great product, marketing it with skill and imagination, looking after your customers, and thereby building a brand that stands for quality and customer service.” (chapter 9)

The fact that it’s very difficult to make money with proprietary software is probably even more true for China. In a country in which nobody is actually willing to pay for software, the question should not be: “How can we make money with FOSS?”, but rather: “How can we make money with software?”. But let’s first continue looking at the original question. As Robert Young puts it, in some cases using FOSS can even be a competitive advantage:

“Marketing with skill and imagination, particularly in highly competitive markets, requires that you offer solutions to your customers that others cannot or will not match. To that end Open Source is not a liability but a competitive advantage. The Open Source development model produces software that is stable, flexible, and highly customizable. So the vendor of open-source software starts with a quality product. The trick is to devise an effective way to make money delivering the benefits of open-source software to you clients.” (chapter 9)

This is exactly what I tried to say when I tried to answer the question. I told them that FOSS allowed them to start off with a high-quality source base rather than reimplementing everything from scratch, that open source made it easier (and affordable) to build highly customised products, I mentioned that in the West many businesses have been created because of the relative low cost of building software on top of FOSS. However, all these explanations were countered with more questions and strange looks.

Today, I believe that Robert Young does successfully answer the question of how to make money with FOSS. I also think that my answers were not totally wrong, though I simply missed one important fact: That making money with FOSS doesn’t have to be harder than making money with proprietary software. And thanks to Robert Young, I believe that the real question should be “How can we make money with software?”, and more specifically, “How can we make money with software in China?”.

FOSS in China: Hypotheses

Wednesday, August 6th, 2008

I have spent a bit over three months in China, trying to find out how FOSS is organised and how it’s different in China from what we see the West. When I met Basile two weeks ago in Beijing, we have come up with the following hypotheses:

  • Language is an impediment. Most FOSS activities take place in English.
  • There is no culture of innovation in China.
  • The discussion culture in FOSS projects is too confrontational.
  • FOSS is still too young in China to be successful.
  • There is only little support for FOSS in the Chinese software industry. Piracy has a negative effect on the creation of a proper software industry in general. Customers are not willing to pay for software.
  • Students don’t learn about FOSS at universities and hence don’t know about it.
  • Individuals can’t make money with FOSS in China.
  • Chinese government policies are not favourable towards FOSS.

These hypotheses are an extension to the ones presented in an earlier entry I have posted in February. They are specifically applied to China (because that’s the country I am currently studying) rather than Asia in general, though I do think that most of them could be applied to other countries like Thailand too.

Despite the fact that these hypotheses are rather negative in their formulation and might have some other shortcomings, I believe that they provide a good basis for further discussions. Also, hypotheses are there to be proved or disproved, they don’t need to be valid in the first place.

Why am I posting this?

Because I would like to get some feedback. I would love to know if there is something completely wrong with them, if I have totally missed the point, if I have forgotten something important, or anything else you have thought of while reading them. Please let me know :).

About Modifiability

Wednesday, August 6th, 2008
Technical objects define in their configuration a certain partition of the physical and social world, they attribute roles to certain types of actors - humans and non-humans - and exclude others, they authorise certain modes of relations between these different actors […] in such a way that they participate as a whole to the construction of a culture in the anthropological sense of the term, and, at the same time, they become enforced mediators in all relations that we are maintaining with the “real”.

Madelaine Akrich, Comment décrire les objets techniques?

Later in her paper, Madelaine Akrich introduces the term “script” to refer to the behaviour of a technical object. The “script” is the program which the original developers write in order to define how the object can be used by its users.

For the purpose of studying FOSS in Asia, the technical object would be a piece of FOS software, its behaviour is defined by the source code, and the users are people who are using this software from within the borders of what is defined as Asia.

However, the scope of my master thesis as described above is not complete. FOS software has a specific characteristic which is related to it’s licensing terms. I don’t want to enter into FOSS licensing in detail, but I would like to emphasise one interesting aspect of open source software: modifiability. This means, we can take a piece of existing FOS software and tailor it to our needs. Going back to Madelaine Akrich’s definition of the “script”, this means that the “script” can be modified by its users. We are thus moving away from the traditional developer-user model to a more distributed open source community development model. In FOSS, users are not stuck with a pre-defined script, rather they are encouraged to change the script according to their needs. This in turn, forces users to think about the software in terms of its utility to an individual.

To be honest, the source code or “script” cannot be changed by any random user. Instead, this freedom is restricted to people who are familiar with computer programming. However, FOSS has made it easy for users to give feedback, propose new features, and report bugs. You don’t need to be a programmer to do this, though you still need to be able to use a computer and run the program.

Implementing modifiability into objects is not new, although the open source movement and its derivatives have been strongly promoted lately. In his book Two Bits, Kelty investigates the impact of modifiability on culture, he writes:

But what is the cultural significance of modifiability? What does it mean to plan in modifiability to culture, to music, to education and science? At a clerical level, such a question is obvious whenever a scholar cannot recover a document written in WordPerfect 2.0 or on a disk for which there are no longer disk drives, or when a library archive considers saving both the media and the machines that read that media. Modifiability is an imperative for building infrastructures that can last longer. However, it is not only a solution to a clerical problem: it creates new possibilities and new problems for long-settled practices like publication, or the goals and structure of intellectual-property systems, or the definition of the finality, lifetime, monumentality, and especially, the identity of a work. Long-settled, seemingly unassailable practices — like the authority of published books or the power of governments to control information—are suddenly confounded and denaturalized by the techniques of modifiability. (page 12)

Modifiability is at the core of FOSS. It’s one of the main reasons why FOSS communities have emerged. It’s at the base of almost all discussions on mailinglists, forums, IRC channels and FOSS events. The users and developers can decide the future of the software by participating in these discussions. The fact that a FOSS culture has emerged around open source software, proves Madelaine Akrich’s point that technical objetcts are important elements in the construction of cultures. And, of course, despite it’s modifiability, FOS software has a “script” which clearly defines how it’s supposed to be used

Random Thoughts

Tuesday, July 8th, 2008

I have been in China for almost three months now. I have attended quite a number of FOSS-related events, have spoken to many people, and observed everyday programming at Exoweb. I have taken notes, asked questions, actively participated, and helped organising events. I now have a large pile of important-looking business cards, some new contacts on GTalk, Twitter, Facebook, and a wiki full of words describing what I have experienced, but I am still struggling to describe open source in China.

So far it seems that FOSS in China is mainly about talks, about promotion, about words, not that much about code. When it comes to software, China and Thailand are special cases: Software is generally available for free or little money, independent of it being open source or not. Piracy is omnipresent, licenses don’t exist. It seems almost impossible to make money with software development in China. People just don’t want to pay for it.

Questions

How does this influence software development in China? Are there new business models emerging from this? Is there a need for China to have a software industry at all? How does it influence innovation and creativity? How do existing software development companies survive? What about web (2.0) development?

In Beijing

Sunday, May 11th, 2008

I came to Beijing a bit over a week ago to start the field study for my thesis on Open Source in China. I was quite sad to leave Thailand and Codegent, but I had always planned to go to China, so it doesn’t really come as a surprise. Additionally,  I was offered a great opportunity to do my research on the job at Exoweb here in Beijing. As an intern, I will be dividing my time between software development and open source, and, of course, I will regularly blog about my experiences. Looking forward to what comes next…

A Thought Experiment

Saturday, May 3rd, 2008
“every time you want to know what a nonhuman does, simply imagine what other humans or other nonhumans would have to do were this character not present.”

Bruno Latour in Mixing Humans and NonHumans Together: The Sociology of a Door-Closer, p. 299.

Inspired by this paper by Basile Zimmermann, I would like to do a small thought experiment about open source development using Latour’s citation as a starting point. It’s almost impossible to imagine open source software without nonhumans. A nonhuman is a object which plays a specific role in a certain context. For example, the remote control allows the human TV watcher to control the TV from the couch without standing up to change the TV settings from the TV itself.

To start with, I would like to create a non-exhaustive list of human and nonhuman actors in open source development. Nonhuman actors include: the developer’s computer, the servers on which the project is hosted, the bug tracking system, the code repository, the IRC channel, the project website, the mailinglist, the code files themselves, binary packages, the software running on the developer’s computer, the software running on the server, etc. Human actors are: the developer, a “community” of developers around the world working on the project, the project maintainer, the server administrator, the people who have manufactured the developer’s computer. I think you can see where this is leading. The idea is to show that a single developer sitting in front of his computer is connected to a huge network of humans and nonhumans who “help” him complete the task. Some of them, like the computer manufacturers, have played a more important role in the past, but they continue to be a part of the developers’ current work.

Now, let’s try removing a nonhuman actor. I’ll choose the most obvious one, the developer’s computer. If the developer doesn’t have a computer, how can he contribute to the open source project? In this case, the answer is quite obvious: He will have to find another computer to replace it. However, a computer cannot simply be replaced by another one as the open source software he is working on might require a specific software setup. If the developer has access to a university lab, he could go there and start setting up a computer. He might first have to ask the university’s administration, if he is allowed to configure the computer and install software. And if not, he will need to follow a procedure to receive this permission. Once he has access to the computer and set up the operating system and the required software, he could start working on the project. However, the university lab might have specific opeingn hours, and our developer will again have to deal with the university administration to receive a key to access the lab whenever he wants.

What do we learn from that? A developer’s computer can only be replaced by another computer. To really replace the computer all together, it would be necessary to rebuild a computer from scratch with all the people and technologies involved in computer production. We also see that if our developer doesn’t own a computer, he will need to go through a more or less complicated set of steps to obtain access to one.

To conclude the thought experiment, let’s imagine the code repository is not present. That means, there is no way to access the source code online, to commit to a common code base, and to obtain the latest version of the trunk. In this case, the source code could be maintained by the project maintainer. That means, if our developer wants to contribute to the project, he will first need to obtain the latest version of the code. He would thus need to write an email to the project maintainer and ask for it. Once the developer has made a change, he would need to send the code back. If the project receives code from several developers, the maintainer would need to merge the code into the main version each time. Merging the code without software means that the maintainer would first need to find out which files have been changed and then open these files and compare them line by line to see what changes have been made. Additionally, after each merge, he will need to test if the software still works as required and if the features added really did what they promised to do. These are all tasks that are generally done by the community when a source repository is present.

So, what is this post about? It’s about to show how complex open source development is, how many actors, human and nonhuman play a crucial role in it’s existence, and what impediments can occur when one or several of the actors are missing.

Getting started with open source

Tuesday, March 25th, 2008

Getting started with open source development is not as easy as one would think after all. In chapter 5 of her thesis, Evangelina Berdou explains the entry barriers which have to be overcome by newbies. As she explains very well, there are several aspects which should not be underestimated:

“Despite their open collaborative character, F/OS communities are characterized by significant barriers to entry. The stumbling blocks to participation can be categorized into three broad categories. First, there are difficulties associated with the technical aspects and tools of F/OS development, such as the use of CVS. Secondly, there are conceptual difficulties related to understanding the development process and the architecture of the program, how they are set up, how things fit and how they are expected to be put together. Thirdly, there are difficulties related to how newbies situate themselves in the development process, where they start and what are the tasks most appropriate to their skill levels.”

To contribute to an open source project, newbies will first have to learn how to check out the newest code (often referred to as trunk) from the code repository (like SVN, CVS, or GIT), and how to build it from source with all the necessary compilers, dependencies, and tools. For someone who is not familiar with these processes and methods, this is very often far from straightforward.

Once they have been able to build the software, they will need to find an appropriate task to work on. In most cases, the first task will be a simple bug fix and result in a patch that can be submitted to the codebase. However, finding a task is not as easy as one might think. It often involves reading the mailing list archives, following discussions on IRC, as well as reading bug reports, find out who is working on which bug, and which bugs are yet to be solved. An easier way to get started with development is, to first start working on the non-coding parts of the project as a way to learn more about the project’s community organisation and technical details. Starting off with documentation, bug reporting, bug reproduction, and translation work is often cited as a very good way to make a first step towards contribution. Some projects offer mentoring for new developers which is another great way to get started.

While writing code for contribution, a newbie has to learn about the coding guidelines of the community. What is best practice for customizing the software’s view? Does this code really belong in the core? Where do I define my constants? How do I document my code? Where do I place my files? Once a patch has been written, the newbie will have to learn how to submit it to the community. I have quite often seen people entering an IRC channel and saying that they have implemented some code that they would like to contribute to the project, so this seems to be a real issue. Depending on the project, the process of contribution might be only poorly documented. As a matter of fact, Evangelina Berdou has cited the fragmented nature of documentation as one of the main difficulties for newcomers.

After submitting the patch, the developer can do nothing much but wait for the verdict of the community. Although in most cases, the contribution is very much appreciated, it might happen that the code is being publicly criticised or not accepted into the trunk. Depending on the project, the contributor might simply never get any feedback from the community. Most communities, however, tend to stress the importance of giving feedback to its contributors.

Now, having committed a first patch is a good start. However, developers who occasionally submit a piece of code, will always depend on other people to add the code to the project’s trunk. In most open source projects, only core developers and a few selected individuals have direct commit access to the code repository.

This morning on Ubuntu IRC

Sunday, March 23rd, 2008

#ubuntu, 1150 users
CDOG :: bhlewis, well youve been great help, i guess i can feel safe now.. the person who tried to login, i do know who it is, is just such an ass, when will he ever get a life. Bye and thanks again
fab4fan :: hi all
tux97 :: hi fab4fan
fab4fan :: I need some help with partitioning a hard drive
-- lekkijo_ has quit ("Ex-Chat")
fab4fan :: it's a 40GB second drive
nickeldeuce :: so whenever i have compiz running, i randomly lose keyboard input in a particular application. anyone heard of this before?
* TerminusEst slaps fab4fan around a bit with a large trout
fab4fan :: I've got it partitioned but it's not showing up in "places"
DistroJockey :: Zimbo: I guess if you were scripting, --option would be easier to follow. But if you are doing a one off quicky, -o is quicker.
-- _moro_bana_ has quit (Read error: 110 (Connection timed out))
TerminusEst :: which partitioner?
nickeldeuce :: Zimbo, it has to do with the origin of the utility
-- :: barslow (n=rahduke@pool-71-167-134-119.nycmny.fios.verizon.net) has joined #ubuntu
fab4fan :: Gpart
-- :: Little`Sister (n=satanjon@12-205-166-132.client.mchsi.com) has joined #ubuntu
nickeldeuce :: GNU had a different convention than everyone else
kdorf :: nickeldeuce: I've had it happen before. Compiz is a bit buggy, that's what I would attribute it to
spudratic :: later all happy Easter to those who partake
Rubie :: i use wireless key view and it gives me this: http://farm3.static.flickr.com/2337/2353152859_73de2f2da4.jpg?v=0
kdorf :: nickeldeuce: try restarting compiz.
-- spudratic (n=spudrati@adsl-75-58-116-92.dsl.wlfrct.sbcglobal.net) has left #ubuntu ("Konversation terminated!")
IndyGunFreak has quit ("Ex-Chat")
nickeldeuce :: it does it nearly every time i log in, so i dunno how that would help
Zimbo :: ok, thanks guys, those are pretty good reasons
fab4fan :: when I edited the fstab file it created a new one called fstab~
nickeldeuce :: :P
TerminusEst :: partitioned as Ext2?
Zimbo :: I'm sure it was something Richard Stallman came up with one day at lunch :-)
fab4fan :: terminus: no Ext3
-- goose_ has quit ("Leaving")
DistroJockey :: :)
nikrud :: never thought stallman needed to eat
TerminusEst :: hummm
barslow :: hello, i broke my ubuntu partition, so i reinstalled a new version on a different HD.... now i want to edit files on the broken partition but i dont have read/write access.... can someone help?
Rubie :: fourx4luvn i use wireless key view and it gives me this: http://farm3.static.flickr.com/2337/2353152859_73de2f2da4.jpg?v=0
cory__ :: Well poop
kdorf :: nickeldeuce: you lose all keyboard input in one particular application, is that correct?
Rubie :: fourx4luvn and the key is 9faaa41359297209c77ca2181d15ca53592385e635ecb3c6702f017c72215f6a
TerminusEst :: strange, i got this same problem with 6.10 once
bhlewis :: CDOG: good luck dealing with that person
cory__ :: I have sound when i test, but not in game..lol
druke :: what is the package to needed to open .rar files
kdorf :: cory__: run winecfg and try setting your sound to ALSA
ani1 :: unrar druke
-- Little`Sister (n=satanjon@12-205-166-132.client.mchsi.com) has left #ubuntu
Scunizi has quit (Remote closed the connection)
TerminusEst :: but when i upgraded to feisty it disappeared
Rubie :: now what i'm supposed to do with that i don't know
druke :: ani1, ah hah!! thanks
nikrud :: barslow is the old partition mounted, and is it ext3?
-- :: Vecnah (n=vec@vecna.vecnix.net) has joined #ubuntu
Zimbo :: I read somewhere that he claims to live in his office at times... apparently he's still being paid as a post-doc and hence never had the money to buy a real house. I expect he's quite a character in person...
fab4fan :: terminus: I found the ubuntu help page and got the fstab file edited
nickeldeuce :: yep
hischild :: druke, that'd be unrar if i'm correct
Rubie :: druke it should just let you do it in ubuntu
fab4fan :: why did gedit save fstab as fstab~
druke :: Rubie, nope need unrar, couldn't recall the name
ani1 :: fab4fan: its a backup file fstab~ is
TerminusEst :: fab4fan: backup file
nickeldeuce :: kdorf, sometimes i can go for hours, other times it happens after typing a few words
--- Frogzoo_ is now known as frogzoo
ani1 :: fab4fan: run diff on them you'll see the difference :)
barslow :: nikrud: i can mount and browse and yes it is ext3, i just cant edit
-- zero88 has quit (Remote closed the connection)
-- :: wind1159 (n=Kevin@ip-129-15-127-253.fennfwsm.ou.edu) has joined #ubuntu
fab4fan :: ani1: ok, I can understand that but why are the changes appearing in the backup and not the primary ?

#ubuntu+1, 265 users
ani1 :: fab4fan: you must have opened the incorrect file :| just edit fstab again
RioMerc :: I'm having some difficulty setting up dual monitors
druke :: Rubie, in hardy beta I couldn't till just now, (after isntalling the unrar package)
kdorf :: nickeldeuce: there's probably something triggering it. I don't know a whole lot about the workings of compiz but I might conjecture that there is a keyboard conflict or something which causes things to but out. just throwing ideas out, though
nikrud :: fab4fan do you have an fstab~~ ?
fab4fan :: yup, ok, I'll try again
no
kdorf :: bug out*
Zimbo :: Silly question #2: If bzip2 is supposedly better than gzip, why is most everything in Ubuntu .tgz format bather than .bgz? Just historical inertia?
cory__ :: yea.. i get bad FPS now
Rubie :: druke awwkay that clears up my confusion
ani1 :: nikrud: can that happen?
astro76 :: Zimbo: bzip compression is *slow*
honeypot :: excuse me, i have a question, somebody know how can i limit the upload rate on linux machine
-- JDStone has quit ("Leaving")
nikrud :: ani1 I've done it
-- Ttech has quit ("Going!")
ani1 :: heh
never knew
-- :: Ttech (n=ttech@fullcirclemagazine/developer/ttech) has joined #ubuntu
druke :: Rubie, ;) np
cory__ :: Hmmm
-- sven_oostenbrink has quit (Remote closed the connection)
TerminusEst :: Somebody here programs in C language?
RioMerc :: I'm having some difficulty setting up Dual Monitors on my system, specifically: Everything.
ani1 :: !ot | TerminusEst
ubotu :: TerminusEst: #ubuntu is the Ubuntu support channel, #ubuntu+1 supports the development version of Ubuntu and #ubuntu-offtopic is for random chatter. Welcome!
-- foolz has quit ("Leaving")
Cpudan80 :: TerminusEst: ##C
Starnestommy :: TerminusEst: maybe ##C
-- gandalfcome_ has quit (Read error: 110 (Connection timed out))

#ubuntu-cn, 54 users
fanhe :: 找到了,搞定了
Fong :: 我想問下,Firefox能瀏覽Silverlight的網頁嗎?
fanhe :: 原来是我眼睛有点问题。。。
-- :: flynui (n=flynui@220.174.138.185) has joined #ubuntu-cn
ken :: 请教: 除了Fctix之外, 还有些啥用Linux下面好用的五笔?
zhan :: fcitx ....
-- Jonie has quit (Read error: 110 (Connection timed out))
suuuuuber has quit ("CGI:IRC")
-- :: w3d1w4 (n=wdw@218.11.54.104) has joined #ubuntu-cn
w3d1w4 :: llsd
-- void1 has quit ("Leaving.")
w3d1w4 (n=wdw@218.11.54.104) has left #ubuntu-cn
-- :: U41905 (n=U41905@59.36.101.19) has joined #ubuntu-cn
U41905 :: 请问,apt-get remove package的时候会不会把它依赖的包也删掉??
-- jack__ has quit (Read error: 110 (Connection timed out))
ken :: 谢谢纠正我的写法, 请问有无其他推荐?
-- :: pingz (n=pingzh@58.213.19.132) has joined #ubuntu-cn
manphiz :: U41905: 不会,需要再次 apt-get autoremove
U41905 :: 哦。谢谢!!!
-- ipluss has quit (Remote closed the connection)
--- You are now known as muriel
zhan :: 那个问题多多的 scim 里面也是有 五笔的
AutumnCat :: zhanzhanzhanzhanzhanzhan~ ....
zhan :: 猫球
AutumnCat :: zhanGirl 呢..
zhan :: 被 fideasGirl 抢走了
AutumnCat :: fideasGirl: ...
fideasGirl :: AutumnCat,他是男的还是要努力的哦.
AutumnCat :: fideasGirl: fideas
fideasGirl :: AutumnCat,Fideas是神.
AutumnCat :: -_-!..
-- :: MrUbu (n=chatzill@218.11.54.104) has joined #ubuntu-cn
-- MrUbu has quit (Client Quit)
zhan :: 你看, fideas 手段太毒了...
--- class_a{} is now known as for
Epocher :: ...
-- syanddylf has quit ("Leaving.")
Epocher :: fideasGirl: fideas是全身杂毛的雕!
fideasGirl :: Epocher,雕有杂毛.
zhan :: 哈哈
-- :: bashohIII (n=bashohII@60-62-87-130.rev.home.ne.jp) has joined #ubuntu-cn
--- for is now known as fatalerror

#ubuntu-offtopic,181 users
macogw :: spudratic: dunno
spudratic :: ok people so long and happy Easter to all
either do I lol
pppoe_dude :: what does happy easter exactly mean
i mean... i've been saying it for ages,
but really i don't think it actually has any meaning
macogw :: have a happy day on easter sunday, i assume
spudratic :: the sun is coming back to the north of the equator
rodserling :: Lynoure, there's a packaged ircii?
Lynoure :: pppoe_dude: some religious holiday... :)
-- :: bashohIII (n=bashohII@60-62-87-130.rev.home.ne.jp) has joined #ubuntu-offtopic
Lynoure :: rodserling: yeah.
rodserling :: what's it called?
pppoe_dude :: macogw, well i might as well tell you "happy day!"
macogw :: you could go about saying "xristos voskrese" tomorrow instead
Lynoure :: rodserling: ircii
pppoe_dude :: any day of the week :)
Lynoure :: rodserling: ircii - Internet Relay Chat client
macogw :: it's russian for "christ is risen"
Lynoure :: rodserling: time you learn your apt-cache, boy :)
pppoe_dude :: happy first day of spring sounds like a nice thing to say, on the first day of spring
rodserling :: I did :D
macogw :: the traditional response is "voistinnu voskrese" (indeed he is risen)
rodserling :: lynoure for some reason I look before
and it wasn't there
macogw :: easter's not the first day of spring...
it's the first sunday after the first full moon of spring
rodserling :: Must have misspelled it
spudratic :: no that christmass lol
pppoe_dude :: macogw, i never said it was
rodserling :: But I got it, thanks Lynoure
Lynoure :: rodserling: :)
pppoe_dude :: i said it would be a nice thing to say on the first day of spring
spudratic :: dies for three days then begins to move again
the sun that is
pppoe_dude :: also, easter is a pagan holiday iirc
or derived from a pagan holiday

IRC talks

Saturday, March 22nd, 2008

This post is part of a series of posts I am planning to write on communication over the internet. The style is slightly different from my previous posts as I am trying to use a more ’sociological’ approach to writing as an exercise for my master thesis.

It’s 11.35, I got up a few hours ago, started my two computers, reinstalled Ubuntu on my old one after not being able to make wlan run with Nexenta OS. While installing the updates for Ubuntu Gutsy on one computer, I start up my gmail, xchat-gnome, and skype on my other one. I was not able to use wireless on my new computer so far, but now it seems to work. I am just not sure how long it will last before it freezes again. I installed the proper drivers yesterday, but in a first test, it still didn’t seem to work. Maybe today’s Ubuntu Hardy updates did the trick to stabilize NetworkManager for my wlan card. It will take some time to test this though. So far, I am just happy it works.

It’s Saturday morning, Easter for Christians, most IRC channels are empty. I can see people in the channels, but there is only little discussion going on. Most of the people on IRC I know, just leave their computers on, so their name shows up in the user list, but they are really away from keyboard (afk). Some people have their IRC software configured to start up automatically when they start their computers. Most of them connect to the same channels on each startup. I currently have 18 channels in my list. However, as I am working on a new computer, I will most likely add some more channels today. I used to be in about 30 channels, but I forgot to backup my settings for gnome-xchat, I don’t want to go digg into my 3 gigabyte backup of my old system.

In most channels I am just a listener, observing what is going on. The programming language (e.g. python, ruby, erlang) and framework channels (e.g. rubyonrails, django) are always quite busy. Except if I have a question or there is a discussion about something I am familiar with, I won’t speak on these channels. I do believe though that they are a good place to see what’s happening in the programming communities. I often also pick up new technologies and stuff there that I would have not necessarily found in other places like Google search or blogs.

Right now, gnome-xchat shows activities in the channels django, haskell, python, rubyonrails, ubuntu-cn (all freenode), as well as the ubuntu channel (ubuntu server). All other channels just display notifications about who has entered and who has left. If a channel is very inactive, the log will only contain messages of people entering and leaving. Some channels I am in, are used for internal company discussions. Many companies seem to use IRC nowadays. Other channels are for events like Barcamp Bangkok, or the GNOME Asia Summit with discussions among people who know each other and who are in the channel to keep in touch, discuss event organization, technical questions, and whatever else they want to share with the channel users. On the other channels, I only know people by their IRC nicknames. Depending on where people live, they have different rhythms on IRC. European users generally log in when it’s afternoon in Asia, and American will say ‘good morning’ when I am ready to go to sleep.

Currently I am only in one channel that requires the UTF-8 character set. It’s ubuntu-cn (freenode) which is for discussions on Ubuntu in Chinese. It’s a very active channel with people constantly posting questions, answers, and remarks. At this time, they are 50 persons logged in. Unfortunately, all discussions are in Chinese. But from the English bits of text like Linux commands and user status notifications, I can partly guess what is being discussed.

As I am writing this, the computer makes regularly beeps whenever a Twitter update comes in. I have only joined Twitter some months ago, but since I have decided to follow a few people, it has become more and more an interesting tool to communicate and just send out unimportant stuff about myself. Among the people around Barcamp Bangkok, there are a number of very active Twitter users, so while I am writing this, I am constantly informed about what they are currently doing. Twitter is also used as a way of communication similar to IRC for Barcamp Bangkok. As a matter of fact, Twitter is currently even more active than the IRC channel.

Open Source in Asia

Thursday, February 21st, 2008

At LIFT08, Gen Kanai gave a very insightful talk about the state of open source in Asia. In his presentation, he mentions this interview with Linus Torvalds where Linus cites the following reasons for the low participation in open source in regions other than North America and Western Europe:

  • Language
  • Culture
  • Education

Gen Kanai adds another factor this list:

  • Economy

Language

Language is definitely a problem, at least from what I have seen in Thailand. However, even though Thai developers don’t tend to speak much English (probably they are just shy), they have a very good notion of written English. The same is valid for China. Hence, language as such is an issue, but probably not the main reason why open source contributions from Asia are scarce.

Culture

Culture is a big word. It can incluce pretty much anything, and it’s often very easy to say that culture is a problem. From what I have heard at the Linux Developer Symposium in Beijing, Gen Kanai’s talk at LIFT08, and some other sources, one main issue is considered to be the “direct” communication among community members. Mailinglist posts sometimes can be quite rude and it’s definitely not considered polite by Asian standards. However, it’s not considered polite by western standards either. Andrew Morton insisted at the Linux Developer Symposium on not taking these reactions too personal:

“The problem is, one person says something, and though not everyone agrees, nobody contradicts. Today it’s not as bad as it used to be, and it’s important not to forget: these people don’t speak for anybody else, they only speak for themselves.”

Although I do think that rudeness is a problem, I am not sure about how much this problem is related to culture. I mean, why are there only few women involved in software development in general and open source in particular? I think this is at least partly due to the fact that open source development is dominated by Western males. I believe that if more women were involved in open source, it would become more attractive for other women. The same holds for Asians. If they see that other Asians are involved, they will be more motivated to join. People tend to hang out with people who share common backgrounds and interests.

Education

I don’t agree with Linus in this point. He says that education is not a problem for Asia. However, I do believe it is a problem. Not education in a general term, but more specifically education in the sense of creating awareness about open source. It seems that open source as it is taught at universities in Thailand and China, is mainly concerned with how to make use of open source without mentioning communites, philosophy, and participation.

Now thinking back, when I was at university, I am quite sure that I didn’t hear about open source from a professor. It was all implicit. Most computers ran Linux, all software developed by the university was freely available online, everyone, including professors, assistants, and students simply lived open source. There was no need to explicitely teach us. What does that mean for Asia? Probably, universities in Asia (though I only can speak for Thailand and China), do not really “live”open source, the students therefore don’t have enough examples and don’t get inspired by the open source spirit. I don’t think Asia needs government support as it was discussed at the Linux Developer Symposium. I think all it needs are role models, individuals who are passionate about open source, who are actively involved in the community and who are motivating other people to do the same thing.

Economy

Economy is definitely a reason why companies don’t contribute to open source. Often, tight schedules, lack of human resources and so on will prevent them from doing so. Additionally, the traditional view of competition in the software sector continues to prevail in many parts of Asia, and the open source business model hasn’t reached many companies yet. I met some developers at the symposium who worked for companies which prohibited contributing code to open source. As, according to Jonathon Corbet, about 75 percent of the Linux kernel developers are doing their development as part of their job, this is a major issue. Moreover, working hours in some Asian companies tend to be very long for different, mostly “cultural” reasons. That means that the developers’ free time can be very short and does hardly allow them to participate in an open source project. I have also heard of cases in which companies actually claimed ownership for any code a developer produced while working for them. Hence, economy is probably the main reason for the low participation of Asia in open source.