July 30, 2007

Filling the Gap (AKA Ideas are cheap)

So betwixt my last work environment and my current one, I had begun going down the path of (again) building my own software. I had (have) a number of ideas - but that's really the easy part. And I'd say "good ideas", but, in my humble opinion, the difference between a "good idea" and a "bad idea" is in the execution.

Which is to say, its value you accrue in arrears, not a judgement you can really make a priori.

I suppose - best case - you hope its a good idea before you start doing it.

In any case, I had 3 things I did actual work on to a real degree (in terms of execution): some middleware, a web app-y thing, and a tool. They had some overlapping technology components but with reasonably distinct market segment targets. Given where I am now, I'm thinking I'll release them each in some form over the next few months - no sense letting them rot on my harddrive.

So - check back; more info soon.

July 16, 2007

GPL v3: A mess of your own making...

The GPL v3 was ratified and released a few weeks ago by the Free Software Foundation - which owns, and upgraded to GPL v3, the copyrights to an important swath of Open Source Software (OSS).

The intent of the GPL (GNU Public License) all along has been to empower people who were using software released under GPL ("copyleft" software) to make modifications to said software, and to use and redistribute modifications and improvements to others, for collective benefit. The primary legal intent of this latest revision, as I had mentioned previously, was to close the server and computing devices "holes" in previous versions - whereby companies were:

(a) using GPL software on their servers, but NOT releasing changes or improvements (because they were not distributing the software - which was the previous trigger for obligating a company to share its improvements to any GPL software) to anyone, per se, but rather letting users consume software services remotely, and/or

(b) preventing (effectively) modification and re-distribution of the software because their device was in some way preventing any modified software being loaded or running on the device (so called "TiVo-ization").

There are other OSS licenses which were always intended to be less radical: BSD, MIT, ZLIB, MPL, etc. These licenses have always been of the "do-what-you-want-but-its-not-our-fault" variety, and have arguably been as successful with their projects as the GPL - and the GPL has often been described as "viral" in that any GPL code may not be linked with non-GPL code.

But that's not the point.

The point is that they revised the license to close the loophole. And from there, much hilarity ensued:

Microsoft statement about GPLv3
Groklaw on Microsoft and GPLv3
GPL: fear is the key

Linux creator calls GPLv3 authors "Hypocrites"
Apple and the GPL

So, to summarize: group that OWNS the copyright to some software closes a loophole in how they intended that software to be consumed - and everybody's pissed (note that this is NOT retroactive - nor could it be; that's part of the intent of the philosophy of the license!). The big problem, of course, is all the folks who mistook the GPLv2 as (a) giving them rights they weren't supposed to have (e.g. using it to build closed source server software) and/or (b) took the license as contract for future commitments.

Oops. Sorry.

(btw, Linus Torvalds, of Linux fame, expressly does NOT seem to be confused. He just doesn't like it - and as copyright holder to the Linux kernel, he's free to do as he chooses - and I suppose to make overwrought analogies.)

July 9, 2007

Presence is not an Identity feature

I realized in my "Unique Visitors" post that I skipped some background - didn't "show my work" as every math teacher I had always said.

When Google released GTalk, I remember feeling like they had missed an opportunity to correct the
Presence, Identity, Messaging and Accounts model - that they should have made "location" more than just metadata, but I don't think that's right, actually.

On the PC side of the Instant Messaging (IM) universe, Presence is exerted by an Identity, and (nowadays) often qualified by Location (for Location Based Services) and/or Network of Origin (for interoperation messaging systems), but I think Presence, especially for Comcast, is really a device feature, and Identities are transiently bound to those devices, generally with an (essentially) eternal TTL (time-to-live), though in the case of PCs, that TTL amounts to IM session length.

Identity is a kind of user virtualization construct (usually reasonably synonymous with "Credentials": username and password - at least for our purposes), while Presence advertises availability for messaging, and Messaging is generally a point-to-point session negotiation and communication pipe, though it may be one-to-many (broadcast), or many-to-many (chat). Note that Messaging and Presence need not necessarily be interdependent. Finally, Accounts are a billing relationship construct.

A typical use case in a househould is likely to involve multiple STBs (set top box or other consumer electronics device on the Comcast networks), multiple .net IDs (e-mail addresses), and multiple PCs in the house, where Presence, Identity, Message and Accounts overlap each. And of course, wireless, school/office, and multiple residences complicate the picture.

Usually, scalability for Presence is scale limited by subscription/notfication events, and by that I mean the "m X n" implied by the "Buddy List" construct, where any user may be subscribed to presence notification of any n users (effectively O(n^2) ). Messaging is bound by active simultaneous communication sessions (and type - multimedia for example) and is usually O(n).

In any case, I'm just rambling now - all of that's a roundabout way of saying that messaging is a service feature, not a product :)

July 2, 2007

Forever Haldeman

Between moving, commuting, traveling, and the like, I've been spending a lot of time in transit - which more or less sucks. On the "less" sucking side, its given me the opportunity to do some reading, and I've recently "discovered" the works of Joe Haldeman.

Haldeman is probably best know for his Hugo and Nebula award winning novel "The Forever War" (published in 1974), and it had been on my I-should-read-that-but-probably-won't reading list for a while. To make a long story short(-ish), I finally got around to reading it.

It's good. Quite good.

So much so that I've been devouring my way through all of his works. His writing is definitely of the "hard" sci-fi genre, but closer to Asimov, in spirit, than say, a Stephen Baxter. That is to say, the science is grounded in very real extrapolations of existing technology (and theories), but the technology is a backdrop to explore the human social condition
- particularly warfare. For example, "the Coming" is not about an impending alien visitation, whatever the book jacket says, which I think might have lead to some confusion/disappointment with readers and reviewers. Rather than wallowing in the ideas of science (which, normally, I love doing :)) Haldeman writes, for lack of a better term, "chick sci-fi": its about the relationships.

The only real criticism I have - the only thing I'd argue keeps Haldeman from being more commercially renowned - are the way he closes his novels. The endings are satisfying, but oddly abrupt. I've read more than a few of his novels at this point ("Old Twentieth", "The Coming", "Forever Peace", "Camouflage", etc.) and although none of the ending are bad (at all - they're logical, exciting, and compelling), none of the endings are what I'd call great either. They do the job, but spartanly.

In any case - highly recommended. Go enjoy.