Since buying Sun Oracle have the 3rd biggest patent portfolio in the world after Microsoft in #1 and ... IBM? in #2.

Oddly enough, a patent troll holds a lot of patents! Just because they used to be a relevant tech company, doesn't mean they can't be patent trolls today.

It is extremely worrisome that a company who has gone out of their way to pick up patents is behaving this way. Virtually every program and computer system tramples on innumerable patents. This is why Google and Microsoft patent so much shit and buy companies who's only assets are patents. It is like a giant "Don't be a dick, you are infringing more of our patents than we are of yours" sign.

Google wrote:"Google has many projects that follow either the open or closed model, and others that do not cleanly fit either stereotype. Android and Chrome OS are examples of permeable interfaces between Google and the outside community, and would be defined as open on the surface," the pair explain. "However, both projects periodically 'go dark' on the community to surprise the market. In a sense, they are both open and closed depending on business needs at any given time."

Even Google's own staff admit that Android is currently closed source.

theckhd wrote:On a more serious note, can I ask for a clarification (from either/both of you)? I have a basic understanding of the concept of Open Source, but as I'm not in the industry I'm fuzzy on the specifics.

Knaughty, it seems like your argument is that "since they're not providing the source code right now, it's not Open Source." The way I read that, you mean that for a project to be open source it has to be available during the entire development cycle?

That seems a bit unreasonable to me.

There's a variety of different degrees of disclosure run by different projects depending on the degree of community involvement and how distributed the development process is.

Most projects run at the "extremely open" end of the scale, the Linux kernel is a very good example.

Individual developers update specific things, they do this privately - maybe I'm updating a network card driver to support a new variant. That is done privately, on my PC. Once I think I have a working version of the updated driver, I distribute a patch - this used to occur via email on a mailing list, I think the kernel is managed in a somewhat more advanced way nowadays.

The patch gets tweaked, tested, eventually accepted.

At some point that patch gets tagged as being included in a release - and the patch notes for patch X.Y.Z might have a bullet point saying "Supports Flambé variant of Flan ethernet card".

Someone is in charge of release management - they're the people who actually tag the release. So when you go to the base repository and fetch release X.Y.Z, you get a coherent, tested, working version of the software.

About the least transparent version of "Open Source" is where the vast bulk of development is done in-house, maybe with the odd submission from outside. The clear cut-off between Open and Closed source is when you release the compiled version of the software as a product and then choose not to release the source code.

Whether is it legal to do that depends on the licence involved. The most common and well-known Open Source licence is the GPL is various versions, the GPL explicitly bans releasing a product without releasing the code - once Motorola ships the first XOOM they're legally obliged to provide a link to the source-code same day at the absolute latest.

The Apache 2 licence allows you to "re-close" the source. Motorola are legally allowed to ship the XOOM and they don't have to release the source code. However, because the source isn't available, the XOOM is not an Open Source product.

The point of "product release = code release" is that according to the Free Software Movement (and people like RMS) it's some sort of basic human right to be able to tinker with stuff that you own. If you can't debug, extend or change the XOOM, then you don't own it.

The general rule of thumb is:• You are not required to "show your working", while you're building & debugging stuff you can keep it secret if you want. You just can't expect any help from the community while you're working in private.• Once you release a product, you have to release the code.

Since buying Sun Oracle have the 3rd biggest patent portfolio in the world after Microsoft in #1 and ... IBM? in #2.

Oddly enough, a patent troll holds a lot of patents! Just because they used to be a relevant tech company, doesn't mean they can't be patent trolls today.

It is extremely worrisome that a company who has gone out of their way to pick up patents is behaving this way. Virtually every program and computer system tramples on innumerable patents. This is why Google and Microsoft patent so much shit and buy companies who's only assets are patents. It is like a giant "Don't be a dick, you are infringing more of our patents than we are of yours" sign.

(1) Android does not implement the whole of Java. The patent grant included some very strong "anti-fork / anti-fragmentation" clauses. That's the issue that bit Microsoft in the bum - Sun built very strong defences against "embrace and extend" into the patent grants for Java. Google are really clearly in breach of the required specs (No AWT, no Swing - it doesn't even implement the whole of Java ME).

