Open Source Software vs. Commercial Software:
Migration from Windows to Linux
An IT Professional's Testimonial

 

A Matter of Cost?

When Do I Stop Paying?

What about licensing? OK so you pay up front to buy Microsoft Windows, and you own your copy, but you are restricted in the way you can use it. Is this really true? You bet. Microsoft is in the game to make money, which they have proven to all of us they are good at it. But, sometimes I think they get a little carried away to the point it is actually restricting the regular use of their products. If you buy a copy of Windows XP for example, your first instict is to install it on as many of your own PCs as you wish. But, not so fast... if you read the license agreement that comes with Windows XP, you will find that it can only legally be installed on ONE and only one computer. Heck, even Apple allows the owner of its MacOS operating system to install on as many computers as the owner possesses. Earlier I mentioned that Linux is free. And, it is, 100%. The catch though is that IF you want any sort of commercial product support, you have to buy Linux. But, don't forget that you also have to buy support from Microsoft in addition to buying their product! Ingenious when you are in the game to make money. Luckily Linux users are everywhere, and most are very happy to help other Linux comrades with problems. There are many bulletin boards and groups available on the Internet to get help with just about any issue you can come up with.

I tend to think of the situation as Microsoft being a dictatorship, and Linux as a democracy. You buy a product from Microsoft and own it, however Microsoft has power over how you use it, just as in a dictatorship where you live in a country and its government has absolute power over its people. In a democracy, the people have the power, which is a direct parallel to Open Source software and Linux, where the community itself has the power over how you use it, which is open to all (hence the name "open source").

Microsoft offers volume license programs to offer discounts to companies that purchase in bundles. This sounds great, right? Try reading on Microsoft's website and you will soon find out that you may have to read over the various licensing programs a few times to figure out which one of them best suits your company. It is very challenging to do a cost analysis on Microsoft's licensing programs. They need a chart to lay out the list of licensing programs. Maybe I'm being a little overdramatic, but by the time you add up all of the products you own and keep track of the PCs, you will find out that it is almost a full time job keeping track of these licenses. With the GNU General Public License that Linux falls under, you don't need to keep track of anything, and you can spend your time by actually using the software rather than keeping track of it and knowing if you are usingit "legallly" according to its restrictions.

Even with Microsoft's top licensing programs such as the Enterprise Agreement (geared to handle all software for each client computer), it's quite flexible in that it doesn't require as much software license tracking per computer since just about every Microsoft product is included. But with that said, there are small loopholes that aren't obvious upfront, but will sneak up and bite you. Take for example the Enterprise Agreement mentioned above, and Windows XP Professional, which is a common scenario in a business environment. With the Enterprise Agreement, companies can purchase computers with Windows XP Home Edition to keep the purchase price down, and then go ahead and install Windows XP Professional Edition. This is definitely a benefit of paying for the Enterprise Agreement. However, Microsoft appeared to get a little greedy with Windows Vista. Now, companies cannot purchase Windows Vista Home Basic Edition (which can be thought of being equivalent to Windows XP Home Edition), if they want to install Windows Vista Enterprise Edition which is included with the Enterprise Agreement. This violates the licensing agreement. So, what's the catch? Instead, Microsoft requires Windows Vista Business to be purchased with the computer, and then the company can "upgrade" to Windows Vista Enterprise as part of the Enterprise Agreement. Pretty sneaky, eh? Yes, a very clever idea on Microsoft's part to yet again squeeze even more out of the consumer.

In the end, when I buy a Microsoft product I feel like I'm paying, and paying, and paying some more. OK well I shouldn't expect anything for free, right? Well, Linux IS. And, if you go down the path of using Windows, you will eventually be forced to buy an upgrade version at some point down the road if you are still using the same PC. Yes, you can hold out for as long as you can, but eventually Microsoft will announce their "end of life" date, and vendors will jump the bandwagon on the newer versions of Windows and stop offering products and support for older versions, and you will be forced to move along and buy something to replace what you bought previously. On the Linux side, this is far less common. You can use the same version for pretty much as long as you want, and it will continue to run just fine. Since you don't have to worry about a lot of commercial product sales, you in most cases will not have to worry about any end of life dates.

