March 17, 2008

Updates: SOC Orgs selected, Funabol CEO ignorantly slags on Google and I visit the National Ignition Facility

What a day! We announced the organizations that we selected to take part in the Summer of Code today. This is the culmination of days of review, looking at over 500 organizations. This was an incredibly hard thing to do. This year the quality of the applications was incredibly high. So high in fact that we chose to take on a good 30+ new organizations, but we still had to turn the majority of the applying organizations down. The program is only so big, after all.

One of the unfortunate disappointments of the Summer of Code is how few large companies have taken on this model of large scale, broadly expansive open source benefit. I'd like to see companies that benefit so much from Open Source from open up the kitty and run similar programs. I'm not going to name names here, but there is a lot of companies saying they love open source, but seem to only look after a very small number of projects, and for very little actual larger impact.

I won't lie, the Summer of Code could be seen as expensive, for sure. Google will spend over 5 million dollars on it this year alone, but it represents a terrific way to support the overall ecosystem of open source development. At the very least, there are three more seasons wide open for this if other companies would like to run similar programs :-) Combined with our other open source programs, including generating millions of lines of code since its inception, and hosting 80,000+ projects, I'm really proud of our work as a company in the open source world.

Which brings me to recent comments from folks at Funambol and a few others online. The argument goes like this: Since Google doesn't support their pet project/license or whatever, we are abusing open source. This is ignorant at best and pathetic at worst. Mind you: I think it is okay to say that you'd like us to give back more, or release some piece of technology, as it is natural to want this, but to then say we are abusing the GPL or some of other license is absurd.

I'll say this: People who use the words "ASP loophole" need to go back and read , carefully, the 2 most recent versions of the GPL. There is a reason there is no expansive language that would preclude ASP use of these licenses without incurring the need to redistribute code. The reason is that once you define distribution as web performance, or performance via a network port, it is difficult to understand where the redistribution requirements end. This means that simple tcp/ip communications over the internet, REST and AJAX calls could be considered infecting in an expansive reading of the license.

I'd like to share my thinking on the AGPL, so here is inside baseball of this: The AGPLv3 says this in its preamble:

To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.

But then in sections 10 and 13 , it says:

In 10) Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License.

In 13) Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software.

So I would say that these concepts and specifically when conveying is distribution need some annealing before we consider the AGPLv3 an understood license. We should see how the proponents of the AGPL (primarily SaaS vendors and the like) interpret these clauses and what they expect of the users of this software. In short: I think the AGPL needs work or more history by a much greater number of adopters before I consider it usable.

To wrap up open source talk, one last thing: a pet peeve, GFS is a userspace filesystem, for cripes sake, not a kernel filesystem. See section 2.3 of the GFS paper if you care to read more about the design of GFS. It is an awesome paper.

The National Ignition Facility:

I got a tour today of the laser bays, target area and the rest at the NIF. It was so cool. That's really all I have to say about it. Wow. It is such a remarkable project. I mean, holy crow, it was so cool. That's all.


Fabrizio said...

Hi Chris,
thanks for calling me ignorant and pathetic :-))

Apologies if I said something you disagree with. I had a feeling you did not like AGPL and I have a sense why Google as a whole might like GPL over AGPL.

As an open source person at heart, I still prefer AGPL for my project, since I dislike the idea of someone taking my code and running it as a service, without returning anything back to my community. I might be wrong, but I love open source because of the sharing concept. The take it and run with it bothers me and will always bother me (I have seen it happening to me in the past and it sucks when you see your work "abused" by others for their business goals).

On the technicalities of the license, I am definitely not the right person (I am not a lawyer, thank God) to argue on it. I love the concept, that distribution as a service is just as distribution in a floppy.

BTW, the name of the project is Funambol, not Funambol.



Andrew said...

I agree with you on this Chris, it drives me crazy when people with little understanding of programming, the misinformed open source zealot users (different from the normal open source users that understand the dynamics) go on and on and on like it is their God Given right to be able to have any code they want.

The same happens with Canonical with the whole "not open sourcing" debacle.

I just simply don't agree that everything I write should be released. How dare anyone tell me what to do with yours, mine or anyone else's private, unreleased modifications.

I have two PHP open source projects both under GPL3 and people can do what they want to them. That's why I released them as GPL in the first place. If I wanted private modifications then I doubt anyone would want to use my projects.

With that being said it would be great if Google did more to support development of their apps on Linux. I use Ubuntu for example and could really use a good GTalk client.

I wouldn't know if Google could do that, I know that the specs on the protocols were released, but I'd still prefer an official client which can do all the things that the windows client does (voip, leaving answer phone voice messages, logging chat to gmail, etc).

Wine really isn't an option for the GTalk client because it requires an encryption library which isn't supported in Wine yet.(?)

I don't quite understand why Google doesn't release the Client as open source, wouldn't it mean more people could port the client to different OS's and devices?

To be honest as an outsider looking in it looks like Google is more interested in mobile phones now, so it has dropped support for all its other projects such as Gtalk to focus on that.

I guess what I am saying is I wished Google played a bigger part in supporting their own products.

As a student myself I'd love to participate in the Summer of Code but it doesn't seem to sync up to England's Holidays (Can international students apply?).

I'm on a game programming course and right now I have one team project to finish up our game we've been developing since the start of the year and another is an individual project to put shaders in a game engine we have made, then there are the exams, ugh..

Anyway I am glad that Google takes such a great position of supporting students in such a generous manner and I hope it continues into the future. Also, please keep writing to your blog! ^_^