(2) The patent grants states you're not allowed to derive your implementation from Sun's source or binaries, you have to do a clean-room implementation. By Google's own admission they didn't do that with Dalvik, they de-compiled Sun's version then tried to clean t up with scripts. Clearly not clean room.

There's a completely separate issue where point (2) is also probably a copyright breach.

You can dislike software patents (I do) but this isn't trolling unless you define all software patent lawsuits as trolling.

Sun was pretty decent about the Java patents. "You can use all the Java patents for free. The major requirements are: (1) Your version of Java is fully compatible with our one and passes the test suite. (2) You make your version from scratch without stealing any of our stuff"

Google fucked up on both counts. Anyway, the main point is that you're not allowed to fork Java. Dalvik is a fork.create a version of Java that is incompatible with the reference implementation (Sun's). Dalvik is not complete, and thus breaches the patent grant.

Edited to be clearer. You can "fork" Java to the extent you're allowed to make a 100% compatible version.

Google wrote:"Google has many projects that follow either the open or closed model, and others that do not cleanly fit either stereotype. Android and Chrome OS are examples of permeable interfaces between Google and the outside community, and would be defined as open on the surface," the pair explain. "However, both projects periodically 'go dark' on the community to surprise the market. In a sense, they are both open and closed depending on business needs at any given time."

Even Google's own staff admit that Android is currently closed source.

Shame you can't.

I take it you didn't actually read the source of the quote? They weren't writing about open source versus closed source, they were writing about various innovation models. Particularly Henry Chesbrough's concepts of open and closed innovation and the affects of the different models. They were basically saying that they go through phases of collaboration and phases of development close to their vest so to speak, on Android and Chrome. It's an interesting read, but not particularly relevant to our current discussion.

Like I said earlier, you can argue, with plenty of validity that the Apache 2.0 license isn't open, but the industry does define that it is. And I'd reiterate that honeycomb isn't really anything new in the equation either, jumping on the Android isn't open source because of honeycomb concept is fairly ignorant. When phones start shipping with a version of Android that's not available, then the claim has merit. Until then, Android IS open source.

Knaughty wrote:Thus: XOOM has been released, no code = closed source.

You seem really stuck on that, but it's never been a point of contention. XOOM (Android 3.0/Honeycomb) is a derivative work. It's openess or closeness doesn't affect whether Android is open or closed. Honeycomb is a fork, and frankly one Google didn't want to make, but regardless it's not particularly compatible with phones. Some of it of it will likely end up dead. It would be absolute shite if Google dumped that on the Android code line, some of the features (assuming they would even work) would be crap on a phone form factor. Sure they could put a new branch out and let folks have a go at it, but they don't want to, and more importantly they do not have too to maintain Android as open source.

The claims against Google related to patents, Dalvik etc do have some merit. It's fairly difficult to know how they'll turn out. That said, these aren't wholesale patents, in fact the ones with teeth seem fairly narrow. I would be somewhat surprised if the result is particularly damaging to Android, though in theory it could be.

It will be interesting to quote this in a few months along with a link to the source repository, assuming Google actually releases it (or just jumps to Ice Cream, which I think is more likely and would be a more efficient allocation of resources, imo).

ESR (who has more open source cred than any of us by many, many orders of magnitude) wrote a post about this that I linked a while ago:

esr wrote:We didn’t see pitchforks and torches at the castle gates of the companies developing mySQL and Ghostscript, because the Open Source Definition doesn’t forbid behavior like this. Nor does the web of customs surrounding the GNU general Public License. Neither these nor any other community norms actually require any development group to release code it thinks is half-baked. They don’t even forbid selective close-to-the-kimono releases – in fact, even the hardest-core zealots at the Free Software Foundation have never fussed about that and they’re conspicuously not doing so now.

What the OSD and other community norms are designed to guarantee is that when there is a public release, you have a right to redistribute it, modify it, and reuse portions in your own code. Google has not attempted to infringe on this right and there is no sign that it intends to try.

I read through a handful of the links Knaughty posted and most are either editorials or (such as the MeeGo article) were spinning Google's delay to promote their own OS creds. Of course, none of them have a leg to stand on the moment Google releases their source, which they've stated they will do when it is ready. To do otherwise would detonate the Android coalition and their business strategy.

