Showing posts with label Open Source. Show all posts
Showing posts with label Open Source. Show all posts

Thursday, January 28, 2010

What Would Life Be Like Without Windows?

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.  Now, I don't know Randall, but I have to say, it was the most lopsided view of the world I have ever read.

Basically, it was an article claiming that the monopoly of Microsoft on the desktop is a good thing.  I used to work in telecommunications, and I used to hear the same argument about AT&T.

The fact of the matter is, monopolies are never good, but competition is very good for everyone.  It brings prices down, improves quality, and expands the market.

Besides, I know what life is like without Windows.  I haven't run any version of Windows since Windows 3.1!  I can tell you from my experience, that it wasn't always peaches and creme, but today I couldn't be happier.

I'm currently running Fedora 12 on the laptop that I'm am using to write this blog post.  I have all the software I need for everything I do, and it works great.  I can interoperate with anyone out there, even people using Microsoft products.  Besides that, I have the most stable environment I can imagine.

I don't spend countless hours fixing my system, but spend countless hours getting work done.  No viruses, crashes, hangs, or interoperability issues here.  I even have Mac's in my home, and my Linux system and the Mac's interoperate just fine.  We share drives across the network, e-mail and IM (including video) between the systems, share documents, you name it, and it all works.

Randall's vision of a future without Windows is simply not based on reality.

Thursday, January 08, 2009

Time for an Open Source Strategy

In looking at the state of things right now, economically speaking, has there ever been a time better suited for adoption of open source?

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!

If you want specific advice in adoption of open source technologies, please don't hesitate to post here.

Good luck to everyone in these very tough economic times.

Wednesday, October 01, 2008

Are you Stupid if you use "Cloud" based Applications or Services?

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.

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.

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.

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?

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?

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?

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.

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".

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!

Monday, February 04, 2008

Yahoo and Microsoft; Mixing Oil and Water

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.

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.

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.

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.

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.

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.

If this merger isn't akin to mixing oil and water, I don't know what is!

Monday, January 21, 2008

The State of ATI Graphics for Linux

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?

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.

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.

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.

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.

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.

Thursday, March 15, 2007

Greater than 4GB files on an External USB Hard Drive

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.

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:

tar -czpf /tmp/[file name with date].tar.gz /home/[my home directory]

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.

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?

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.

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.

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.

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.

  • First, I moved all my backups of my home directory that were currently on the drive, and copied them to /tmp on my laptop.
  • 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.
    • 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.
    • I used GParted to unmount the drive, and then I selected from the menu "Format to->ext3".
    • I watched as it automatically changed the partition type to the correct one, and then formatted the partition with the ext3 file system.
    • It completed with no issues, but here is where one of the problems reared its ugly head.
      • 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.
      • The guys on the Fedora Core mailing list were most helpful with this problem.
      • As it turns out, I needed to label the new file system with the e2label utility, which I did with the following command:
        • e2label /dev/sdc1 "My Book"
  • Finally, I moved the backups I put in /tmp back to the drive with the new file system.
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.

Tuesday, March 13, 2007

Glimmer of Hope for Desktop Linux?

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).

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.

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.

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.

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.

Wednesday, February 14, 2007

Open Source Whiner Babies!

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.

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.

What these guys are, are whiner babies, and nothing more!

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?).

Then, when JBoss moved to protect its business by removing their commit privileges, they cried foul.

What did they expect? Peace and love?

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.

Saturday, December 30, 2006

Is JBoss Open Source?

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.

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.

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.

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.

So what is the development model that the critics say make something "true" open source?

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.

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.

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.

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.

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.

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.

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).

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.

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?

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.

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!