Archive for the ‘open source’ Category

The enigma of open source sociology

It\'s all about the freedom, man!A work colleague and I got into a discussion recently about online communities; the common threads or characteristics that occur amongst them and what key differences exist; and particularly whether there are recurring and crucial elements that, when present, make certain communities succeed, and when absent, make others fail.

Of particular relevance to my recent indulgence into Ubuntu is the epiphany I came to during the course of the discussion: The greatest examples of passionate online collaboration and vibrant community interaction I’ve seen occur in the open source and free software movements.

The more I think and read about it the more it seems like a common sense conclusion I should have come to long ago but hadn’t.  Open source projects existed long before the explosion of the Internet, communicating most notably through Usenet groups, but it was the advent of the Internet that enabled the sorts of mass collaboration we see today in open source to truly proliferate.

I wonder to what degree then you could argue that much of the contemporary social software and so-called Web 2.0 technologies saw their inception from the open source community.  Rest assured this is something I plan on looking into.

The significance of all this is in the widespread success of open source community efforts to create engaging self-sustaining entities in support of a shared vision, often times in the absence of any formalised structures.  Many similar endeavors have been attempted under different circumstances since then and failed; what is it about open source that’s different?

In open source we’ve seen the emergence of Apache, GNU, Linux, GNOME, Drupal, Ubuntu, Mandriva, Firefox, and countless others; all of which are founded, in large part, on the crucial activities and contributions of volunteers.  In a sense they are paid nothing for their contributions above and beyond the software they help produce, and yet are willing to devote hours, days, even years of their time in a passionate embrace of the community’s vision.

Outside of open source I can think of more isolated examples at the level of specific demographics or websites - such as Wikipedia - but not one that is so prevalent across the board and so comprehensive.  I’m at such a loss for another example that I’m starting to wonder whether the passion and collaborative contributions you see in open source are largely limited to that specific movement.

What is it that drives people to give freely of themselves for hours per day in some cases, and sustain this over long periods of time.  Certainly a belief in the fundamental value and shared idealism of the community, but would that alone be enough to compel this degree of dedication?  I’m not sure I think so.

Certainly these two factors are paramount, but I believe there is more to it than that; and I’d like to find out what.  Not just for my own interest and belief in the value and idealism of open source, but in the hopes that more fundamental factors will precipitate out that could, in turn, be applied to other projects and thus ensure their success as well.

If you have thoughts, insight or experience into these questions I’m all ears.  The sociology and philosophy of the open source and free software communities are an absolutely fascinating example of extraodinary productivity and cooperation occuring in the absence of traditional market structures.  It is a unique example that deserves adequate examination and I plan on doing just that.

Wednesday, April 30th, 2008

Linux Workspaces

I just had a major ah-ha moment with regards to the utility of Linux workspaces.  If you’re not familiar with workspaces, here’s a background.  Workspaces are a way to preserve your valuable monitor space through the use of a series of different concurrent desktops.  When you have multiple applications open, you have the opportunity to allocate one or more of them to a unique workspace and quickly switch between the two using CTL + ALT + Left/Right Arrow keys.

Up until now I’d seen this as a potentially useful feature, but one that I didn’t have an immediate need for.  However having spent a great deal of time tinkering with virtual machines through the fabulous VirtualBox over the last few days, I’ve just discovered a real use for workspaces.

In VirtualBox you have the option of going full screen to maximise the screenspace of the virtual machine.  However in doing this it poses an immediate conflict with the prospect of trying to run other applications natively in the same workspace at the same time.

By using multiple workspaces and the quick switch key shortcuts  you’re able to capitalise on the full-screen mode of the virtual machine while continuing to use native applications.

Sunday, April 27th, 2008

VirtualBox Runs on Hardy Heron

I just ran a quick test of the existing instance of Windows XP I had set up using Virtual Box to see if the software would run in Hardy Heron.

Initially Win XP wouldn’t load and I got an error indicating:

“VirtualBox kernal driver not installed.  The vboxdrv kernal moducle was either not loaded or /dev/vboxdrv was not created for some reason.  Re-setup the kernal module by executing ‘/etc/init.d/vboxdrv setup’ as root.”