Most of this argument seems to boil down to a difference of definitions. Knaughty's stance is no source = it's not open source (see giant flaming words etched into the hillside above). I don't think this is actually the case at all, but it's certainly a shorthand many people are using to bludgeon the shit out of Google now.

knaughty wrote:The general rule of thumb is:• You are not required to "show your working", while you're building & debugging stuff you can keep it secret if you want. You just can't expect any help from the community while you're working in private.• Once you release a product, you have to release the code.

OK, but if that's the case, isn't it fair to say that Android 3.0 is in the building & debugging stage, and that they have no obligation to show the source code right now? By your own definition, as long as they release the source code at the same time that the finished product gets released, it's still open source.

theckhd wrote:OK, but if that's the case, isn't it fair to say that Android 3.0 is in the building & debugging stage, and that they have no obligation to show the source code right now? By your own definition, as long as they release the source code at the same time that the finished product gets released, it's still open source.

I think that's what Frid's arguing as well.

Is that a reasonable claim to make given that you can buy devices today that come with 3.0 installed? The end product exists in the market, they just haven't given out the source code, so it's limited to one (well, a couple now, I think) device.

theckhd wrote:OK, but if that's the case, isn't it fair to say that Android 3.0 is in the building & debugging stage, and that they have no obligation to show the source code right now? By your own definition, as long as they release the source code at the same time that the finished product gets released, it's still open source.

I think that's what Frid's arguing as well.

Is that a reasonable claim to make given that you can buy devices today that come with 3.0 installed? The end product exists in the market, they just haven't given out the source code, so it's limited to one (well, a couple now, I think) device.

I have no idea. Again, I'm the ignorant outsider here. Maybe my terminology is wrong and it's not Android 3.0 we're talking about. I'm not really sure what the difference is between Android/Honeycomb/whatever. But the impression I got from the thread is that Google is working on some piece of software that hasn't been released yet (or maybe it's a port of software from one device to another?), and the argument is over whether it's open source or not.

I can understand the confusion (for a little bit). I mean they did burn another letter on the dessert hurricane alphabet, they did increment the version number, and they call it by the same name, but Honeycomb really is a derivative product despite all the branding.

Android was designed for phones. I don't think, until relatively recently that pads/tablets were in the works, I mean Google has another product for that. Given all the pain Google has had to deal with over fragmentation, the last thing they wanted to do was create a code branch for some hardware specific devices.

But the pressure was on, not just for a tablet, but an Android tablet compatible with all the apps already out for Android. Vendors were already putting Android 2.2 on tablets despite Google telling them not too, that it won't work well, and that the Android Market wouldn't support it properly. I'm sure Google would have rather matured 2.2 into a product similar to IOS with better support for both device types. Eventually, they will.

So with all these Google/Android branded pads being created with 2.2 Google basically did what it had to, and created a version of Android that was designed for tablets. They decided to create a branch and a rather major fragment because there was no way they were going to be able to merge this into the phone line within any reasonable time constraint. That would have been a ton work (only some of which they are doing now).

So the tablet version of Android is not open source. Google has no intention of releasing the code. I'm willing to bet there's some very specific code in Honeycomb anyhow, instead of the more generic stuff you need with a public API like Android. Regardless, it qualifies as a derivative work, and releasing or not releasing that source code doesn't affect the Open Source status of the code line it was branched from. They certainly can't put on the base Android code line, because that would cause major problems and it wouldn't work on nearly every other device.

Some of the features like Fragments (yeah bad name) and Hardware Acceleration settings have been ported into the SDK already, and as we've already seen they have compatibility issues with older API versions. So they are in static libraries called an "Android Compatibility Package". At some point, I have no doubt, that tablets and phones will be running the same Android OS, at which point Honeycomb is a dead stick and won't be updated. I could be wrong, maybe they'll keep updating a separate tablet version of their OS and won't ever release the code for it. Even if they did that though, that still keeps them perfectly within the Apache 2.0 license constraints and the main code line, Android, would still be open source, provided they keep releasing the source for it when they distribute it. Something that it sounds like they are going to continue to do.

Are we going to do this all over again with various stages of GoogleTV?

And assuming we agree with my previous post this provides for an interesting analogy ...

-Android is Open Source-Honeycomb is a closed branch of Android designed to work on tablets, with some code perhaps getting committed upstream to the Android trunk

