Few days ago I attended a gorgeously shiny (*) seminar by Fabrizio Capobianco entitled “Mobile Open Source: the Funambol model. US capital and Italian heart”. The abstract said “Funambol is the largest open source project in mobile, now reaching one million downloads. Funambol is also a Silicon Valley company, voted among the top 100 private company in America by Red Herring. Founded by Italian enterpreneurs and backed by US Venture Capitalists, it maintains its R&D center in Italy”.
Fabrizio is CEO of Funambol, he told us about what does it mean to run a company in the Bay Area that develops Open Source software for mobiles. He is very clear, very inspiring and very clever. He knows everything about all the different licences, their advantages and their disadvantages and he has been very successful in using them in the right way for his company. Funambol releases its software under 2 licences: GPL licence is the default but, as you probably know, GPL is persistent: if you take Funambol code under GPL, incorporate in your software and you want to release your software with the Funambol code incorporated, you must release everything under GPL as well. Not everyone wants to release all her software under GPL so, in that case, Funambol can release its software under a licence different from GPL. Of course, while everyone can get the software released under GPL for free, if she wants to get a different licence then she has to get a commercial agreement (i.e. to pay) with Funambol. As simple as that.
This is somehow similar to what MySQL company does but it has peculiar characteristics as well.
Note that in order to do this, Funambol must have the copyright for all the software it releases, and in fact this is so. Programmers who contribute their code have to give the copyright of it to Funambol in order to see it enter into the core code maintained by Funambol.
– So who wants to pay for something that is free? In Funambol case, carriers (Vodafone, T-Mobile, …) which don’t want to release all their code but still want to use Funambol open source code.
– So why don’t a carrier rewrite all the code? What is the real competitive advantage of Funambol?
The community! (Incidentally I have to say that what Funambol code provides does not seem terribly complicated. I’m not saying that it is simple at all, I’m just saying that it might seem simple at first glance.) The best and unique asset of Funambol is the community. They have tons of people (mainly IT technicians working for companies all over the world) downloading their code and testing it (because nowadays every IT manager has just one request from managers “let the emails flow seamlessly to mobiles of workers”, Fabrizio said). All these downloaders test the code, fill bug tickets, sometimes contribute with their code for doing simple tasks like creating a new interface between Funambol and the CMS, CRM, ERP, program, whatever they use in the company. Since downloaders are spread all over the world, they also test the code with all the different carriers and with basically every single possible mobile device and they provide back their little hacks. If a company, say Vodafone, would want to reach the same situation, it should pay thousands of people in every country to do this QA (that means Quality Assessment, during the talk I was dumb enough to think QA was “Question and Answering” and in fact it didn’t make too much sense … uhm). The community is really Funambol unique asset. But not everything is that easy and straightforward of course, a community is made by people who have emotions, believes, their original thinking and in fact the company has to be loyal to the community. Fabrizio said that releasing everything under GPL is a way to be loyal to the community, other companies (I think it was SugarCRM) releseas only 70% of their source code under GPL and the remaining 30% is released under proprietary licences so on the mailing list there are often people complaining about it and contributions are not as many as they could be. Funambol models is very clever and something like “we offer to be the gatekeeper (?!?) for the community, we mantain the software, mailing lists, web sites, but we release everything under GPL so everyone can beneficiate. We just charge people who don’t want to share their code. Basically, you either contribute with your code (enriching the community) or you contribute with your money (again enriching the community because we will use the money in order to create even more code and hence features)”. Can you think of a better model? Someone asked Fabrizio about the risk of forking and the reply was that the risk is always there of course and this is what will always keep them loyal to the community, I think Fabrizio believes profoundly in the philosophy of sharing but, just as with Free Software in general, it is reassuringly to know for everyone that the community or just someone will always be free to fork. Again the keyword here is “freedom”.
– So what is the biggest threat for Funambol model? (I hope you are still with me because now arrives the most interesting part of a talk that was already jawing everyone…) Well, you know, software is moving from software you download to services provided over the Internet. Google Office is different from Microsoft Office since Google does not distribute the software but distibute it as a service. When you distribute as a service, the GPL clause does not trigger and you are not forced to release your code under GPL. Fabrizio believes that 90% of the code will be served as service in few years (I’m not sure about this, but at least I believe so) so, for example, Vodafone will be able to provide Funambol code acquired under GPL (for free) as service and will not be forced to distribute all its code. For this reason, Funambol has created a new licence, the HPL (Honest Public License). But first let me enter into the “was not the GPL version 3 about this in fact?”. Well, again, Fabrizio surprised many of us here. He stated that the initial idea of the Free Software Foundation was to enter this concept “redistributing as service is redistributing (and hence the GPL clause triggers)” but that in fact at the moment there is a huge pressure from big players (read “google”) to not include this aspect in GPL version 3. Why? Because, as you probably know, Google is using GNU/Linux as backend and lots of Free Software. If some of the Free Software they use is released under a “GPL version 2 or higher” they are already in trouble since this might mean that they are forced to release all google code under GPL as well! Ok, Linux, the kernel, is not probably going to move to version 3 soon or ever but still this is a big problem. Basically Google will stop use any software that is released under GPL version 3 or keep the present code and fork on this improving the code (still under version 2) but never releasing it anymore (and the same of course is true for Yahoo!, IBM, …) This could easily be the end of all Free Software… well, I’m not sure I explained it very well, but Fabrizio did! So the final line was something like “if FSF insert this concept in GPL ver. 3, we will release Funambol code under GPL v3, otherwise we will submit our HPL licence for approval to the Open Source Initiative and will release our code under HPL”. So what does the HPL say? It is nothing but a slightly modified version of the GPL that simply adds this clause “distributing as service is distributing”. You can read the diff between GPL and HPL yourself. Stay with me as we go meta here. I have a small doubt. The text of the GPL licence itself is licensed verbatim: “Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.” This probably means that Funambol asked the FSF a licence over the GPL licence in order to be allowed to change it?
Ok, in the last part of the talk (I’m quite surprised on how he was able to compress in few hours so many concepts and to explain all of them terribly clearly and also to reply to all our questions), Fabrizio also shared his insights about the fact outsourcing software development in Italy makes a lot of business sense: basically, (1) Italian programmers are paid very little compared to all the other European Countries, (2) Italy has good protection for copyrights, (3) Italian programmers are in general loyal and (4) there are no venture capitalists in Italy. (2), (3) and (4) means your programmers will not steal your code, run away with it and fund an independent company, something that is more likely to happen, for example, in India.
This is what he calls the “Funambol model” and he is trying to spread it all over the Bay Area. So, please, do come in Italy, do exploit us, we’re waiting! ;-)
Now I try to get the hands on Fabrizio’s slides and update this post with a link to them.
(*) About the “gorgeously shiny seminar” expression, yes, I like to exagerate with adjectives I don’t even precisely know the meaning of. It is one of the pleasures of writing (and speaking) in English I let myself into. Hope you don’t mind.