Even if you buy a brand new computer, you are forced to buy Windows with it. Even if you don't see a price sticker with Windows on the new computer, you are in fact buying a legitimate license (or copy of Windows) with the computer. Recently I came across an article of a Linux user that bought a new Dell PC and asked for a refund because he did not agree to the terms of the Windows license. In the end, Dell refunded him close to $70! I have to take my hat off to Dell for this move. I myself have purchased a Dell PC and requested a refund and it was granted. This says a lot about them, and if they continue to support their customers in this way I will be sure to direct future business to them. So, how many computers do you see that come with Linux? My guess is probably none. They are few and far between. Why is this? Because everybody knows Windows and PC makers are in the business to make money. They target markets where they know they can make money, and in this case they know people will buy computers with Windows since they already are familiar with the product and will probably resist being forced into using anything else.

Time is a resource that cannot be recovered. Businesses are in the game to make money. As I pointed out earlier, businesses have much better things to do than sit around and try and keep track of software licenses, not to mention worry about whether they are operating legally with their software. The cost of time wasted for tracking licenses is yet another expense that is completely transparent and can easily slip through the cracks. But consider this: a company can have its employees work on company projects to better the company, as opposed to its employees putting together lists and spreadsheets of computers and licenses. This just makes business sense. Luckily with open source software that all falls under the GNU Public License [1], businesses can do just that.

Application Costs Add Up

Often times Windows lacks functionality for certain tasks, and requires the purchase of a 3rd party product or even the purchase of another Microsoft product, as we have already touch upon. You purchase Windows and you have a bare bones operating system, which only includes very basic utilities for doing very basic tasks. Yes there are a lot of freeware applications available for Windows to add extra functionality. And quite often, Microsoft itself will recommend the download of such 3rd party utilities. Luckily there are free open source programs available for both Windows and Linux, so mileage can vary depending on what type of functionality you are looking for. However in the end it seems that you often end up purchasing and paying for applications in Windows, when you can get the same or if not better applications for Linux without paying anything. Microsoft will be quick to publish reports of how Windows is a better bargain than Linux, however they fail to address the additional costs of applications that Windows lacks out of the box. In most cases, the additional costs of the extra software needed for Windows is much greater than the cost of the operating system itself. Yes, as I have already mentioned there is a lot of open source software available for Windows (sometimes the same programs that run in Linux are also available for Windows), however with Linux you can guarantee that there will always be open source programs available that will always be free.

Linux OpenOffice Writer
Linux version of OpenOffice Writer 3 with an open document.

Take for example one of the most common pieces of software such as an office suite (word processor, spreadsheet, presentation application, etc.). This is something that pretty much every computer needs. Microsoft Office is $100 for the bare bones version, and climbs upward to $380 for the full suite that includes all of the applications. In Linux the cost for the equivalent is always $0, and you don't even have to choose which applications in the suite you need and which you don't. Even if you decided you wanted Microsoft Office, you would have to study each edition and then choose one. And, what if you buy the cheaper version of Microsoft Office, Home and Student version for $100, and later decide that you need one of the applications included with Microsoft Office Professional version instead? You would end up having to buy the standalone application to add on, which in the end would cost you more than if you bought it outright as part of the suite. Luckily, there is a product called OpenOffice which is an open source (free) Microsoft Office equivalent, and is now even available for Windows. OpenOffice is very powerful and comes packed with features, and best of all it is completely compatible with Microsoft Office file formats. This means that others can send you documents that were written with Microsoft Word, and you can open them just like any other file in OpenOffice, and even better modify and send the file back to the person so that they can open it, too. Again, this shows how effective open source software is at adopting ideas from the entire community, and writing a very high quality product that will surely collaborate with other open source and even closed source products. Often times, closed source products (such as Microsoft Office in this example), are NOT compatible with equivalent open source products. For instance, Microsoft Office can NOT open any OpenOffice file formats. At first this may come as a surprise, but if you think about it for a minute you will realize that if Microsoft Office DID handle OpenOffice file formats, people may be more prone to using OpenOffice instead of buying Microsoft Office. Again, it all comes down to the bottom line for those vendors that put out commercial software, and if it means increasing the bottom line and decreasing functionality, then that is what the vendor will often times choose to do. Most Microsoft software is probably the best example of this type of logic.