-Darwin is Open Source-Mac OS X is a closed branch of Darwin designed to work on Apple Macintosh Computers, with some code perhaps getting committed upstream to the Darwin trunk-iOS is a closed branch of Mac OS X (yes iOS runs on darwin/xnu) designed to work on Apple Portal Devices, with some code perhaps getting committed upstream to the Mac OS X branch

Google and Apple share one major thing in common. None of the stuff that makes them money they have open sourced. Apple doesn't release whole products as Open Source but they release lots of interesting technology as open source, WebKit, OpenCL, and Grand Central Dispatch being 3 big ones and of course they contribute greatly to projects that benefit them with one of the biggest examples being LLVM. Google sees the phone OS as secondary to the phone app system and selling their ads, but at the same time they're trying to deal with fragmentation issues and creating a brand where the feeling of use is the same across the product line <snide remark about how this is typical Google halfassing their way through a product release without a lot of planning>.

We live in a society where people born on third base constantly try to steal second, yet we expect people born with two strikes against them to hit a homerun on the first pitch.

Flex wrote: Google and Apple share one major thing in common. None of the stuff that makes them money they have open sourced.

Neither Google nor Apple are "Open Source" companies. Apple have a better track record of contributing to Open Source projects & the community.

Can anyone name a Google Open Source project that isn't completely under Google's thumb? WebKit, OpenCL and LLVM (plus other improvements to GCC) are good examples of Apple tech that have been well accepted by the Open Source community. Not sure about Grand Central Despatch - only FreeBSD have picked it up so far.

knaughty wrote:Can anyone name a Google Open Source project that isn't completely under Google's thumb? WebKit, OpenCL and LLVM (plus other improvements to GCC) are good examples of Apple tech that have been well accepted by the Open Source community.

Can't help but be a stickler here. WebKit is not an original Apple project. They adopted KHTML from KDE, forked it, hired a lot of KHTML devs, and turned it into WebKit, which then went on to be a big hit.

knaughty wrote:My problems with saying that Honeycomb is a "closed derivative work of Android" is:

(1) It's the current version(2) It's by Google(3) Android 3.0 is the trunk. You just can't read it any more.

"Derivative work" is misleading when you're talking about the primary developer and project sponsor and the current/latest production version.

