<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-18974949</id><updated>2011-12-17T14:14:26.102-07:00</updated><category term='driver'/><category term='IBM'/><category term='Red Hat'/><category term='Fedora Core'/><category term='Developer Tools'/><category term='JBoss'/><category term='JVM'/><category term='Microsoft'/><category term='ODF'/><category term='large page memory'/><category term='Cloud Computing'/><category term='Open Standards'/><category term='ESB'/><category term='IT'/><category term='graphics'/><category term='Open Standard'/><category term='Windows'/><category term='Strategy'/><category term='SOA'/><category term='USB'/><category term='Open Source'/><category term='Performance tuning'/><category term='JBoss Developers Studio'/><category term='JBoss World'/><category term='Hard Drive'/><category term='Enterprise Application Platform'/><category term='Linux'/><category term='ATI'/><category term='IE'/><category term='OOXML'/><category term='Software Patents'/><category term='Ethics'/><category term='NetworkManager'/><category term='Yahoo'/><title type='text'>Open Source and Enterprise Architecture</title><subtitle type='html'>Discussion of open source software and enterprise architecture, including middleware, software development, and all manner of hardware.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-18974949.post-7463773986025587331</id><published>2010-11-01T14:00:00.000-06:00</published><updated>2010-11-01T14:00:55.705-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IE'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Standards'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Blaming Microsoft for Your Own Shortcomings!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Today, I read an article that was about enterprises having a difficult time migrating to Windows 7.&amp;nbsp; The cause?&amp;nbsp; IE6, of course!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;In the article, someone is quoted as saying that Microsoft should do more to help its customers because the problem was caused by Microsoft!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I don't normally defend Microsoft, but I think every enterprise that wrote applications that could only run on IE6 deserve what they get!&amp;nbsp; After all, it was never a big secret that Microsoft was trying to make sure that they locked you into Windows, by locking you into proprietary browser technology.&amp;nbsp; No one should be surprised, and Microsoft is not to blame.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;When I worked in IT, during the very time when IE 5, 5.5 and 6 were the predominant IE releases, we tested all our web applications on Firefox, as well as IE, just to make sure that we weren't using proprietary IE features. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;As Enterprise architects, you have to think beyond what the developer cares about, and think about the entire enterprise.&amp;nbsp; With that in mind, decisions about proprietary technology have to be weighed very heavily.&amp;nbsp; As anyone that has read this blog knows, I'm no fan of proprietary technology, and this article is just another data point, in a long line of data points, that shows you eventually pay a price for using &lt;i&gt;&lt;b&gt;ANY&lt;/b&gt;&lt;/i&gt; proprietary technology.&amp;nbsp; This example is especially egregious, just because the enterprises in question aren't even switching to a competitive operating system solution, but cannot even upgrade to the latest version from the same vendor.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;In this day and age, everyone should know better!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-7463773986025587331?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/7463773986025587331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=7463773986025587331' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/7463773986025587331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/7463773986025587331'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2010/11/blaming-microsoft-for-your-own.html' title='Blaming Microsoft for Your Own Shortcomings!'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-8059538060883341584</id><published>2010-03-08T11:14:00.000-07:00</published><updated>2010-03-08T11:14:20.532-07:00</updated><title type='text'>Something Everyone Interested in Open Source Should Read</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;I just ran across Michael Tiemann's recent blog post, on his OSI (Open Source Initiative) blog.&amp;nbsp; After reading it, I really felt like everyone should read this.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;So, here is the link:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;a href="http://www.opensource.org/node/511"&gt;The OSI Categorically Rejects IIPA's special pleadings against Open Source&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;We all need to be on guard against organizations like the IIPA, and what they attempt to do to disrupt open source software's adoption.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-8059538060883341584?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/8059538060883341584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=8059538060883341584' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/8059538060883341584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/8059538060883341584'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2010/03/something-everyone-interested-in-open.html' title='Something Everyone Interested in Open Source Should Read'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-2899646562936298884</id><published>2010-01-28T07:59:00.000-07:00</published><updated>2010-01-28T07:59:30.753-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>What Would Life Be Like Without Windows?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Today I read a blog titled the same as what I titled my blog post, from PC World, and giving full credit, were credit is due, by Randall C. Kennedy of InfoWorld.&amp;nbsp; Now, I don't know Randall, but I have to say, it was the most lopsided view of the world I have ever read.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Basically, it was an article claiming that the monopoly of Microsoft on the desktop is a good thing.&amp;nbsp; I used to work in telecommunications, and I used to hear the same argument about AT&amp;amp;T.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The fact of the matter is, monopolies are never good, but competition is very good for everyone.&amp;nbsp; It brings prices down, improves quality, and expands the market.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Besides, I know what life is like without Windows.&amp;nbsp; I haven't run any version of Windows since Windows 3.1!&amp;nbsp; I can tell you from my experience, that it wasn't always peaches and creme, but today I couldn't be happier.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I'm currently running Fedora 12 on the laptop that I'm am using to write this blog post.&amp;nbsp; I have all the software I need for everything I do, and it works great.&amp;nbsp; I can interoperate with anyone out there, even people using Microsoft products.&amp;nbsp; Besides that, I have the most stable environment I can imagine.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I don't spend countless hours fixing my system, but spend countless hours getting work done.&amp;nbsp; No viruses, crashes, hangs, or interoperability issues here.&amp;nbsp; I even have Mac's in my home, and my Linux system and the Mac's interoperate just fine.&amp;nbsp; We share drives across the network, e-mail and IM (including video) between the systems, share documents, you name it, and it all works.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Randall's vision of a future without Windows is simply not based on reality.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-2899646562936298884?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/2899646562936298884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=2899646562936298884' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/2899646562936298884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/2899646562936298884'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2010/01/what-would-life-be-like-without-windows.html' title='What Would Life Be Like Without Windows?'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-6144687183112808864</id><published>2009-11-19T13:11:00.000-07:00</published><updated>2009-11-19T13:11:00.754-07:00</updated><title type='text'>Fedora 12 Rocks!</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;I just upgraded to Fedora 12, and I have found the release to be very exciting, at least for me.&amp;nbsp; You see, I have an HP laptop, and it was a great deal at Best Buy, but it had some hardware that I knew would probably have problems.&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;It has two pieces of hardware that have had interesting results under Linux.&amp;nbsp; The first is an ATI (now AMD) HD 3200 graphics card.&amp;nbsp; While the stock ati open source driver worked with it when I first bought it (right around the release of Fedora 10), it had no hardware acceleration of any kind, not even 2D.&amp;nbsp; So it worked and was functional, but I really couldn't do much with it.&amp;nbsp; On the laptop that I replaced, I had an Nvidia card, and really was used to Compiz Fusion, and the way that it enabled me to work.&amp;nbsp; So, I had to settle for what worked.&amp;nbsp; Over time I tried to use the proprietary driver, but it never worked reliably, and soon it stopped working on Fedora at all.&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;With that, I had to wait and see what would happen in the open source drivers for this card.&amp;nbsp; Well, with Fedora 12, if you install the MESA DRI experimental drivers package, you can now get accelerated 3D, and so far it has worked flawlessly.&amp;nbsp; It's not giving the frame rates I would expect, but its light years ahead of where it was with software rendering.&amp;nbsp; I now have Compiz Fusion installed and configured the way I like it, and even though this package is experimental, so far I have had no reliability problems at all!&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;Kudo's to AMD for releasing the specifications, and Kudo's to the team of developers working on the ati driver and adding this support.&amp;nbsp; It's simply awesome!&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;The second piece of hardware that I have had trouble with is the Intel HDA sound card.&amp;nbsp; While playback always worked, the microphone that is built in to the laptop worked sporadically.&amp;nbsp; I would get a kernel or driver update and it would start working.&amp;nbsp; I would get another kernel or driver update and it would be broken again.&amp;nbsp; Weird things like the volume getting adjusted over 100% on Flash video playback would happen, which was very annoying.&amp;nbsp; Well, with Fedora 12, I can successfully use Skype to make audio/video calls, and the built-in microphone actually works.&amp;nbsp; I can also record video with audio in Cheese and that works too!&amp;nbsp; This has been a real pain, because there are times that I really need to do video conference calls and I just couldn't do it.&amp;nbsp; Also, the weird adjustment of the volume level in Flash is gone too, which removes a real annoyance from the equation.&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;This release finally lets me use all my hardware in this laptop, and so far has been completely stable.&amp;nbsp; I couldn't be more happy.&amp;nbsp; There are lots of other new features that I would like to explore as well, but I haven't had the time as of yet.&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;If you haven't checked out Fedora 12, do it, its been great for me, and the much improved hardware support is pretty awesome!&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-6144687183112808864?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/6144687183112808864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=6144687183112808864' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/6144687183112808864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/6144687183112808864'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2009/11/fedora-12-rocks.html' title='Fedora 12 Rocks!'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-2317832960473706853</id><published>2009-01-08T16:43:00.002-07:00</published><updated>2009-01-08T16:51:21.935-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Strategy'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='IT'/><title type='text'>Time for an Open Source Strategy</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial;"&gt;In looking at the state of things right now, economically speaking, has there ever been a time better suited for adoption of open source?&lt;br /&gt;&lt;br /&gt;I don't think so.  Given today's economic situation, closed source license and maintenance fees can choke off the air supply of any business.  I know from personal experience, having to cut budgets many times over the years when I was in IT, maintenance fees on closed source software always adds up to a significant amount of money in the enterprise.  If you find yourself in that situation, and you have been on the sidelines where open source adoption is concerned, its time to get off the sidelines and into the game!&lt;br /&gt;&lt;br /&gt;If you want specific advice in adoption of open source technologies, please don't hesitate to post here.&lt;br /&gt;&lt;br /&gt;Good luck to everyone in these very tough economic times.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-2317832960473706853?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/2317832960473706853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=2317832960473706853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/2317832960473706853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/2317832960473706853'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2009/01/time-for-open-source-strategy.html' title='Time for an Open Source Strategy'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-5132181924855618721</id><published>2008-10-01T11:57:00.004-06:00</published><updated>2008-10-01T13:25:23.353-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Standards'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>Are you Stupid if you use "Cloud" based Applications or Services?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial;"&gt;There has been a lot of recent commentary around Richard Stallman's recent comments about cloud computing, as well as Larry Ellison's comments at Oracle OpenWorld, also ridiculing "cloud computing".  With those comments, I started to think about it at a little deeper level then before, and figured it was a good topic to cover for enterprise architecture.&lt;br /&gt;&lt;br /&gt;As the buzz around software-as-as-service (SaaS), cloud computing, hosted applications, platform-as-a-service (PaaS), call it what you want, has grown, its become clear that enterprises need to understand these offerings, and determine whether it is right for them.  With that, and the fact that some contend this is stupid, let's examine whether it really is or not.  Regardless of how you might personally feel about Richard Stallman or Larry Ellison, there is some truth in what they both say.&lt;br /&gt;&lt;br /&gt;As anyone who has ever read my blog, or known me personally, should know, I am a big proponent of openness.  Openness in the case of open standards and open source.  If we look at cloud computing through the lens of openness I can see cases where it can be stupid to depend on it, and cases where it can be very smart indeed.  Let's start by looking at the so-called "stupid" cases.&lt;br /&gt;&lt;br /&gt;In general, Richard Stallman talked about cloud computing being a trap.  In a sense, he is correct.  In the case where you are using a hosted application in the "cloud", and your data may be held in a proprietary format, with very high barriers for getting your data out.  This is just like buying into the proprietary ERP vendor solutions that have proliferated in IT shops around the globe.  Even when you have those in-house, they have your data in a proprietary format, and they make it as difficult as possible to get it out.  This makes the barrier to exit very high, which leads to the trap that you can't switch to another vendors solution without unbearable conversion costs!  So, the trap isn't really the fact that its a cloud based solution, but that they have your data in a proprietary format, and the switching costs, once they have your data, is too high for most companies to absorb.  By definition, this flies in the face of openness and not being locked into any one vendor.  Something a lot of IT shops work hard to avoid, but fall right into with both in-house and cloud based software. So, what about cloud based platforms?&lt;br /&gt;&lt;br /&gt;In the case of cloud based platforms there is a trap also.  The trap is that you use a proprietary platform, with API's and features only available from the cloud provider.  This is another area that enterprises should avoid.  Instead of trapping you with proprietary data formats, they trap you with proprietary application programming interfaces and techniques, rendering your application non-portable in every sense.  You can't lift your application up, and drop it into another cloud from another vendor, and you can't bring it in-house, without re-writing it!  Ouch!!!  For many years, I battled against using proprietary API's in in-house developed applications, only to be told that we would never switch from x to y!  Of course, in all those cases, just the opposite ended up happening.  In many cases, changing platforms saved the company millions upon millions of dollars.  In fact, this strategy saved my last employer over 26 million dollars in the nine years I was employed there (and this figure has continued to grow over time).  Don't fall into the trap with proprietary development API's and features.  You will regret it in the long-term.  So, that covers  cloud based applications, and cloud based application development platforms, what else is there?&lt;br /&gt;&lt;br /&gt;Well, there is one more category of cloud based computing.  Cloud based infrastructure, where you are provided with a virtualized hardware environment (servers, network and storage), and you can choose to put your choice of operating system, middle-ware and databases in place.  This infrastructure can be used for both primary hosting of whatever you want to put on it (whether in-house developed or not), and can be used for dynamic expansion of infrastructure to handle peak loads, now being called "cloud bursting".  So, what is this category of cloud computing -  smart or stupid?&lt;br /&gt;&lt;br /&gt;If the infrastructure allows you to choose the operating system, middle-ware and databases, and you can successfully run you application outside of the cloud, then I would say that this is smart indeed.  You have all the control you need to keep your application portable, without the infrastructure investment and on-going management costs.  Not to mention the ability to dynamically grow the environment.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt;In summary, look for cloud based software solutions that are based on open standards (open source as well), with open formats for storing your data, and the ability to easily extract your data through an open interface (perferrably with the ability to do high-volume bulk transfer).    If you are looking at platforms for development, only accept those platforms that don't depend on proprietary API's, and keep a running copy on an internal environment somewhere (doesn't have to be large and expensive), to verify that you can run the same application deployed outside of the vendors cloud.  If you are just looking for infrastructure, stay with vendors that allow you to choose the operating system, middle-ware and databases.  That will keep what you do there portable, whether that's a primary environment or you are using it to do "cloud bursting".&lt;br /&gt;&lt;br /&gt;Like most things in life, you can do stupid things and smart things with technology, just try to understand any hidden traps there might be, and keep your solutions open!&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-5132181924855618721?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/5132181924855618721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=5132181924855618721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/5132181924855618721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/5132181924855618721'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2008/10/are-you-stupid-if-you-use-cloud-based.html' title='Are you Stupid if you use &quot;Cloud&quot; based Applications or Services?'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-4991431309825948423</id><published>2008-09-11T17:34:00.004-06:00</published><updated>2008-09-11T17:55:02.081-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora Core'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='NetworkManager'/><title type='text'>Sprint EVDO Card and Linux</title><content type='html'>&lt;div style="text-align: justify;"&gt;Recently I upgraded to a new phone, and while I was at it I bought one of those  mobile broadband cards for my laptop.  I had seen enough blogs and e-mail posts on various mailing lists to know that it would probably work.  My carrier is Sprint, so I naturally received an EVDO card from them.&lt;br /&gt;&lt;br /&gt;Upon my purchase, I noticed from Sprint's own instructions for Linux that you couldn't activate the card on Linux.  That could only be done from a Mac or Windows based PC.  Well, I happen to have Macs in my house along with my Linux systems, so I went to a Mac, and activated the card.  It was very simple, as it automatically ran a Mac version of some software built into the card, and it activated, and connected without issue.  So, then I wanted to get it configured to work on my Linux laptop.  That's where the fun began.&lt;br /&gt;&lt;br /&gt;I'm running Fedora 9, but its also a 64-bit AMD system, and I am running the x86_64 version of Fedora on it.  When I plugged in the card, I could see that it was recognized by the OS, and the USB product id and vendor id would display.  So, that was promising.  I wanted to do this the easiest way possible, so I thought I would just go into the Edit Connections... menu item in the Network Manager applet, and configure from there.  So, I did that, and I selected the broadband tab, and clicked on Add.  Well, nothing happened.  Nothing at all.  After a while of digging around, I decided to run the same connection application from the command-line.  Sometimes applications will spew out errors to standard error that never are displayed in the GUI, so I thought that I might learn something.&lt;br /&gt;&lt;br /&gt;So, I ran nm-connection-editor from the command-line, instead of from the Network Manager applet, and what do you know, an error message spews out when I try to add a broadband connection.  Here it is:&lt;br /&gt;&lt;br /&gt;&lt;pre class="bz_comment_text" id="comment_text_0"&gt;** (nm-connection-editor:4208): WARNING **: create_new_connection_for_type:&lt;br /&gt;unhandled connection type 'NMSettingCdma'&lt;br /&gt;&lt;br /&gt;** (nm-connection-editor:4208): WARNING **: Can't add new connection of type&lt;br /&gt;'cdma'&lt;/pre&gt;After some searching, I found out that the x86_64 version of Network Manager actually didn't have the broadband code implemented in the version that was in Fedora 9.  So, I opened a bugzilla on it, and I ended up getting a response saying it was fixed in a version that was in Fedora 9 updates testing.&lt;br /&gt;&lt;br /&gt;So, after getting the appropriate link to where these packages where, I decided to install them and try it out.  Well, I must say I couldn't be happier.  It worked flawlessly, and it detected the correct type of card, and filled in all the information for it, and I didn't change anything other than the default connection name that the wizard had filled in.  At first, I thought no one has ever documented adding a mobile broadband card through the Network Manager interface, so I would do that.  After thinking about it though, it was so easy, that there really isn't any value in documenting it.&lt;br /&gt;&lt;br /&gt;This is truly the way things should be.  Plug in your device, right-click and select Edit Connections..., then select the Mobile Broadband tab, click Add, and click OK!  It couldn't get much easier than that!  Whoops, I guess I just documented it!&lt;br /&gt;&lt;br /&gt;So, if you haven't used the Network Manager for doing this, its certainly a lot easier than setting up PPP scripts that I have seen documented by many people.  Give it a try, you'll like it.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-4991431309825948423?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/4991431309825948423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=4991431309825948423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/4991431309825948423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/4991431309825948423'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2008/09/sprint-evdo-card-and-linux.html' title='Sprint EVDO Card and Linux'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-2853928526856742225</id><published>2008-08-29T13:34:00.002-06:00</published><updated>2008-08-29T13:38:11.229-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Patents'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Can Software Patents Get Any Worse?</title><content type='html'>Today, I read an article that states Microsoft has been granted a patent for "Page Up" and "Page Down"!  I laughed when I saw the title, and I couldn't believe it.  Here is a link to the article:&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;&lt;a href="http://news.zdnet.com/2424-9595_22-218626.html"&gt;Microsoft patents 'Page Up' and 'Page Down' &lt;/a&gt;&lt;/h1&gt;It has become amazing what you can get a software patent for.  I really don't even know what to say, its so shocking!&lt;br /&gt;&lt;br /&gt;Simply amazing!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-2853928526856742225?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/2853928526856742225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=2853928526856742225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/2853928526856742225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/2853928526856742225'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2008/08/can-software-patents-get-any-worse.html' title='Can Software Patents Get Any Worse?'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-6070917014015820783</id><published>2008-02-19T09:23:00.005-07:00</published><updated>2010-06-08T17:55:09.757-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='large page memory'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance tuning'/><category scheme='http://www.blogger.com/atom/ns#' term='JVM'/><title type='text'>JVM Performance Tuning</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial;"&gt;Last week was JBoss World, and it was exciting to be a part of it.  I gave a presentation on performance tuning our Enterprise Application Platform or EAP, and it was packed.  In fact, people were sitting on the floor in pretty much all available space.  What struck me about the presentation, and much of the discussion I had with individuals afterwards, is that JVM tuning is a big topic.  So, I thought I would share some of what I learned over the past couple of months as I was preparing for my presentation.&lt;br /&gt;&lt;br /&gt;In preparing for my presentation, I wrote an EJB 3 application, wrote a load test for it, and applied optimizations to various configuration parameters within the EAP, the JVM and the operating system.  In particular, one JVM and OS setting really made a huge difference in throughput, and its something that I wanted to share here.&lt;br /&gt;&lt;br /&gt;When using a 64-bit OS, in my case Fedora 8 and RHEL 5.1, I wanted to investigate the usage of large page memory support, or HugeTLB as its referred to within the Linux kernel.  What I found was very scarce documentation around using this, and that that documentation was incomplete to actually make it work.  What I also found, is it makes a huge difference in overall throughput and response times of an application, when using heap sizes above 2GB.&lt;br /&gt;&lt;br /&gt;So, without further ado, let's dive into how to set this up.  These instructions are for Linux, specifically for Fedora 8 and RHEL 5.1, but the results should be generally applicable to any 64-bit OS and 64-bit JVM that supports large page memory (which all the proprietary UNIX's do, and I found an MSDN article describing how to use this on 64-bit Windows).&lt;br /&gt;&lt;br /&gt;You must have root access for these settings.  First, you need to set the kernel parameter for shared memory to be at least as big as you need for the amount of memory you want to set aside for the JVM to use as large page memory.  Personally, I like to just set it to the maximum amount of memory in the server, so I can play with different heap sizes without having to adjust this every time.  You set this by putting the following entry into /etc/sysctl.conf:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;kernel.shmmax = &lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;span style="font-family: courier new;"&gt;n&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;where &lt;span style="font-style: italic; font-weight: bold;"&gt;n&lt;/span&gt; is the number of bytes.  So, if you have a server with 8GB of RAM, then you would set it to 8589934592, or 1024*1024*1024*8, which is 8GB.&lt;br /&gt;&lt;br /&gt;Second, you need to set a virtual memory kernel parameter to tell the OS how many large memory pages you want to set aside.  You set this by putting the following entry into /etc/sysctl.conf:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;vm.nr_hugepages = &lt;span style="font-style: italic; font-weight: bold;"&gt;n&lt;/span&gt;&lt;span style="font-family: arial;"&gt;&lt;br /&gt;&lt;br /&gt;where &lt;span style="font-style: italic; font-weight: bold;"&gt;n&lt;/span&gt; is the number of pages, based on the page size listed in /proc/meminfo.  If you cat /proc/meminfo you will see the large page size of your particular system.  This varies depending on the architecture of the system.  Mine, is an old Opteron system, and it has a page size of 2048 KB, as shown by the following line in /proc/meminfo:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Hugepagesize:     2048 kB&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, I wanted to set this to 6GB. I set the parameter to 3072, which is (1024*1024*1024*6)/(1024*1024*2).  Which is 6GB divided by 2MB, since 2048 KB is 2MB.&lt;br /&gt;&lt;br /&gt;After this, you need to set another virtual memory parameter, to give permission for your process to access the shared memory segment.  In /etc/group, I created a new group, called hugetlb, you can call it whatever you like, as long as it doesn't collide with any other group name, and it had a value of 501 on my system (it will vary, depending on whether you use the GUI tool, like I did, or whether you do it at the command line, and vary depending on what groups you already have defined).  You put that group id in /etc/sysctl.conf as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;vm.hugetlb_shm_group = &lt;span style="font-style: italic; font-weight: bold;"&gt;gid&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;where &lt;span style="font-style: italic; font-weight: bold;"&gt;gid&lt;/span&gt;, in my case was 501.  You also add that group to whatever your user id is that the JVM will be running as.  In my case this was a user called jboss.&lt;br /&gt;&lt;br /&gt;Now, that concludes the kernel parameter setup, but there is still one more OS setting, which changes the users security permissions to allow the user to use the memlock system call, to access the shared memory.  Large page shared memory is locked into memory, and cannot be swapped to disk.  Another major advantage to using large page memory.  Having your heap space swapped to disk can be catastrophic for an application.  So, you set this parameter in /etc/security/limits.conf as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;jboss           soft    memlock         &lt;span style="font-style: italic; font-weight: bold;"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;jboss           hard    memlock         &lt;span style="font-style: italic; font-weight: bold;"&gt;n&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;where &lt;span style="font-style: italic; font-weight: bold;"&gt;n&lt;/span&gt; is equal to the number of huge pages, set in vm.nr_hugepages, times the page size from /proc/meminfo, which in my example would be, 3072*2048 = 6291456.  This concludes the OS setup, and now we can actually configure the JVM.&lt;br /&gt;&lt;br /&gt;The JVM parameter for the Sun JVM is -XX:+UseLargePages (for BEA JRocket its -XXlargePages, and for IBM's JVM its -lp).  If you have everything setup correctly, then you should be able to look at /proc/meminfo and see that the large pages are being used after starting up the JVM.&lt;br /&gt;&lt;br /&gt;A couple of additional caveats and warnings.  First, you can dynamically have the kernel settings take affect by using sysctl -p.  In most cases, if the server has been running for almost any length of time, you may not get all the pages you requested, because large pages requires contiguous memory.  You may have to reboot to have the settings take affect.  Second, when you allocate this memory, it is removed from the general memory pool and is not accessible to applications that don't have explicit support for large page memory, and are configured to access it.  So, what kind of results can you expect?&lt;br /&gt;&lt;br /&gt;Well, in my case, I was able to achieve an over 3x improvement in my EJB 3 application, of which fully 60 to 70% of that was due to using large page memory with a 3.5GB heap.  Now, a 3.5GB heap without the large memory pages didn't provide any benefit over smaller heaps without large pages.  Besides the throughput improvements, I also noticed that GC frequency was cut down by two-thirds, and GC time was also cut down by a similar percentage (each individual GC event was much shorter in duration). Of course, your mileage will vary, but this one optimization is worth looking at for any high throughput application.&lt;br /&gt;&lt;br /&gt;Good luck!&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-6070917014015820783?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/6070917014015820783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=6070917014015820783' title='48 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/6070917014015820783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/6070917014015820783'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2008/02/jvm-performance-tuning.html' title='JVM Performance Tuning'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>48</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-2244374162610290509</id><published>2008-02-04T11:20:00.000-07:00</published><updated>2008-02-04T17:33:43.728-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Yahoo'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Yahoo and Microsoft; Mixing Oil and Water</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;Every since Microsoft announced its $44.6 billion dollar offer for Yahoo, there have been many articles flying around about the potential merger.  What I find most interesting, is the lack of coverage of the technology issues around such an integration.&lt;br /&gt;&lt;br /&gt;I have seen only two articles that have mentioned technology differences between the two companies as an integration challenge.  I think this is a huge oversight in the coverage of the acquisition.&lt;br /&gt;&lt;br /&gt;From what I know of Microsoft, and what I have heard of Yahoo's technology, you simply cannot downplay the challenge of putting these two companies together.  They are polar opposites where engineering is concerned, and Microsoft is living in a dream world if they think they are going to get any synergy from combining the two engineering teams.&lt;br /&gt;&lt;br /&gt;Good software developers tend to be pretty picky about the technologies they work with, and are probably with the company they are with, in large part, because of the technologies employed.&lt;br /&gt;&lt;br /&gt;In the case of Microsoft, there is no speculation about what technologies will be employed.  They will be Microsoft technologies, period.  This is illustrated by Microsoft's acquisition of HotMail.  HotMail was deployed on an open source infrastructure, and I believe they were using BSD as the operating system.  When Microsoft acquired them, the first thing Microsoft wanted to do was move HotMail to a Microsoft platform.  Of course, this failed at first, but I believe they eventually did succeed in getting HotMail moved to a Windows platform.  With the difficulties of just moving this one application, you have to consider moving the entire Yahoo portfolio over to a new platform to be an insurmountable task.&lt;br /&gt;&lt;br /&gt;From everything I've heard about Yahoo's technology platform, it is largely based on open source.  Just like HotMail was.  If I were a Yahoo software developer, and I was asked to move my work to a Microsoft platform, I would simply quit.  Now, they will have a Microsoft retention package that will attempt to keep them at the company, but I really don't see this as something that will keep the most talented folks around.  Now, Microsoft could decide to allow the Yahoo platform to be the platform that stays, but this is so totally against the Microsoft culture, that I don't see this happening.  This also poses a lot of problems for all their existing technology and their other acquisitions.  Would they truly be willing to throw all the other technology away, or have those engineers move their technology to open source, and into the Yahoo infrastructure?  Again, I don't see that happening, and they would also risk losing those existing engineers for the same reason that Yahoo engineers would leave.&lt;br /&gt;&lt;br /&gt;If this merger isn't akin to mixing oil and water, I don't know what is!&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-2244374162610290509?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/2244374162610290509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=2244374162610290509' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/2244374162610290509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/2244374162610290509'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2008/02/yahoo-and-microsoft-mixing-oil-and.html' title='Yahoo and Microsoft; Mixing Oil and Water'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-5462313246047679094</id><published>2008-02-01T13:16:00.000-07:00</published><updated>2008-02-01T13:50:53.610-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='Enterprise Application Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss World'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss Developers Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='ESB'/><title type='text'>The State of JBoss and the Upcoming JBoss World</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial;"&gt;Lately, it seems like the world views JBoss as a failed acquisition by Red Hat.  Failed by a couple of measures in fact.  The first being sales of our subscriptions, and the second being that we are no longer innovating.  I wanted to take the time to address both of those items.&lt;br /&gt;&lt;br /&gt;Where sales is concerned, I believe this was the biggest problem with the integration of JBoss into Red Hat.  There for a time, sales really did lag, and things weren't looking very good.  We had lots of experienced middle-ware sales people leave as a result of the integration into the larger Red Hat sales organization.  I also believe that Red Hat didn't truly understand that the sales process and cycle were different for middle-ware than it was for RHEL.  Having said that, I now see that Red Hat truly does understand the differences (some people just have to learn the hard way), and while the losses of good, experienced middle-ware sales folks probably still hurts some, we are seeing a major turn around in this area.  While I cannot publicly talk about the actual sales figures (we are a public company after all), I can say that sales of JBoss subscriptions are growing, and have been growing for quite a while now.  Demand for training and consulting is also strong.  So, the picture is looking bright, and brighter all the time.  I believe the company has learned a hard lesson, and the resultant actions from that lesson is now paying off, and will continue to pay off in the future.&lt;br /&gt;&lt;br /&gt;Now, let's turn our focus to innovation.  Has innovation really stopped at JBoss, or at least come to a very slow crawl.  I really take issue with that.  Since the acquisition, we have changed our product model somewhat, which certainly slowed some other things down, but when you look at what we have accomplished, its actually quite amazing.&lt;br /&gt;&lt;br /&gt;First, we released our first two products under our new product model, with our Enterprise Application Platform 4.2 (In July of last year), and the very recent Enterprise Platform 4.3 (EAP for short).  Our EAP 4.3 release contains the very latest in Java Web Services, with fully supported JAX-WS and JSR-181 annotation support, as well as an entirely new JMS implementation based on our JBoss Messaging technology.&lt;br /&gt;&lt;br /&gt;With JBoss Messaging, you now have a JMS provider that can be horizontally scaled in a cluster, with fully transparent load balancing and fail-over.  Also, performance is substantially enhanced over the old (and now retired) JBossMQ.  For those of you that have experience with JBossMQ in a cluster, with its band-aid approach to clustering and fail-over, you will definitely appreciate JBoss Messaging.  This is a world-class messaging system, and certainly a shining example of innovation from JBoss.&lt;br /&gt;&lt;br /&gt;Second, we have also released a new version of our Portal platform, JBoss Portal 2.6, and it includes much better usability, manageability, and capabilities to support newer technologies, like Google Gadgets.&lt;br /&gt;&lt;br /&gt;Third, we have released our JBoss Communications Platform, based on our Mobicents open source project, providing the only enterprise class JSLEE implementation in the world.  With ongoing enhancements, the next platform release will also support the very latest SIP servlets specification as well, so you can start out with SIP servlets, and move up to full JSLEE as you need.  This is a revolutionary platform for telecommunications, and another shining example of the innovation coming from JBoss.&lt;br /&gt;&lt;br /&gt;Fourth, we have released our JBoss ESB, into the community, and as we speak we are working hard on delivering our SOA Platform product based on JBoss ESB.  This product will have a very large impact on the ESB/SOA marketplace, as the first truly enterprise class open source product in the market (and yes I don't count MuleSource and Service Mix, because they don't have the kind of support organization that we have).  This will be a game changer!&lt;br /&gt;&lt;br /&gt;Last but not least, we also delivered JBoss Developer Studio.  I can't say enough about this accomplishment.  The developers deserve all the credit for getting this to market.  It fills a huge hole in our product portfolio, and makes it that much easier for IT managers to move to JBoss technology.&lt;br /&gt;&lt;br /&gt;And that's not all.  There are many other things in the works at the JBoss division of Red Hat, and for that, you should consider coming to &lt;a href="http://www.jbossworld.com/"&gt;JBoss World&lt;/a&gt;.  We are having a JBoss World in Orlando, starting on February 13th, and I believe there is one more week to register.  I would encourage everyone that can to come, and check out all the exciting things happening with JBoss, and I think you will be convinced that we are still innovating, and there are lots of reasons to consider JBoss technology for your projects.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-5462313246047679094?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/5462313246047679094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=5462313246047679094' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/5462313246047679094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/5462313246047679094'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2008/02/state-of-jboss-and-upcoming-jboss-world.html' title='The State of JBoss and the Upcoming JBoss World'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-3957908929763610097</id><published>2008-01-21T11:55:00.000-07:00</published><updated>2008-01-21T12:23:15.591-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='driver'/><category scheme='http://www.blogger.com/atom/ns#' term='ATI'/><title type='text'>The State of ATI Graphics for Linux</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial;"&gt;Over a year ago, my laptop that I use for work, had a meltdown, and would no longer work.  I had to get back to work as quickly as possible, so I went to Best Buy to purchase a new one.  In that situation, I made a decision to purchase a laptop with the ATI XPress 200M PCI-E integrated graphics chip.  Now, at the time I was very hesitant, because I had read many reports of problems with all ATI discreet and integrated graphics under Linux.  Well, it turns out that the reports were well founded, and I had lots of problems trying to use the proprietary graphics drivers from ATI.  They were buggy, slow, and my laptops suspend and hibernate functions simply didn't work at all.  I had none of these problems with my old laptop which used an Nvidia chip set.  Needless to say, this was frustrating, and the open source driver, which I would prefer, but ATI doesn't release their specifications, so I couldn't actually use the majority of the features of the graphics chip.  For example, no 3D support, no support for proper widescreen resolutions, and generally poor performance.  Again, these issues with the open source drivers aren't the fault of the developers, but still falls squarely on ATI as well.  So, what to do?&lt;br /&gt;&lt;br /&gt;At this point, I used whatever seemed to work best at the time, and many times found myself switching between the proprietary driver and the open source driver, depending on which one at the time seemed to work the best.  Needless to say, this was a real pain to deal with, but I really didn't have much of a choice in the matter.  I still needed to make a living, and didn't want to take the laptop back and try another one, just to find other issues.  So, I stayed patient, and kept testing each successive release of the available drivers.  Then a breakthrough occurred.&lt;br /&gt;&lt;br /&gt;First, a couple of months ago, ATI released a new proprietary driver that was based on a new code base, and I have to say, the performance is impressive.  While it didn't address all of my issues, at least I had a stable driver that actually had good graphics performance.  Many applications, that were really frustrating to use, suddenly became responsive and a joy to use.  Whew!  Now, this wasn't the end of the problems, but it certainly was a new beginning that had a lot of promise.&lt;br /&gt;&lt;br /&gt;Now, the latest release of the driver, finally has my laptop usable in all situations.  After reading the release notes for the latest release, I noticed that suspend and hibernate fixes were included, which had me intrigued.  Maybe, I would finally be able to use my laptop without power for longer periods of time?  Well, I installed the new release, and after seeing that everything was still stable for all my daily activities, I decided to test suspend/resume and hibernate functions.  Well, I have very good news to report.  Both functions work as expected!  I couldn't be more happy at this point.  I have a fully functional laptop where all the graphics features work, and I can use it with or without power in confidence.  That's not the entire story either.&lt;br /&gt;&lt;br /&gt;It turns out, that along with this transition to the new code base, that ATI has also started to release the specifications for their newer graphics architecture.  While, that will not impact me, it certainly is a great step in the right direction.  I actually wish that they would simply stop the proprietary driver, and just work in conjunction with the community to produce and support great open source drivers, but at least its a step in the right direction.&lt;br /&gt;&lt;br /&gt;While I still have some reservations about using ATI products under Linux, the progress lately has me thinking that ATI products should be something I evaluate when making my next purchase.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-3957908929763610097?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/3957908929763610097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=3957908929763610097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/3957908929763610097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/3957908929763610097'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2008/01/state-of-ati-graphics-for-linux.html' title='The State of ATI Graphics for Linux'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-2047600033700622094</id><published>2007-10-03T11:25:00.000-06:00</published><updated>2007-10-03T11:34:18.292-06:00</updated><title type='text'>Open Source: The .NET Framework? Huh?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;It is being reported today that Microsoft is open sourcing their .Net framework class libraries (See this link on InfoQ - &lt;a href="http://www.infoq.com/news/2007/10/Dotnet-Open-Source"&gt;Open Source: The .Net Framework)&lt;/a&gt;.  Wow, could this be the start of a sea change at Microsoft?&lt;br /&gt;&lt;br /&gt;Well, it turns out that this is really no change at all.  When you look closely, they are releasing the source code under the &lt;a href="http://www.microsoft.com/resources/sharedsource/licensingbasics/referencelicense.mspx"&gt;Microsoft Reference License.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This license only gives you permission to use the code in a read-only form!  This hardly fits the definition of open source, and the term open source should never be used where this license is concerned.&lt;br /&gt;&lt;br /&gt;While, a nice move by Microsoft for .Net developers, because they will be able to step through the actual .Net library code using a debugger, it has nothing to do with open source, and I can't believe anyone could use the term open source in conjunction with this move by Microsoft.&lt;br /&gt;&lt;br /&gt;People need to get their facts straight before entitling an article in this way.  This is very poor journalism, and allows Microsoft to get some good PR, that they clearly do not deserve in this case.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-2047600033700622094?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/2047600033700622094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=2047600033700622094' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/2047600033700622094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/2047600033700622094'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2007/10/open-source-net-framework-huh.html' title='Open Source: The .NET Framework? Huh?'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-5425899322848206208</id><published>2007-08-27T15:47:00.000-06:00</published><updated>2007-08-27T16:17:47.436-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOXML'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Standard'/><category scheme='http://www.blogger.com/atom/ns#' term='Ethics'/><title type='text'>Microsoft's Behavior in the Standards Process for OOXML</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;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!&lt;/span&gt;  &lt;span style="font-family:arial;"&gt;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?&lt;br /&gt;&lt;br /&gt;Well, let's enumerate everything I have seen:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;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.&lt;/li&gt;&lt;li&gt;Preventing new members to these same countries body's that they know will not vote to approve OOXML.&lt;/li&gt;&lt;li&gt;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.&lt;/li&gt;&lt;li&gt;Giving misleading information about the JTC1 committee process, so that countries will not vote "No, with comments", and instead will vote "Yes, with comments".&lt;/li&gt;&lt;ul&gt;&lt;li&gt;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.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Giving misleading information about the voting deadlines, thereby possibly preventing some countries votes from being counted.&lt;/li&gt;&lt;li&gt;Telling certain countries that Microsoft's educational programs in their country would be adversely affected if they didn't vote yes.&lt;/li&gt;&lt;li&gt;Calling heads of government agencies to pressure their representatives to vote yes.&lt;/li&gt;&lt;/ul&gt;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.&lt;br /&gt;&lt;br /&gt;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 (&lt;a href="http://andrigoss.blogspot.com/2007/02/is-ooxml-open-as-microsoft-claims.html"&gt;see my previous post on whether OOXML is open or not&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;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!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-5425899322848206208?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/5425899322848206208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=5425899322848206208' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/5425899322848206208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/5425899322848206208'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2007/08/microsofts-behavior-in-standards.html' title='Microsoft&apos;s Behavior in the Standards Process for OOXML'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-4996815947050879963</id><published>2007-08-15T12:02:00.000-06:00</published><updated>2007-08-15T12:47:20.728-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Red Hat'/><category scheme='http://www.blogger.com/atom/ns#' term='Enterprise Application Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><category scheme='http://www.blogger.com/atom/ns#' term='Developer Tools'/><title type='text'>JBoss Enterprise Application Platform</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;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.&lt;br /&gt;&lt;br /&gt;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?&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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).&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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!&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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:&lt;br /&gt;&lt;a href="http://www.redhat.com/developers/rhds/index.html"&gt;&lt;br /&gt;http://www.redhat.com/developers/rhds/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Download the developer tools, and play around with the technology.  I'm sure you will like what you see!&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-4996815947050879963?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/4996815947050879963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=4996815947050879963' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/4996815947050879963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/4996815947050879963'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2007/08/jboss-enterprise-application-platform.html' title='JBoss Enterprise Application Platform'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-1494932175923392767</id><published>2007-08-07T20:18:00.001-06:00</published><updated>2007-08-08T07:58:34.542-06:00</updated><title type='text'>Beagle Correction</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial;"&gt;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.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;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.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;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.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_9oWFPyMT5lo/RrkpR-4WobI/AAAAAAAAABE/KSkBDKWay1s/s1600-h/beaglesearch.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_9oWFPyMT5lo/RrkpR-4WobI/AAAAAAAAABE/KSkBDKWay1s/s320/beaglesearch.png" alt="" id="BLOGGER_PHOTO_ID_5096149842260304306" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: arial; text-align: justify;"&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Thanks to Joe Shaw for commenting and looking into what was going on with my documents that Beagle couldn't find.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-family: arial; font-weight: bold;font-family:arial;" &gt;UPDATE:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;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.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_9oWFPyMT5lo/RrnLdu4WocI/AAAAAAAAABM/vvNk1GafsaY/s1600-h/beagleindex.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_9oWFPyMT5lo/RrnLdu4WocI/AAAAAAAAABM/vvNk1GafsaY/s320/beagleindex.png" alt="" id="BLOGGER_PHOTO_ID_5096328165007466946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family:arial;"&gt;This is very good news indeed, and great work by the Beagle developers!&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-1494932175923392767?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/1494932175923392767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=1494932175923392767' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/1494932175923392767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/1494932175923392767'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2007/08/beagle-correction.html' title='Beagle Correction'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_9oWFPyMT5lo/RrkpR-4WobI/AAAAAAAAABE/KSkBDKWay1s/s72-c/beaglesearch.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-1307465983283746164</id><published>2007-07-26T15:10:00.000-06:00</published><updated>2007-07-26T16:20:54.596-06:00</updated><title type='text'>My Experience with Fedora 7</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: arial;"&gt;Like anyone that has been using Linux for a long time, I really like seeing what's new in my favorite distribution.  I have been using Fedora since Fedora Core 3, and have happily upgraded to each successive version, and I finally got around to upgrading to Fedora 7 this week.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;A big part of the reason I waited to upgrade, is my laptop is using an ATI Xpress 200M video chip, that doesn't have an open source driver that can do hardware accelerated 3D.  The ATI proprietary driver didn't work with Fedora 7 when it was first released, so I thought it better to wait.  Two months later, I read an article saying the new driver release fixed the issues with Fedora 7, so I downloaded the new driver, installed it on Fedora Core 6 first, and everything worked, so I popped in the DVD to do the upgrade and rebooted.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;The laptop booted just fine off the DVD, and the upgrade process went smooth.  It took a little longer than I would have liked, but I have a lot of software installed on this laptop, so there were 895 packages that had to be upgraded.  This all went smoothly, and the upgrade finished, it ejected my DVD, and I rebooted.  This is where the fun began.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;The first thing I planned on doing after the reboot, was install the ATI proprietary driver.  Of course, with the initial boot after the upgrade, with the new kernel in place, the driver wasn't there, and it booted in text mode, which is what is expected.  At that point, I logged in, and ran the ATI installer, and everything installed fine.  I then rebooted again, not specifically because I had to, but I like to make sure the graphical boot works as it is supposed to.  At this point, when the graphical boot should kick in, all I get is a black screen.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;So, I boot again, and this time use grub to boot into single user mode, and then I look at the Xorg.log file, and I find that the X Server is core dumping!  Ouch!  This release of the driver is supposed to work for Fedora 7.  Well, I decide to reconfigure using the 2D open source radeon driver, and that works as expected, and I am able to get X working.  I then go on-line, and find out that the driver is not recommended for use with Fedora 7, as others had encountered the same problem as I.  So, I find myself still stuck with a 2D only system, because ATI has not released any fix for this problem.  Hopefully, next months release will finally fix Fedora 7 compatibility issues once and for all (I am running out of hope for good ATI Linux support).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;After that hurdle, I decided to see if the latest Broadcom driver for my wireless chip actually worked.  I have a PCMCIA NetGear card that uses the Atheros chipset, that works great, and I oridinarly blacklist the driver for the internal Broadcom chip (bcm4318) because it has never worked reliably.  I certainly would prefer to use the internal wireless, so I continue to experiment.&lt;br /&gt;&lt;br /&gt;As it turns out, after upgrading the kernel to the latest Fedora 2.6.22, the driver loaded successfully, and I was actually able to connect to my access point with WPA.  I was surprised, and happy to see this working, but the good news didn't last long.  The connection speed that was being reported was only 1 Mb/s, and when I tried to open&lt;/span&gt;&lt;span style="font-family:arial;"&gt; my browser, it couldn't even open my home page.  So with that disappointment behind me I went back to the Atheros based NetGear card.  I had to use a snapshot release of the code for it to compile with the 2.6.22 kernel, but it works as good as ever, and maybe a little better.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;At this point, everything is working quite well, and with some additional patches for Evolution's data server package, I now have a stable working laptop once again, albeit without working 3D.  So after working with it the last few days, here are some of my observations.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;I really like the fast user switching.  The first time I tried it, it complained that it couldn't find the GDM binary, but after the screen saver kicked in, and I awoke it, I decided to use the "Switch User" function from there, and it worked!  I was able to switch back and forth from two accounts without any issues.  Since then, it has worked from the panel applet without complaint.  I really like this feature, and its been sorely lacking in Linux for quite some time (I am used to this feature in Mac OS X).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Another area, that has been a pleasant surprise, has been using 32-bit Firefox plugins under 64-bit Firefox.  This laptop is using an AMD Turion 64 processor, and the 64-bit Firefox is the default installation.  Up to this point, I have always gone through the trouble of installing the 32-bit Firefox, just to get Flash, Adobe Reader, and other plugins working.  I had read about some software called nspluginwrapper.  This is not in the official Fedora repositories, but it has a build that works perfectly on Fedora 7.  This has enabled me to use the 64-bit plugins for Xine, and OpenOffice.org, and at the same time use 32-bit Adobe Reader, Flash 9, and Java.  Those along with the xine-lib-moles package, that adds the proprietary codecs to Xine, has opened up all the content on the web that I have&lt;/span&gt;&lt;span style="font-family:arial;"&gt; not been able to access before.  I find my web experience to be so much more pleasurable then before!  Of course, I would prefer that these web sites didn't use the proprietary formats to being with, and everyones lives would be much better.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;The final area that seems to have improved dramatically is Firewire.  I have a "My Book" external hard drive, that I use for backups, and it has both a Firewire interface as well as a USB 2.0 interface.  The Firewire interface has never worked, so I broke out my Firewire cable, and plugged it in, and it powered up, and the drive mounted with a nice icon on the desktop, just like it should!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_9oWFPyMT5lo/RqkZc-4WoaI/AAAAAAAAAA8/1qilhuCDfWs/s1600-h/Firewire.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_9oWFPyMT5lo/RqkZc-4WoaI/AAAAAAAAAA8/1qilhuCDfWs/s320/Firewire.png" alt="" id="BLOGGER_PHOTO_ID_5091628839425450402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Since, this worked, I decided to test out the Firewire interface for performance and reliability of my backups.  I needed to take a backup anyway, so I started up my backup process which creates a gzipped tar of my home directory, and then I simply move it to the "My Book".  I timed the move to the "My Book", and also opened the resultant file using file roller, and did the move and open again using the USB 2.0 interface.  The Firewire interface was slightly faster at moving the 4.3 GB file, but only by 9 seconds, so there wasn't much of a performance difference, but the surprising thing was only the Firewire transfer resulted in a file I could open successfully.  The USB transfer resulted in a file that got CRC errors.  Obviously, that isn't a good backup, so I redid the transfer once again using the Firewire interface, and was able to open the backup file on the "My Book" with no issues again.  This kind of problem has happened intermittently with USB for quite sometime, and it gets more prevalent with larger backups.  Needless to say I really like the new Firewire stack in Fedora 7, and soon I'll be testing it with a digital video camera, just to see how far this new stack has come.&lt;br /&gt;&lt;br /&gt;To sum things up, since getting over the hurdles of my hardware, I have a very stable platform for doing my daily work, and there has been progress on many fronts.  The work going into the Broadcom drivers is improving rapidly, and I hope to be able to use my internal wireless chip soon.  I only wish ATI would get their act together on the video driver, so I can fully exploit my hardware.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-1307465983283746164?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/1307465983283746164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=1307465983283746164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/1307465983283746164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/1307465983283746164'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2007/07/my-experience-with-fedora-7.html' title='My Experience with Fedora 7'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_9oWFPyMT5lo/RqkZc-4WoaI/AAAAAAAAAA8/1qilhuCDfWs/s72-c/Firewire.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-8038014092132856772</id><published>2007-07-03T09:09:00.001-06:00</published><updated>2007-07-03T10:28:21.817-06:00</updated><title type='text'>Google Desktop for Linux vs. Beagle</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;Recently Google released Google Desktop for Linux. I have been using Beagle on Fedora Core, since it was added, and currently am running Fedora Core 6. With that, I decided to try out the beta of Google Desktop, and compare search results between the two, to see if one was any better than the other.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: arial; text-align: justify;"&gt;&lt;br /&gt;So, I installed Google Desktop with their RPM for Fedora, and set the preferences. I setup my preferences for indexing the same as I did for Beagle, so the comparison would be fair on both sides. You can see the settings in the following image:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_9oWFPyMT5lo/RoprojbTq9I/AAAAAAAAAAU/BF-bcBUE3KA/s1600-h/GoogleDesktopPreferences.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_9oWFPyMT5lo/RoprojbTq9I/AAAAAAAAAAU/BF-bcBUE3KA/s320/GoogleDesktopPreferences.png" alt="" id="BLOGGER_PHOTO_ID_5082993473889741778" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="font-family: arial; text-align: justify;"&gt;Most of the settings are the defaults provided, but I added /var, /opt, /etc and /tmp as file systems, because I like to be able to search for things in log files written by syslog, configuration files, etc., and I also am indexing all file types, and web history, with the only exception being https content.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;This pretty much mirrors my Beagle preferences as you can see from below:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_9oWFPyMT5lo/RopspzbTq-I/AAAAAAAAAAc/3KGavgHAmA0/s1600-h/BeaglePreferences.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_9oWFPyMT5lo/RopspzbTq-I/AAAAAAAAAAc/3KGavgHAmA0/s320/BeaglePreferences.png" alt="" id="BLOGGER_PHOTO_ID_5082994594876206050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;So, after setting the preferences, I watched Google Desktop go to work on indexing my file systems.  What was interesting is that it took a very long time.  Over two days to do the first pass at indexing.  Now, granted, I have a lot of files on my laptop, so this is understandable, but Beagle seemed to index my files a lot faster, but I don't have a specific time to compare against, because there is no way to monitor the indexing progress of Beagle (at least not that I know of).  Now that brings us to comparing search results.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;With Beagle, I have been frustrated at times that it couldn't find files that I knew were there, but couldn't remember where I had saved them.  Isn't that what desktop search is all about?  In fact, as a result of trying to find a Portable Document Format (PDF) document that I had saved from the web, I opened a Bugzilla case thinking that Beagle was not indexing PDF's.  It turned out that Beagle was indexing the PDF's, but Beagle only indexes based on a files metadata, not its entire contents.  That explains why it couldn't find the file I was looking for, because the search phrase I was using didn't match the files metadata, but part of its content.  So, I had the perfect test case to see whether Google Desktop could find what Beagle couldn't.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I searched with the term "Small is Beautiful", which is part of a subtitle of a document produced by Familiar Metric Management, and it is about software development productivity as it relates to team size.  As you can see, from the image below, that this search phrase returns nothing using Beagle.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_9oWFPyMT5lo/RopxEjbTq_I/AAAAAAAAAAk/MkL4CP0MD7M/s1600-h/BeagleSearchResults.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_9oWFPyMT5lo/RopxEjbTq_I/AAAAAAAAAAk/MkL4CP0MD7M/s320/BeagleSearchResults.png" alt="" id="BLOGGER_PHOTO_ID_5082999452484217842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;So, I did the same search with Google Desktop, and you can see the results below.  Unfortunately, I couldn't find a way to capture a screen shot of the interface, without losing the results at the bottom, so I did the search from the browser interface instead.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_9oWFPyMT5lo/RopyUjbTrAI/AAAAAAAAAAs/HRyQJxI07H8/s1600-h/GoogleDesktopSearchResults.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_9oWFPyMT5lo/RopyUjbTrAI/AAAAAAAAAAs/HRyQJxI07H8/s320/GoogleDesktopSearchResults.png" alt="" id="BLOGGER_PHOTO_ID_5083000826873752578" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;As you can see from my cursor highlight, Google Desktop found the file I was looking for without any problem.  This explains the major difference between Google Desktop and Beagle.  Beagle trades off indexing speed, by just indexing the metadata on documents, while Google Desktop does a full index on the content, thereby taking much longer to index files, but giving much better results.  I prefer the better results.  There is one other difference that I would like to point out between the two.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;In backing up my laptop, I noticed that my backup of my home directory was taking longer and longer, and the backup was getting very large.  In looking into this, it turned out that a large percentage of my home directory was the beagle index.  That led me to look into how large the Google Desktop index was in comparison.  Well, there is no comparison.  The Google Desktop index is much, much smaller (see below).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_9oWFPyMT5lo/Rop22zbTrBI/AAAAAAAAAA0/9As0IlZAjsA/s1600-h/IndexSize.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_9oWFPyMT5lo/Rop22zbTrBI/AAAAAAAAAA0/9As0IlZAjsA/s320/IndexSize.png" alt="" id="BLOGGER_PHOTO_ID_5083005813330783250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;In fact, its 94% smaller than Beagle!  This is a huge difference, and certainly pays off in disk usage. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;In conclusion, I really liked Beagle, but Google Desktop offers better search results, with considerably less disk usage for the index.  At this point, I'm ready to turn off Beagle (maybe even uninstall it), and rely on Google Desktop instead.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-8038014092132856772?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/8038014092132856772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=8038014092132856772' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/8038014092132856772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/8038014092132856772'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2007/07/google-desktop-for-linux-vs-beagle.html' title='Google Desktop for Linux vs. Beagle'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_9oWFPyMT5lo/RoprojbTq9I/AAAAAAAAAAU/BF-bcBUE3KA/s72-c/GoogleDesktopPreferences.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-7533741478295300810</id><published>2007-03-15T16:32:00.000-06:00</published><updated>2007-03-15T17:04:34.420-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora Core'/><category scheme='http://www.blogger.com/atom/ns#' term='Hard Drive'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='USB'/><title type='text'>Greater than 4GB files on an External USB Hard Drive</title><content type='html'>&lt;div style="text-align: justify;"&gt;Several months ago, I purchased a Western Digital USB/Firewire external hard drive to backup my laptop's home directory.  Considering that I was using it with Linux, specifically Fedora Core 6, I wasn't sure how things were going to work.&lt;br /&gt;&lt;br /&gt;After plugging it in, and attaching it via the USB 2.0 cable, it mounted and was presented on the GNOME desktop, and I could browse the contents of the disk without issue.  Trying to keep things simple, I merely used tar and created a gzipped tar of my home directory, making sure to preserve all the permissions of the files with the following command:&lt;br /&gt;&lt;br /&gt;tar -czpf /tmp/[file name with date].tar.gz /home/[my home directory]&lt;br /&gt;&lt;br /&gt;This works quite well, but it presented me with my very first issue.  My home directory is quite large, and the very first tar file I created was larger than 4 GB, so I couldn't write it to the external drive.  It couldn't be written for the simple reason that the drive was using the FAT file system, and it doesn't support file sizes larger than the 32-bit maximum of 4 GB.&lt;br /&gt;&lt;br /&gt;So, I looked through my home directory, and I found some obvious culprits to my size problem, and deleted those files, because I no longer needed them.  Mostly it was old ISO images, that I had burned to CD long ago, and didn't need anymore.  Okay, problem solved right?&lt;br /&gt;&lt;br /&gt;Well, not quite.  This worked for several months, but I was still dangerously close to the 4 GB limit.  Eventually I spilled over the limit, and really couldn't delete files to get back under it.&lt;br /&gt;&lt;br /&gt;With this in mind, I decided to see if I could change the file system to one that supported files larger than 4 GB.  Considering that I am only using this with Linux, cross platform compatibility was not an issue for me, so the obvious choice was to use the ext3 file system from Linux.  This would give me the large file support I needed, and also be more reliable, as ext3 is more robust than FAT, and it supports journaling, so there is significantly less risk to losing data.&lt;br /&gt;&lt;br /&gt;During my investigation of making this change, I found nothing but individuals having problems with trying to do this.  Many individuals had even rendered their drives unusable.  Considering this, I took a step back and wondered whether I should try this, or see if I could think of another resolution.&lt;br /&gt;&lt;br /&gt;I really couldn't think of a better way to deal with this problem, and I wanted to keep things simple, so I went ahead and tried to make the file system change, and here is the procedure I used.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;First, I moved all my backups of my home directory that were currently on the drive, and copied them to /tmp on my laptop.&lt;/li&gt;&lt;li&gt;Second, I fired up GParted, considering that it is a graphical partitioning tool, that also will format partitions.  This proved to be an excellent choice, because it helped me to avoid one pitfall.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Considering that the drive was plugged into the USB port, and mounted under /media/My Book, GParted would not let me format the drive until I unmounted it.&lt;/li&gt;&lt;li&gt;I used GParted to unmount the drive, and then I selected from the menu "Format to-&gt;ext3".&lt;/li&gt;&lt;li&gt;I watched as it automatically changed the partition type to the correct one, and then formatted the partition with the ext3 file system.&lt;/li&gt;&lt;li&gt;It completed with no issues, but here is where one of the problems reared its ugly head.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;After formatting, the drive would no longer auto mount, and show itself on the desktop.  I could manually mount it with the mount command, and it was working.  I even wrote some files to it just to make sure everything was fine, and it was.&lt;/li&gt;&lt;li&gt;The guys on the Fedora Core mailing list were most helpful with this problem.&lt;/li&gt;&lt;li&gt;As it turns out, I needed to label the new file system with the e2label utility, which  I did with the following command:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;e2label /dev/sdc1 "My Book"&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;Finally, I moved the backups I put in /tmp back to the drive with the new file system.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;After, these simple steps, I had a newly formatted external USB hard drive that I could write files larger than 4 GB to, without issues.  It would auto mount, just the way it did when it was a FAT file system, and I now have some very large backups on it, and didn't have to change my very simple backup procedure.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-7533741478295300810?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/7533741478295300810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=7533741478295300810' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/7533741478295300810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/7533741478295300810'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2007/03/greater-than-4gb-files-on-external-usb.html' title='Greater than 4GB files on an External USB Hard Drive'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-1839510593026473085</id><published>2007-03-13T13:14:00.000-06:00</published><updated>2007-03-13T14:46:09.496-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Standard'/><category scheme='http://www.blogger.com/atom/ns#' term='ODF'/><title type='text'>Glimmer of Hope for Desktop Linux?</title><content type='html'>&lt;div style="text-align: justify;"&gt;In the last week or so, I have read three different articles that talked about different government agencies that are banning Microsoft's Vista operating system, along with other Microsoft products in some cases.  The National Institute of Standards and Technology (NIST) is the latest, and this follows the US Department of Transportation (DOT) and the Federal Aviation Administration (FAA).&lt;br /&gt;&lt;br /&gt;So, what makes this a glimmer of hope for desktop Linux.  Well, at least in one of those cases, the FAA, is seriously looking at a combination of Linux desktops with Google's new enterprise applications as a replacement for Windows and Microsoft Office!  When you combine this type of interest with other government initiatives to adopt open standard file formats, you can see a glimmer of hope that the Microsoft lock is being broken by some large government agencies.&lt;br /&gt;&lt;br /&gt;You could say, so what!  It's only some public sector organizations!  What makes this a glimmer of hope, in my mind, is the carry over affect it could have on the private sector.&lt;br /&gt;&lt;br /&gt;If enough government agencies start adopting open technologies like Linux and ODF, then the private sector companies that have to do business with them will have to adopt technologies that inter-operate.  This in turn loosens the grip that Microsoft has on a larger portion of the market.&lt;br /&gt;&lt;br /&gt;I sincerely hope that these government organizations aren't just bluffing to get concessions out of Microsoft.  With large scale adoption of open technologies, such as Linux and ODF, we will all be better off.  True competition on the market for desktop operating systems and applications could become a reality someday.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-1839510593026473085?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/1839510593026473085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=1839510593026473085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/1839510593026473085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/1839510593026473085'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2007/03/glimmer-of-hope-for-desktop-linux.html' title='Glimmer of Hope for Desktop Linux?'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-8247600786249231861</id><published>2007-02-14T13:57:00.000-07:00</published><updated>2007-02-15T15:50:06.442-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='OOXML'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Standard'/><category scheme='http://www.blogger.com/atom/ns#' term='ODF'/><title type='text'>Is OOXML Open as Microsoft Claims?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:130%;"&gt;Microsoft recently posted an "&lt;a href="http://www.microsoft.com/interop/letters/choice.mspx"&gt;open letter&lt;/a&gt;", complaining that IBM is not in favor of open standards, and that they are all hypocrites. It is noted that IBM was the only one to vote no in the ECMA process for the standardization of OOXML.  I find this to be disingenuous to say the least.&lt;br /&gt;&lt;br /&gt;Microsoft claims that OOXML is open because of its acceptance as an ECMA standard.  In my opinion, that hardly makes it open.  The rules by which ECMA standards are created are very loose indeed, and I don't blame IBM one bit for voting against it.  I just can't believe that everyone else involved didn't vote no too!&lt;br /&gt;&lt;br /&gt;File formats have become an interesting topic of conversation, ever since ODF (Open Document Format) came on the scene.  Before ODF became an OASIS and ISO standard there were no open standards for office document formats.  With Microsoft controlling the majority of the market for office productivity applications, their proprietary file format has been lock-in heaven for them, and lock-in hell for their customers.&lt;br /&gt;&lt;br /&gt;ODF threatens to break that lock-in, and free customers to choose alternatives, without the problems associated with proprietary file formats (lost formatting, can't edit with a different application, etc.).  So, Microsoft had to act to protect its franchise, because they simply are afraid to, or maybe they can't, compete on the quality of their implementation of office productivity software.  Of course, it would also commoditize the market, and drive down prices.  With Office being almost half of Microsoft's profits, that's a hard pill to swallow.&lt;br /&gt;&lt;br /&gt;With that as the backdrop, is OOXML truly open?&lt;br /&gt;&lt;br /&gt;The short answer is an emphatic NO!&lt;br /&gt;&lt;br /&gt;The reason for this is simple.  The specification clearly references proprietary Microsoft Office technology that cannot be implemented by anyone other than Microsoft.  Truly open standards, need to be able to be implemented by anyone that desires to do so, and this is simply not the case with OOXML.&lt;br /&gt;&lt;br /&gt;Without the ability for competing products to implement the file format, Microsoft can claim to have an open standard file format, and keep the lock-in they have enjoyed for years.  As they say in the Guiness commercials, "brilliant!".&lt;br /&gt;&lt;br /&gt;Of course, I hope the ISO will put an end to this charade, and vote this down as an ISO standard.  That is the only just thing that can happen.  If Microsoft gets away with this, Microsoft will have won again, and the joke is on us.&lt;br /&gt;&lt;br /&gt;What's the old saying?  Fool me once, shame on you, fool me twice, shame on me!&lt;br /&gt;&lt;br /&gt;Well, if the ISO members are fooled into accepting OOXML as a standard, it will not only be the shame of the ISO members, but a shame on the entire world!&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-8247600786249231861?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/8247600786249231861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=8247600786249231861' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/8247600786249231861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/8247600786249231861'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2007/02/is-ooxml-open-as-microsoft-claims.html' title='Is OOXML Open as Microsoft Claims?'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-8598095813170982915</id><published>2007-02-14T10:37:00.000-07:00</published><updated>2007-02-14T10:50:21.307-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><title type='text'>Open Source Whiner Babies!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Since Marc Fleury's retirement from Red Hat, there have been several articles and blogs written, with regards to Marc and JBoss.  In those articles and blogs, it always seems like the folks who are critical are the guys that left JBoss in the early days, to try and create a competitive business that they called the "Core Developers Network" or CDN.&lt;br /&gt;&lt;br /&gt;The thing that strikes me the most about their comments, is that they are childish, immature, and lean on a crutch of what "true open source" is.&lt;br /&gt;&lt;br /&gt;What these guys are, are whiner babies, and nothing more!&lt;br /&gt;&lt;br /&gt;They weren't getting what they think in their own minds was fair, as far as a stake in JBoss goes, so they split and tried to form a competitor, based on the same project (Whose ego was getting in the way here?).&lt;br /&gt;&lt;br /&gt;Then, when JBoss moved to protect its business by removing their commit privileges, they cried foul.&lt;br /&gt;&lt;br /&gt;What did they expect?  Peace and love?&lt;br /&gt;&lt;br /&gt;In reality, if they stuck it out, and continued to work, they would have been hansomly rewarded in the end.  Now that JBoss has been acquired by Red Hat, and Marc, along with lots of other folks, got big paydays, they are left to cry over their spilled milk.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-8598095813170982915?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/8598095813170982915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=8598095813170982915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/8598095813170982915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/8598095813170982915'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2007/02/open-source-whiner-babies.html' title='Open Source Whiner Babies!'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-1980500067073363875</id><published>2006-12-30T10:13:00.000-07:00</published><updated>2006-12-30T11:06:07.591-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><title type='text'>Is JBoss Open Source?</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-family: arial;"&gt;I continue to run across people, and written articles, that claim that JBoss is not "true" open source.  For the longest time, I just didn't understand what they meant by that.&lt;br /&gt;&lt;br /&gt;In some conversations I have had with people, they don't understand the licensing issues, in others, I just here corporate blah, blah, being repeated without much thought.  This mostly comes from IBM employees, who are repeating the party line, but don't really understand what it is based on.  In still others, I hear confusion between licensing and development models, and this seems to be the heart of the issue, with people claiming that JBoss is "evil", and not "true" open source.&lt;br /&gt;&lt;br /&gt;So what is "true" open source to these critics of JBoss?  It is simply that they think open source is not just the license, but also the development model that is used.  They also believe that the only appropriate development model is one where no one company or entity entirely controls the project.&lt;br /&gt;&lt;br /&gt;The fact of the matter is that open source is about the license, not about the development model used.  I could write the code completely on my own, and release the code, and never even accept external contribution, and if the license is an OSI approved license, then it is still open source.  The project may or may not be very successful with that approach, but it doesn't change the fact that the code being under an OSI license affords everyone the freedom's of open source.&lt;br /&gt;&lt;br /&gt;So what is the development model that the critics say make something "true" open source?&lt;br /&gt;&lt;br /&gt;They contend that you have to have many companies contributing, and Linux is used as a primary example.  The fact of the matter is, in the case of Linux, you have market dynamics that brings companies together because they have a common interest in fighting a monopoly in the operating systems market.  This is a very unique set of circumstances in comparison to the middleware market.&lt;br /&gt;&lt;br /&gt;Also, with IBM in particular, which is widely credited for giving legitimacy to Linux, has a huge incentive to support and contribute to Linux.  First, when they started getting involved with Linux, they had AIX, OS/390, OS/400 and OS/2 as operating systems they were spending considerable resources developing and supporting.  Considering the portability of Linux, and its rapidly maturing technology, if they put their resources behind it they could eventually have a unified OS strategy, with one operating system running across all their various hardware platforms.  In fact, today you can run Linux on all of their hardware platforms now.&lt;br /&gt;&lt;br /&gt;In the case of a company like Oracle, Linux is the hedge against Microsoft in the database market.  In order for Oracle to maintain a market share advantage over Microsoft in the database market they need an alternative platform that is popular on commodity hardware that SQL Server doesn't run on.&lt;br /&gt;&lt;br /&gt;The dynamic of having a hated monopoly, plus other unique incentives, brings even competitors together to support, contribute and promote Linux.  This simply doesn't exist in the standardized middleware market.&lt;br /&gt;&lt;br /&gt;Could you imagine IBM and BEA contributing to JBoss?  Companies only contribute to open source projects when there is a strategic corporate advantage to doing so.  No one should be naive enough to think otherwise.&lt;br /&gt;&lt;br /&gt;In the middleware market, there is no one dominate player, in terms of market share, and there is considerable revenue tied to traditional closed source products.  It is quite impossible for JBoss to have the kind of external contribution that Linux enjoys, due to its unique market conditions.&lt;br /&gt;&lt;br /&gt;Having said that, JBoss enjoys considerable external contribution from companies.  Initially, Novell was a considerable contributor to a couple of the projects, but the Red Hat acquisition put an end to that.  We have also had many companies that are users of our technology contribute over the years.  Our new Group Bull relationship is another example, and when you look at the folks that work for the JBoss division of Red Hat, all of them where external contributors at one time (developers).&lt;br /&gt;&lt;br /&gt;Under the market circumstances, and the business model of the company, JBoss has as open a development model as is possible.  That leads to the other issue of the critics.&lt;br /&gt;&lt;br /&gt;The business model of JBoss, is one where the core developers all work for the same company.  What this enables, is a quality of support that simply cannot be matched.  While anyone could take the JBoss software, and distribute it themselves, and offer support, they simply cannot match the quality of support.  We have a two tier model, where we hire very experienced Java EE developers for tier one support, and the core developers are tier two.  Does this mean that we are not "true" open source?&lt;br /&gt;&lt;br /&gt;Open source is about supplying freedom's to all user's of the software, and JBoss supplies that, as all of our software is under an OSI approved license, and most of it is under the LGPL.  Secondarily, the business model that has emerged for open source is one based on quality of support.  By hiring the core developers, we enable the best possible support, which is certainly in the spirit of open source.&lt;br /&gt;&lt;br /&gt;In conclusion, under the market conditions, and what users expect from open source companies, JBoss is as "true" to open source as you can be!&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-1980500067073363875?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/1980500067073363875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=1980500067073363875' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/1980500067073363875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/1980500067073363875'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/12/is-jboss-open-source.html' title='Is JBoss Open Source?'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-116690956272659967</id><published>2006-12-23T14:15:00.000-07:00</published><updated>2006-12-23T14:32:42.776-07:00</updated><title type='text'>Java and the GPL!</title><content type='html'>&lt;div style="text-align: justify;"&gt;It's been a long time since I posted, and something that I was looking forward to, was Sun's move to open source the Java platform.&lt;br /&gt;&lt;br /&gt;Well, they not only followed through with the plan, they completely caught me off guard with their choice of license.  I think they caught everyone off guard.&lt;br /&gt;&lt;br /&gt;I have always been in favor of putting Java under an open source license, but I never really gave much thought to which license would be appropriate.  The GPL, with the so-called "Classpath" exception, I have come to believe is the ideal choice.&lt;br /&gt;&lt;br /&gt;It allows for the virtual machine to be deeply integrated into other GPL software, such as Linux.  The JVM has always been a second-class citizen where Linux is concerned, in that there was never very much time spent on optimizing the JVM for Linux.  Now, the community can really get involved in optimizing the JVM for Linux, and I think this will have real benefits to the Java community, where Linux distributions are the target deployment platform.&lt;br /&gt;&lt;br /&gt;Besides Linux, other projects will also benefit.  GNOME will no longer have the excuse to ignore Java as a first-class language.  Java may finally become a reality where the desktop is concerned.  At least those desktops that use GNOME.  OpenOffice.org will not have the problems of having quite a bit of its code based on a language without a free-as-in-freedom runtime environment.  It also eliminates the need for distribution vendors to have to do all the engineering to create an OpenOffice.org distribution with an alternative Java such as GNU Classpath.  This means less energy will be expended on non-value engineering tasks, and more can be plowed into the mainstream development.&lt;br /&gt;&lt;br /&gt;I also believe that the knock-on effects of a GPL Java will not be fully realized for many years.  This is truly an earth-shattering move by Sun, and they are to be applauded for it!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-116690956272659967?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/116690956272659967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=116690956272659967' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/116690956272659967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/116690956272659967'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/12/java-and-gpl.html' title='Java and the GPL!'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-115152052786553149</id><published>2006-06-28T12:25:00.000-06:00</published><updated>2006-06-28T12:48:48.066-06:00</updated><title type='text'>Open Source Java; What does this mean?</title><content type='html'>&lt;div style="text-align: justify;"&gt;I was at JavaOne earlier this year, when Jonathan Swartz asked whether Java would be open sourced. The following revelation that Java would be open sourced, and that it was not a matter of whether anymore, but a matter of how.&lt;br /&gt;&lt;br /&gt;This was the buzz of the first day, and I have continued to watch this unfold. Recently, I read some stories that said that Sun would be ready to open source Java in months. Now, this is a pretty broad declaration, and they could go as long as 11 months, without having to retract that statement, but still, they seem to be moving down the track as they said they would.&lt;br /&gt;&lt;br /&gt;What does this really mean for all of us involved with Java?&lt;br /&gt;&lt;br /&gt;I have always been a proponent of the open sourcing of Java. My main complaint has always been that certain JVM bugs just never get fixed. I would love to have the "freedom", and be empowered to fix those bugs in an completely open process. There have been many studies and comparisons of the quality, in terms of defect density, between closed source and open source software. All of them draw the same conclusions. Open source software has less defects, and is more reliable then closed source software. It's pretty simple. I want less defects, and a more reliable virtual machine, and we will get that via the open source development model.&lt;br /&gt;&lt;br /&gt;Are there other benefits to this?&lt;br /&gt;&lt;br /&gt;I once heard Bill Joy, former Sun employee and co-founder, say that innovation happens out there. What he meant by that, at least my interpretation, is that companies cannot be insular, and they have to realize that innovation happens in the broader market, and one company, no matter how big, can innovate solely on their own. With that in mind, opening up Java to the world, can only create additional innovation in and around the Java platform.&lt;br /&gt;&lt;br /&gt;In fact, I believe it will accelerate the delivery of innovation for the Java platform in a way that cannot even be fully understood today. Only many years down the road, will we be able to look backward and realize the monumental changes that came from this.&lt;br /&gt;&lt;br /&gt;I am really hopeful about the open sourcing of Java, and its benefits to all of us that use it and depend on it. I only hope that months, is really just a few short months time. The sooner the better!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-115152052786553149?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/115152052786553149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=115152052786553149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/115152052786553149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/115152052786553149'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/06/open-source-java-what-does-this-mean.html' title='Open Source Java; What does this mean?'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-115076469131503407</id><published>2006-06-19T18:35:00.000-06:00</published><updated>2006-06-19T18:51:31.326-06:00</updated><title type='text'>Are Users Part of the Open Source Community?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Recently, I have read a number of blogs and articles that make the assertion that users of open source software are not necessarily part of the open source community.  They only count contributors as part of the community.  To some extent, that can be true, but in others I don't believe that it is fair.&lt;br /&gt;&lt;br /&gt;To the extent that users are individuals that put the software to good use, but never do anything, like submit a bug report, or help other users, then I would agree they are not part of the community.  Of course, without users, then what is the purpose of the software to begin with?  For any open source project to be successful, it must first and foremost, be useful, and therefore must attract users.  This, in and of itself, makes users the single most important factor for an open source project.&lt;br /&gt;&lt;br /&gt;From a best practice perspective, we all know that small development teams are the most productive, and there is a practical limit to the number of people who can contribute from a code perspective anyway.  At least productively contribute to the code.  Practically speaking, this means that to have a large scale community for an open source project, the vast majority of people involved in the project must be users.&lt;br /&gt;&lt;br /&gt;Also, contribution shouldn't be viewed threw the limited lens of code contribution.  There is testing, translations, documentation, answering other users questions, sharing your user experiences with other potential users, etc.  These are all valuable contributions!&lt;br /&gt;&lt;br /&gt;I contend that large numbers of users, are contributors to the open source projects they use.  Even if they never write, or are incapable of writing, a line of code.  In fact, they are the most important contributors, and shouldn't be viewed as someone outside "the community" of open source projects.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-115076469131503407?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/115076469131503407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=115076469131503407' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/115076469131503407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/115076469131503407'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/06/are-users-part-of-open-source.html' title='Are Users Part of the Open Source Community?'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-115025798211796002</id><published>2006-06-13T21:44:00.000-06:00</published><updated>2006-06-13T22:07:38.143-06:00</updated><title type='text'>JBoss Seam!</title><content type='html'>&lt;div style="text-align: justify;"&gt;With the release of JBoss Seam 1.0 this week, I thought it would be interesting to give a high level overview of what Seam is.&lt;br /&gt;&lt;br /&gt;First, let me say that I believe Seam will be a huge step forward for developer productivity! Everyone that is thinking about, or toying with things like Ruby on Rails, or Spring, should stop and take a long look at Seam. Why do I say this?&lt;br /&gt;&lt;br /&gt;Well, when you consider that the Java programming models have been too complex, and the realization of that has brought us some really innovative new technology, such as EJB 3. There is some very good UI technology in JSF and Facelets in particular (don't do JSP anymore). There are other very useful Java tools, such as jBPM for business process management, but nothing brings all of this together.&lt;br /&gt;&lt;br /&gt;That's what Seam does. It unifies all of these great techologies in a seamless programming model, that is really compelling. Seam let's you take advantage of the fact that EJB 3 entities are just POJO's, and that they are detached objects, that can be used anywhere in an application. In fact, Seam let's you use EJB 3 entities as the backing bean in a JSF UI! But this is just scratching the surface.&lt;br /&gt;&lt;br /&gt;Seam not only let's you program with a single model, but also integrates business process management. When you consider that all business applications are automated business processes to begin with, a business process management tool, like jBPM, is a natural fit for any and all applications. Seam allows you to use business process management, and in Seam's case, jBPM specifically, without having to be a BPM wizard. In fact, many things can be done without writing a line of jBPM code!&lt;br /&gt;&lt;br /&gt;Besides, BPM integration, Seam also integrates AJAX style programming, with a Seam remoting capability, that allows JavaScript to call EJB components (stateless/stateful session beans, and message driven beans &amp;amp; pojo's) directly! This is powerful!!&lt;br /&gt;&lt;br /&gt;When you couple these attributes, a single programmer model that eliminates all the glue code from your presentation layer, everything is a POJO, AJAX integration through JSF components and the Seam remoting capabilities, and finally some tooling with Eclipse that can code generate a fully working Seam application from your database schema, what are you waiting for? Oh, and all of this will become a Java standard through the JCP process. Gavin was able to get a JSR submitted and approved, called WebBeans, that will make this a standard (JSR 299).&lt;br /&gt;&lt;br /&gt;Download some of the sample applications off of the JBoss website, along with the code for Seam 1.0, and I think you will be impressed.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-115025798211796002?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/115025798211796002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=115025798211796002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/115025798211796002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/115025798211796002'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/06/jboss-seam.html' title='JBoss Seam!'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-114911125545681539</id><published>2006-05-31T14:52:00.000-06:00</published><updated>2006-05-31T15:34:15.523-06:00</updated><title type='text'>This isn't your father's EJB!</title><content type='html'>&lt;div style="text-align: justify;"&gt;I had posted about EJB 3.0 sometime ago, and based on my Java One experience, I thought it was worth revisiting.  As I talked to hundreds of people at the JBoss booth, and also went to some of the sessions, I was struck by how little people seemed to know about the new EJB 3.0 specification.&lt;br /&gt;&lt;br /&gt;I think that so many people either had poor experiences with the complexities of EJB versions prior to 3.0, or heard that it was complex, that they have tuned out the new specification.  Granted EJB 1.0 through 2.1 was not exactly the best example of good engineering.  So, there certainly is a  stigma that has to be overcome.&lt;br /&gt;&lt;br /&gt;When I told people at Java One that they should really look closely at EJB 3.0, and try it out, they became intrigued as to why.  Then when I explained that you can write just plain old java objects, their eyes would light up.  What?  No more heavy component model and deployment descriptors?  I can actually unit test this stuff through normal JUnit or TestNG?  Really?&lt;br /&gt;&lt;br /&gt;When I would be able to get into a deeper conversation about the technology, and we could discuss things like defaults that actually make sense.  When you can follow a simple convention, and not have to use an annotation, it gets even simpler.  For example, for an entity, you don't have to specify the database table name or the column names if you just name them the same in the database and the class.  What could be easier?  Now, the reality is that some corporate naming standards will probably get in the way of some of this ease of use, but I would urge any DBA to check that stuff at the door, and let the conventions be the standards.  Besides, the cost of the time of the DBA to determine whether something is a table or a view, or a synonym is trivial compared to the cost of many developers time.  Allow sane business names to be used for tables and columns, and everyone will be better off in the long run.&lt;br /&gt;&lt;br /&gt;The extensibility of EJB 3.0 is also wonderful.  The ability to create your own annotations,  and extend things with very little code (an AOP lite) is very powerful indeed.  This will allow developers to do many things you would use an AOP (Aspect Oriented Programming) framework for, within the confines of EJB, without the complete learning curve of AOP.  When you consider there are no standards for AOP frameworks, you will be spending that learning curve on something that is proprietary in nature.  That in and of itself, is enough of a deterrent to me.&lt;br /&gt;&lt;br /&gt;The final thing that I have really come to like about EJB 3.0, is its embeddable.  I have already written two applications that use EJB 3.0 objects from a Java SE environment!  No application server required!  This is wonderful for small applications and utilities.&lt;br /&gt;&lt;br /&gt;I have become a real EJB 3.0 junkie.  There is no turning back.  Once you have taken that first hit, especially if you have lived through the EJB 1.0 to 2.1 days, you will be hooked.  There is no doubt about it.  This is the future for enterprise application development!!!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-114911125545681539?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/114911125545681539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=114911125545681539' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114911125545681539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114911125545681539'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/05/this-isnt-your-fathers-ejb.html' title='This isn&apos;t your father&apos;s EJB!'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-114850630500922116</id><published>2006-05-24T13:53:00.000-06:00</published><updated>2006-05-24T15:31:45.060-06:00</updated><title type='text'>It's Official:  The Red Hat acquisition is Unanimously Approved!</title><content type='html'>&lt;div style="text-align: justify;"&gt;I haven't blogged in awhile, but last week I went to JavaOne for the first time since 1998.  This was a completely new experience for me, as I went as an employee of JBoss, and worked in the booth, along with attending some of the sessions.&lt;br /&gt;&lt;br /&gt;As I talked to hundreds of people at our booth, one thing really stood out for me.  Everyone was very happy that we were being acquired by Red Hat.  Another thing that really stood out, was that everyone was also very happy that we weren't acquired by Oracle.&lt;br /&gt;&lt;br /&gt;So, there you have it!  It's official, at least in the eyes of our customers and supporters.  The Red Hat acquisition is approved!!!&lt;br /&gt;&lt;br /&gt;I must say that I also approve.  I believe that the combined company will be stronger, and grow bigger and better.  We have already heard from some prospective customers that JBoss is now in consideration, where we would not have been before.  The power of just being bigger makes a world of difference.  The customer relationships that Red Hat already enjoys will be a big help.  Especially, when you consider the reach that Red Hat has globally, that we just haven't been able to establish as of yet.&lt;br /&gt;&lt;br /&gt;Anyway, as you can tell, I'm excited, and looking forward to the closing of the acquisition, so we can get on with executing as a combined entity.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-114850630500922116?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/114850630500922116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=114850630500922116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114850630500922116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114850630500922116'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/05/its-official-red-hat-acquisition-is.html' title='It&apos;s Official:  The Red Hat acquisition is Unanimously Approved!'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-114384573479629983</id><published>2006-03-31T15:53:00.000-07:00</published><updated>2006-06-20T10:30:10.066-06:00</updated><title type='text'>Can or Should you Measure Software Development Productivity?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Lots of businesses are trying to measure their productivity these days.  In the software development space, I can tell you it is being attempted in many ways.  I would have to say at this point that all of them are flawed.&lt;br /&gt;&lt;br /&gt;IT leaders, in many cases, are being pressured to measure their development productivity, to show improvement over time, just like other measurements in business.  Business leaders, measure financials, and processes that are repetitive in nature, and they think that IT should be able to do the same thing.  This is where the rub is, and the complete misunderstanding of what software development is.  It is even where things like CMM go wrong.&lt;br /&gt;&lt;br /&gt;If you have a manufacturing process, that process is repeated, with the exact same steps over and over again.  These processes can easily be measured with throughput metrics, quality metrics, based on component, assembly and final product testing.  They produce the exact same thing every time.  Other business processes, such as picking product in a warehouse, are similar in nature.  A person is instructed, usually through some software based system, where to go in the warehouse, what to get, and where to put it.  Once again, a highly repeatable process, that produces the same outcome (at least when done correctly) every time.  You can easily measure it, and not affect the outcome (or at least not affect it in a negative fashion).&lt;br /&gt;&lt;br /&gt;That final phrase, "and not affect the outcome", is a very important phrase where software development is concerned.  Also, "repeatable" is also very important to understand.  Is software development repeatable?  Can you measure it without affecting the outcome?&lt;br /&gt;&lt;br /&gt;The answer to those two questions are the key on whether you can even try to measure software development productivity.  Let's take the first question, and see where it leads us.&lt;br /&gt;&lt;br /&gt;Whenever you embark on doing software development, you always have new requirements.  Based on those requirements, the logic has to be different than what has been done before.  Based on the people working on the project, their personal experiences and knowledge dictate the implementation choices that are made, even if the requirements have been implemented by someone else in another project.  External forces, like technology changes in surrounding hardware and software, as well as things like corporate standards and direction changes, all influence how the software solution will be implemented.  I am just scratching the surface here, on the myriad forces that work on a software development project.  When you take these things into account, along with many other things within the typical software development project, how can anyone expect that this is a repeatable process?  I don't believe that you can!  By definition, software development is a creative act by human beings, hence the outcome will be different each and every time it is done.&lt;br /&gt;&lt;br /&gt;To draw an analogy, if you took the same person, and sat them down in front of the same scene, and asked them to draw or paint it.  Then have them do it again.  Would it be the same the next time?  The answer is obvious, it wouldn't.  Now expand this analogy to include multiple artists, working on the same work of art, each dividing the work into some manageable piece.  Now, what would you expect?  Now expand it again, to periodically change out some of the artists for different artists (a common occurrence on software development projects), and what would you expect?  I think the answer is clear.  At no point would you end up with the exact same drawing or painting.  Continue to extend this analogy to include new scene elements every time (like new system requirements), but they have to be incorporated into the same drawing or painting, and you start to get a good picture of what ongoing development on the same code base includes.  Go even further, and have some of the scene elements be in direct conflict with others that used to be in the scene.  I think you are probably getting the picture (pun intended)!!!!&lt;br /&gt;&lt;br /&gt;That leads us to the second question.  Can you measure it without affecting the outcome?  The most prominent measure for software development productivity is function points.  Considering that software development is a human creative act, all humans being measured will want to understand how the measure is calculated, and what is expected of them.  When you consider that function point counting, counts things (e.g. number of unique interfaces, number of database tables, etc.), the more of those things that you produce the higher the value, and supposedly you have produced more functionality for your business.  Do you see the inherit conflict?&lt;br /&gt;&lt;br /&gt;To truly drive productivity in a process where human beings are endeavored in a creative act, you should be striving to do less, not more!  The least amount of work to meet the requirements of the system should be the goal.  As soon as you put a system in place that incents people to do more, you end up with a much more complicated implementation.  Knowing that you are being measured based on the number of things you produce, and you are confronted with a design decision.  One option has fewer of what is being counted, and one has more, which one do you think will be chosen?  So the answer is clear, that these types of measurements simply incent the inverse behavior that you are looking for, and certainly affect the outcome.  Not only do they affect the outcome, but they affect it in a negative way, especially where quality is concerned.  More software in a system, creates more opportunities for errors in the implementation.  It is a given that quality will suffer, and probably suffer dramatically.  Of course, then all the project manager types out there are thinking, we will just do more testing, or better testing.  Now you have just elongated your process, and once again are going in the opposite direction you intended.&lt;br /&gt;&lt;br /&gt;On final question.  How does counting things like interfaces, tables, etc., equate to the value that a software system has in the first place?  It doesn't have anything to do with it at all!  You could create this huge software system that would have lots of function points, but if your business doesn't find any value in it then it is not worth anything!  It is what the software enables for your business that makes it valuable or not.  The center of what we measure should be value to our businesses, nothing more, and nothing less!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-114384573479629983?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/114384573479629983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=114384573479629983' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114384573479629983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114384573479629983'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/03/can-or-should-you-measure-software.html' title='Can or Should you Measure Software Development Productivity?'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-114358985648316359</id><published>2006-03-28T15:52:00.000-07:00</published><updated>2006-03-28T16:50:56.576-07:00</updated><title type='text'>Using Linux on a Day to Day basis</title><content type='html'>&lt;div style="text-align: justify;"&gt;I was sitting here thinking as I was working away, and I started to think about what it is like using Linux on a day to day basis.  Is it really that different than using Windows, or Mac OS X?  Are there really big differences between these platforms for me?&lt;br /&gt;&lt;br /&gt;I have several Linux machines in my household, and I have several Mac's.  I used to use Windows in my day to day work environment, but I have been free of that for quite some time.  I use Linux everyday, and I really don't have anything that I miss, or need, that the other platforms offer.  Yes, there might be a feature here or there that is on one platform vs. another, but nothing that I just have to have.  In fact, when I look at what I need to do my daily job, it boils down to these things.&lt;br /&gt;&lt;br /&gt;My day almost always starts with reading e-mail.  Well, there are certainly no issues there.  Linux has quite a few decent mail clients to choose from.  I have been using Evolution, and it has served my purposes quite well.  Between the e-mail, calendar and task features, along with filters for sorting through e-mail and filing them in appropriate folders, I have a very productive environment.  After going through e-mail, and working through whatever that brings, I usually transition to doing some technology reading.&lt;br /&gt;&lt;br /&gt;In this regard, the trusty Firefox is my primary tool, along with Google's Reader (Their RSS/Atom Feed AJAX client), I can read through all the latest technology news, and technology articles that are relevant to me.  After that, I usually do work around process related items.&lt;br /&gt;&lt;br /&gt;In this regard, OpenOffice.org 2.0.x has been the tool of choice.  I have to deal with budgets, products, development processes, etc., and they invaritably are encompassed in some form of business document.  My co-workers almost all use Microsoft Office, so I have to use the Office formats often.  What has been impressive, is that I have been working with Excel spreadsheets, PowerPoint presentations and Word documents of almost every kind, including budget and planning spreadsheets with macros.  So far, OpenOffice.org has been able to read and write each and everyone, even the ones with macros, with no apparent issues at all.    I have even used OpenOffice to publish documentation in DocBook format using the XML transforms for DocBook.  The only thing it didn't do correctly is include my embedded images.  A quike edit of the XML using VIM, and I had my embedded images.  It even intelligently kept my footnotes, and appended them to the end of the document.  Very clever way of dealing with footnotes.  Finally, I usually turn my attention to development type tasks.&lt;br /&gt;&lt;br /&gt;In this case, I use Eclipse, with JBoss IDE, and other Eclipse plugins.  Eclipse works beautifully on Linux, and I have no problems working with our CVS repositories through Eclipse.  Also, I use MySQL as my database, and have been using the GUI administration and query browser tools as well.  The database is rock solid, and runs beautifully on my laptop.  The GUI tools have progressed since they first became available, and I have used the query browser to do data analysis on a corporate database.  Once I figured out how the bookmarking features work for queries, I was able to save, with descriptive names, all of my analysis queries for later use.  It was very nice indeed.  One thing that I have yet to put into practice, but will soon, is an application called gvidcap.  This application will record what you are doing on your computer, complete with your voice (as long as you have a microphone).  Last but not least, has been Skype.  I have used Skype for work and I must say that I have been impressed.  Conference calls and individual calls work very well.  On conference calls, sometimes network latency issues and/or CPU issues on the peers involved, may degrade the experience, but overall I have to give it high marks.  Besides work, I also use Linux for my personal business as well.&lt;br /&gt;&lt;br /&gt;Where personal use of Linux is concerned, I certainly broaden the things I do.  For instance, ripping some of my personal CD's, and putting together a music library for my own enjoyment.  In Fedora Core 5, this is as easy as pie.  Other things are burning CD and DVD's.  I have come to like the simplicity of the CD/DVD creator in Fedora Core.  In fact, with Fedora Core 5 you can now duplicate CD's and DVD's through it quite easily.  Just put a CD in, and right-click on the desktop icon, and select "Copy Disc...".  It doesn't get much simpler than that.  Some of the other day to day activities where Linux really helps me out is the new Tomboy and Beagle applications.  Tomboy is a very nice and simple note taking application.  I have started to use it and it has filled a real need.  Instead of typing a document and saving it away, and then not having it very accessible, I can just type a quick not, and it is right there within the panel applet, right where I can get at it, so I don't have to remember what I called it, and where I saved it.  It is cutting down on the document clutter that everyone experiences.  And finally, Beagle has been very impressive.  When I want to find something, searching is now extremely fast, and complete, since the search technology doesn't just work on file names, but on the content.  It has been wonderful, and it finds things in places that sometimes I wouldn't think to look.  Very useful!&lt;br /&gt;&lt;br /&gt;One last thing about personal use of Linux, is playing games.  I have become addicted to Chromium.  If you are old enough to remember Galaga, then you will like Chromium.  Different in its approach, and much better graphics and sound then Galaga, but similar.  Try it out!  As far as commercial games, I actually have quite a few.  Unreal Tournament 2003 and 2004, Quake 3 Arena, Return to Castle Wolfenstein are just some of the titles that I have that are native Linux ports.  They all work great, and have been real fun.  I hope the trend continues to offer native Linux ports for commercial games.&lt;br /&gt;&lt;br /&gt;In conclusion, I would have to say that using Linux on a day to day basis is easy, productive and fits my needs very well.  I would bet that if you spent some time with Linux, you would probably find the same thing.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-114358985648316359?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/114358985648316359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=114358985648316359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114358985648316359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114358985648316359'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/03/using-linux-on-day-to-day-basis.html' title='Using Linux on a Day to Day basis'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-114307453345573327</id><published>2006-03-22T17:09:00.000-07:00</published><updated>2006-03-22T17:42:13.500-07:00</updated><title type='text'>Fedora Core 5: Fits and Starts</title><content type='html'>&lt;div style="text-align: justify;"&gt;I was planning to write this wonderful review of Fedora Core 5.  Well, I downloaded the ISO images, and burned them to CD using Fedora Core 4 with no problem.  I booted up from the first CD, and started the installation process.&lt;br /&gt;&lt;br /&gt;The installation process took about an hour and a half on my HP Pavilion zv5000 laptop.  It is a Athlon 64 laptop with 802.11g wireless, 1.2GB of memory and all the typical things like USB 1.1 and 2.0 ports, microphone and headphone jacks, Nvidia graphics (GeForce 420 Go with 32MB) and a SD/PCMCIA slot.  I have really grown to like this laptop, and I had everything working beautifully with Fedora Core 4.  In fact, I was a little hesitant to jump on the Fedora Core 5 bandwagon so quick.  I usually like to wait until I see the first kernel update for Fedora before upgrading.  Usually by then, all the major problems have been worked out.  Well, my hesitancy was justified.&lt;br /&gt;&lt;br /&gt;The installation went without a hitch, installing packages from all five CD's.  In fact, I noticed that it upgraded both the i386 architecture and x86_64 architecture packages I had installed.  A very nice touch in deed.  After rebooting to my shiny new GNOME 2.14 desktop, that is when the trouble began.&lt;br /&gt;&lt;br /&gt;The first thing I always do after installing a new kernel is reinstall the Nvidia drivers so I get full accelerated 3D.  This was especially crucial, considering I was real eager to try out the new AIGLX support with all the wonderful 3D stuff.  Much to my surprise, the Nvidia kernel module would not build, even though the kernel that comes with Fedora Core 5 is 2.6.15, just like the latest kernel on Fedora Core 5.  It turns out that they made a last minute change to the kernel that broke the Nvidia kernel module.  There is a bug report for it, and they plan on fixing that problem when they release an updated kernel, which according to the note I saw should be within a few days (&lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="https://www.redhat.com/archives/fedora-test-list/2006-March/msg00999.html" target="_blank"&gt;https://www.redhat.com/archive&lt;wbr&gt;s/fedora-test-list/2006-March&lt;wbr&gt;/msg00999.html&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;So, this shot down my ability to use the most anticipated feature of Fedora Core 5.  Then the kernel problem reared its ugly head again.  My wireless card, which is from Broadcom, does not have Linux device drivers.  Seeing that my machine is also a 64-bit machine and I am running the 64-bit OS, I need to use DriverLoader from Linuxant.  I installed the latest version of DriverLoader, and its kernel module also would not load.  Turns out it is the same problem that broke the Nvidia kernel module.  So, now I have reverted back to using a wire.  At least I still have network connectivity.&lt;br /&gt;&lt;br /&gt;Having endured these problems, and not really getting to try out the new 3D stuff was disappointing, but I did have a functioning system.  At this point, I decided to move on to making sure all my upgraded applications worked.  First, I fired up the new version of Firefox.  It detected my old extensions, and asked if I wanted to find new compatible ones.  I said yes, and it found all of the updates for my extensions, and I installed them, and everything worked great.  This area was one of the most smooth of the whole day, and I was very pleased.  Then I moved on to Evolution.&lt;br /&gt;&lt;br /&gt;Once again, upgrade problems!  I use Evolution as a client to an Exchange 2003 hosted environment for work, and it is very important for my everyday productivity.  When I fired up Evolution, I could no longer authenticate.  Ouch!  I deleted the account, and exited Evolution.   I setup the account again, and seemingly I could authenticate, but I couldn't get into my folders.  After several hours of playing around with things, I just gave up and entered a bug report into Bugzilla.  At this point, I have had to fall back to using Outlook Web Access, which is not very good.  Anyway, at least I could get to my work e-mail, calendar and tasks, even if the interface is crude.&lt;br /&gt;&lt;br /&gt;On the upside, my Skype client still works great, my Eclipse environment, and MySQL (even with the upgrade to 5.0) works great.  The only problem I have on the MySQL front, is that the MySQL Query Browser just segfaults now.  I tried upgrading it, building it from the source RPM, etc., but to no avail.  Once again, I was left with no option but to report a bug to MySQL.&lt;br /&gt;&lt;br /&gt;Hopefully, the kernel fix will come soon, and I will have my wireless and Nvidia drivers working again, and that is when we can start having some real fun testing out FC5.  I guess the lesson is to not upgrade on the very first day of the release.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-114307453345573327?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/114307453345573327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=114307453345573327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114307453345573327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114307453345573327'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/03/fedora-core-5-fits-and-starts.html' title='Fedora Core 5: Fits and Starts'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-114186704481000662</id><published>2006-03-08T18:15:00.000-07:00</published><updated>2006-03-13T19:01:35.343-07:00</updated><title type='text'>Are Software Patents True Inventions?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Over the last several years, I have given a lot of thought to software patents. Being involved in open source software for the last six years or so, has triggered some of those thoughts. Also, being involved in a patent infringement case also made me think long and hard about how I felt about software patents.&lt;br /&gt;&lt;br /&gt;Several years ago, in my previous job, the company I worked for was sued for patent infringement. Now, this is the last thing I ever expected, because the company had no technology of its own for sale or use outside of the company! Why would we be sued for patent infringement? It didn't make sense to me at all. In the early days of this lawsuit, I had to meet with an outside patent attorney who was going to act as an advisor on the case for us. He explained a lot about patents and how the system worked to me. He explained that the mere use of the technology by someone made them liable for infringement. That means users of technology are just as at risk as technology providers.&lt;br /&gt;&lt;br /&gt;In this particular case, the technology in question was provided to us through a vendor, and we used it extensively in our enterprise. Which made it all the more scary, because if we were forced, in some way, to stop using the technology, we would essentially cease to be able to operate our business. Fortunately, we were in compliance with our indemnity clause in our contract, and at least the vendor had to take over and defend us. Even so, it was still me that had to go through the process. In that process, I was deposed by the legal counsel of the patent holder.&lt;br /&gt;&lt;br /&gt;Eventually, the case was settled without going to trial, and the company I worked for did not have to pay a dime. What I learned from that experience was three fold.&lt;br /&gt;&lt;br /&gt;First, the patent did not have to have a working implementation! When software patents were first issued, you had to submit the source code to the working implementation with the patent application. This is no longer true, so you can essentially patent an idea, without a working implementation.&lt;br /&gt;&lt;br /&gt;Second, the patent office does not have the skill to determine if the idea is something that truly meets the bar for a patent. One of the keys to whether something is considered an invention, is it cannot be the logical next step for a engineer competent in the field. In reading the patent involved in the case I talked about, it clearly did not meet that requirement. It is my belief that 99% of software patents do not meet this criteria.&lt;br /&gt;&lt;br /&gt;Third, is that the discovery process for what is called "prior art" is awful. I believe 99% of software patents have relevant prior art as well, but you would never know it by looking at software patents. Of course, one of the issues with prior art, is that 95% of all software written, is written by organizations that have no intention of ever selling it. IT/IS departments write 95% of the worlds software, which means that the search for prior art is only covering 5% of the software spectrum. No wonder this process is so bad.&lt;br /&gt;&lt;br /&gt;Is this to say that no software can meet the requirements for patentability? I think there is a narrow band of software that can be considered a true invention. For example, crytographic algorithms. The mathematical element is such that you are essentially discovering something. The peer review that these algorithms have to go through in order to be proven secure, also raises the bar, in my opinion.&lt;br /&gt;&lt;br /&gt;Because of these issues, and others that I haven't delved into, I believe that we would all be better off just eliminating the patentability of software. I believe that the notion that software research and development would stop is ridiculous. Just because you can't patent something doesn't mean there isn't money to be made in the market. It is the potential money to be made, and the size of the potential market that drives software research and development, not the ability to protect the work through a patent. In almost all cases, software functionality can be duplicated with an alternative implementation approach anyway! What is really going on with patents, is that companies want the ability to control a market. That is not the free market economy at its best. Healthy competition on implementation in software is what is best for the economy.&lt;br /&gt;&lt;br /&gt;Let's just do away with software patents?&lt;br /&gt;&lt;br /&gt;What do you think?&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-114186704481000662?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/114186704481000662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=114186704481000662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114186704481000662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114186704481000662'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/03/are-software-patents-true-inventions.html' title='Are Software Patents True Inventions?'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-114175198204612593</id><published>2006-03-07T09:01:00.000-07:00</published><updated>2006-03-07T10:19:42.070-07:00</updated><title type='text'>Predictions for the Future of Middleware</title><content type='html'>&lt;div style="text-align: justify;"&gt;What is the future for middleware, especially in the enterprise?  I would say there are two major trends in the industry.&lt;br /&gt;&lt;br /&gt;One trend is the consolidation of middleware. The consolidation is reflected in the ever increasing number of pieces in the portfolios of companies like IBM. Now, IBM's portfolio is a hodgepodge of internally developed and acquired technologies that don't always play well together (or even work for that matter). Nonetheless, it is still a great example of the fact that a lot of enterprises want fewer vendors to work with, and will buy more from a single source. Of course, this is driven by a desire to have "one throat to choke". As I have said before, this is simply a myth. If you check out one of previous posts, you can get my full analysis of why this is a myth (&lt;a href="http://andrigoss.blogspot.com/2006/01/myth-of-one-throat-to-choke.html"&gt;"The Myth of One Throat to Choke"&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;This consolidation in the closed source world has the biggest affect on the smaller vendors who have specialized middleware. For example, companies like webMethods, who have been in the EAI space, or Sonic with their ESB product. They simple offer one small piece of what is needed by enterprise customers, so they will either be purchased, or whither and die a slow death, as their once standalone market is subsumed by the middleware suite vendors.&lt;br /&gt;&lt;br /&gt;The other trend is the proliferation of open source middleware. Whether it be a simple solution like LAMP, or more comprehensive solution like the JBoss suite of middleware technologies, this market is growing, and to some extent starting to dominate the landscape. As enterprises continue to push the use of open source software and gain its benefits of higher quality, lower costs, empowerment for developers and support organizations, the sky is the limit.&lt;br /&gt;&lt;br /&gt;These two trends are the only trends that show growth in middleware. Everything else is stagnant in the market. There may be some companies that can show growth with standalone solutions, but it is growth that will be temporary. As open source continues to mature, and big middleware players like IBM continue their march, the middle of the market will get squeezed out.&lt;br /&gt;&lt;br /&gt;So when there are two middleware plays left in the market, the large platform or suite vendors (of which there might be two or three), and open source, what happens then?&lt;br /&gt;&lt;br /&gt;Open source will continue to commoditize the middleware market, and the large platform players will have to either move out of middleware and up the stack, or they will have to join the open source party, and get behind existing open source efforts or try to forge their own communities. Mind you, this will take years, as enterprises don't change over night, but in my opinion it is inevitable!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-114175198204612593?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/114175198204612593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=114175198204612593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114175198204612593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114175198204612593'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/03/predictions-for-future-of-middleware.html' title='Predictions for the Future of Middleware'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-114109088434003674</id><published>2006-02-27T12:59:00.000-07:00</published><updated>2006-02-27T18:41:24.396-07:00</updated><title type='text'>Does Linux Suck?</title><content type='html'>&lt;div style="text-align: justify;"&gt;I have had numerous discussions around Linux, especially as a desktop OS. A lot of Windows and Mac folks like to say that Linux sucks. A lot of the diatribes against Linux usually have to do with getting laptops to functional completely. A lot of people assume that this is a Linux problem, and that Linux must "suck", because some piece of hardware don't work, or doesn't work out-of-the-box.&lt;br /&gt;&lt;br /&gt;A lot of other complaints to Linux revolve around functionality issues. Either something doesn't work the way Windows or Mac OS X does, or some application isn't available, or they just don't like the alternative application and they way it works. Are these types of issues related to the quality of the operating system?&lt;br /&gt;&lt;br /&gt;I would say not! Many of the issues are actually a matter of taste, versus a matter of fact. Simply not liking the way an operating system does something, doesn't mean the operating system sucks. Just that it doesn't work the way you expect, or it doesn't fit your style of working. For every person that doesn't like the way something works, there are many who probably do.&lt;br /&gt;&lt;br /&gt;Personally, I have Linux running on an HP laptop with an Athlon 64 processor. When I first purchased it, I installed Fedora Core 3 on it. Did everything work out of the box? No. Did most everything work? Yes. Considering how proprietary laptops are, and considering that the manufactures are not working directly with a Linux distributor to make sure everything works, it is quite amazing that things work as well as they do! Windows XP came pre-loaded on the laptop, and of course everything worked. HP specifically works with Microsoft to make sure that happens. People take this for granted, and then blame Linux when things don't work. With my HP laptop, everything worked with the exception of my wireless card, and the 16x9 display would get corrupted on the console when using the Nvidia drivers with it.&lt;br /&gt;&lt;br /&gt;The built in wireless is a Broadcom 802.11b/g 54 Mbps card, and it was just dead. Of course, Broadcom does not produce Linux drivers, except for embedded applications. You cannot download those, so I started to see what could be done about it. I found the Ndiswrapper project, and that looked quite promising, but I was quickly disappointed, because I had put the x86_64 version of Fedora Core on the laptop, so I could actually run in 64-bit mode (The Windows XP version on the laptop was 32-bit). I started to work on porting it to 64-bit, but ran into some snags in the code base. It actually assumes that it is 32-bit and 32-bit only, so the project really started to become hard. So, I decided to see what else might be out there.&lt;br /&gt;&lt;br /&gt;Then I found a commercial product that does the same thing that &lt;a href="http://ndiswrapper.sourceforge.net/"&gt;NdisWrapper&lt;/a&gt; does, which is load the Windows driver under the Linux kernel. The company is called &lt;a href="http://www.linuxant.com/company/"&gt;Linuxant&lt;/a&gt;, and the product is &lt;a href="http://www.linuxant.com/driverloader/"&gt;DriverLoader&lt;/a&gt;. Amazingly, they had 64-bit Linux support, and they had support for my Broadcom chipset with a 64-bit Windows driver! I was elated, and I quickly purchased a copy (very cheap, but I don't remember how much), installed it, installed the driver, and boom! It didn't work! It turns out that the Fedora project had built the kernel with 4k stacks. Ouch! Typical Windows wireless drivers require a 12k to 16k stack size to operate. Dead in the water again. I guess that quite a few people had problems with things like this, so the Fedora project started building the kernel again with a larger stack size. I updated my kernel, and all of a sudden I had working wireless! Yeah!&lt;br /&gt;&lt;br /&gt;Next issue to tackle was the screen corruption on the console. Mind you, the graphical screen was fine. This was more of an annoyance than anything. I did a search on the Internet, and wouldn't you know it, someone had created a step-by-step guide to solve this problem with my laptop and published for all to see. This is one of the real strengths of the Linux community. I followed those instructions, and low and below, after restarting X, I know had a perfectly working graphical screen, and text based virtual consoles that were no longer corrupted!&lt;br /&gt;&lt;br /&gt;So, for my two issues, where these problems with the operating system itself? Not really. The fact that Broadcom won't release a Linux driver has nothing to do with the quality of the operating system. The fact, that HP's widescreen display needs a different modeline in the X server configuration is also not a quality problem with the OS. It is merely a public specification issue by the hardware vendor.&lt;br /&gt;&lt;br /&gt;Yes, because of these types of issues, Linux is harder to get working. Does this mean that Linux sucks? No, it is just a reflection of the current state of affairs in desktops and laptops. All the OEM's really pay attention to is making Windows work on their machines, and in the case of Apple, Apple controls the hardware and the operating system together. So if their stuff doesn't work, that's a real problem.&lt;br /&gt;&lt;br /&gt;For me, I work very productively with Linux everyday, and I don't have to reboot. I use a wide variety of applications, and never find anything wanting. The quality is great, the stability is great, and I love the fact that it changes and matures rapidly. I don't have to wait three years to get my next rev of an operating system, and then have to pay for the privilege to use it.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Linux doesn't suck!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-114109088434003674?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/114109088434003674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=114109088434003674' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114109088434003674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114109088434003674'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/02/does-linux-suck.html' title='Does Linux Suck?'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-114045117075346037</id><published>2006-02-20T08:58:00.000-07:00</published><updated>2006-02-21T09:54:18.040-07:00</updated><title type='text'>IBM's and BEA's Comments on JBoss</title><content type='html'>&lt;div style="text-align: justify;"&gt;With all the rumors floating around the press lately about JBoss being acquired, there have been some interesting statements about JBoss made by competitor's IBM and BEA.&lt;br /&gt;&lt;br /&gt;The first one I would like to address is a quote from BEA's Marge Breya. Marge Breya is BEA's Chief Marketing Officer, so we can forgive her a little for her ignorance. So here is the quote:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;"JBoss is closed from a contribution standpoint–it's open source with a closed community…a bit like calling Cuba a democracy," said Breya.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is the link that contains the quote:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.zdnet.com/BTL/?p=2574"&gt;http://blogs.zdnet.com/BTL/?p=2574&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This has got to be one of the most twisted statements I have every read. First, she claims that JBoss is closed from a contribution standpoint. This is the furthest thing from the truth. Open source contribution is based on a meritocracy. The best contributions are committed, and contributors earn committer status in the projects. JBoss is no different, and I can assure you that JBoss has many contributors outside of JBoss, Inc.'s paid developers. If BEA wanted to contribute, their developers would have to earn that right through valuable and good code contributions. There have been over one thousand contributors to JBoss projects, and that number will continue to grow. If you look at the forums on the jboss web site (&lt;a href="http://www.jboss.com/index.html?module=bb"&gt;http://www.jboss.com/index.html?module=bb&lt;/a&gt;) you will see a vibrant community of users and contributors (actually users are contributors too). There are thousands and thousands of posts on all the various JBoss projects. If this isn't community, then what is she talking about?&lt;br /&gt;&lt;br /&gt;Second she tries to say that we really aren't open source because we don't have a community, and says it is like calling Cuba a democracy! What a ridiculous statement. So let's really look at this statement. We all know Cuba is not a democracy but a communist state. You would be off your rocker to make that statement. Is Marge Breya, off her rocker by saying that JBoss is not open source? Well, let's ask ourselves some questions. What license is the software licensed under? JBoss is licensed under the LGPL. Is this an approved open source license by the Open Source Initiative? Yes, it is. In fact, the LGPL specifically prohibits the code from ever being closed. We have already gone over the community question and contribution, so what is her beef? I think that it has to do with the license. More on that in a minute.&lt;br /&gt;&lt;br /&gt;Next, we have some IBM comments from Steve Mills. Steve Mills is the head of IBM's software group, and he was quoted saying the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;JBoss' Java application server contains a significant &lt;/span&gt;&lt;a style="font-weight: bold; font-style: italic;" href="http://news.com.com/Truce+called+in+Java+standards+battle/2100-1013_3-5058048.html?tag=nl" title="Truce called in Java standards battle -- Thursday, Jul 31, 2003"&gt;proprietary component&lt;/a&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt; even while it adheres to the &lt;/span&gt;&lt;a style="font-weight: bold; font-style: italic;" href="http://news.com.com/JBoss+ships+J2EE+app+server/2110-7344_3-5374469.html?tag=nl" title="JBoss ships J2EE app server -- Monday, Sep 20, 2004"&gt;Java 2 Enterprise Edition standards&lt;/a&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;. &lt;/span&gt; &lt;p&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt; "JBoss has a lot of proprietary JBoss. It's sort of a hybrid model of open source," Mills said.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Here is the link that contains the quote:&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://news.com.com/2061-10795_3-6040916.html"&gt;http://news.com.com/2061-10795_3-6040916.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Steve Mills claims that JBoss is a hybrid model of open source. What does that mean? Is some of the JBoss code closed source, and some not? Absolutely not! Are some of the JBoss projects not based on an open standard? Yes!  Is JBoss not open source just because they have code that is not based on some standard?  No! Having said that, are there standards for covering the things that are not based on an open standard? No! There are no open standards for object/relational mapping, with the exception of the new EJB 3.0 specifications, of which JBoss was the main contributor, and has an implementation already. There are not open standards for Aspect Oriented programming. This doesn't stop IBM from using AspectJ does it? Is AspectJ not open source because it doesn't adhere to some standard?  Of course, not!  This is just a bunch of hooey!  Why would IBM be complaining about JBoss being proprietary? Have they open sourced their WebSphere product line? Do they have any proprietary technology in WebSphere? Of course they do. Just like JBoss, you have to solve real-world customer problems, and that means you have to have technology that is outside of any standards. Standards only cover part of the problem space for developing real-world solutions to real business problems. How many WebSphere and BEA shops use Hibernate for their persistence? Lot's of them do, because it is simply works better. I believe there are two fundamental reasons for IBM and BEA to cast disparaging remarks at JBoss.&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;The first reason, is the license that JBoss uses. It does not let them fork the code and make it proprietary. BSD and ASF style licenses allow, and to some extent, encourage forking the code, and taking it proprietary. This allows traditional software vendors like IBM and BEA to mine the best of open source and take it proprietary. So the open source community does the work, and IBM and BEA get the money. This sounds like exploitation to me. The second reason, is that much of the JBoss technology can run inside BEA's Weblogic and IBM's WebSphere. This must be very scary for them. After awhile, their customers might start to think, why am I paying BEA and IBM anything, when I am getting the most value from the JBoss software components. Maybe I should just adopt the entire JBoss stack instead?&lt;br /&gt;&lt;/p&gt; &lt;p&gt;In summary, they want to make it seem that JBoss is not really open source, because JBoss poses a huge threat to their traditional middleware revenues!&lt;br /&gt;&lt;/p&gt;  &lt;a href="http://www.jboss.com/index.html?module=bb"&gt;&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-114045117075346037?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/114045117075346037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=114045117075346037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114045117075346037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/114045117075346037'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/02/ibms-and-beas-comments-on-jboss.html' title='IBM&apos;s and BEA&apos;s Comments on JBoss'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-113937157457861096</id><published>2006-02-07T21:04:00.000-07:00</published><updated>2006-03-31T15:14:49.913-07:00</updated><title type='text'>Software Development Productivity</title><content type='html'>&lt;div style="text-align: justify;"&gt;I have been caught in a lot of discussions over the past year or so about software development productivity.  How to measure it.  What improves productivity?  Does it come at the expense of quality?  All kinds of things to think about.  In researching this topic, along with quite a few other folks that I have worked with, I have a set of principles that I would like to discuss.&lt;br /&gt;&lt;br /&gt;One area that concerns a lot of enterprise is the requirements process.  How do you get good requirements up front.  It seems like it should be easy right?  Nope!  It isn't easy at all.  Software systems are difficult for end users to describe before they see them.  I think it is one of the reasons that packaged applications have been popular versus writing the application in-house.  So what can you do about requirements?&lt;br /&gt;&lt;br /&gt;The only thing, that I believe can be done, is to follow an iterative process.  That is, don't bother trying to gather requirements up front, because they will never be right, no matter what process is followed.  Define some high-level goals, and write something that illustrates those goals.  If the requirements cannot be written down on 3x5 cards, then you are specifying too much.  Keep it simple, and get something concrete in a short two to four week cycle that the end user can actually look at.  The end users will be able to articulate what they like and don't like, and how something should work only after seeing an implementation.  That will get the ball rolling, and you can then do iteration after iteration to refine, add features, correct things that may otherwise go way off course.&lt;br /&gt;&lt;br /&gt;This iterative process shouldn't be dragged on for a long time either.  The entire project life-cycle should be complete within a twelve to sixteen week process at the most.  Did you know that research has shown that projects that go on for six months have a less than 50% chance of being implemented!  If you go all the way out to thirty-six months, the odds drop to zero!  That's right, zero!  Keep the projects small and managable, and release early and often, not just in your iterations, but to production as well.&lt;br /&gt;&lt;br /&gt;For both principles above to succeed, you must work directly with the end users of what you are building.  Don't fall into the trap that a lot of organizations fall into, where they have organizations dedicated to working with business people, and they will translate the requirements for developers.  This is a huge expense burden on the company, and it only makes matters worse.  Think about it.  Haven't we all played the telephone game, where one person starts and whispers something in the next persons ear, and so on, and so on.  When you get to the last person, is what the first person said ever repeated?  No!  Of course, not!  This same principle is at work with layers of organizations that are supposedly there to help, but only serve to scramble the message.  Let developers, no matter what you think of their people skills, work directly with end users.  You will find that you get a better product, quicker, and you will have happier end users.&lt;br /&gt;&lt;br /&gt;Keep team sizes small.  In knowledge work, which software development is, you should never have a team size larger than seven people.  Why do I say that?  How did I come up with seven as the magic number?  If you look at the research done by Quantitative Software Management on project team sizes, you will see that team sizes between three and seven are the most productive.  Large team sizes can cost upwards of 400% more, and deliver 29% later, doing the same size work!  This is dramatic.  If you have a project that just seems to large to deliver with a small group, don't trust your intuition.  It is wrong!  Keep the team size small, and if something really is very large, break it up into sub-projects that can be delivered to production in a twelve to sixteen week period.  You will deliver value quicker, and the overall project will get completed much quicker and at a much lower cost.&lt;br /&gt;&lt;br /&gt;Where are these principles demonstrated for everyone to see right out in the open?  Well, its obvious (at least to me).  Open source projects work this way be default.  They have small sets of contributors at the center.  Even large open source communities have divided things into sub-systems that can be worked on by a very small groups with committer access.  They work directly with their end users.  No middle man.  Requirements are not expressed in large documents.  In fact designs are not documented at all!  Instead, implementations that only demonstrate the overall goal of the project, is how things get started.  The process is iterative, with many small releases, some labeled aphas or betas, or release candidates, while others become a "stable" release.  This allows the project to get feedback from users early, and users can give feedback in the form of feature requests, bugs, etc.  See the parallels to what should be happening in the enterprise?&lt;br /&gt;&lt;br /&gt;If you adopt the open source model of development in-house, you will find a huge productivity boost for your organization, and you will find that your end users are much happier, because they will actually get what they need and want, in a reasonable amount of time, for a lot lower cost.&lt;br /&gt;&lt;br /&gt;Think about it!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-113937157457861096?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/113937157457861096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=113937157457861096' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113937157457861096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113937157457861096'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/02/software-development-productivity.html' title='Software Development Productivity'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-113928745070810021</id><published>2006-02-06T21:20:00.000-07:00</published><updated>2006-02-06T21:44:10.726-07:00</updated><title type='text'>GPL 3 and DRM!</title><content type='html'>&lt;div style="text-align: justify;"&gt;I have been coming across a lot of articles talking about the new version of the GPL (GNU Public License) lately, and specifically the issue around DRM or Digital Rights Management. One thing really strikes me about the articles.  The fact that, in many cases, we are mixing multiple issues together, that shouldn't be mixed together.&lt;br /&gt;&lt;br /&gt;DRM, in the consumer products world, is one thing, and DRM in the corporate information world, is entirely another. In the first case, we are talking about movie studios, music labels, etc. trying to control the distribution of a copyrighted work so that everyone pays for their copy of that work. While, I can understand this, as they want to be compensated for the costs of producing that work, the control mechanisms being used go far beyond ensuring that you paid for the copy. They try to completely control what you do after you have paid for the copy. These copy protection schemes, like the software copy protection schemes of the 1980's will fail, because people will not tolerate them for long.&lt;br /&gt;&lt;br /&gt;In the other case, protecting corporate information, such as trade secrets, is certainly something that open source software needs to support. Corporations of all shapes and sizes, with all kinds of business models, have a need to protect certain information. If anyone doesn't think that corporate espionage doesn't exist, they are naive. Digital signatures, encryption, permission based controls, all have their place where protecting corporate information is concerned. In fact, these are all things that are in place, in one form or another, in open source software today. We should not mix these two forms of DRM, and put them in the same basket. If we do, then we are in jeopardy of losing the very corporations that are helping to make open source software a success.&lt;br /&gt;&lt;br /&gt;Software licensing is not the area to be trying to combat DRM!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-113928745070810021?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/113928745070810021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=113928745070810021' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113928745070810021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113928745070810021'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/02/gpl-3-and-drm.html' title='GPL 3 and DRM!'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-113867137236149806</id><published>2006-01-30T17:59:00.000-07:00</published><updated>2006-01-30T18:36:12.373-07:00</updated><title type='text'>Benchmarks:  Numbers Don't Lie, but Liars Use Numbers</title><content type='html'>&lt;div style="text-align: justify;"&gt; Can industry standard benchmarks or even application benchmarks, like SAP's be relied upon to make technology choices? I have come to the conclusion that benchmarks are not reliable measuring sticks for use by decision makers regardless if they are a mythical application, like a &lt;a href="http://www.spec.org/jAppServer2004/"&gt;SPECjAppServer2004&lt;/a&gt; benchmark, or an ISV specific application benchmark like SAP's (&lt;a href="http://www.sap.com/solutions/benchmark/index.epx"&gt;http://www.sap.com/solutions/benchmark/index.epx&lt;/a&gt;).  Why  do I believe this is true?&lt;br /&gt;&lt;br /&gt;    With the industry standard benchmarks, whether they are &lt;a href="http://www.spec.org/"&gt;SPEC&lt;/a&gt;, or the &lt;a href="http://www.tpc.org/"&gt;Transaction Performance Council&lt;/a&gt;, the applications are far too simple to simulate a real-world workload. Real-world applications have far more complex business logic, and are usually highly data driven. When I say data driven, I mean that the application logic branches are almost always determined by querying a database for what to do under certain business cases. They are really automated business processes. I have seen cases where the customer setup in an application had over 60,000 locations, and in another case where there were over 100,000 specific products listed in a customer contract. These are but two simple examples, and what they lead to is a read/write ratio in the applications that are heavily tilted to the read side. In two major applications that I have been involved with the read/write ratios were 98% read, 2% write, and 93% read, 7% write. Industry standard benchmarks do not have such ratios because they don't simulate these types of complex, data driven, large dataset applications.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;With ISV specific benchmarks, even though they are running a real business application, they don't represent a customized deployment of their technology. They are specifically crafted to create the highest possible numbers because they are actually marketing tools, not something that can be relied upon for your own implementation. If you look at some of the SAP benchmark results they have numbers like 29 million and more dialog steps per hour, and stuff like that! This is a dead give away to anyone who has half a brain. Does anyone's SAP implementation in the world do 29 million of anything in one hour? I think not! My entire career has been spent in high volume transaction oriented businesses (until just recently), and believe me, these types of numbers are completely off the chart, and meaningless.&lt;br /&gt;&lt;br /&gt;There is one other aspect to both types of benchmarks. The benchmark configurations used are configurations that no customer, in their right mind would deploy in a production environment. You will see things like raw disc being used, with RAID level 0 (just stripping). Undocumented features of databases being turned on, that are specifically for benchmarks, but make the database unsupported by the vendor in a production environment. Data being stripped over hundreds or even thousands of disk drives. All logging of any kind, whether it be databases, application servers, OS, etc., being turned off to lower the overhead as much as possible. These are but some of the tricks that are used in so-called audited benchmark results. Where does that lead us where these benchmarks are concerned.&lt;br /&gt;&lt;br /&gt;It leads us to one place and one place only. That "numbers don't lie, but liars use numbers"! These benchmarks are marketing tools, and no more. They don't represent anything remotely close to a production deployment, and the numbers will always be higher than what can be achieved in a real-world deployment that can be managed. Don't rely on these marketing ploys to make decisions, instead run your own workload in a proper production like configuration, and make your decisions based on facts, and not fiction. &lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-113867137236149806?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/113867137236149806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=113867137236149806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113867137236149806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113867137236149806'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/01/benchmarks-numbers-dont-lie-but-liars.html' title='Benchmarks:  Numbers Don&apos;t Lie, but Liars Use Numbers'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-113807494676452826</id><published>2006-01-23T20:48:00.000-07:00</published><updated>2006-01-23T20:55:46.776-07:00</updated><title type='text'>A New Beginning</title><content type='html'>&lt;div style="text-align: justify;"&gt;I have recently changed jobs, and have gone from a traditional internal IT shop to an open source company. Friday was my last day at my old job, and today was my first at my new job. What I find most interesting about the differences, is the passion that is so often drained from employees in traditional IT shops, is alive and well in my new position.&lt;br /&gt;&lt;br /&gt;People really care about what they are doing, and it shows in everything that I have experienced so far. A successful endeavor, not matter what its purpose, has to involve people who care. What a refreshing difference! It is wonderful to be involved in something where people say what they mean, and mean what they say. No hidden agendas, no politics, just a spirit of let's do the right thing.&lt;br /&gt;&lt;br /&gt;I think I have found a position where I can turn my passion into my vocation, and you can never go wrong with that.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-113807494676452826?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/113807494676452826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=113807494676452826' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113807494676452826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113807494676452826'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/01/new-beginning.html' title='A New Beginning'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-113743085454550288</id><published>2006-01-16T09:35:00.000-07:00</published><updated>2006-01-16T10:00:54.583-07:00</updated><title type='text'>The Myth of "One Throat to Choke"</title><content type='html'>&lt;div style="text-align: justify;"&gt;When decision makers start to compare various technology solutions, one thing that inevitably comes up is the notion of a single vendor solution, with one support organization, versus a best-of-breed solution with multiple support organizations.  The so-called "One Throat to Choke" support model.&lt;br /&gt;&lt;br /&gt;I call this a myth, for several reasons.  While we can all recall situations where multiple vendors have pointed fingers at each other versus helping solve our problem.  I can also recall situations where multiple vendors worked quite well together to solve problems.  Just like we can all recall a single vendor not addressing a problem even though it was clearly their problem to deal with.&lt;br /&gt;&lt;br /&gt;First, with most single vendor solutions, that have anything more than one moving part, so-to-speak, they have proprietary features of the integrated solution that are intended to lock you in.  They also make it very difficult to get value out of their solution without using the proprietary features.  With that, once you have landed in that trap, the switching costs start to mount, and for some conservative organizations, they become insurmountable.  Once they have you in that situation, there support really doesn't have to be very good.  So now, you have "one throat to choke", and you are just there choking them with no results!  This is especially true in the software industry with "stacks" or "suites" that are supposed to save you from all the integration costs, because they are pretested and certified together.&lt;br /&gt;&lt;br /&gt;Second, most mature technologies today are based on a set of open standards.  With open standards, the integration costs aren't as high, and in some cases downright non-existent.  With standarized interfaces and protocols between the various pieces of a best-of-breed solution, it is often quite easy to determine where the problem lies.  Lessening the pointing of fingers, and making it easier to determine where a problem lies, and who needs to be involved to fix it.  Also, when vendors are put into a competitive situation, often they will work harder to solve your problems then vendors that have you locked in!&lt;br /&gt;&lt;br /&gt;Finally, with many technology combinations in a best-of-breed solution, the vendors have predefined cross support relationships, and if they don't, many times they are willing to put those in place for you.&lt;br /&gt;&lt;br /&gt;While it may seem alluring to have "one throat to choke", I think the differences in resolving problems is minimal, at best, when compared to a multi-vendor solution.  Also, with the lock in strategy of "stack" or "suite" products, you are many times left with an inferior solution with no competitive pressure that helps you as a customer.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-113743085454550288?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/113743085454550288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=113743085454550288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113743085454550288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113743085454550288'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/01/myth-of-one-throat-to-choke.html' title='The Myth of &quot;One Throat to Choke&quot;'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-113726606328342862</id><published>2006-01-14T11:44:00.000-07:00</published><updated>2006-01-14T12:14:23.506-07:00</updated><title type='text'>When Technology Evaluations Go Awry</title><content type='html'>&lt;div style="text-align: justify;"&gt;Recently, I have been witness to a technology evaluation that has been a real eye opener. What you would like to believe is that individuals involved in an evaluation will have an open mind to all solutions, and that they would not try to hide the weaknesses and problems in one solution versus another.&lt;br /&gt;&lt;br /&gt;I guess I shouldn't be surprised that human nature has raised its ugly head in this. Although I would like to think that people will be honest, and have the best interests of everyone in mind, I have uncovered multiple instances where individuals have actually covered up things, and outright rated specific features that they did not even observe. All because they don't believe in an open standards and open source approach to technology. They believe that traditional commercial ISV solutions are inherently better, so they set out to "prove it", and in so doing they intentionally skewed test results, hid problems, or attempted to explain them away.&lt;br /&gt;&lt;br /&gt;Now, what is the the result of all of this? The ultimate result will be that a company will pay more money for a solution that has no additional benefits over the open solution, has poor technical support, doesn't truly work as well as the evalution seems to state, and will take their entire organization backwards instead of forward!&lt;br /&gt;&lt;br /&gt;This is the saddest thing I have ever witnessed in my career. That people would put their own "beliefs" and "pride" ahead of the best interests of the organization they are apart of.&lt;br /&gt;&lt;br /&gt;I believe that what I just witnessed marks the beginning of the end of what used to be a successful organization. I can only hope that this kind of behavior is eventually rooted out.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-113726606328342862?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/113726606328342862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=113726606328342862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113726606328342862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113726606328342862'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2006/01/when-technology-evaluations-go-awry.html' title='When Technology Evaluations Go Awry'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-113444031200244147</id><published>2005-12-12T18:52:00.000-07:00</published><updated>2005-12-12T19:18:32.023-07:00</updated><title type='text'>Open Source vs. Open Standards</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:arial;"&gt;     I often have had, over the years, discussions about open standards versus open source, and whether you can consider them the same. Last week, I talked about an open source implementation of EJB3 from JBoss. In that case, EJB3 could be considered an open standard (some people don't consider the Java Community Process a true standards organization), and certainly JBoss implementation is open source.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    While open standards and open source are certainly not the same, you have to ask yourself if the two are synonymous from the standpoint of their intent. Open standards are intended to bring interoperability to multiple implementations of the same technology. Open source is all about freedom, and one of the freedoms that is inherent in open source is interoperability. I say that, because if you want to create an interoperable implementation, it cannot be any easier than creating an interoperable implementation with the access to the source code of what you are trying to interoperate with!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    I have had many experiences with closed source software that was standards based, but did not implement the standard in an interoperable way. Therefore, when you try to makes things work, you get stuck with some incompatibility that breaks something. Typically, standards do not have a compatibility test, or requirement, so vendors will play an interesting game. They can claim that they are standards compliant, without the customer being able to actually realize the benefits!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    Over the past four or five years, I have come to the conclusion that an open source implementation is as good, or better than a closed source implementation of an open standard, and I have elevated open source to be considered equal to anything that implements an open standard. Specifically, I feel this way based on the ease in which you can actually achieve interoperability with the solution. Of course, open source implementations, and open standards are not mutually exclusive, as the JBoss EJB3 example shows. Also, Jabber and the IETF standard for XMPP are another good example, and Google's adoption of this will no doubt fuel true interoperability for the instant messaging market.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-113444031200244147?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/113444031200244147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=113444031200244147' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113444031200244147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113444031200244147'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2005/12/open-source-vs-open-standards.html' title='Open Source vs. Open Standards'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-113384251096496102</id><published>2005-12-05T19:40:00.000-07:00</published><updated>2005-12-05T21:15:10.993-07:00</updated><title type='text'>Software Productivity in the Java World</title><content type='html'>&lt;div style="text-align: justify;"&gt; Recently, I have been playing around with the JBoss EJB3 implementation, and I have to say that I have been impressed with where the specification is heading. I have long been following the J2EE, and now the Java EE specifications. In the beginning, EJB was better than what I had been doing with CORBA, and seemed to have great promise. Of course, once we started to develop large scale applications, the weaknesses of the component model started to become evident.&lt;br /&gt;&lt;br /&gt;The component model, led to many anti-patterns, in that in order to have any reasonable application, you needed to implement value or transfer objects, so you could pass results up to the web tier of an application. You needed business delegates, and value list handlers to make business logic easier to implement, and result sets from queries reasonable for the web tier to deal with. These are only some of the patterns that became common in J2EE development. With all of these, things just become more complicated for developers, and less productive than was anticipated by any of the original specifications developers anticipated. Also, the deployment descriptor approach, which on the surface seemed like it would make things easier for developers, really just made it harder, because it wasn't just coding Java classes, or components anymore, you had to also describe the behavior you wanted external to the code. This gave rise to XDoclet, which anyone who has done J2EE development, knows certainly that it helped alleviate some of the complexity, but introduced its own complexities. That brings us to the new EJB3 specification, and the JBoss implementation.&lt;br /&gt;&lt;br /&gt;The first thing you will notice is that the entire component model (at least for the most part) is gone, and replaced with just Plain Old Java Objects (POJO). This is a great step forward, as it removes the complexity of home interfaces, remote and local interfaces, and you don't need to have separate transfer objects and the like, because your POJO can just implement Serializable, and it can be moved between any of the tiers of your application. Of course, the magic that makes all this happen, is the use of annotations, and having defaults that are reasonable, so you don't have to specify things that you shouldn't have to. In fact, they went to a development model by convention versus doing it by declaring everything through the deployment descriptors. For example, this is what an entity bean looks like:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;package services.entities;&lt;br /&gt;&lt;br /&gt;import java.io.Serializable;&lt;br /&gt;import java.math.BigDecimal;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;import javax.persistence.CascadeType;&lt;br /&gt;import javax.persistence.Entity;&lt;br /&gt;import javax.persistence.FetchType;&lt;br /&gt;import javax.persistence.GeneratorType;&lt;br /&gt;import javax.persistence.Id;&lt;br /&gt;import javax.persistence.OneToMany;&lt;br /&gt;&lt;br /&gt;@Entity&lt;br /&gt;public class Order implements Serializable {&lt;br /&gt;&lt;br /&gt;  private long orderId;&lt;br /&gt;  private long customerId;&lt;br /&gt;  private Address shippingAddress;&lt;br /&gt;  private BigDecimal totalOrderAmount;&lt;br /&gt;  private List&lt;orderline&gt; orderLines;&lt;br /&gt;&lt;br /&gt;  public Order() {&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public Order(long customerId&lt;br /&gt;          , Address shippingAddress&lt;br /&gt;          , BigDecimal totalOrderAmount) {&lt;br /&gt;   &lt;br /&gt;      this.customerId       = customerId;&lt;br /&gt;      this.shippingAddress  = shippingAddress;&lt;br /&gt;      this.totalOrderAmount = totalOrderAmount;&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  @Id(generate = GeneratorType.AUTO)&lt;br /&gt;  public long getOrderId () {&lt;br /&gt;   &lt;br /&gt;      return orderId;&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setOrderId(long orderId) {&lt;br /&gt;   &lt;br /&gt;      this.orderId = orderId;&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public long getCustomerId() {&lt;br /&gt;   &lt;br /&gt;      return customerId;&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setCustomerId(long customerId) {&lt;br /&gt;   &lt;br /&gt;      this.customerId = customerId;&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public String getShippingAddressLine1() {&lt;br /&gt;   &lt;br /&gt;      return shippingAddress.getAddressLine1();&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setShippingAddressLine1(String shippingAddressLine1) {&lt;br /&gt;   &lt;br /&gt;      shippingAddress.setAddressLine1(shippingAddressLine1);&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public String getShippingAddressLine2() {&lt;br /&gt;   &lt;br /&gt;      return shippingAddress.getAddressLine2();&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setShippingAddressLine2(String shippingAddressLine2) {&lt;br /&gt;   &lt;br /&gt;      shippingAddress.setAddressLine2(shippingAddressLine2);&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public String getShippingCity() {&lt;br /&gt;   &lt;br /&gt;      return shippingAddress.getCity();&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setShippingCity(String shippingCity) {&lt;br /&gt;   &lt;br /&gt;      shippingAddress.setCity(shippingCity);&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public String getShippingState() {&lt;br /&gt;   &lt;br /&gt;      return shippingAddress.getState();&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setShippingState(String shippingState) {&lt;br /&gt;   &lt;br /&gt;      shippingAddress.setState(shippingState);&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public int getShippingZipCode() {&lt;br /&gt;   &lt;br /&gt;      return shippingAddress.getZipCode();&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setShippingZipCode(int shippingZipCode) {&lt;br /&gt;   &lt;br /&gt;      shippingAddress.setZipCode(shippingZipCode);&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public int getShippingZipCodePlusFour() {&lt;br /&gt;   &lt;br /&gt;      return shippingAddress.getZipCodePlusFour();&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setShippingZipCodePlusFour(int shippingZipCodePlusFour) {&lt;br /&gt;   &lt;br /&gt;      shippingAddress.setZipCodePlusFour(shippingZipCodePlusFour);&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public BigDecimal getTotalOrderAmount() {&lt;br /&gt;   &lt;br /&gt;      return totalOrderAmount;&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setTotalOrderAmount(BigDecimal totalOrderAmount) {&lt;br /&gt;   &lt;br /&gt;      this.totalOrderAmount = totalOrderAmount;&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  @OneToMany(mappedBy="order", cascade=CascadeType.ALL, fetch=FetchType.EAGER)&lt;br /&gt;  public List&lt;orderline&gt; getOrderLines() {&lt;br /&gt;   &lt;br /&gt;      return orderLines;&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setOrderLines(List&lt;orderline&gt; orderLines) {&lt;br /&gt;   &lt;br /&gt;      this.orderLines = orderLines;&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public boolean equals(Object o) {&lt;br /&gt;   &lt;br /&gt;      if (this == o) {&lt;br /&gt;          return true;&lt;br /&gt;      }&lt;br /&gt;   &lt;br /&gt;      if (o == null || getClass() != o.getClass()) {&lt;br /&gt;          return false;&lt;br /&gt;      }&lt;br /&gt;   &lt;br /&gt;      final Order order = (Order) o;&lt;br /&gt;   &lt;br /&gt;      if (!(orderId == order.orderId)) {&lt;br /&gt;          return false;&lt;br /&gt;      }&lt;br /&gt;   &lt;br /&gt;      if (!(customerId == order.customerId)) {&lt;br /&gt;          return false;&lt;br /&gt;      }&lt;br /&gt;   &lt;br /&gt;      if (!shippingAddress.equals(order.shippingAddress)) {&lt;br /&gt;          return false;&lt;br /&gt;      }&lt;br /&gt;   &lt;br /&gt;      if (!totalOrderAmount.equals(order.totalOrderAmount)) {&lt;br /&gt;          return false;&lt;br /&gt;      }&lt;br /&gt;   &lt;br /&gt;      if (!orderLines.equals(order.orderLines)) {&lt;br /&gt;          return false;&lt;br /&gt;      }&lt;br /&gt;   &lt;br /&gt;      return true;&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public int hashCode() {&lt;br /&gt;   &lt;br /&gt;      int hashValue;&lt;br /&gt;   &lt;br /&gt;      hashValue = Long.toString(orderId).hashCode()&lt;br /&gt;          + Long.toString(customerId).hashCode()&lt;br /&gt;          + shippingAddress.hashCode()&lt;br /&gt;          + totalOrderAmount.hashCode()&lt;br /&gt;          + orderLines.hashCode();&lt;br /&gt;   &lt;br /&gt;      return hashValue;&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/orderline&gt;&lt;/orderline&gt;&lt;/orderline&gt;&lt;div style="text-align: justify;"&gt; Let me point out some interesting things. This is just a plain java object, nothing special. The thing that makes it an Entity bean, is the fact that it has the @Entity annotation. That is all there is to making it an entity bean. There are really only three other things in this example that are meaningful. First is the primary key of the object, for persistence purposes it is identified by the @Id annotation. It specifies that the orderId is the primary key, and that it is autogenerated. In this case, I am using a MySQL database underneath, and using an autoincrement column type. Of course, there are annotations that work across every relational database that matters, such as DB2 identity column types, Oracle sequences, etc. You can even customize it to create your own autogenerated types, so it is completely extensible in this regard. The second thing to notice is that I implement Serializable, and implemented the hashcode and equals methods. Just standard Java coding, nothing special. The final thing to notice, is the annotation that says @OneToMany. This annotation specifies that this entity has an association (actually it is an aggregate) with another entity, and what attribute that association is based on. It also specifies the fetch behavior that you want for the collection. Once again, this is very simple, and it is in the code, no special deployment descriptor required!&lt;br /&gt;&lt;br /&gt;Everything else, the table that it maps to, the column mapping, etc., are all done by convention. If you simply make the table and object names the same you don't have to specify anything. If the column and attribute names are the same, you don't have to specify mapping for the columns either. Of course, you can use an @Table annotation, and an @Column annotation for specify these things, but why do that, just follow the convention and save yourself all the trouble.&lt;br /&gt;&lt;br /&gt;In the old EJB model, everyone eschewed the use of entity beans, because you could have a lot of trouble creating a scalable application using them. In this new model, you have a full featured query language, and very simple persistence. You have a persistence context that you can specify through an annotation (@PersistenceContext), and an EntityManager class. You can just call the EntityManager persist method passing the entity object, and it will get saved to the database. You can create as fine a grained, or course a grained model as you want, and still be able to create a scalable application. What a difference!&lt;br /&gt;&lt;br /&gt;Of course, I'm just scratching the surface, with the entity bean example, but you start getting the picture. One of the other really nice things about EJB3, is that by specification, it is embeddable in any application, not just ones running in an application server. This has opened up the capability to make all sorts of applications, and it makes the capability to unit test much easier. In fact, I recently figured out how to use the JBoss embeddable version of EJB3 and JUnit from within Eclipse to create unit test suites and unit tests that test the POJO's of EJB3. This gives another boost to developer productivity, especially if you follow a test driven development paradigm.&lt;br /&gt;&lt;br /&gt;  This is a great step forward.  If you have any experience with this, let me know what you think.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-113384251096496102?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/113384251096496102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=113384251096496102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113384251096496102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113384251096496102'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2005/12/software-productivity-in-java-world.html' title='Software Productivity in the Java World'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-113312814308860698</id><published>2005-11-27T14:33:00.000-07:00</published><updated>2005-11-28T18:47:55.920-07:00</updated><title type='text'>Can you base your Enterprise Architecture completely on open source software?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Last week, I touched on the medias coverage of open source software, and also gave my answer to a question that seems to be becoming more common in the media, which was "Is open source better?".&lt;br /&gt;&lt;br /&gt;This week, I want to touch on the topic of building your entire enterprise architecture around open source software, and is this possible?&lt;br /&gt;&lt;br /&gt;First, let me say, that I think that it is not only possible, but may be the best thing that you could do. When you look at any decent size company today, they all have very similar needs, and mostly similar problems as well.&lt;br /&gt;&lt;br /&gt;Let's talk about needs first. Everyone needs a basic computing infrastructure, comprised of servers, network and storage. While there is a lot that can be discussed on these needs alone, I'll save that for another time. Where servers are concerned though, what server platforms are not supported by Linux these days? Really, there are no major platforms, that one would consider in an enterprise context, that does not support Linux today (with maybe one exception). They range from the Intel and AMD industry standard servers, Itanium based systems from vendors like Hewlett-Packard, through to Power 5 and 5+ systems from IBM. In the case of the Power 5 based systems, Linux even supports SMT (Simultaneous Multi-Threading) and Micro-partitioning (the most advanced features of the platform). The one notable exception is Sun Microsystems with their UltraSparc line of hardware. Of course, it is supported on their AMD based products, which are quite good. So, as far as servers are concerned, you have the widest possible net if you want to base your server infrastructure on the Linux operating system, and can even have a mix of hardware from various vendors and still manage it through one operating system. A major advantage to a Linux based OS strategy!&lt;br /&gt;&lt;br /&gt;Of course, where network and storage infrastructure are concerned, a Linux based server infrastructure will work with any network infrastructure, up to 10 gigabit Ethernet solutions.&lt;br /&gt;&lt;br /&gt;Where storage infrastructure is concerned, storage from all the major players support Linux, from EMC, to Hitatchi to IBM and Network Appliance. The major HBA (Host Bus Adapter) vendors also support Linux, whether that is Fibre Channel, iSCSI or just plain Ethernet via the NFS protocol. Of course, there are some interesting products from smaller vendors that cover both network and storage infrastructure that have actually built their products from an open source base, such as Linux with an XFS file system for storage, network switches and routers that use Linux internally as the OS, etc. These vendors would not typically find themselves in a large enterprise setting, but I think over time, this will change. These products will be commoditized just like infrastructure software, and eventually players in this space will find themselves penetrating the enterprise.&lt;br /&gt;&lt;br /&gt;So, we have set the basic compute infrastructure, and we need to address the layers above that. There are various choices for the middleware in the enterprise. In no particular order, you can use what is called LAMP (Linux, Apache, MySQL, Perl, Python or PHP). This stack is increasingly becoming popular and their are a couple of variations on this. One variation is LAMJ (Linux, Apache, MySQL, Java). The Java part of this stack is typically composed of Tomcat as a standalone servlet container, or Tomcat and JBoss (typically with Hibernate for Object/Relational mapping) if your needs extend beyond the servlet container into the full Java enterprise edition stack. In fact, I have used Tomcat embedded in JBoss, even when the application did not require the other components of the Java enterprise edition stack, because JBoss has very robust connection pooling and high-availability clustering built in. Therefore, you can take advantage of those attributes without having to add those types of features to Tomcat. There is even a second variation of LAMP, which I have not seen an acronym for, but for lack of a better name I will call it LAMR (Linux, Apache, MySQL and Ruby on Rails). Ruby on Rails is becoming very popular with developers, for its' sure productivity over pretty much everything else. While it is an interpreted environment, much the way PHP, Perl and Python are, they provide the complete abstraction for all tiers of an n-tier architecture. Interpreted environments will certainly be slower than non-interpreted environments, but hardware has become fast enough that many enterprise environments could easily be run by Ruby or the other interpreted environments. Eventually, this will be true about all workloads, and the debate over speed and scalability of these types of environments over others will be a mute point. Of course, they won't be faster than the other approaches, but all anyone needs is for it to be fast enough for their workload. The productivity improvements will far outweigh the speed disadvantages.&lt;br /&gt;&lt;br /&gt;Aside from the middle-tier components, we mention the MySQL database. Of course, there is another alternative to MySQL, and that is PostgreSQL. PostgreSQL has always been more feature complete, and better conforming to the ANSI SQL standard than MySQL. MySQL has been considered the fastest open source database. My own experience seems to back this up, with PostgreSQL improving on the performance front, and MySQL improving on the feature front. In either case, I don't think you can go wrong with either choice, but you should test the two to make sure that it fits your needs. In both cases, you can now get commercial support. Of course, you could always get that for MySQL from MySQL AB. In the PostgreSQL world, there have been quite a few companies who have come and gone trying to create businesses from PostgreSQL support. Recently there have been some interesting developments in the PostgreSQL community with companies like Enterprise DB (&lt;a href="http://www.enterprisedb.com/"&gt;http://www.enterprisedb.com&lt;/a&gt;), or GreenPlum (&lt;a href="http://www.greenplum.com/"&gt;http://www.greenplum.com&lt;/a&gt;).  Greenplum specializes in data warehousing uses for PostgreSQL.&lt;br /&gt;&lt;br /&gt;With the basic compute infrastructure in place, and now the middleware for the middle-tier and the persistence mechanism, through a relational database, we have a very complete platform for delivering enterprise applications. Besides the basic middleware pieces, other needs include the ability to horizontally scale, vertically scale, and have the infrastructure be highly available.&lt;br /&gt;&lt;br /&gt;In terms of horizontal scalability, all of the above solutions will work for a horizontally scaled solution. Any of the hardware platforms, can be purchased in small node sizes, like two processor configurations, and used in this way. The higher-end servers, can be partitioned for this type of deployment. The middleware, such as Apache, Tomcat, JBoss, the plugins for Apache for PHP, Perl, Python and Ruby, can all be deployed in a horizontal scaling solution, and you can even use Apache as the load balancer to distribute the workload. In that case, though you will need an OS level clustering solution, as I am unaware of built in Apache solution for failover. If there is one, someone please let me know.&lt;br /&gt;&lt;br /&gt;In terms of vertical scalability, Apache and the Java middleware (Tomcat, JBoss, Hibernate) will scale vertically on very large systems quit nicely. In my own experience, I have seen Tomcat and JBoss scale linearly on 16 CPU systems, and there doesn't really seem to be a limit here. On the database side of things, PostgreSQL has made recent improvements and scales nicely on 8 CPU systems. I haven't seen any data that goes beyond that, but I would bet that it will scale beyond 8 CPU's (if anyone has any experience with this, let me know). I my testing, and other third party testing for MySQL I have seen very good vertical scaling on 8 CPU systems as well, and I also believe that it would scale beyond that (again, if anyone has any experience with this, let me know). While I think that horizontal scaling is becoming the way to go, because the price/performance of vertical scaling doesn't match it, vertical scaling may be necessary for some applications because of design constraints within the applications, so both are probably necessary in the near term.&lt;br /&gt;&lt;br /&gt;In terms of high availability, all of these components have clustering, replication and failover capabilities. You can use things like Red Hat's cluster suite for clustering at the OS level. JBoss, has a sophisticated clustering mechanism that even provides for transactional aware persistence clustering. MySQL has had clustering and replication for quite some time, and the latest release (version 5.0.x) has brought that to a higher level still. Sabre is using these capabilities to horizontally scale, and provide high availability for its Travelocity travel website. Certainly, that is a ringing endorsement for and enterprise setting. That brings up to some of the common problems that can be address with an open source based enterprise architecture.&lt;br /&gt;&lt;br /&gt;Some of the common problems enterprises face are identity (many sources of identity), reliability of infrastructure (middleware) and manageability. These are just scratching the surface, but I will stick to these three problem areas.&lt;br /&gt;&lt;br /&gt;Where identity is concerned there are now a couple of open source projects that can do Web single sign-on or SSO, and there is one in particular that can do full blown identity management with federated identity from within the enterprise, and across enterprises. That solution is from Ping Identity (&lt;a href="http://www.pingidentity.com/"&gt;http://www.pingidentity.com&lt;/a&gt;).  They have an appliance like solution that is based on the open source project hosted at &lt;a href="http://www.sourceid.org/"&gt;http://www.sourceid.org/&lt;/a&gt;. This is by far the most complete solution I have seen in the open source community, and also seems to be one of the easiest solutions to setup. They have over 1,000 deployments in some very large organizations, so it also seems to be tested in an enterprise setting.&lt;br /&gt;&lt;br /&gt;One of the other problems that all enterprises face, is the reliability of its infrastructure. As we talked about last week, open source software is more reliable, and has fewer bugs than their closed source counterparts. In my experience, I have seen a SNORT intrusion detection system, running on Linux, stay operational in a production environment without a single incident for almost 600 days. This system is actually still running, so we will probably surpass the 2 year mark before too long. I gave much more data in last weeks post, so if you are interested in more detail see last weeks post.&lt;br /&gt;&lt;br /&gt;Finally, we will discuss manageability. Red Hat, JBoss, MySQL and other companies actually have service offerings that help with patch management, monitoring, alerting, deployment, configuration, etc. These offerings allow you to do very large scale deployments with few administrators, up to and including 100's to 1000's of server instances. These tools are rapidly maturing, and help you not only to do the initial deployment, but manage it from a central location at very large scale. If you add something like the GroundWork's (&lt;a href="http://www.itgroundwork.com/"&gt;http://www.itgroundwork.com&lt;/a&gt;) monitoring suite, based on open source projects like Cacti and Nagios, you can also monitor you entire environment very efficiently.&lt;br /&gt;&lt;br /&gt;Put it all together, and you have a rather complete open source based enterprise architecture, that will be highly reliable, performant, scalable, and manageable. What more could you ask for?&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-113312814308860698?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/113312814308860698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=113312814308860698' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113312814308860698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113312814308860698'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2005/11/can-you-base-your-enterprise.html' title='Can you base your Enterprise Architecture completely on open source software?'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-113244482017283585</id><published>2005-11-19T16:18:00.000-07:00</published><updated>2005-11-21T11:52:38.306-07:00</updated><title type='text'>Media Coverage of Open Source Software</title><content type='html'>&lt;div style="text-align: justify;"&gt;I am constantly reading technology magazines online. What I find most interesting about the coverage of open source software is how it all seems to be the same. If the magazine is about open source, it is always positive coverage, with nothing negative ever said, or rarely said. If the magazine is a more general publication then the coverage is always straining to be "fair", in that they always have to try to point out something negative in mostly positive coverage. Many times these statements are hackneyed phrases that are used over, and over and over. Some of the statements are statements that may have once been true, but aren't true anymore. Even analyst firms seem to be stuck in a time warp when open source is concerned. I think that the progress of open source projects is just too fast for the general media to keep up with.&lt;br /&gt;&lt;br /&gt;I once participated in a research study about Linux, and the firm conducting the research had a scalability chart for operating systems that included the commercial UNIX's, Windows and Linux. They had Linux scaling to only four CPU's, and I pointed out in a conference call that Linux had surpassed four CPU scalability some time ago, and they were amazed. Then I pointed them at various benchmarks which were showing from 8 CPU's (an SAP benchmark) all the way to 64 CPU's, which was an SGI LINPACK benchmark. Shortly after our conference call there was also a 32 CPU TPC-C that had been published.&lt;br /&gt;&lt;br /&gt;One of the questions the media seems intent on asking recently is the following:&lt;br /&gt;&lt;br /&gt;Is open source software better?&lt;br /&gt;&lt;br /&gt;I will tell you unequivocally, that it is better in all the aspects that really matter. What are those things that really matter? This can be quite subjective, but I believe that there are a number of aspects that everyone cares about, even if they haven't though about it in the way that I do.&lt;br /&gt;&lt;br /&gt;First and foremost, open source software is of higher quality. What I mean by that is it has fewer bugs than equivalent commercial closed source products. This has been backed up many times now. The University of Wisconsin did a study entitled "Fuzz Revisited" that tested various UNIX operating system and Linux along with the GNU tools. What the did in the study is conduct testing called fuzz testing. This is when you throw random input at software and see how it reacts. To pass a test case, the software couldn't hang or crash. Each hang or crash was considered a test case failed. The results were pretty amazing. The best commercial closed source offering failed 20% of the tests, and the worst failed 45% of the tests. Linux and the GNU tools failed 9% and 6% respectively. That is from 55% to 87% fewer test failures! This study was done in 1995. Since then there have been other studies done, using static code analysis. Examples of these are the Reasoning studies, which compared the Linux TCP stack, MySQL database, etc. They also show very low defect rates compared to close source software. Here are some links to some of this information:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cs.wisc.edu/%7Ebart/fuzz/fuzz.html"&gt;http://www.cs.wisc.edu/~bart/fuzz/fuzz.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.reasoning.com/pdf/Open_Source_White_Paper_v1.1.pdf"&gt;http://www.reasoning.com/pdf/Open_Source_White_Paper_v1.1.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.reasoning.com/pdf/MySQL_White_Paper.pdf"&gt;http://www.reasoning.com/pdf/MySQL_White_Paper.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.reasoning.com/pdf/Linux_Defect_Report.pdf"&gt;http://www.reasoning.com/pdf/Linux_Defect_Report.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www-106.ibm.com/developerworks/linux/library/l-rel/"&gt;http://www-106.ibm.com/developerworks/linux/library/l-rel/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So this is one area where open source software is clearly better than their closed source competitors. Another aspect to look at is performance and scalability.&lt;br /&gt;&lt;br /&gt;I have done many performance and scalability tests over the years, and open source software has always been very competitive. While I cannot give specifics for many of these tests, I can point at others that have talked publicly about their results. The web site Weather.com switched from WebSphere to Tomcat some time ago (&lt;a href="http://www.computerworld.com/printthis/2004/0,4814,92583,00.html"&gt;http://www.computerworld.com/printthis/2004/0,4814,92583,00.html&lt;/a&gt;), and they stated that they achieved a substantial performance improvement on the same hardware. La Quinta switched from BEA Weblogic to JBoss (&lt;a href="http://www.jboss.com/pdf/La_Quinta_Case_Study_FINAL.pdf"&gt;http://www.jboss.com/pdf/La_Quinta_Case_Study_FINAL.pdf&lt;/a&gt;), and they have a testimonial on the JBoss.com web site that states they saw 30% better performance with lower CPU utilization running their application. So in these two examples we see not only competitive performance and scalability but superior to both commercial application servers.&lt;br /&gt;&lt;br /&gt;The final aspects are service and support. I can tell, from personal experience, that companies like Red Hat, JBoss, etc., give much better support than any commercial ISV that I have ever been involved with. What's the reason for this? It is quite simple. The business model of these companies aligns completely with the customer's needs. They don't get subscription renewals if they don't give good support, where with closed source ISV's, you have to renew if you want to get any support at all (usually contractually mandated), whether it is good or not. They also got your money up front in the license fee, so they have less of an incentive to give good support. They also staff their support organizations with people that are much lower paid then developers of their products, which means you get much less knowledgeable help in general. They also only support you if you have a certified deployment, according do what they want to support. Open source companies will support you based on what your needs are, not theirs. Finally, if they don't give you good support, you usually have the option of going elsewhere for support, turning to the community at large for support, or supporting the software yourself, if you have the proper in-house skills. These factors all add up to superior service and support!&lt;br /&gt;&lt;br /&gt;To wrap things up, we have seen that open source generally provides higher quality software (less bugs), is competitive, and many times, superior in performance and scalability, and provides better service and support. All of this, without the up front costs of license fees! Who thinks open source is not better?&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-113244482017283585?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/113244482017283585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=113244482017283585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113244482017283585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113244482017283585'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2005/11/media-coverage-of-open-source-software.html' title='Media Coverage of Open Source Software'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18974949.post-113202171673818742</id><published>2005-11-14T19:07:00.000-07:00</published><updated>2005-11-14T19:42:41.513-07:00</updated><title type='text'>Business Person's Understanding of Open Source Software</title><content type='html'>I have been involved, from mostly a user's perspective, with open source software, in an enterprise setting, for the last five years. Over this time, I have dealt with lot's of misunderstandings, and sometimes plain ignorance of open source software. What is it? Is it any good? Should you ever use it? Is is safe? Who writes it? How do you get support? You name it, and I have had the questions.&lt;br /&gt;&lt;br /&gt;Having said that, I thought I was past most of the questioning, but something popped up recently that caught me by surprise. It was again, a complete lack of understanding of open source software vs. traditional closed source software.&lt;br /&gt;&lt;br /&gt;So once again, I find myself answering questions about open source software, and educating people on its merits, the business models that open source companies use. What companies like JBoss, Inc. call "Professional Open Source". Also, how pervasive, and even dependent we have become on open source software.&lt;br /&gt;&lt;br /&gt;I find it awesome that 70% of all publicly accessible web servers are running the Apache web server. Of that 70%, 77% of those are running the Linux operating system. How Linux, which is certainly the most well know open source project is growing faster than any operating system, and continues to mature in all respects so quickly.&lt;br /&gt;&lt;br /&gt;I am also a big proponent of Java, at least in an enterprise context, and I love the fact that the BZ Research survey shows JBoss as the number one application server in their survey. I saw another survey that was based on 95 Fortune 1000 companies, and it showed 23% of those companies were deploying JBoss as their application server.&lt;br /&gt;&lt;br /&gt;I am also very encouraged by the SugarCRM project, and company, as they have built a customer base of some 300 companies already. I never would have thought that open source application software could be successful. Just goes to show you, that open source is here to stay, and it transcends any limits we may have thought it had.&lt;br /&gt;&lt;br /&gt;Even with all of these examples, and open source companies, like Red Hat, JBoss, MySQL, SugarCRM, and others finding success, that business person's still need to be educated on open source software.&lt;br /&gt;&lt;br /&gt;Have you experienced this, and if so, how did you deal with it? I have lot's of research that I have collected, that give fact based explainations for all of the questions I have received, but it would be nice to see what others have collected and used in support of open source software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18974949-113202171673818742?l=andrigoss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrigoss.blogspot.com/feeds/113202171673818742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18974949&amp;postID=113202171673818742' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113202171673818742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18974949/posts/default/113202171673818742'/><link rel='alternate' type='text/html' href='http://andrigoss.blogspot.com/2005/11/business-persons-understanding-of-open.html' title='Business Person&apos;s Understanding of Open Source Software'/><author><name>Andrig T Miller</name><uri>http://www.blogger.com/profile/05386153547711039401</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_9oWFPyMT5lo/SKWcI-1lFfI/AAAAAAAAABg/npDY3gGaw9o/S220/Sitting+at+My+Desk.jpg'/></author><thr:total>0</thr:total></entry></feed>