Take another example of something even as simple as Internet browsing. This is something that practically everybody uses that owns a computer. The Internet is one of the most useful and amazing resources of our time. But, there are a few different programs out there for browsing the Internet, which is a good thing. You can opt to use Microsoft's own web browser, Internet Explorer. It's built right in to Windows and Microsoft has made it so tightly integrated that it's actually easier to use than any alternative when you are already in Windows. But, the good news is that there are alternatives to compete with Internet Explorer. Mozilla Firefox is the main contender against Internet Explorer. Firefox is very powerful, lightweight, and extremely flexible. There are more plugins and addons for Firefox than I could even list on one page. What I find most troubling about comparing Internet Explorer and Firefox is that a lot of plugins for Internet Explorer cost money. I don't yet know why this is. It could be because it's still the most widely used browser on the Internet and many want to capitalize on top of it. But, if you compare by looking at plugins available for Firefox, you will soon find that the ones for Firefox are almost always completely free. Luckily, Firefox is also available for Windows, so the point about the different web browsers doesn't really have to do with operating systems. But, it does back up the fact that open source software is often times better than commercial software, and the best part of all it's free! All in all, it seems that the relationship of Firefox to Internet Explorer follows the same analogy as Linux to Windows, in that by using the open source alternative, you will ensure all addons will always be free. This is similar to my statement earlier where I compared Linux to Windows and pointed out that software for Linux will always be free, whereas software for Windows can be free or cost money.

The above examples are prime examples within the desktop computer world, for home use or business use. But what about server environments (most typically found in the business world)? This cost is greatly increased at the server level, as server software is way more expensive than more simplistic applications that run on a desktop computer. Server applications serve many users, not just one, hence their title. Take for instance a company that wishes to set up a server to handle all of its email. This is a very common scenario in today's corporate world. If they choose to implement a Windows server, they will first need to purchase the operating system, then purchase Microsoft's email server software which is called Microsoft Exchange. The price tag for those two products alone is around $1190 for only 5 users. Licenses for additional users can be purchased which compounds this cost. So instead of hundreds of dollars for a desktop system, we are talking in the thousands for typical server systems. Again, the cost of an equivalent Linux system is always $0 and up whether we're talking about a desktop or a server. It doesn't matter how much functionality you want, the price tag is still starting at $0.

Also add on the costs for any additional web-based applications a company may wish to run, which are very common in today's corporate environments because they are easy to maintain and are very lightweight on the client computers (all that is needed in most cases is a simple web browser to use them). Take for example a company that wishes to run a web-based project management system for its employees. Microsoft has a product called Microsoft Project, that does just this: complete management for group-based projects. The price tag for Microsoft Project 2007 is around $450, which includes a web-based interface. Although the last time I checked, the web-based interface requires Microsoft Internet Explorer, it won't even load for any other browser (this is another example of the One-Way Street politics played by Microsoft). However, on the Linux side, there are many options available. Now, keep in mind, there are some open source web-based applications that will run on a Windows server. But, in my experience these are not as widely supported, and sometimes even require the purchase of additional 3rd party products to make them work. So back to our example, there are a few favorite web-based project management applications that are fully supported (and very stable) that run on Linux. Phprojekt is one of the most popular systems available, and unsurprisingly falls under the GNU General Public License, which means it costs $0 yet provides enterprise grade functionality.

The above few examples are just a tip of the iceberg. Take for example the following which is much more dramatic. The list of enterprise grade software that runs on Linux is practically endless. So, consider one of the most important functions of computers: backup. Companies and even personal users need to have systems completely backed up or replicated so that if there is a catastrophe such as a failing hard drive, fire, flood or even worse like a tornado, all critical data can be retained. After all, data is probably one of the most valuable pieces of most businesses that use computers. In Windows, we have one built in backup solution, which is NT Backup (found under System Tools). But for those of us that have used NT Backup, we know that it does the job but is quite limited in its functionality. For instance, it is not a good tool for making a complete backup of a server or desktop PC for disaster recovery (if the entire computer is destroyed), even though it does work well for backing up just data files. Don't get me wrong, it is possible to back up a complete system in Windows, but it requires the purchase of expensive backup software, such as Symantec Backup Exec (one of the top backup solutions for Windows), or Norton Ghost (a less expensive disk imaging system). But, if you find the time to price out Backup Exec or an equivalent package, you will soon find that it may be well outside of your budget. Backup Exec is well suited for a business, however there are other software packages for home use that are much cheaper. But for this example, I'll make it dramatic and keep it focused on a typical business scenario.

