Three Monkeys, Three Typewriters, Two Days

February 15, 2003

Legal conundra

I've been wrestling with an interesting problem. On the one hand, I'd sorta like to take a look at the new inline box model that hyatt's implementing in Safari. On the other hand, if I were to do so, I run the risk of liking some of the ideas.... and maybe not being able to use them in Mozilla's code (worse yet, I may see things that I have or would have thought of myself, and then I really have no idea what would happen). I'd love some clarification of the exact legal issues here.

Summary of what I do know: KHTML is GPL, while Mozilla is MPL/LGPL/GPL tri-licensed; this means that I can't copy code from KHTML to Mozilla (while copying in reverse is perfectly fine). But the question is what the GPL covers. Is it the ideas (algorithms, approaches, etc)? Or the specific presentation of those ideas in source code form? The latter would mean that recoding the same algorithms in a different language is not a GPL violation, for example....

If anyone who actually knows what they're talking about could let me know what the state of things is, that would be much appreciated.

Update: KHTML is LGPL, not GPL, I've been told. Does that affect the answer to my question?

Posted by bzbarsky at February 15, 2003 12:23 AM
Comments

KHTML is LGPL, not GPL, but I don't think it helps you much.

Posted by: AC on February 15, 2003 6:53 PM

Boris, Does this site help you

http://www.gnu.org/philosophy/license-list.html

Posted by: Yusuf on February 16, 2003 9:14 PM

No, all that tells me is that the GPL/LGPL are not compatible with the MPL (which is the core problem here).

Posted by: Boris on February 16, 2003 9:52 PM

I thought Mozilla was tri-licensed under MPL/GPL/LGPL so you could choose one the license and apply that to KHTML reading/inclusion of certain code segments from that

Posted by: Yusuf on February 16, 2003 10:06 PM

That means you can take KHTML code, use it in Mozilla, and distribute the combined code under the LGPL or GPL. However, you can't distribute the combined code under the MPL.

This means that mozilla.org would not accept such a patch into the official Mozilla distribution, because they want to distribute the source for Mozilla under all three licenses.

Someone could produce their own version of Mozilla that included (L)GPL-only code and distribute it themselves, but the benefits would have to be pretty huge to be worth the hassle of maintaining it outside the mozilla.org tree.

Posted by: Matt Brubeck on February 16, 2003 11:04 PM

So i guess if what the resoultion to the problem is, that Mozilla.org would not accept a patch with KHTML code in it. yet it is ok to combined the code for your own distribution.

What about Apple maintaining a experimental KHTML/Mozilla hybrid? Or even the KHTML people?

I think there would be enough interesting things to put together just for the hell of it, that could be usefull to someone down the road to do it.

Posted by: Xnez on February 18, 2003 1:36 AM

Apple has already used a decent amount of code from Mozilla in Safari. So there's nothing "experimental" about that suggestion.

Posted by: Boris on February 18, 2003 1:41 AM

Ideas and concepts can't be protected, only implementation.

If it is possible, you'll obtain absurd situations :
Imagine two people have the same idea, they implement this idea independently, and one day they discover about the other. Which one should attack the other ?

Posted by: Bob on February 18, 2003 3:21 AM

quote:
Anyway, I think an exchange of ideas is healthy, and I don't think you should be afraid to look at the Safari source code, Boris. In the end each engine benefits from examining the architecture of the other.
/quote

As David mentions above, and as i read it, go for it, nobody can blame you of having the same ideas.

Posted by: Shadow3333 on February 18, 2003 7:28 AM

>> nobody can blame you of having the same ideas <<

The thing is, big corporations think differently about that, and they often have the money to back up their deluded ideas.
_Legally_ just looking at the ideas is fine (though if you'll forgive me the /.-ism, of course IANAL), and there _probably_ won't be any trouble from this, but I can quite imagine Boris wanting to be absolutely certain about that first part before risking the second.

Posted by: Sander on February 18, 2003 1:01 PM

Boris, the GPL can only cover source code; it doesn't cover ideas or techniques. That would be rather patenting the procedure, and I don't think Apple holds a patent on inline box models (nor could they after all the amount of prior art existent, *including* KHTML).

Besides, who would want to sue you anyway? Certainly not the KDE project, and I don't think Apple would do so either.

Posted by: Christian Reis on February 20, 2003 12:32 AM

Oh, I'm not worried about anyone suing _me_. But say a Mozilla distributor (eg AOL) ships some code that Apple claims they wrote.... see the problem? Given that possibility, mozilla.org would not (and should not) accept such code into the codebase.

But yeah, the general consensus seems to be that as long as it's not wholesale copying it's legit. Which is good. ;)

Posted by: Boris on February 20, 2003 12:55 AM

"Oh, I'm not worried about anyone suing _me_. But say a Mozilla distributor (eg AOL) ships some code that Apple claims they wrote.... see the problem?"

If Apple did sue AOL claiming that they were shipping 'stolen' Safari code, AOL could just retort that Safari has Mozilla code in it. Sure the intracacies of the licenses would mean that Apple is legally sound but to your average Joe in the street (or CNET reader), it's just going to look like Apple is the pot calling the kettle black.

Posted by: Alex Bishop on February 20, 2003 7:34 AM

I'd think that the actual lawsuit, if any, would be a bigger problem than the bad PR (if any). And the point is that mozilla.org does not wish to expose its distributors to even the _possibility_ of issues like this.

Posted by: Boris on February 20, 2003 11:15 AM

My recommendation is that you do what Hyatt did. Quit mozilla and come work at Apple. We'll treat you right.

Posted by: Steve Jobs on February 20, 2003 6:11 PM

Boris, this is not legal advice, but as others have commented I don't think there's any real issue if you look at KHTML code and adapt the techniques in your own code; I very much doubt that Apple or anyone else is attempting to make patent claims on KHTML code.

Also, if you do want to copy some KHTML code for use in Mozilla, why don't you just ask the copyright holder for permission to use it under the Mozilla tri-license? If it's written by an independent developer they can grant permission themselves, and if it's Hyatt's code you can ask him to get permission from his manager or some other suitable Apple person. In my mind the Mozilla project did Apple and others a favor in making the Mozilla licensing more flexible so that they could use any Mozilla code they wanted to under compatible license terms, and IMO the least they could do would be to return the favor now and again.

Posted by: Frank Hecker on February 20, 2003 8:33 PM

In addition to the previous comments... I seriously doubt that copying over the KHTML code would do you any good, Boris, simply because it doesn't have nearly the same level of obfuscation that Mozilla's code does.

I know that sounds flamebaity, but it's true - the KHTML code is generally a lot more simple, and doesn't include the same amount of checks and parameters and extra cruft needed when using Gecko and the XPCOM stuff. KHTML's code is really really simple, and I seriously doubt that copying it over line-by-line would do you any good.

Besides, even if you did, once you were done modifying it to actually _work_ with Gecko, there's no way that it would even resemble the original source (except for comments, anyway). So you might be safe in any case. :)

Posted by: Chris Lee on February 22, 2003 1:40 AM
Post a comment