Patently Obvious?...


Big software industry news over the weekend. As reported in Fortune, Microsoft is claiming that various open source packages are violating Microsoft patents, and Microsoft reportedly wants open-source software users to pay royalties on 235 alleged patent violations.

The worry, according to Eben Moglen, head of the Software Freedom Law Center and long-time counsel to the FSF is" the threat of mutually assured destruction: patent Armageddon - an unending series of suits and countersuits that would hobble the industry and its customers...

This 'software armageddon' has been brewing for a while, but the saber-rattling here portends a bigger battle than we've seen so far. A lawsuit between SCO and IBM has been pending without really going anywhere since 2003, and Microsoft's alleged support for SCO in that suit looks like a prelude to the current action.

This figured to happen now, as the US Supreme court appears to be heading in the other direction on software patents, and European standards for software patents are generally much more restrictive than their American counterparts.

There should be lots more news on this brewing battle in the next couple of weeks.
UPDATE 10:00AM - Groklaw isn't worried. Great article.


Supersized Business Process Management - The End of the Trail

The end of the trail

One of the compelling truisms of technology is Stuart's Law of Network Dynamics: For every level of service, there is an equal and opposite level of disservice.

This is the gestalt of modern BPM, captured in this recent Supersize BPM article. The whole "BPM industry" (everybody but us, it seems) has followed Zawinski's Law - the leading packages have reached the end of the trail, and those promised business benefits are still eluding them and their customers.

By my take the leaders, in adding everything, have added so much that the very bulk of their offerings is now an impediment to extracting value from those offerings. They can no longer add anything new without taking things away.

Therein lies our opportunity - executing on a crystal vision of where the value really comes from. We don't need to add everything - just the things that matter, and add them really well.


Video follow-up

Uno Pizza!

I was really pleased with the turnout for Gregor Hohpe's Developing in a Service-Oriented World. The presentation itself unfortunately (for a business audience) includes a lot of computer science arcana, so in follow-up here's a bit of explanation of some of the more inscrutable points:

  • Prolog. Prolog was, for a while in the '80's, the poster-child declarative language. You didn't exactly program prolog; instead you entered "facts" and "inferences", and then used a query to tell the program to solve itself. Prolog's origin (France) and theoretical base (Horn clauses) precluded any chance of widespread adoption. As a development metaphor, prolog really does make sense for us, as a Tranzax system does (like prolog) build facts (elements) and inferences (rules), and runtime execution flow is determined dynamically. Prolog is worth some study if you want to understand (conceptually) where our products are headed.
  • MDA: an appealing but (IMHO) wrongheaded formalism that underlies much of visual programming today. Originally championed by the Object Management Group, MDA presupposes that the proper design of a programming model yields (as if from the head of Zeus) the right architecture -- in their words "function follows form". I myself much prefer....
  • ADM: The idea here is that we are modeling human systems, which themselves arose organically and stochastically. We capture what actually happens at desktop-level, and the architecture follows. Form follows function. Doesn't that feel better?
  • Starbucks Does Not User Two-Phase Commit. Great example - a simple process that everybody understands that is nonetheless complex enough to clog a boxes-and-arrows process modeler. The killer idea here is that many optimized processes are inherently asynchronous, and a process model that enforces synchrony with result in a less-optimized process than the original. Hohpe's writeup in the link is interesting and worth reading.

There's a lot to the Hohpe presentation -- please let me know if there are other concepts that need to be explained further.


Baked in a Pi...

Godel and Einstein

Microsoft, beyond any reasonable discussion of their success as a business and the merits of their software, has always generated a certain enmity in the computer science community.

Microsoft, to that world, is unclean, because unlike most of their peers, Microsoft rose to prominence outside academia, with software that academic critics believed had (at best) impure theoretical underpinnings. Microsoft in this is an outlier, because the conceptual core of most tech companies is some gem of computer science.

Oracle is pure (again, independent of the merits of the folks within) because they can trace their history to the seminal paper by E.F. Codd

Adobe is pure because the graphics language Postscript originally descended from Forth, at Evans & Sutherland (who are themselves pure because of Sketchpad). And so on.

Even Google has made a play for CompSci street cred

All this matters, because there is a prevailing belief in the software industry that, with that certain exception, you have to have a pure core to have differentiating value as a software company.

The reason this matters to us is that, for the rest of the BPM industry, the pure theoretical core on which they all rest is a cool branch of applied mathematics known as Pi calculus. Pi calculus is a mathematical formulism for independent, communicating processes, and it applies to BPM as an underpinning to describe non-sequential business processes. The O'Reilly book Essential Business Process Modeling devotes a whole chapter to Pi-calculus, petri nets, and the theoretical forebears of today's BPM doodleware generators.

So where does that leave us?

I've had a fascinating couple of weeks fleshing out the theoretical underpinnings of our software, and the Hohpe presentation will give some interesting background. There will be some posts and papers on this to follow...


Godzilla vs. Mothra Part II

Things have really heated up since I first started posting about this.

Microsoft has announced Silverlight, an RIA development framework that's supposed to out-Ajax Ajax. It's been less than a week, but Silverlight has opened to rave reviews.

Not to be outdone, Sun is striking back today with JavaFX, a RIA framework that is also intended to out-Ajax Ajax. Thus spake Gosling (who should know): "You get much more dynamic behavior. You get much more advanced APIs that you get access to."

More Java-y goodness. I'm hoping now for a response from Jesse James Garrett and the open-source camp that's been championing Ajax -- and when I see it I'll post about it as GvM - part III.