Take for example the latest version of Backup Exec, which to back up say one server and one desktop PC, would cost $1,096 for the server side software, plus another $300 for the agent piece that needs to run on the desktop, bringing the total to $1,396. This includes 1 year of support, additional support can also be purchased if needed on a yearly basis. If a company is primarily using Microsoft products, chances are it will be using Exchange Server (the Microsoft mail server software). The Backup Exec agent for Exchange would alone cost an additional $1,096. So if you had say a handful of servers (5 or so), which would be a common scenario for a small business, you can see how the cost of backup software alone would quickly start increasing into the multiple thousands. And, this is just for backup software alone. Think of all of the other functions that the business might need to get in to. Desktop publishing, graphics design, and on and on. But... back to my example. This type of backup topology (server and client) is the most ideal solution for thorough and complete network wide backups, and is used by most companies that have full disaster recovery procedures in place. The server side of the software runs and connects to the agent software on each desktop or server, and then pulls the data back and writes to disk or tape. Software of this caliber can usually back up complete systems, allowing for complete disaster recovery for the entire company.

Now, take this example over to a Linux environment. Let's say we have one Linux server and one Linux desktop PC, and we want to back them up in the same fasion (server and client). In this case, we already know the software is FREE, because it is open source. But how can this be, that we must pay thousands of dollars for a product in Windows, yet we can find software for Linux that does the same thing for FREE? This is part of the beauty of the open source software world. It is hard to fathom this concept, especially if you have used Windows for quite some time. However, after using open source software myself for over 11 years, I can testify this is definitely true. In Linux, there are many backup software options available. There are two main open source software packages to handle server and client backup scenarios for this example. One is called Amanda, and the other is Bacula. I recently decided to implement Bacula in an environment with 1 server and 2 workstations as a test go-around. So far I can say that it is a very solid and thorough backup solution, with a huge variety of features. One of my favorite features is that not only can it easily handle the backup of everyday data files, but it can also handle complete disaster recovery. Currently though, it is mainly a command-line driven program with its own text console. There is a GUI application that can be used to manage its backups, but it is still limited in functionality. Whereas the text console application of Bacula allows access to all of its features. This is mainly because Bacula itself is still a fairly young piece of software. And, with all backup software, it requires some upfront planning of the topology you want to set up, and the editing of its configuration files which are in plain text. However, once it is configured and running, it's a "set and forget" type of application. It's been used by many companies and organizations with huge amounts of data and client computers, with high success.

To get a better understanding of the vast amount of open source server software available for a wide variety of applications, I recommend the freshmeat.net website [2]. This is a great compilation of open source software and I always check this website first when trying to find a new product for any particular application. For desktop software, the sourceforge.net website [3] is a great resource as well, mainly for applications that run in the X Windows environment. However, there is also a handful of software published on Sourceforge that runs in Windows as well.

The total cost of all of the supporting applications for an operating system is something that tends to get overlooked though, and can really add up over time. Open source applications nowadays are plentiful, and chances are you will find an application already developed to handle the exact task you are looking for. You can rest assured that open source software will always cost $0, should have good online support from the open source community, usually has fairly good documentation, and will do the task that commercial software can do, or better. Best of all, you don't have to purchase open source software just to try it out, and worry about any sort of licensing cost or expiration date. Often times the trial versions will also have limitations in functionality as well.

Hardware Costs Too?

Whether you use the latest version of Windows or Linux, you can just use the same hardware, right? Well, not always. Earlier I mentioned upgrading versions of Windows, and after doing so finding out that an old device no longer works or performance is horribly slow! Not only do you have the costs of the software upgrade, but you may add the cost of having to buy new hardware if you choose to stay on the latest version of Windows. This is frustrating, especially if you have a device that works completely fine and no longer works with the new version of Windows. Even something as simple as a $300 scanner. Buying a new scanner might be fine, but not only are you shelling out $100 or more for a new scanner when you don't absolutely need one, but what do you do with your old one? Maybe you have a friend or somebody that could use a perfectly good scanner. And, add the time that you waste in buying the new product (unless you were planning on buying anyway) of doing the research to find something equivalent to your old one, and time for training yourself on the new equipment. Obviously, not everything will require up front research ahead of time, but it is well worth the time with most devices today. As I mentioned previously, with Linux this is not a problem; if a device was supported in an earlier version of Linux, it will still be supported in a newer version.

