Texting is a form of the spoken word, not writing. If you look at it in terms of how it is used, etc. The spoken word is generally ephemeral, for comm...
August 3, 2014
Childhood Memories, Coincidences and a Dog named for a Monkee
May 6, 2012
The twitterverse erupted today when a popular talk show host expressed his disdain at the prospect of Idris Elba, a black actor of modest following, w...
Black James Bond?
December 24, 2014
What is Open Source?
June 7, 2012
There are two very different models of software development. Much software is developed by paid professionals working in a software development company, and the company expects to sell that software at a profit and thereby pay their employees. This is the straightforward capitalistic approach, and works very well, generally. When a product is popular, a company can make a lot of money. Microsoft has built an empire on Windows. Intuit has done rather well with Quicken and Turbo-Tax. Adobe has captured hearts and minds with Photoshop. There are many wonderful success stories, and many fortunes have been made from proprietary software creations. However there are some aspects of the process that can sometimes be problematical:
The source code cannot be seen by anyone other than those connected with the developers. Ugly coding practices and poor internal design cannot be scrutinized, and the company has little incentive to correct design flaws until problems appear. When problems do appear, finding solutions is an overhead, an expense, and often the minimal solution that makes the customer complaints stop is all that is deployed.
When problems arise, security flaws are found, or other support issues surface, the user is totally at the mercy of the vendor and their ability or willingness to fix it, and release new versions of the software. Often, the only option is to re-purchase the newest version of the product, as no fixes are available for older versions. There is no revenue from releasing patches for old versions.
If the company fails, the source code is usually lost, abandoned, and the users are left high and dry without any support.
Last but not least, such software can be expensive.
There is another way. From the earliest days, software developers have been a rebellious lot. Hackers, in the non-pejorative use of the term, have always tended to create and share tools, utilities and software projects. An ethic has arisen that believes a great deal of software should be free. Around the world, millions of students, unemployed developers and just plain volunteers have contributed time and effort to significant software projects. Sometimes it is as simple as some student putting together a neat little tool in their spare time and offering it to the world. Sometimes it is a huge collaboration of hundreds of programmers world-wide working toward a common goal. Sometimes a major project is created by a large company and freely given away.
These free software projects are published, complete with full source code under an “Open Source License”. Anyone, anywhere can download the software and use it. Anyone, anywhere can download the source code and use it, or parts of it, as a beginning to build their own Open Source product.
The advantages of Open Source systems are significant:
Since the source code can be scrutinized by anyone, ugly code and poor design is quickly exposed, ridiculed, and corrected. Back doors and other security holes cannot be hidden in the program.
When problems arise, anyone with the skills can look at the source code and fix it. So problems usually get fixed pretty quickly.
The code is not dependent on one company or one individual.
Most open source products are “Cross platform” meaning they can be used on any system whether Mac or PC or something else entirely. Since the Source Code is freely available, anyone can adapt their own version for their own system.
Last but not least, it is completely free.
Every computer user can benefit from using Open Source software, and does not have to be a programmer to do so. Most are packaged for simple download and installation much like any other software product. Some are pure geekware, but the mainstream packages are for general users.
At first blush, it might appear that the Open Source movement is seriously flawed as there is no revenue source and such efforts are purely altruistic in nature, and subject to the whims of the developers. While this may indeed have been the case in the early days, it is no longer the case. There are many ways companies can make money from Open Source products. The usual model is that the software is free, but fees are charged for support and consulting services built around the product. This is especially true of big, complex packages used in large corporations, and even governments. Such organizations usually buy software support services for any software they use, whether purchased from Microsoft, Apple, Adobe or using Open Source. It has become common for large companies to produce and support large complex Open Source packages, and then generate significant revenue from selling support contracts to large customers. The OpenOffice productivity suite is but one example of such Open Source software becoming a mainstream product. Numerous other companies do likewise, committing resources to an Open Source package and then selling their expertise in a support services structure.
There are sixteen Open Source Software packages that virtually any serious computer user should be at least familiar with. I am providing links for the reader's convenience, but a quick Google of the name will lead to a ton of information about each of them, far more than one link I might provide could give. I should also mention that searching YouTube for each of these will lead you to many instructional videos.
OpenOffice, is one of the best office productivity suites on the planet at any price.
LibreOffice, a spin-off of Open Office that has become the “new kid on the block”.
Firefox, the free, Open Source Browser, considered by many to be the best available
Linux, an Open Source operating system alternative to Windows and Mac OS X. There are many “flavors” of Linux available, one of the most popular, and most recommended is Ubuntu.
Gimp, a Photoshop-like image editor that is powerful, flexible and of course free.
Inkscape, an open source alternative to CorelDraw and Adobe Illustrator for complex drawing. Another Open Source drawing package is of course the Draw program in OpenOffice.
7-Zip is a Zip Compression alternative to WinZip or WinRar for handling Zip file archives.
Audacity, a comprehensive audio file editor comparable to Sound Forge.
BRL-CAD is a CAD-CAM Open Source alternative to Autocad.
Blender, is a Open Source alternative to 3ds Max for 3D content creation.
VLC is an Open Source Media player that will play almost anything, a viable alternative to Quicktime and Windows Media Player.
PDFCreator is an open source alternative to Adobe's Acrobat.
Truecrypt will meet all of your file encryption needs. If security is important to you, read up on TrueCrypt. It is an amazing and powerful package.
GnuCash is Open Source Accounting Software, an alternative to commercial solutions such as Peachtree. It can also function quite nicely as an alternative to Intuit's Quicken.
OpenProj is a Project Management platform similar to Microsoft Project.
DD-WRT is an Open Source operating system for your Wifi router that is an alternative to most of the closed proprietary manufacturers software. I highly recommend it.
These sixteen packages barely scratch the surface. There are hundreds more applications, database, file transfer, VoIP, and more. All are available for free, and all have discussion forums where questions can be asked and answered and help can be found. Most have tutorials online to help you learn their capabilities, and more.
Some fields, such as computer security, the only real software available is Open Source. There are many, many obscure specialty tool sets for evaluating software and network security for which there are no, or few, commercial options. Tools such as Metasploit, Fast-Track, SET, SSLstrip, nmap, thc-hydra, dsniff, netcat, nikto, nbtscan, scapy, ettercap, USB Alfa, One-Click Evil AP, Kismet, Aircrack-NG, WEPbuster, Karmetasploit, hashalot, httptunnel and Macchanger would not exist if not for the Open Source community. I have provided links on many of the tools in this list, not that I expect the reader of this treatise to be deeply interested in security tools, but simply to show that there is a lot of scary stuff available to anyone who looks. This was not intended to be a treatise on computer security, but having opened the can of worms, I feel compelled to provide enough information to allow anyone whose curiosity is piqued to learn more. For anyone who reads this section and who wants to know more, I recommend as a starting place the most excellent O'Reilly book “Beautiful Security” as a jumping off point. For this discussion, the point is that Open Source tools such as those named above are the major resource available to the “good guys” to harden our networks against the “bad guys”. Fortunately, for the average non-technical user, this is a whole layer “below the radar” and there are thousands of the “good guys” who take this stuff seriously and work to make networking safer.
Many fields of science and engineering have an Open Source community that has grown up to meet their needs. Software in every field, both large and complex, as well as simple and elementary, has Open Source offerings.
Open Source originated in the Socialist ideals of the counter-culture and the rebellious figures in the early days of what we might think of as “commodity computing” when inexpensive computers became available to the masses. Pioneers in the movement include people like Richard Stallman and Steve Jobs, to name but two. Today it far transcends those early socialist roots and has transformed into a mainstream movement that has a huge influence on the computing scene at virtually every level.
Open Source should be considered by anyone when evaluating a software need. In many cases the Open Source solution is at least as good as the commercial product, often it is better, and it is almost always more secure. Even if you ultimately choose a commercial solution, you do so after having considered the options, and from understanding the capabilities and limitations of all solutions, not from merely subliminally absorbing the advertising slogan placed before you. This is not about condemning the for-profit software market. It is about challenging them to be better, to be safer, and to be worth their fees. Capitalism works best when there is free and open competition, and the Open Source movement is one more competitor, and often a worthy one to boot. The mere existence of Open Office, to name one example, forces Microsoft to strive to deliver a better quality product in their Microsoft Office than they otherwise might. That is a good thing for both Microsoft and their customers.
Even if you never use any Open Source products, educating yourself as to what's available helps you to make better, informed choices making you a better consumer and makes for a better marketplace.