Monday, August 27, 2007

Microsoft's Behavior in the Standards Process for OOXML

I have been reading for weeks now, that Microsoft is manipulating the ISO standards process to get OOXML approved, and I find what I am reading to be disturbing and ethically wrong! Microsoft seems to promote a culture within the company that says, "Don't explicitly break any rules, but use any leverage possible to get what we want". This reminds me of many discussions I have had over the course of my career about the legality of something versus whether what was being done was ethical. The law doesn't cover all aspects, and doesn't define ethics in and of themselves. It's up to individuals and the leadership of companies to define what is and what is not ethical, and apparently Microsoft uses only the law to determine its ethical values. This is a real shame, and is truly a sad state of affairs for a company with so much power in the software industry to behave the way they behave. So what have they been doing that is so bad?

Well, let's enumerate everything I have seen:

  • Using individual countries standard body's rules to add new members that are Microsoft business partners, so they can stack the vote in their favor.
  • Preventing new members to these same countries body's that they know will not vote to approve OOXML.
  • Using the rules, within the voting process, to make it so that the comments do not get forwarded with the vote to the JTC1 committee of the ISO.
  • Giving misleading information about the JTC1 committee process, so that countries will not vote "No, with comments", and instead will vote "Yes, with comments".
    • By the way, if a country votes "Yes, with comments", Microsoft is not committed to actually fix any issues raised by the comments. They can simply address the comment by logging that nothing will be done.
  • Giving misleading information about the voting deadlines, thereby possibly preventing some countries votes from being counted.
  • Telling certain countries that Microsoft's educational programs in their country would be adversely affected if they didn't vote yes.
  • Calling heads of government agencies to pressure their representatives to vote yes.
While no one has done anything illegal, at least not that we know of yet, Microsoft is crossing an ethical line that shouldn't be crossed.

Instead of being able to sell OOXML as a standard worth considering on its merits, they are subverting the standards process, albeit within the rules, which are very lose, because they know that the standard does not really meet the requirements to become an official ISO standard without that subversion (see my previous post on whether OOXML is open or not).

If OOXML, becomes an ISO standard, it will forever damage the standards process that we rely on to create a truly competitive landscape in the market. Microsoft may have won, but we have all lost, because we will never again be able to trust any standards produced through this process again!

Wednesday, August 15, 2007

JBoss Enterprise Application Platform

This past Monday, I did a keynote at the SysCon Real World Java event in New York city. In preparing for that event, I realized that since JBoss was acquired, the news about JBoss has lessoned substantially, and many people are just not aware of what's new at JBoss. So, that is what I titled my presentation, and I focused on several areas. One area was the newly released (July 3, 2007) Enterprise Application Platform 4.2.

Traditionally, the lead product of JBoss was our application server. With the release of the Enterprise Application Platform, what we have done is combine our application server, with Hibernate, EJB 3, JSF, and JBoss Seam, to deliver an integrated application development platform for the enterprise. Now how is this different, and what does it mean to users of the application server?

Well, the application server only contains Hibernate, by default, out of the technologies I listed above, and the AS 4.2.x releases from jboss.org are now community releases that do not have paid for support. Of course, community support, through our forums, is always available just like before.

With the Enterprise Application Platform, you also get the most often used technologies, that used to have to be integrated separately by you, integrated by us, and tested as a whole. No more building of your own distribution with what you need to develop enterprise class applications. Also, the testing of the platform, as a whole, is new, and I will highlight the differences.

With the old AS releases, we have a unit test suite, that you can download and build, and we would run that in our continuous integration builds each day, and when the feature set development, and bug fixes were complete, we would concentrate on getting that test suite to 100% passing, and then release. The test suite was only run with the Sun JVM on a Linux platform (typically RHEL 4 based).