As I briefly mentioned earlier, aside from any costs for incompatible hardware, you may run into the cost of buying or upgrading your PC itself as well. This is usually common when installing a much newer version of Windows (or very rarely in a newer version of Linux as well). When you look at the big picture, Windows seems to have high memory and disk overhead, meaning it requires more of these than previous versions or Linux. In my experience, having plenty of memory and disk speed (yes disk speed, not disk space, measured in RPMs of the disk; 7200 RPM is good) is key. Linux is pretty much on the same lines, but does not seem to have nearly as much memory and disk overhead as Windows. It really depends on what you will be doing with your system. In Linux, you have the option of not even having a GUI interface (graphical user interface). What does this mean? Well, picture having a Linux PC boot up to a text based prompt, where you can log in and run commands all from a command line. This is completely possible and in some instances, a viable solution. For instance, if you want to set up an old Pentium II computer to be a firewall box, this is ideal. Keep in mind that Linux is based from a command line, so you can run even the most complex of servers all through a text based command line without any GUI interface (most commonly the X Windows system). This is especially helpful in getting into a system remotely, as it requires hardly any bandwidth and needs minimal software installed on the client that is connecting. Now, Windows does have a command line interface too, but it seems more like an afterthought. It is very limited, and cannot even compare to the interface on any Unix/Linux system. In most cases though, having X Windows (or X11 as some call it), is especially handy. X Windows definitely creates more overhead, and thus will require more memory than without. It's hard to compare apples to apples as Windows and Linux both handle their memory mangement a little differently. This is a subject for another day. But, Linux tends to not require as much disk I/O (input/output) as Windows.

So, the moral of the story for hardware costs is this: Linux will usually perform better on the same hardware as Windows, so it does not require as many hardware upgrades (and cost) as Windows. This idea can be supported in many ways, many of which people are not aware of. One of the most common and unknown facts is that many hardware devices such as routers and bridges that we purchase in retail stores run Linux on them. Even the ever so popular Linksys WRT54G and WRT54GS routers had Linux on versions 1 through 4 (version 5 and up switched to VxWorks, but with that have introduced a huge list of problems and has therefore depleted on the ratings list). However, the Linksys WRT54GL (the L stands for Linux), is the latest model and runs Linux, and is rated as one of the top broadband routers available on the market. Check your reviews and you will soon see this is definitely the case. I've had experience with hundreds of different consumer grade routers like these, and hands down the models that run Linux are very stable and require little to no maintenance ever, compared to models that run other operating systems. But back to my point, manufacturers pick Linux for these devices, and why? My theory is that they do because Linux is free, stable, and can be very lightweight so that it can be applied to just about any sort of device. This is practically impossible for Windows to accomplish. One, because it is proprietary and closed source, so Microsoft itself would have to be the ones responsible for choosing the devices to support. Another is because Windows is bloated and would need more expensive hardware to run.

Take for example the minimum suggested requirements for a simple desktop PC, with the newest versions of Linux and Windows:

  Fedora Linux 9 Windows XP Windows Vista Home Basic Windows Vista Home Premium / Business / Ultimate
Processor 200 MHz Pentium Pro (text mode)
400 MHz Pentium II (graphical mode)
233 MHz 1000 MHz 1000 MHz
Memory 128 MB (text mode)
192 MB (graphical mode)
64 MB * 512 MB 1000 MB
Hard Disk Up to 9 GB (3 GB) 15 GB 15 GB

At first glance, it looks like Windows XP requires the least amount of resources, however the specifications published by Microsoft are for the first version of XP (Service Pack 0). Since XP was first released, there have been 3 service packs, commonly called SP1, SP2, and most currently SP3. With my experience, each service pack seems to bring along higher overhead and requires more resources than the previous version. The 64 MB has an asterisk because this value is simply not realistic today. Even with 128 MB of memory, Windows XP will tax the hard drive by swapping out memory and will run like molasses in January as soon as you try to start using applications. In the real world, the minimum memory requirement for XP is ideally 256 MB.

Note that with Linux you can run it in text mode, without any graphical interface. This is only practical for server systems though. For this example, I'm assuming the equipment will be used for a desktop PC, running X Windows, so the graphical mode is the value that should be looked at. Also, the 9 GB of disk space is if you install every single package, which is not very common. Normal disk space used ranges between 4-5 GB for a typical installation. Luckily, this is not a big deal as hard disks that are 10 GB and up are commonplace now.

