Friday, July 25, 2008

Its over the hump Tim .. give it a rest

Sigh. Tim Bray didn't get the memo: REST is now beyond the peak of the hype curve and is sliding down. Waay down.

Just because I can't resist: so Tim, REST does need tools now?? Funny how the world turns, eh? I thought you and the rest of the REST fanatics have argued violently saying how REST doesn't require tools, doesn't require WSDL or equivalent etc. etc.. I guess we will end up with REST-* before its all said and done with.

The other topic Tim touches on is how the world is now not all about Java. On that we agree .. except:
"Up until two years ago, if you were a serious programmer you wrote code in either Java or .Net,"
Er, dude, which planet have you been on? Two years?? PHP has been kicking Java's butt for 5+ years!!!

The multi-language boat sailed a LONG time ago and Sun (as usual, I should add) kept sticking its head in the sand waiting for it to blow over. Of course it didn't and it will not. Now that Sun has finally started recognizing that not everyone will love Java, I guess its time for the mouthpieces to speak up and try to spin it positively saying they did it at the right time. Sorry, you guys missed the boat. Badly.

In any case, Sun still doesn't get it. Neither does IBM. The JVM will not be the only runtime to run languages - while its cool to implement PHP like syntaxes on the JVM etc., you are going to have to learn to live in a world where not everything runs on the JVM and all of those crappy JSRs that have been done in the last 10+ years have absolutely no meaning. (In fact, most of the JSRs only apply to Java the language .. making them even more irrelevant).

Of course there are (and will be) some great languages on the JVM: Groovy, JRuby and more. However, even if JRuby performs better on the JVM than Ruby native (which is of course because the Ruby impl ain't great) that doesn't mean that that strategy will work for all. Seriously, try doing JErlang in that case.

The world is inherently heterogeneous, even in languages and language runtimes. There are 3 core platforms in existence today: C, JVM and .Net CLR. Every language runs on top of one of those. Sticking your head in the sand in only one of those will automatically limit the market you can address.

(Plug for Axis2 & WSO2.) This is exactly why when we started the Axis2 project back in August 2004, we intentionally stayed away from burning Java JSRs into the core of it. That's also why we explicitly made design decisions that could be realized in both Java and C. I actually always wanted to do a .Net version of Axis2 too, but never quite got around to it. The idea was to cover all the bases.

This is also why when we started WSO2 in August 2005 that we decided to invest heavily in building Axis2/C in addition to Axis2/Java. We now have coverage for Java, Javascript, Jython, Groovy, Grails, Spring, C, C++, PHP, Perl, Ruby. Python is coming and Erlang too hopefully soon.

Oh yeah we support both WS-* and RESTful services. However, they won't meet the RESTafarian fanatics like Tim Bray's coolaid drunkenness level of REST .. but if you want to do pragmatic work with services and support either or both of WS-* and REST then take a look at Apache Axis2 (Java & C), WSO2 WSAS, WSO2 Mashup Server, WSO2 WSF/{C,C++,PHP,Perl} etc...

How to handle SOA vendor consolidation

Paul Krill over at InfoWorld has written a great story on SOA vendor consolidation. He notes how even the mighty IBM has to deal with WSO2 because of open standards based interoperability that is inherent in SOA scenarios.

Later he lists the major SOA vendors .. and its great to see WSO2 listed there - and the only open source one to boot.

Thursday, July 24, 2008

Response to "Microsoft at OSCON"

Zack Urlocker has written a blog on his OpenSource blog at InfoWorld about Microsoft's participation at OSCON. Please read that first.

I started writing this as a comment on his blog but it was getting a bit too long .. so I thought I'll blog it directly:

Zack, conventional wisdom seems to be that Microsoft must do open source by releasing the source code for one of their cash cows. If you're a shareholder of MSFT, does that make sense at all?? They're making $60B an year and we expect them to open source any of that? No way.

Take IBM. We all give IBM a lot of credit for being a "good" open source player right?? Hmmmm. Really? Which product of theirs is open source? Compare with MSFT: Windows == mainframe (totally proprietary). Office == WebSphere family (totally proprietary) etc. etc.. Not a single major product of IBM's is open source. (I don't consider WebSphere Community Edition aka Apache Geronimo a serious play.) Should IBM open source DB2 or WebSphere or any of their other market successful products?? Hell no. Why should they; certainly their share holders aren't calling for it!

The way Microsoft can and should do open source is by (a) interoperating with open source stuff and enabling open source to run well on/with their products, and (b) by using open source to expand the markets they play in.

We (WSO2) are working with them closely on (a). For example, right now we have a joint booth with them at OSCON demonstrating WS-* interop between .Net, Java, PHP, Ruby, Perl and Spring. (Please do drop by and take a look!) In May we were part of a keynote speech by Bob Muglia (MSFT SVP Server & Tools) at TechEd ITPro where we showed an earlier version of that demo. That's the first time an open source company was part of a major MSFT keynote.

I'm not here to defend MSFT. Yes, they have DEFINITELY done all kinds of things to try to destroy the open source movement. IBM, on the other hand, has indeed helped in NUMEROUS ways with helping open source (esp. in market/technology segments where they were not players .. they're VERY smart). However, I think the conventional wisdom that MSFT can do more with/for open source only by "showing me the code" is wrong.

That's where (b) comes into play. The way I see MSFT entering open source is by buying one or more open source companies and entering into market segments they do not play in now. When? Who knows. Who? Who knows. Obvious candidates go from Redhat to Novell to Spring to a bunch of others. Why should they enter spaces they are not in right now? Because the enterprise space is inherently and permanently heterogeneous and if you want to eat bigger and bigger chunks of that market, the only way to do that is to play in multiple segments of that market. You will not succeed by trying to get Java developers to convert to .Net. Nor PHP ones. Nor mainframe ones.

