A word on software, software licenses, & the long-term. ======================================================= by Harry Mangalam v1.00 May 12th, 2011 :icons: //Harry Mangalam mailto:harry.mangalam@uci.edu[harry.mangalam@uci.edu] // this file is converted to the HTML via the command: // fileroot="/home/hjm/nacs/AWordOnSoftwareLicenses"; asciidoc -a toc -a numbered ${fileroot}.txt; scp ${fileroot}.html ${fileroot}.txt moo:~/public_html/; // update svn from BDUC // scp ${fileroot}.txt hmangala@claw1:~/bduc/trunk/sge; ssh hmangala@bduc-login 'cd ~/bduc/trunk/sge; svn update; svn commit -m "new mods to BDUC_USER_HOWTO"' // and push it to Wordpress: // blogpost.py update -c HowTos ${fileroot}.txt // don't forget that the HTML equiv of '~' = '%7e' // asciidoc cheatsheet: http://powerman.name/doc/asciidoc // asciidoc user guide: http://www.methods.co.nz/asciidoc/userguide.html Commercial Software vs Free/Open Source Software ------------------------------------------------ I am going to describe 2 broad types of software. Commercial software ($W) which you legally have to pay for and that which you don't have to pay for - http://en.wikipedia.org/wiki/Open-source_software[Free/Open Source Software] (FOSS). The software with which most people are familiar are products like Microsoft (MS) Office, an office suite that costs some dollars and provides some useful function to the end user - you. In return for the $ that you give MS, you get some rights to use the software and you agree NOT to use the software for some things. You typically agree not to try to reverse-engineer it, not to break the copy protection, not to pass it on to your friends, not to make more copies of it, and not to re-sell it to others. FOSS is different. Not only is it free to you, but most FOSS licenses /encourage/ you to copy it, give it to your friends, use it in your business to make money, and even to incorporate it into your own software (with a big BUT - see below). In other words, not only is it free in terms of money, but it is also free in terms of freedom - your freedom to use it for what you wish to do. The 'big BUT' is that if you use it in your software and you release the software, you sometimes have to release 'your software' under the same license as the software you used. This is most often the case with software covered under the http://en.wikipedia.org/wiki/GNU_General_Public_License[Free Software Foundation's GPL], but it depends on which license under which the software was released. Comparison of Warranty ---------------------- MS warrants that its $W is mostly free of bugs, but that it will not be held liable if it has any flaws, even if it eats your homework, erases your novel, or miscalculates the force-loading on the airplane wing that results in your areospace company going bankrupt, and lands you in jail. In this regard it provides essentially the same guarantee of perfection that FOSS does. That is, 'none at all'. FOSS on Windows/Mac; $W on Linux -------------------------------- You can use $W on a Free platform like Linux and you can use FOSS on a Commercial platform like Windows or Mac OSX. For example, the commercial http://www.softmaker.com/english/of_en.htm[Softmaker] Office Suite can be used on Linux and the Free http://www.openoffice.org/[OpenOffice Suite] can be used on Windows. See below for links to more examples. The cost of software -------------------- There is both a time cost and a dollar cost to using software. The dollar cost is obvious; the time cost less so, but more profound. Once you learn enough about an http://en.wikipedia.org/wiki/Operating_system[Operating System] (OS), utilities, and applications to use them productively, the idea of dumping that accumulated knowledge and learning it again on another platform is less than appealing. Hence software vendors provide their products at very low prices while you're in school to 'hook' you on their software. They know that once you leave, you'll be much less likely to switch platforms (even to a cheaper one) because of the 'time & knowledge investment' that it will take. The investment in learning how to use a software product has implications beyond the the dollar cost. There is a basic difference between FOSS and $W besides the initial cost. The commercial vendor has a financial interest in seeing that its product keeps changing so that you have a reason to keep paying for it. Therefore, beyond a certain point, it will start to 'change for the sake of change'; it will not get 'better' as much as 'different'. And at each product revision, you'll have to re-learn how to use it. Free software does not have this imperative and one of the characteristics of FOSS is that it reaches maturity and then stays fairly stable. There is little reason to change it simply for the sake of change. Therefore the time that you've put into learning it is not lost each year when the 'new' new version comes out. Look! A talking paperclip! It's not a word processor, http://goo.gl/X6g4r[it's a game]! For the entrepreneurially-inclined, using FOSS in your startup can provide you with significant advantages. this is true for both as a consumer of software (no initial cost, no license fees, no legal problems if an employee copies the software, no upgrade fees, no vendor lock-in, no scaling problems (copying is encouraged)) and as a developer of software, as long as you're aware of the licensing issues (huge body of freely available libraries, components, utilities, etc that run on all major and most minor achitectures, from 'system-on-chip' to the TOP500 supercomputers (92% of which run Linux). You can buy software support for many Free Software products like RedHat or Ubuntu Linux, but search engines allow a problem to be solved once and the solution made available to everyone. See http://moo.nac.uci.edu/~hjm/FixITYourselfWithGoogle.html[Fix IT yourself with Google]. The cost of Commercial software over your lifetime is likely to be on the order of $10,000 - $50,000 and up when you count the cost of new programs, upgrades, reinstallations, new PCs (with the cost of the OS buried in the price). Unless you are going into a business where you are bound to a particular piece of proprietary software on a particular platform, choosing to use Free Software is a way to start saving yourself a lot of money right now. For various reasons, yo u may not be able to use Free Software on Linux, but as noted, you can use Free Software on Windows and Macs. Also, note that much new software is going into the 'cloud', with applications like http://goo.gl/v25l[Google apps], http://www.gmail.com[Gmail], Amazon's http://goo.gl/2r8X[EC2] and http://goo.gl/ailE[S3] cloud infrastructure, http://goo.gl/ibOIA[Apple]/http://goo.gl/Rsu8B[Google]/http://goo.gl/jwXgx[Amazon] music clouds, etc. Also note that mobile and tablet software is becoming more popular and widespread and this will likely replace a good part of the 'personal' computer. Microsoft has been notably unsuccessful in penetrating either of these markets; the http://en.wikipedia.org/wiki/Mobile_operating_system[most popular platforms] are Apple's iOS ('MacOSX'), and Android ('Linux'). Conclusions and Links --------------------- The decisions you make today about which software to use will have implications about how much you pay for software over the years. There are some applications which do not have a FOSS equivalent, but these are fairly rare. In most cases, there are equivalent or identical software for all platforms. The Linux versions may tend to be less polished, but you can certainly get by with them. In most cases of mainline software, and even for some exotic domains, you can run the software on Linux. If the application does not exist for Linux in native form, you can run the Windows version using the http://www.winehq.org/[WINE] emulator or via http://en.wikipedia.org/wiki/Virtualization[Virtualization]. Using the Macintosh platform, you can run both Linux and Windows virtually. On some of the pages linked from here are notations about software which has Free equivalents. For those wishing to hop directly to those pages, here are a few links to enlighten you: - Wikipedia's http://en.wikipedia.org/wiki/Comparison_of_Windows_and_Linux[Comparison of Windows and Linux] - The http://www.osalt.com/[Open Source as Alternatives] page - http://osswin.sourceforge.net/[Open Source Software for Windows] - David Wheeler's http://www.dwheeler.com/oss_fs_why.html[Why Open Source Software] - http://moo.nac.uci.edu/~hjm/Mind_Your_NegaBITS.html[Mind your Negabits]