Also notice the huge jump in resources required by Windows Vista [4] over Windows XP. It's no wonder many companies and individuals have avoided Vista altogether. I won't go into details about the issues that have popped up with Windows Vista again as I have touched on that subject enough. This is a subject that I touched on earlier, each version of Windows seems to have some drastic changes, which is a great marketing strategy for Microsoft, but a bad strategy for the end user that is upgrading. My point is that if the product was as stable and solid and Microsoft claims, why would it require such drastic changes and improvements? Vista is a huge resource hog as we can all agree on, the main reason that I have seen is that it is not very efficient with its graphical interface. It looks pretty, but for practicality it just doesn't seem to be up to par. Keep in mind that Fedora 10 is the latest version of Linux. Yes, it doesn't have all of the fancy graphical features of Vista by default, but from a practical and functional standpoint, it can offer everything Vista does and more.

One final point that I want to point out while I have the chart above on your screen. I have already mentioned this earlier, but want to retouch on this: When choosing a Microsoft product, the end user needs to do upfront research just to decide which edition to purchase! Not to mention, if the end user buys a certain edition and wants to switch to a different one after installation, look out... this is not a feat that I think anybody would want to tackle. Not only would that require a complete reinstall, it would require a repurchase of the product, or purchase of the individual component which would be very pricey all by itself. As I have already mentioned, I have been in IT for 11 years, and even I must read up on the different versions of Vista if I was to make a purchase or recommend an edition to somebody that asks me. With Linux, you have have one edition all of the time. Yes, one could argue that each distribution (Red Hat / Fedora, Ubuntu, etc.) will package its own version of Linux, and each distribution will be different. But, within each distribution you have complete uniformity, and with Linux you get everything with the distribution and choose what you want when you install it. If you are a fan of Red Hat, and you decide to upgrade to the latest version of Red Hat Linux, you don't have to make a decision on which edition you want. Red Hat Enterprise Linux 5 is the latest version while I write this, and it is what it is. If you buy Red Hat Enterprise Linux 5 or download the free equivalent of Fedora 9 Linux, you basically get everything on the discs. Then, during installation you choose what packages you want to install. No shopping hassles.

One final point on the cost of hardware is that sometimes when a computer malfunctions, the user can jump to conclusions and chalk up the problem to be hardware related, when this could be far from the real case. I have seen Windows users have a major system crash and immediately run out and start shopping for a new computer. Rushing into things and purchasing a new computer might be a quick and easy solution, but might not be the wisest solution when cost is a factor. It is a good excuse to run out a buy a new computer if you are looking for an excuse to upgrade, but what do you do with the old hardware that could potentially still work just fine? It is often good practice to run diagnostics on the system if possible, so that it can be determined of the hardware is actually at fault, or if it's a software problem. I have to testify that I have seen many many problems in Windows that would seem hardware related, but after a complete reinstall of Windows on the same exact hardware, the problems magically vanished and therefore in those instances I determined the problem to be software related. On the flip side, sometimes problems that seem software related are in fact hardware related. This is where either the diagnostics will flag the problem, or after doing a software reinstall the problems still persist. In the cases that I have seen Linux behave strangely, I have determined the problem to almost always be hardware related. I have seen one instance where Linux software was as fault, when a kernel was compiled incorrectly on a DEC Alpha system and it actually caused a kernel crash (or as some call it, a kernel oops error). This would be almost equivalent to the infamous "blue screen of death" in Windows where the operating system stops working or "locks up". Fortunately, the reason for the incorrectly compiled kernel was due to it being on the DEC Alpha architecture which is not used very widely. The Intel architecture (used by every common manufacturer today) is so widely used that this type of issue just doesn't exist on Intel hardware, which is the scope of this writing.

 

Next Section : A Matter of Cost:Windows Refund,Cost of Anomalies,Knowledge Training Costs

Previous Section: A Matter of Cost

 

Table of Contents
 

 

Click Here to Continue reading on making the actual migration.

 

References

1. Wikipedia : The GNU General Public License

2. The Freshmeat.net Website, a huge compilation of web-based open source server applications

3. The Sourceforge.net Website, a huge compilation of desktop open source applications

4. Wikipedia: Windows Vista