There certainly could be a (c): open source one or more of their products. However, as anyone who has tried to open source a closed source products knows, it is REALLY difficult to make such an open source project succeed. First of all, getting legal clearance and scrubbing the code takes a long time (for example, someone told me that Sun decided to open source Solaris 5 years before they were finally able to do it .. no idea whether its true). Second, open source code is naturally modularized and better documented because there are geographically and temporally separated contributors from day 1 who communicate to each other thru such module boundaries. What that means is that it is VERY difficult to form a community around a complex piece of software because no one can easily "carve out a corner for themselves". Even building such complex software is hard and may require resources that a typical developer notebook can't deliver.

So even if the MSFT business were to decide that (c) made sense (and I really don't see why yet), the practical reality of getting the code out and making it work as a true community effort is going to be so hard that in the end they'd be holding a lemon of an open source project.

Thus, to me, the current MSFT strategy of doing (a) makes perfect sense. (b) will come when the time is right. Whoever will get bought out first will be making history.

Monday, July 21, 2008

Microsoft didn't invent SOAP!

Wow! Here I've been thinking for nearly the last 10 years that Microsoft invented SOAP. Duh.

Not only that, SOAP, it turns out, was not invented in 1999. It was actually first invented in 1953. (I'm of course not talking about soap, in which case the invention date is a few years prior to that ;-).)

I was searching for lists of programming languages to give to my programming languages class students to do papers on and I found that the IBM 650 assembly language was called Symbolic Optimal Assembly Program ... or SOAP!

Friday, July 18, 2008

Connectivity technology confluence: GSM, 3G, Wifi, IP

Sometime ago I bought a Blackberry Curve 8320 from T-Mobile in the US. I needed to have a US phone number with me but at the same time I hate to pay the $3-4/minute roaming rates that T-Mobile (and everyone else) charges when I'm out of the US. In addition the Wifi support, this particular model has a feature called UMA - Unlicensed Mobile Access - basically it allows the cellular call to be routed via the Wifi connection over the Internet. That basically means that I can have a US number at home and in my office in Sri Lanka and pay nothing extra for the call. (In fact the call is actually free - its part of a flat rate service you buy from T-Mobile.)

Anyway, right now I'm in a location where there's no 3G. However, my wife has a 3G connection from Mobitel using a Huawei E220 HSDPA USB modem that's connected to her laptop. I also have a pocket router (a D-Link DWL-G730AP) I always carry around with me. She also runs Ubuntu on her machine - so I set up her machine to do IP forwarding between the 3G connection (which is a USB device) and the wired ethernet connection to the router. So we have our own little wifi hotspot .. my laptop (from which I'm writing this blog) is connected via the wifi router thru her machine via 3G to the Internet.

Ok that bit is easy. The cool thing is my cell phone also is now connected thru that .. that means right now if someone calls my US cell phone number, its going thru that person's network (cellular or otherwise), to T-Mobile and then over the Internet via Mobitel's IP network via 3G to my wife's laptop then over wired ethernet to my router and then wirelessly to my cell phone. In the process the packets would've survived 2 levels of NATing (once by my router, once by the laptop).

Not bad, eh?

Thursday, July 10, 2008

21st anniversary of LTTE's suicide bombings

Interestingly Sunday July 6th marked the 21st anniversary of LTTE's suicide bombings. They've of course mastered and executed them to perfection since then (including first using a female suicide bomber to kill ex Indian Prime Minister Rajiv Gandhi and also using a pregnant woman once) and its now a part of their normal repertoire of terror techniques.

Interesting article on Wikipedia on the topic too (of course).

BTW if you're interesting in keeping an eye on what's going on in Sri Lanka on the war front, defencenet.blogspot.com seems to give a good even-handed view of things. If you want the different sides check out defense.lk (note the proper English spelling of defence ;-)) and tamilnet.com.

Monday, July 7, 2008

Tweet!

I finally signed up to Twitter .. better late then never eh?

If you're interested in my tweets then see http://twitter.com/sanjiva.

Thashing

Yeah, no other word to describe it really .. that was just an utter thrashing. Yes I'm of course talking about Sri Lanka winning the Cricket Asia Cup in Karachi last nite!

Sorry India (and all my Indian friends ;-)); I wish I could say better luck next time but its unfortunately not going to be the case .. now that we've just found Murali 2.0 in Ajantha Mendis (esp. when you count the two wickets he wasn't given .. including an incredible hat trick, which too wasn't given!) and also gotten Sanath some Lasik so he can see the ball again.





Look out Australia; shoving balls in your gloves won't be enough to save you in 2011!

Saturday, July 5, 2008

Katie Poplin joins WSO2 as Director of Marketing

Its my pleasure to announce that Katie Poplin joined us recently as Director of Marketing. Katie comes to WSO2 most recently from XAware and prior to that she spent nearly four and a half years at JBoss and then RedHat.

Being an early JBoss person she gained a tremendous amount of experience in building a marketing machine that rocketted JBoss to the top. Now she's going to help WSO2 do the same .. and beat JBoss/Redhat, of course ;-).

We've been quietly building an incredible leadership team in WSO2. Combined with our incredible engineering team and of course our superb globally distributed operational model, we're building a company that's here for the long term and can be the winner of the marathon. We're now 75+ strong and growing .. slowly and steadily.

Katie's the key driver of probably the most important component for us at this stage: marketing. Yeah, we've gone for nearly 3 years now with no marketing!

Needless to say we're thrilled to have Katie on board and are looking forward to the exhilarating ride ahead!

Org chart with Open Office?

Does anyone know of a good way to do an org chart using Open Office? Impress really sucks compared to PowerPoint :(.