Inside Exoweb: FOSS
May 25th, 2008Exoweb shows a strong commitment to Free and Open Source Software (FOSS), most of the computers run Linux, much of the software developed is based on Python’s Django framework, and a few people are actively involved in Open Source projects. One of my tasks at Exoweb is to strengthen the relations between Exoweb and the FOSS communities by encouraging FOSS-related activities, and finding ways for Exoweb to collaborate with the communities.
The Open Source Business Model
I was invited to a discussion about Open Source in China at the Programmer magazine two weeks ago, and one of the things I learned was that companies trying to build on FOSS don’t seem to be very successful in China, and many of them are struggling for survival. One of their main worries is how to actually make money with Open Source. Of course it is true that if a company wants to build a completely new FOSS product, it would be hard to find a way to finance the development.
However, as the Exoweb example shows, you don’t really need to start with a new product, but you could just build your business based on existing FOSS software. In that case, the company doesn’t need to invest in product development at all, but can immediately start their business by customising an existing product for the needs of their customers. This is one of the main reasons why the FOSS business model has proved to be so successful in the West.
Contributing Back
Using FOSS products is an excellent way to get started. And once you have become fairly familiar with the internals of the products you are using, you will might start building your own reusable components based on the existing software. You might also discover bugs, fix them, and send patches to the community. As this will improve your final product you are building for a client, the time spent on building components and patches can be, at least partly, covered by the customer’s mandate. Of course, the client has to agree to that, especially if the code is being published with an Open Source license.
However, contributing to FOSS might in many cases require more time than just writing the code for a specific project. The patch has to be documented and packaged according to the the FOSS project’s standards, and the the reusable components have to be maintained and improved to guarantee future reusability. While one can easily understand the reasons for contributing back a patch, questions might arise as for the components to be open sourced or not. In some cases, like Linux which is based on GPL, developers are in theory constrained by the original project’s license. Though despite this fact, I strongly doubt that the GPL could be enforced in China.
There could be other reasons for a company to open source a component’s or extension’s code: Maintenance and marketing. When the company is the only owner and developer of the extension, they will be forced to change the code whenever they decide to upgrade to a newer version of the original product. In an Open Source world, however, there might be other developers interested in maintaining the code, or even better, the code is added to the project’s core and is thus maintained by the community. Additionally, creating and maintaining Open Source code can have a considerable marketing effect for the company.
Exoweb and the FOSS World
Exoweb is trying to actively engage in the Django and Python community, as well as other local communities like the Beijing Linux User Group (BLUG). They have hosted the Django Sprint in Beijing in December last year, and are currently planning other similar events. Additionally, some of the teams are developing extensions which they want to add to Django’s contribution repository, and a few developers are working on their own FOSS projects. In order to encourage it’s employees, Exoweb additionally offers a 10 per-cent time during which everyone is free to work on whatever they want. Exoweb also offers hosting for internal FOSS projects on contrib.exoweb.net.
May 26th, 2008 at 3:51 pm
In China, there is a large population of young and elder people. That means the average labor cost on market is very cheap. If chinese software companies only rely on customizing existing FOSS projects, then the business barrier is considered low — I’m not saying that software customization is trivial — and they would be afraid of enormous competitors could flood in. So most companies would establish it’s own brand, IP or proprietary product. They want to be at the upstream of a software value chain.
Also, There are some hidden knowledge in most famous FOSS projects, and China is quite late at entering this field and culture.
If the companies really want to take the tide, embrace the world of hackers and communities, they need a lot of civilian hackers (greenwoods Robinsons), because those elites have already been hired by top 500 big global IT companies. Also, to join the global community, all chinese developers will have to face the language difficulties.
Despite all above, I believe this is changing as the world gets more and more flat.