The thing is, people are saying that all of those things you said (except the it's by Google part, which seems to not be an issue to me) are false. So I think we'd need some outside evidence from either side.

knaughty wrote:Can anyone name a Google Open Source project that isn't completely under Google's thumb? WebKit, OpenCL and LLVM (plus other improvements to GCC) are good examples of Apple tech that have been well accepted by the Open Source community.

Can't help but be a stickler here. WebKit is not an original Apple project. They adopted KHTML from KDE, forked it, hired a lot of KHTML devs, and turned it into WebKit, which then went on to be a big hit.

Also LLVM isn't an Apple project. It was a compiler they embraced to avoid any potential issues with GCC and to get better Objective-C support at the compiler level.

We live in a society where people born on third base constantly try to steal second, yet we expect people born with two strikes against them to hit a homerun on the first pitch.

knaughty wrote:My problems with saying that Honeycomb is a "closed derivative work of Android" is:

(1) It's the current version(2) It's by Google(3) Android 3.0 is the trunk. You just can't read it any more.

"Derivative work" is misleading when you're talking about the primary developer and project sponsor and the current/latest production version.

The thing is, people are saying that all of those things you said (except the it's by Google part, which seems to not be an issue to me) are false. So I think we'd need some outside evidence from either side.

I don't really think any of those matter all that much, but it's obviously not merely a new version of the existing code line. If that's all it was there would be nothing to port, and why the heck would they not release it for phones?

As I said earlier, the Android code base grew out of the Open HANDSET Alliance. Honeycomb was built specifically for tablets, and the features that expand on handset functionality are being ported back to it. If you have a phone, the latest version Android you can get is 2.3 and the code for 2.3 was made available when it was distributed. Given the backlash Google took when they announced the branch (until then folks thought it would compatible with phones) I'm sure getting things ported and (hopefully) getting the code lines united is a priority.

Well the open handset alliance was a brainchild of Google who just happened to have this Android thing they bought,and it was sold to the hardware sector because it wasn't Apple's approach of "f u carriers."

We live in a society where people born on third base constantly try to steal second, yet we expect people born with two strikes against them to hit a homerun on the first pitch.

knaughty wrote:WebKit, <snip> (is a) good example of Apple tech that have been well accepted by the Open Source community.

Can't help but be a stickler here. WebKit is not an original Apple project. They adopted KHTML from KDE, forked it, hired a lot of KHTML devs, and turned it into WebKit, which then went on to be a big hit.

And KHTML was a fork of the KDE HTML Widget, which was probably a fork of something else, probably going back five more steps to the NCSA MOSAIC source code or the original libwww by Tim Berners-Lee.

In UNIX, nothing has been an original project since the 1970s. Everything is built by "standing on the shoulders of giants".

I was using KHTML a couple of years before it was adopted by Apple for WebKit as I was a K-Desktop-Environment on Linux user (amongst many other things) in the late 90s and KHTML was pretty fucking awful - seriously incomplete and pretty much a disaster. Almost enough to make me switch to Gnome. I think I made do with Nutscape, which was a piece of crap by 1999.

KHTML's chief advantage from Apple's perspective was that it was small and clean (which could mean my "descended from god-knows-what surmise isn't correct - maybe it was a clean new HTML engine).

Anyway, by the time WebKit was being created I'd switched to OS X, so maybe 2002-era KHTML was better than the 1999-2000 versions I'd been using. It's scary to think that I was using IE 5.5 for OS X and liking it in comparison to the Linux browsers I'd had access to. I was stuck with IE 5.5 till... 2003/2004 when Safari and FireFox became available.

The GNOME/KDE Linux desktop wars were one of the prime drivers behind me switching to OS X. That was the point that it became clear to me that the Linux nerds were never going to get their damn act together and actually build a decent desktop OS instead of having fork-wars and regularly descending into retardedly stupid licence angst.

knaughty wrote:WebKit, <snip> (is a) good example of Apple tech that have been well accepted by the Open Source community.

Can't help but be a stickler here. WebKit is not an original Apple project. They adopted KHTML from KDE, forked it, hired a lot of KHTML devs, and turned it into WebKit, which then went on to be a big hit.

And KHTML was a fork of the KDE HTML Widget, which was probably a fork of something else, probably going back five more steps to the NCSA MOSAIC source code or the original libwww by Tim Berners-Lee.

To the best of my knowledge, KHTML was a continuation/evolution of khtmlw, not a fork, and khtmlw was built from scratch, not as a derivative of any other source tree. I'll admit my memory of that era is shaky and I could be wrong, but that's what I remember.

In UNIX, nothing has been an original project since the 1970s. Everything is built by "standing on the shoulders of giants".

Well I mean you're absolutely right from the point of view of the unix philosophy of not duplicating effort and re-using everything, but then we have examples like Linux, the whole purpose of which was to write from scratch an operating system, that yes, behaved UNIX-like, but was not restrained by all of the commercial licenses of its inspirations. That "code from scratch" part is what I was referring to in my previous post. Because while you can of course say that Linux is inspired by and based conceptually on, etc. etc. by UNIX, System V, MINIX, etc. you CANNOT say it is a fork or derivative work of those previous things. So calling WebKit an example of Apple tech is misleading because they in fact did not write it from scratch at Apple.

This is all really nitpicky though.

Also the really SAD part about IE 5.5 for OS X was that it was so much faster and reliable than every other option until Firefox came around.

knaughty wrote:Can anyone name a Google Open Source project that isn't completely under Google's thumb? WebKit, OpenCL and LLVM (plus other improvements to GCC) are good examples of Apple tech that have been well accepted by the Open Source community.

Only things I can think of off the top of my head are Chrome/Chromium and Google Web Toolkit. They probably count as "under Google's thumb" to an extent, but AFAIK the current versions are released. They're open source projects, and Google definitely eats their own dog food. They demo/etc things on Chrome, and their primary business app (AdWords) is built in GWT, so they are constantly improving it. They could conceivably (I expect) have a closed fork of it, and probably do - being the original developer, they're allowed to do that under most open source licenses.

Now, whether you subscribe to RMS' view of "open" or the slightly different "open"-ness goal that most BSD people have is an entirely different matter.