« Flock 1.0 beta, now with 100% more code review! | Main

Making good on a promise

Back in October 2005, Bart Decrem, then Flock's CEO, wrote the following regarding Flock and licensing its code:

"We currently plan to license open source code that’s created by Flock under the GPL license.  Modifications to Mozilla files will of course be made available under the MPL license.  We plan to ask that community contributors to our code assign copyrights to us, so that we will be able to license code under the MPL/GPL/LGPL triple licensing scheme as appropriate."

The reality is that very little (if any) Flock-original code has been relicensed and pushed back up to Mozilla, almost all Flock-original code is licensed solely under the GPL, and much of the code that is tri-licensed is stuff of little value such as Makefiles.

In my time at Flock, I've heard many theories from different people on why this is.  Some thought it was a conspiracy, meant to prevent the "evil MoCo" from taking the hard work of the nascent Flockers and putting them out of business.  Others said it was simply a philosophical decision on which license provides the most free-as-in-speech freedom.  I personally suspect somewhere in the middle lies reality.

Regardless of why Flock-original code is GPL, the fact remains that it is.  Another fact is that Mozilla will, with rare exception, not include code in Firefox that has not been tri-licensed.  Therefore, Mozilla can not randomly take Flock-original code and include it in Firefox.  When I asked internally about this, I was told something like "if there's some code Mozilla wants, they can ask and we'll consider it."  Great theory, but it's not as if someone from Flock is hanging out in front of Building K (MoCo HQ) actively offering bits of code.  In addition, the idea that Mozilla would be perusing our source repository in search of "the good bits" (pun intended) was laughable.  To my pragmatic mind it sounded as if we were saying "we'll help if asked", but are fully expecting never to be taken up on the offer.

The happy ending to this tale of licensing woe is that at least in one small case, Flock has made good on that promise.  I can't take credit for it, but I'd like to think that my constant nagging^W prodding about "being good community members" and "giving stuff back" had something to do with it.  Here's hoping we'll be able to find more "places" (again, pun intended) where Firefox can get some love back from Flock.

Blogged with the Flock Browser

Tags: ,

TrackBack

TrackBack URL for this entry:
http://weblogs.mozillazine.org/mt/track.cgi/12355

Listed below are links to weblogs that reference Making good on a promise:

» Cooperation from richwklein.com
Lilmatt posted recently about Making good on a promise. zbraniecki followed up with a post on not-invented-here syndrome. I just wanted to comment. Since we are ending support of Netscape Navigator, we have been working on migrating users. We’... [Read More]

Comments (17)

That's awesome!!!!

First thing you did after joining Flock was that you finished what I started with moving the majority of the codebase from mozilla/browser/components/flock into mozilla/flock/. So we finally started minimizing modifications to original tree.

Then you started promoting upstreaming patches. Now you're pushing the process of upstreaming UI :) Happy to see that!

I can also confirm that there is no political problem behind this upstreaming issue. It's just that both sides are in passive mode :/
(see b.m.o bug 302387 for a case when passive mode from Mozilla is demotivating Flockers)

Great work Lilmatt!!! :)

Well, Mozilla Corp seemed to have an active disinterest in engaging with Flock on features. I spent a couple of years working on bookmarks at Flock and when Mozilla set out to rewrite Firefox's nobody even sent me an email asking about our work even though it was clear that a lot of what they were trying to do was inspired by our work.

Now at Songbird, I don't think any of the folks at Mozilla working on <video> chose to chat to us about how we've integrated media playback pipelines into Gecko and XUL.

I there seems to be a bit of a not-invented-here attitude at MoCo, or at least a reluctance to talk to other open source developers about what they're working on. I think it's a shame. It's not why we got involved in Free Software.

Ian

As you say, Mozilla is not going to monitor our source repository for code they could use. If we don't prepare a clean patch and upload it ourselves to bugzilla, it's not going to get in the Mozilla tree.

