NZB clients

Usenet is an age-old medium for sharing and exchanging knowledge and ideas. The creation of NZB files has facilitated the exchange of binary files such as documents from political dissedents over the age-old protocol (NNTP).

SABnzbd is a great all around solution that monitors a directory for nzb files, emails the owner progress updates, and post-processes the downloaded files. It also has an easy to use web interface. I would use it on some kind of a server. On Debian or Ubuntu, the authors advise using the PPA for a more up-to-date version. NZBAir – SABNzb & Usenet NZB is an Android app (not free) that facilitates the control SABnzbd.

Hellanzb is a great alternative to SABnzbd, although its development has halted (authors feel it is solid as is and will only commit to bug fixes).

I like nzbget because I can use it on the command line like wget. It is suitable for a day-to-day machine like a laptop. On Debian/Ubuntu, compile nzbget from SVN source. Set up the newsgroup and local directory configurations at ~/.nzbget (use the example config). I also place the post-processing script at ~/.nzbget-postprocess.sh (set PostProcess=~/.nzbget-postprocess.sh in ~/.nzbget) and its configuration at ~/.nzbget-postprocess (set SCRIPT_CONFIG_FILE“.nzbget-postprocess.conf”= in ~/nzbget-postprocess.sh). Then I can download via the command nzbget file.nzb and files will be downloaded and post-processed in the directories I specified in the config file.

Creative Commons: Share, Remix, Reuse – Legally

I recently wrote about the GNU Public License (GPL). All of my software that I write on my own will most likely be licensed by GPL so others can use and modify it freely. I really think this benefits society.

What about content, such as text, image, audio, or video? Analogous to the GPL, there are the Creative Commons (CC) licenses. CC is plural in that there are many licenses available, depending on how the author wants to share his or her work. The core right is to be able to redistribute a work for non-commercial purposes without modification. I believe the most popular variant is the Attribution-NonCommercial-ShareAlike 3.0 Unported, of which my Super Nerdy Cool blog is licensed with. I should remember to always post communicate the license of all my work (such as presentations, lecture notes, etc.). Examples of how to attribute can be found here

Now, onto some resources.

  1. Images: the noun project compfight (searching Flickr) and Cadyou.
  2. Audio: FreeSound, Free Music Archive, and opsound.
  3. Video: Blip TV.

GNU General Public License (GPL)

I never expected to be a programmer. However, due to the demands of doing data analysis on the computer and my general interest in computer software and Linux, I write code on a daily basis, whether they be in R, bash, python, or even C/C++. I would have to say I learn, use, and build software from what’s already out there, in particular, open source software. Since others are generous to share their code, I of course am willing to share my code. Most of the code I run by are licensed under the GNU General Public License, so it’s important for me to understand my rights when using GPL licensed software and when I release software under GPL.

Wikipedia is a first-stop reference that explains GPL and it’s history. First, the user can use the software freely for any purpose; however, there is no WARRANTY from the copyright holder. The user can even modify the software for their own use. If the user distributes the modified, it must be licensed under GPL or a GPL-compliant license. Copyleft is an important concept. That is, GPL uses copyright law to enforce the fact that the user must distribute (or offer in writing the ability to obtain) the derived or modified source code if the user chooses to distribute the software (e.g., in binary form). This is beneficial to the software community and society in general. It is this requirement that many proprietary software maker refrain from building off GPL software (Apple’s Mac OS X is derived from FreeBSD as the BSD license allows for distribution of derived, closed source software). If the software is for private use (i.e., no distribution), then the user is not obligated to release the source code. This article further explains what it means to use and modify the software. Note that GPL does not restrict the commercialization of the software; i.e., you can charge a fee for the software.

For a quick summary on the licensee’s rights, see this summary. In general, all the code I write are released under GPL version 2.0 or 3.0. Summary of “free software” from GNU:

  • the freedom to use the software for any purpose,
  • the freedom to change the software to suit your needs,
  • the freedom to share the software with your friends and neighbors, and
  • the freedom to share the changes you make.

UPDATE 8/29/2011 This page describes how one can combine software with different open source licenses of differing permissive restrictions.