Saturday, August 27, 2011

Open Source Software and the Three Prime Directives

Overview: 7-zip

7-Zip is the package I chose to download, which is a file archive pack/unpack utility supporting an everyday task for most software professionals and even end users. 
Its stated objectives include a high compression ratio and support for many/most file archive formats encountered on modern computer systems. Additionally it is claimed to run under most flavors of Windows as well as Linux/Unix.

7-zip can be downloaded at:        http://sourceforge.net/projects/sevenzip

Prime Directive 1: The system successfully accomplishes a useful task.

Given the overview above, it is obvious that the functionality promised by 7-zip would be
both useful and beneficial. Therefore it qualifies as a utility that provides an extremely useful everyday task for a broad range of computer users, since a large number of downloaded files are packed, and conversely there is a need to pack files and/or directories before emailing or uploading them to other users.
 
What other useful functionality is provided? Aside from the basic tasks of packing/unpacking archives, 7-zip provides features such as encryption, self-extracting capability, integration with the Windows shell, a file manager, a command line version, and localizations for 79 languages.

So the system satisfies PD1: successfully accomplishing a useful task.


Prime Directive 2: An external user can successfully install and use the system.

Achieving Success with 7-zip was easy. One
click to download, run the downloaded .exe file to install it, and simply choose the install directory was all that was required.

I was able to use 7-zip immediately with no instruction, readme file, release notes, or documentation.

I especially liked the seamless integration with Windows context menus. Intuitively, I right-clicked on a .rar file. I was presented with a menu that included several 7-zip options including open archive, extract files, and test archive.



I chose 'open archive' and a well-thought out and simple UI containing the .rar file was presented with just a few buttons, as well more options contained in a menu bar across the top of the application. All I needed to do was click the extract button and provide a location, and the archive file was unpacked in less than a second.
 



7-zip satisfies PD2: I was able to successfully install and use the system.

Prime Directive 3: If you were going to attempt to modify and improve the system, how easy would it be for you to do so?

The package has it’s own home page at http://www.7-zip.org, and another developer-specific page at http://sf.net/projects/sevenzip/develop.

Not only did the developer page include a link: "Send a request to join this project" but the project home page showed statistics for Bugs, Support Requests, Patches, Feature Requests, and Public Forums.

Each statistic had a link to very detailed and easy to understand data arranged in a table format. In fact, the public forums page had both a forum for help, and a forum for discussion including a useful search by keyword feature.

In addition, the 7-zip project home page contained license information, version change history, and a (favorable) compression ratio comparison chart comparing some of the leading popular archivers currently in use.


Without looking at the source code and other developer documentation (available by request only) I cannot be sure PD3 is satisfied. If the source code and developer documentation is comparable to the rest of the package, I suspect that it would be easy to modify and improve the system, thus satisfying PD3.

No comments:

Post a Comment