Although it's good for the tagbox and friends to be tri-licenced (and thanks for that), for most of the code it doesn't matter if Flock's code is GPL: even if it was tri-licence, Mozilla would not be picking code directly.

Concerned Community Member:

Erwan,

It is easy to say that Mozilla would not take the code but you do not know that. It does not matter anyway since with Flock's licensing (hardly chosen in ignorance) it isn't an option anyway. I am sure that this is Flock's preference since justifying another Gecko-based browser is hard enough when almost everything Flock does could be done with a nice theme and a nice set of extensions to Firefox.

Of course, then Flock founders would not be able to sell it to Yahoo or Facebook and cash out.

Robert O'Callahan:

Ian: Chris has worked diligently with the Ogg people and through the WHATWG with Apple and other contributors to the HTML <video>/<audio> spec. But he's just one guy with a lot of work on his plate so I think it's expecting a bit much for him to reach out to all possible stakeholders and obtain their input. He's been blogging his progress, he's published his patches, there's a Bugzilla bug, there's been a lot of WHATWG discussion --- plenty of opportunities for Songbird people to comment and contribute if they want to.

Ian and I tried to catch up when I was in San Francisco last year to discuss what Songbird had done but unfortunately we played email tag and weren't able to get face to face.

Ian, I'm still more than happy to discuss with you about what you've done. I'm in Mountain View right now, through to the 6th. Want to meet up?

Concerned Community Member:
Although I am not a Flock founder and when I joined the company the GPL had already been chosen, that's also the decision I would have taken. Not to prevent Mozilla from using our code, but to prevent proprietary software vendors to take it.

According to Mozilla's license, Flock could have been proprietary and it would have been perfectly legal. That's Mozilla's choice to allow proprietary forks, but as an Open Source developer I prefer to incite people using the code to contribute back.

For example, if someone decides to take a portion of Flock to make it a Firefox extension (that actually happened with Performancing, now known as Scribefire) I'd rather have them distribute it as GPL than include their own code in an opaque native component.

Concerned Community Member:

For example, if someone decides to take a portion of Flock to make it a Firefox extension (that actually happened with Performancing, now known as Scribefire) I'd rather have them distribute it as GPL than include their own code in an opaque native component.

...or include it in Firefox, apparently.

You can't tell me that the Flocksters were unaware, when they chose the GPL, that none of their code would make it back into main trunk or branch. This means Firefox, SeaMonkey, and anyone else building out of that codebase would never inherit any of the work from Flock. One can only assume that this was an explicit decision and, drawing from that, that its goal was to wall off Flock's code from the rest of the Mozilla community that doesn't use only GPL.

That is well within the legal right, as you point out, but that doesn't actually refute anything that I said, does it?

lilmatt:

@Concerned Community Member:

You can't tell me that the Flocksters were unaware, when they chose the GPL, that none of their code would make it back into main trunk or branch. This means Firefox, SeaMonkey, and anyone else building out of that codebase would never inherit any of the work from Flock.
I agree that they likely were aware. However, this is entirely conjecture on my part. No one has told me anything to support or disprove it.

One can only assume that this was an explicit decision and, drawing from that, that its goal was to wall off Flock's code from the rest of the Mozilla community that doesn't use only GPL.
Here's where I disagree. You're making quite a jump here. One can assume a myriad of things, only one of which you've presented.

Automatically assuming that the driving factor behind choosing the GPL was so they could "wall of Flock's code" falls squarely in the realm of the "conspiracy theory" I mentioned in the original post. I'm not attempting to change anyone's mind about why Flock originally chose the GPL or justify it in any way. I personally wouldn't have chosen the GPL, but I wasn't with Flock then.

Neither you nor I can prove or disprove why Flock did what they did. It's all conjecture. Instead I'm highlighting the fact that folks inside Flock are making strides to make Flock the community partner it should always have been.