However once I ran the command referenced by the error message I found I could boot up the virtual Windows XP OS just fine.

Looks like my fears that VirtualBox wouldn’t run on Hardy Heron yet have been proven unfounded.  I’m happy to be wrong.  (Apologies for the audio/video sync problems in the following clip.)

[youtube=http://youtube.com/watch?v=BzZIF0KOfBo]

Screenshots:

Friday, April 25th, 2008

Upgrading to Ubuntu Hardy Heron

I’m currently in the process of upgrading Ubuntu on my primary machine from Gutsy Gibbon to Hardy Heron and thought I’d chime in with some upgrade commentary while the 2 hour download process is underway.

So far thanks to the upgrade tool the process has been extremely straightforward. By selecting System –> Administration –> Update Manager and then Check For Updates I was informed that a new version of the distro was available and by clicking upgrade I was taken to the upgrade tool.

Beginning with some general information (not shown here) I was able to read through the basics of what I was getting myself into, as well as locate support resources should they become necessary. After a quick perusal of the release notes I was fairly confident nothing in the upgrade would pose an adverse impact on my existing configuration. The only potential exception seems to be VirtualBox, which has no version for Hardy Heron yet; so I’m not sure what will happen once the upgrade is complete. (More on my experiences with VirtualBox here.)

The upgrade process is divided into 6 main stages:

  1. Preparing to upgrade
  2. Setting new software channels
  3. Getting new packages
  4. Installing the upgrades
  5. Cleaning up
  6. Restarting the computer

As of right now (12:30 am) I am in the middle of stage 3, when the upgrade tool needs to download 800MB worth of new files - totally 1158 files in the installation. This process will ultimately take 2.5 hours or so on my connection, which is 1500 kbps.

This represents the bulk of the process. Realistically you could start the download and walk away for a while, but in my case I’ve opted to stick around for the bulk of it to watch what’s happening and capture screen shots to properly document the process.

Given this is an upgrade that is making fundamental changes to my system it’s wise to keep an eye on everything you’re prompted to read. For example between Stage 2 and Stage 3 a screen appears (shown here) that outlines exactly what will change on your system. In my case this read:

“68 packages are going to be removed. 201 new packages are going to be installed. 957 packages are going to be upgraded.

You have to download a total of 813M. This download will take about 2 hours 46 minutes with your connection.

Fetching and installing the upgrade can take several hours. Once the download has finished the process cannot be cancelled.

To prevent data loss close all open applications and documents.

Following this notice was a long list of every file that will be effected by the upgrade, including what is removed, added and updated. Start Upgrade begins the download.

I’ll update more as the process progresses.

Update (8:30 am): Wow it’s been over 8 hours now and my download still hasn’t finished yet!  I’m interpreting this as a sign of tremendous interest by the community and a lot of concurrent downloads.  From the perspective of Linux and Ubuntu specifically this is a great sign; from my perspective it’s prolonging the installation dramatically.  Oh well, the best things come to those who wait.

Update (8:00 pm): After taking the entire night to download - presumably due to massive download traffic from other Ubuntu fans - the download process finally completed at around 10 am this morning.  As expected, this constituted the bulk of the upgrade process - by far.  Had the new version not only just launched the same day it would have taken a fraction of the time to download that it had.

Once the download completed it immediately began the installation process, and began to apply the changes.  This portion of the upgrade took approximately 45 minutes and had a few important prompts regarding what to do with existing configuration files.  I imagine this may differ between Ubuntu instances depending on what customisation has been done.

In my case I was asked whether I wanted to do with smb.conf, apache2.conf, and php.ini.  There were several options available here, and to be honest I don’t remember what they all said; however in all cases I chose “keep the local version currently installed.”

Finally after a brief clean-up process which included the option to remove obsolete packages the machine restarted and the process was complete.

All in all I give the process a solid A for ease and simplicity, with a few points (but not many) deducted for the length of the download process - but as I said that’s as much a sign of the distro’s popularity as anything else.

Screenshots:

References:

Friday, April 25th, 2008

Setting up a self-hosted Wordpress blog

This is a how-to guide for setting up a self-hosted WordPress on your own webserver.

Having performed this process on several different operating systems I have personally found that the process is easiest on a Linux distro - in my case I used Ubuntu Gutsy Gibbon. My personal philosophy is that open source software runs best on open source systems.

As a basic overview of what we’ll be doing, we are going to go through the process of taking a standard Linux disto and turning it into a web server that will run WordPress. This will require a few phases which involve the installation and configuration of the various components.

Ultimately you will have what is known as a LAMP stack installed on your system.

As Wikipedia explains ["LAMP (software bundle)"]:

“The acronym LAMP refers to a solution stack of software, usually free and open source software, used to run dynamic Web sites or servers. The original expansion is as follows:

The combination of these technologies is used primarily to define a web server infrastructure, define a programming paradigm of developing software, and establish a software distribution package.

Though the originators of these open source programs did not design them all to work specifically with each other, the combination has become popular because of its low acquisition cost and because of the ubiquity of its components (which come bundled with most current Linux distributions). When used in combination they represent a solution stack of technologies that support application servers.”

The ingredients:

Now there may be ways to tackle these phases through more graphical means, however I’ve personally found use of the terminal to be the fastest, and in some cases the easiest.

Step Zero: Update the list of available packages

Start by updating the list of available packages. This is done by opening a terminal window and typing ’sudo apt-get update’. You will be asked to provide a password at which point the terminal will ensure your packages are up to date.

As explained by Debian.org (”APT HOWTO“):

“The packaging system uses a private database to keep track of which packages are installed, which are not installed and which are available for installation. The apt-get program uses this database to find out how to install packages requested by the user and to find out which additional packages are needed in order for a selected package to work properly.

To update this list, you would use the command apt-get update. This command looks for the package lists in the archives found in /etc/apt/sources.list; see The /etc/apt/sources.list file, Section 2.1 for more information about this file.

It’s a good idea to run this command regularly to keep yourself and your system informed about possible package updates, particularly security updates.”

Step One: Download and Configure Apache2

Once this process has been completed it’s time to download and install the Apache2 web server software. Once again open a terminal window and enter:

sudo apt-get install apache2 libapache2-mod-php5 php5-gd

You will be told that a certain number of megabytes worth of archives must be downloaded - in my case this number was 5030kB - and asked to confirm. Type “Y” and enter and the download and installation process will begin. At the end of this process you will be returned to the prompt.

By default Apache uses Port 80, which is the standard HTTP port. If you have no other web servers in your network you can proceed to the next step. Otherwise if you have another web server using Port 80 you will need to update the PORTS.CONF file and designate another port.

To do this open a terminal window and type

sudo gedit /etc/apache2/ports.conf

After confirming the SU password the file will load and you will see only a few lines of code. The first line reads Listen 80. Change this number to another port that isn’t being used by another web server, click save and then close the document.

Once this has been done you’ll need to restart the web server by entering the following command in a terminal window:

sudo /etc/init.d/apache2 restart

Providing the server restarts correctly, if you go to http://youripaddress/apache2-default/ you should see a message on screen saying “It works!”

Step Two: Install MySQL and Create New Database

Now it’s time to install mySQL, which will provide the database for your blog. Once again, open a terminal window and type:

sudo apt-get install mysql-server php5-mysql

You will be told something to the effect of ‘Need to get 34.5 MB of archives.’ and asked to confirm the action. Type “Y” and click enter.

At this stage it’s time to create a database for your blog. Open a terminal window and enter

mysql -u root -p

and you will be prompted to enter your password. If you do not already have a password you can create one by opening a terminal window and typing

mysqladmin –u root password NewRootDatabasePassword

Here ‘NewRootDatabasePassword’ should be replaced by the password you wish to use.

Having done this type mysql -u root -p, enter your password and complete the following commands.

mysql> create database yourdbname;
Query OK, 1 row affected (0.02 sec)

mysql> grant create, select, insert, update, delete, drop, alter, lock tables on yourdbname.* to ‘yourdbusername’@'localhost’ identified by ‘yourpassword’;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> \q
Bye

Step Three: Install and Configure WordPress

Now go to Wordpress.org, download the most recent software from the download page, and copy it to a new folder in the www root (/var/www/). Personally, I download everything to my desktop as an extra step, and then copy the folder to the webroot using the following terminal command:

sudo cp -R /home/mike/Desktop/wordpress /var/www/wpsandpit

Note: the file pathing in the above command references the user “mike”; your folder pathing will be different so be sure to confirm the location and not just copy-paste the command from here.

Once you’ve done this you’re just about finished and it’s just a matter of entering the details of the database you created in Step Two above and entering them into the wp-config.php file.

To open this file open a terminal window and type

sudo gedit /var/www/yourWPfolderName/wp-config.php

If this file comes up blank it more than likely means that the file doesn’t exist. In this case it’s easiest to copy the wp-config-sample.php file, rename it as wp-config.php, and then change the details.

WordPress.org goes into more detail about editing this file here, however the basics information needed appears at the very top of the page:

define(’DB_NAME’, ‘yourDBname’); // The name of the database
define(’DB_USER’, ‘yourDBuser’); // Your MySQL username
define(’DB_PASSWORD’, ‘yourDBpassword’); // …and password

Step Four: Create Blog

The last step in the setup process is to go to http://yourIPaddress/yourwordpressfoldername, at which point you should see a page asking for your Blog Title and email address.

File in these details and click Install WordPress and you should then see a page giving you a username and password.

It is very important that you remember this information as there is no easy way to change the admin password. When you’ve written down this information click login and then enter the same admin username and password to enter the Dashboard.

NB: If for some reason when trying to access WordPress to complete this section you receive an error message saying “Your PHP installation appears to be missing the MySQL extension which is required” there is one additional step to complete.

Open a terminal window and type the following command:

sudo gedit /etc/php5/apache2/php.ini

In the document that follows do a text search for “Dynamic Extensions”. In this section add a line that says:

extension=mysql.so

Save and close the document and then restart Apache2 by typing /etc/init.d/apache2 restart, and you should find you can continue the process.

References:

Monday, April 21st, 2008

Videos: Discussion on open source technologies

In a post on his new webcast blog, duncanriley.tv, Duncan Riley sent out a call for input on subject matter for his videos, saying:

“Franky B suggested to me on Skype today that one way of doing video was to open up the floor to questions, so fire away. What would you like me to talk about? Ask me a question and I’ll even do some homework on getting the answer right”

Not being one to pass up an opportunity like this I was happy to oblige his request and sent through a series of questions regarding open source software.

The Questions:

First off, what is you opinion on open source?

Secondly, do you think the increasing usability we’re seeing in desktop Linux distros like Ubuntu will translate to more movement away from Windows to Linux, are disgruntled Windows users more likely to go to Mac, or will we see a relatively even amount of both?

Finally, what developments will be needed in open source - be they technical/usability related, business process related, or otherwise - before open source will become more a more viable option to the general public? Or do you think this is starting to happen already?

Opensource

[youtube=http://youtube.com/watch?v=7raPQ32OYMU]

Linux on the Desktop

[youtube=http://youtube.com/watch?v=OqHAFtqbQO4]

Following on this I decided it was worthwhile for me to respond to the exact same questions.

Opensource: Challenges and Opportunities

[youtube=http://www.youtube.com/watch?v=p8db8C1mG4s]

Linux on the Desktop

[youtube=http://www.youtube.com/watch?v=DchHUXm-OWU]

References:

Friday, April 18th, 2008

Virtual Windows XP on Ubuntu via VirtualBox

[youtube=http://www.youtube.com/watch?v=ch8X86R6d-g]

Here’s something to add to my to-do list.  I just ran across this demo clip on YouTube depicting how to get a virtual instance of Windows XP running on Ubuntu using an open source app called VirtualBox.

One reason I’m keen to try this option is the WINE installations I’ve used for some of my RPG games have run into trouble when switching from one disc to another.  Theoretically by running the game within a virtual instance of Windows XP, the game software wouldn’t run into the same problems.

Please note that I’ve yet to try this process yet, so I can’t testify to its effectiveness.   Unfortunately VirtualBox does not exist for Hardy Heron yet (Ubuntu 8.04), so I may have to wait or use another machine.

Note: VirtualBox has indicated that “To comply with U.S. export regulations, VirtualBox downloads have temporarily been moved to the Sun Download Center. We are currently working on a more permanent solution that will simplify downloads for various distributions and re-enable old versions as well.”

Click here to visit the Sun Download Center

References:

Tuesday, April 8th, 2008

Samba for sharing Linux folders with Windows and Mac

[youtube=http://www.youtube.com/watch?v=Ad17kma8rNM]

If you’re new to Linux, as I am with Ubuntu, and are on a network that features multiple computers with different operating systems you’re going to want to find a way for them to talk to each other - copy files across machines, change directory structures, etcetera.  Otherwise you’ll find yourself in a position where moving files from one machine to the next requires the use of a flash drive or USB memory stick, or worse still a blank CD or DVD.

In the world of Linux and Unix, this is the purpose of Samba.  At a basic level, Samba let’s Linux and Windows talk to one another.

This YouTube clip (above) goes a long way to explaining how to set this up.  It’s quite useful for new users because it’s easy to follow and minimises the tech speak.

In the context of applying this information to the beta of Hardy Heron however, which I’m currently using, I need to add to this because there are some changes.  Unfortunately I wasn’t aware of these changes until a little while ago and it therefore took me a number of days of stumbling around before I realised what needed to be done.

As outlined in this forum thread on the Ubuntu Forums:

“It seems that “shares-admin” will be replaced with “nautilus-share”.
Please look at the following changelog:
https://lists.ubuntu.com/archives/ha…ch/009894.html

Initially the Shared Folders option appeared in the location outlined in the video clip, however my experience with Ubuntu was such that at some point - presumably after an update - this option was moved to the nautilus (which is the Linux version of Windows’ Explorer, or Mac’s Finder).  If I’d bothered to read the update details I probably would have known this, but unfortunately I didn’t.  This just goes to show the importance of reading the fine print before you click OK when prompted to install updates.

There is some discussion and disagreement in the thread as to the most effective and proper way to implement Samba, as well as the overarching issue of moving the share option to the nautilus, however I found after installing nautilus-share I was able to complete the process successfully.

In a terminal type

sudo apt-get install nautilus-share

and this option will be installed for you.

As suggested by itsagas2, I also installed nfs-common, however further comments in the thread have argued this is uncessesary; so I’m not sure whether this step is needed or not.  For the record though, to install nfs-common type the following in a Terminal window:

sudo apt-get install nfs-common

At this point providing you have completed the rest of the steps outlined in the video clip, to share a folder right-click it in the nautilus, select Sharing Options, and then configure the options in the pop-up window that follows.

When I completed these steps I found I was able to view and access the shared folders from my MacBook.

References:

Tuesday, April 8th, 2008

A Brave New World for Linux Newbies

Adrian Kingsley-Hughes over at ZDNet seems to have insighted a small firestorm of debate on a recent post “Is Ubuntu becoming the generic Linux distro?” in which he observes:

“Over the past year or so I’ve noticed an increasing number of newbies (a term which I use affectionately) interested in taking Linux for a spin…The reasons for their interest in Linux are many and varied, as is the level of commitment to making the switch from Windows or Mac.  However, one thing stands out from all the conversations - the number of people who seem to confuse Ubuntu for Linux.”

First off I am to a large degree a Linux newbie, however I also know that Ubuntu is just one flavour of Linux - hence the term “distro”, or distribution.  For the record, Wikipedia defines distro as:

“A Linux distribution, often simply distribution or distro, is a member of the Linux family of Unix-like computer operating systems. Such systems are built from the Linux kernel and assorted other packages, such as the X Window System and software from the GNU project.”

Interestingly the source of contention does not seem to lay amongst the different Linux distros.  Almost certainly these disagreements will exist, however in this context the debate is between users of Linux and users of proprietary operating systems such as Mac and Windows; and there’s some pretty ugly comments showing up. That said, it’s not my point here.

Kingsley-Hughes says he thinks this evolution isn’t necessarily a bad thing.  To an extent I don’t either, but with a caveat.

Historically to most non-Linux users, Linux has been seen as the pinnacle of geekdom, reserved solely for the likes of programmers and hackers.  To what degree this stereotype is based in fact is open to debate of course, but the end result is many people have been scared off use of free software because of the stigma of computational complexity.

What Ubuntu has done, both in its tagline “Linux for Human Beings”, and the solid user-friendly distro that accompanies it, is to enable free software and open source programs to spread more freely and easily outside the boundaries of the initiated by presenting a more palatable and tangible user experience of the sort that users of widespread proprietary software are accustomed to.

To the initiated this is almost certainly a double-edged sword however.  For example, my father-in-law, who I believe uses Red Hat, sees Ubuntu as a somewhat Microsoft inspired distro (my paraphrasing, not his exact words), in which gloss and WYSIWYG interfaces have begun to overshadow the traditional terminal or command-line environment.

From his perspective, and other proficient users like him, I can see their point.  However in the same breath I think it’s fair to say that they’re not likely to use Ubuntu.  The niche this distro caters to is much more neophytic and far less experienced in the Linux realm.  This is what is leading people to think Ubuntu and Linux are synonymous; even though they are quite different. It’s part of the learning curve.

As Kingsley-Hughes seems to imply, the fact this learning curve even exists is a sign of increasing interest in and recognition of Linux by non-Linux users.  Personally, I don’t see this as being a bad thing.  New users just need to be given time to grapple with the freedom that Linux offers, because it’s a brave new world for them.

Ultimately, if a core objective of the free software movement is to enlighten others to the collective idealism of the community, then the movement must seek to open doors to those users who may not be as adept in the more complex aspects of programming.  This requires the provision of the sorts of introductory or transitional environments that Ubuntu has come to represent.

Ubuntu should not be seen as a watered down Linux distro, but as an entry point to the wider Linux realm.

References:

Thursday, April 3rd, 2008

Antivirus Software on Linux: Necessary or Unnecessary?

Based on what I’ve read so far, anti-virus software for Linux is considered unnecessary.  I’m still researching why this notion exists, but the consensus seems to be that so long as you’re running Linux only you should be ok without anti-virus software.

In my case I’ve just finished installing Ubuntu as a proper parallel operating system that dual-boots with Windows XP.  In this case it does seem to be recommended that anti-virus software be installed; not as a precaution for Linux, but for Windows.  It’s feasible that a virus could enter a machine through Linux and remain there dormantly until it managed to gain access to XP.

The software that I’ve opted to use for the moment is called AVG Antivirus.  It is the free version of a closed-source proprietary program; as such it is fairly stripped down.  In fact it will only run scans but will not remove any infections it discovers; that must be done manually.

This how-to post on HowtoForge provides a good overview to the installation process.  The only thing it omits is how to add the program the the Applications Menu.

According to the Ubuntu Community Documentation (”Antivirus/AVG“), the best way to do this is:

Click on “System–>Preferences–>Main Menu” To launch the menu editor.

Find the AVG entry in Accessories. Right click its entry and select Properties.

In the “Command” box add gksudo to the beginning (ie. make it look like this “gksudo avggui”)

Click on close for the AVG option then the same for the menu.

You will be now prompted for your password when necessary as AVG will only run with your password being supplied.

Perhaps it’s my history with Windows talking, but I can’t imagine running a machine without antivirus software.  On the PC you’re just asking for trouble; Linux is obviously much different territory.

Just recently, a three-way hack off took place that featured a MacBook Air running OS X 10.5.2, Fujitsu laptop running Microsoft Vista, and a Sony Vaio running Ubuntu 7.10.  In the end, the Macbook fell in 2 minutes, the Fujitsu with Vista fell in 2 days, and the Sony Vaio running Ubuntu didn’t fall at all.

There has been some discussion as to whether this information is completely accurate however.  For example a comment on the Digg thread devoted to AHN’s “Linux Declared ‘Hacker Proof’” argues:

“…while it is true Linux systems are much more secure by design than ms-windows there are breaches of security on Linux based servers on occasion…”

As one of my colleagues said today, “If you can touch the box, you can hack it.”  Therefore perhaps the massive proportion of Windows viruses relative to Mac and Linux is borne more out of an intense hatred of Microsoft than anything else.

References:

Tuesday, April 1st, 2008