With the new Enterprise Application Platform, we continued to run the unit test suite. But we run it on the Sun JVM, the HP JVM (for HP-UX), and the BEA JRockit JVM, on RHEL 4 and 5, x86 and x86_64, Solaris 9 and 10 (Sparc), HP-UX 11i for PA-RISC and Itanium, and Windows Server 2003, x86 and x86_64. This ensures that more combinations of operating systems and JVM's work before we ship, versus having to deal with customer issues after the fact. We also have more operating systems and JVM's teed up for future updates (AIX and the IBM JVM are examples). We also ran the Hibernate test suite on five different databases. We certified on MySQL 5 (5.0.27), PostgreSQL 8.2.3, Oracle 9i (9.2.0.1), Oracle 10g R2 (10.2.0.1), and SQL Server 2005 (version 9.00.2047). Besides, the unit test suites, we added significant integration testing, that we had never done before internally.

The integration tests, contained tests for EJB 3, HTTP Session replication, JBoss Seam, and in the cases of EJB 3 and JBoss Seam we had performance, scalability and clustering tests. This additional testing led to the discovery of many bugs that we would have only discovered through customer deployment in the past. This is exciting for us, in that we have produced a product with the most complete testing we have ever done, and as a result produced the most hardened distribution for our customers ever! This is truly the dawning of a new age at JBoss!

Besides the new process that we take the Enterprise Application Platform through, the support arrangement has changed as well. We offer three years of support for the Enterprise Application Platform, where we fix all bugs and security errata for customers. For an additional two years we fix only critical bugs and security errata, giving a full five year support cycle to our customers! This is what our customers have been asking for, and we are delivering that to the market now, and will continue to do so with future platform offerings.

So, if you are interesting in this new offering, you will have to contact sales, as there is not a binary download of the Enterprise Application Platform available (you must be a subscriber). The other way you can get the Enterprise Application Platform, is through our developer tools packaged called RHDS (Red Hat Developer Studio). It includes the full binary distribution of the Enterprise Application Platform, and will install that, ready to run as part of the new development environment, which was released as a beta on Monday. Here is the link to that:

http://www.redhat.com/developers/rhds/index.html


Download the developer tools, and play around with the technology. I'm sure you will like what you see!

Enjoy!

Tuesday, August 07, 2007

Beagle Correction

A while ago, I posted a comparison of Beagle and the new Google Desktop Beta release. I had since removed Beagle, and had been using Google Desktop exclusively. I received a comment from a Beagle developer, Joe Shaw, and he thought I simply had encountered a bug in Beagle, and that Beagle does indeed index all the text in documents not just the meta data.

Well, I have since upgraded to Fedora 7, and I became interested to see whether a newer version of Beagle indeed would find files that it couldn't find before.

So today, I installed Beagle again, and I did the same search that I had done before, looking for a PDF file with the search query of "Small is Beautiful". As you can see from below, it is now able to find the file that it couldn't find before, and matches what Google Desktop does.

As you can also see, the indexing is not complete yet, but its only been a few hours since I reinstalled. At this point, the large index size problem also seems to be gone. I cannot report yet what the final size will be, until its done, but it is a little over 50% of the size of the Google Desktop index, but I don't know how much more it has to go. It would be nice if there was an index status page somewhere, like in Google Desktop, so you could see what the progress was in indexing your content.

So, it seems that Beagle has improved with Fedora 7, which includes Beagle 0.2.16.2. I congratulate the Beagle team, and I will continue to use both on Fedora so I can see how they fair against each other as they both mature.

In the case of RHEL, which I have one RHEL 5 desktop, I can only use Google Desktop, as RHEL will not ship with Mono, which Beagle requires. It would be nice if Beagle didn't require Mono, so it could be included with RHEL, because I would love to compare it on RHEL as well.

Thanks to Joe Shaw for commenting and looking into what was going on with my documents that Beagle couldn't find.

UPDATE:

Beagle finished indexing my system, and so now I can see the total index size of Beagle compared to Google Desktop. The results are considerably improved from before. As you can see from the below image, Beagle still creates a larger index, but the difference isn't as dramatic. Before, I saw that Google Desktop had an index that was 98% smaller, but now Google Desktop's index is only approximately 23% smaller.


This is very good news indeed, and great work by the Beagle developers!