It's easy to look in the past and throw stones, but doing so doesn't change history. We can only change the future, and that's what many of us inside Flock are trying to do.

Concerned Community Member:

Without changing its license, how exactly are Flock employees going to be "making strides to make Flock the community partner it should always have been"? As long as Flock's code is GPL, that isn't going to happen, is it?

If Flock really wants to contribute their changes back, change the license to conform to the community (but it is probably too late for that, right?) and actively contact Mozilla community members (or people at Mozilla Corporation) to see how changes can get it. Take initiative rather than waiting for others to do so.

I am sorry you think I am making up stories without data but that is the way it certainly looks from the outside. It seems that Flock wants to distance itself from the rest of the Mozilla community in order to set itself apart and make itself attractive to... who?

Also, I'd be happy for one of the Flock founders to comment here and refute everything I have said with some details on thinking, what happened and such. I doubt if you are the only Flock person reading this comment thread.

lilmatt:

Without changing its license, how exactly are Flock employees going to be "making strides to make Flock the community partner it should always have been"? As long as Flock's code is GPL, that isn't going to happen, is it?

Sure it is. A particular license doesn't make us unable to contribute to the community at large.

In the past few months, Flock employees have opened over 20 bugs on bugzilla.m.o, many with patches. (20 is better than 0.) We are currently working together with MoCo to ensure Netscape 9 users have a smooth upgrade experience to their choice of Flock or Firefox. Some Flock developers are working with Dietrich of MoCo on Places for Fx3, hence the pun in the original post.

If Flock really wants to contribute their changes back, change the license to conform to the community (but it is probably too late for that, right?)
Look, I can't wave a magic wand and have Flock relicense it's entire codebase. I can advocate that and push for it, but it's not something I or any other Flock developer can do alone. In addition, the entire reason for the tri-license was so that other entities could choose which license they wanted to use the code under. Should Everquest have tri-licensed their game client simply because they included Gecko? How about Songbird? Joost?

My point is that we inside Flock have gotten the ball rolling on engaging MoCo, MoFo and the community at large. We are now actively working with MoCo folks to find code that they would like upstreamed. We are working with Mozilla developers on parts of Fx3. We are moving forward with migrating Flock to Gecko 1.9 so our patches and improvements are more relevant to Mozilla, whose work is almost exclusively on that branch.

I'm sorry if you don't agree with the licensing Flock originally chose. It was Flock's prerogative to select GPL, just as it is yours to disapprove.

Al Billings:

I'm one of the QA people for Places for Firefox 3. Can you point to bug numbers for the Places work (or the addresses of openers). This work is news to me.

Al Billings: it's news to you because it's new! We've just started to really work on it. See bugs 389465 and 413784. Both are related to non-ASCII URLs in the autocomplete url bar.

Al Billings:

Ah, I had seen those. I didn't realize who was involved with them.

James:

This is hardly the right place to ask, but I'd love to see Flock's full-text search of pages go upstream.

lilmatt:

@James:
One thing that would need to be worked out for that to happen is licensing. Flock's full text search uses CLucene under the hood, which lets you choose the Apache license or the LGPL. I'm not sure how Mozilla would handle getting it into their tree without it being tri-licensed. All that said, I'm not Mozilla, so maybe it wouldn't be a problem at all.

Yes, last time I talked with Mozilla people about that it seemed that shipping CLucene in Firefox was out of question.

However it seems like some people at Mozilla are trying to get full text indexing in their own way: through the text indexing module now proposed by SQLite.

It's unclear for me how a relational database would provide full text indexing, and when I talked with a Google Gears guy he told me that was very minimalistic. So it's not going to be as good as with clucene, but that feature may appear in Firefox in a post-3.0 release.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

About

This page contains a single entry from the blog posted on January 25, 2008 4:39 PM.

The previous post in this blog was Flock 1.0 beta, now with 100% more code review!.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.32