Archive for the ‘Linux’ Category

Troubleshooting fcgi and the dreaded undefined method `require_gem’ error

Thursday, October 9th, 2008

It happens to the best of us. We’ve coded our app go to deploy it and encounter some dispatch.fcgi issue. Today was the turn of

dispatch.fcgi error: undefined method `require_gem' for main:Object (NoMethodError)

Well way to troubleshoot and arrive at a solution is to actually run ./dispatch.fcgi. I didn’t know you could do this! It’s well handy! If you are on a remote server to which you don’t have ssh access then you can probably still run it as a cron job. Something like cd /path/to/my/app/public && ./dispatch.fcgi should do it. Remember that the dispatch.fcgi file is in the public directory of your application. The combination of running ./dispatch.fcgi and viewing the Rails log file revealed the useful error message above. Then a quick google search revealed that we need to change require_gem to simply gem (see here).

I had to change this in the dispatch.fcgi and then grepped the whole application directory for any instances of require_gem and changed them to gem too.

Recording Sound in Kubuntu 8.10 (running KDE 4.1)

Sunday, September 14th, 2008

Exciting times ahoy! This weeks mystery was to get sound recording with the minimum of fuss. We’re not sure what soundcard is running inside the Dell Inspiron 1520 which was our test laptop but it seems to report itself as an HDA Intel SigmaTel STAC9205 in the system settings. Anyway, the first thing to do was to apt install audacity which can then be used for testing the recording functionality. Not being sure if the laptops builtin in mic had been detected correctly, we jacked in an external microphone into the mic socket.

This didn’t produce any encouraging results initially when we tried recording in audacity so we opened up the KDE volume controls by clicking the speaker icon on the taskbar and electing to open the mixer. Unfortunately the GUI controls for the mixer doesn’t have the full complement of volume controls so it was the good ol command line to the rescue - typing alsamixer in terminal brings up a nice range of controls. You can navigate between screens of controls with the tab key and jump from control to control using the left/right arrow keys. The trick was to navigate to the two controls marked ‘Capture’ and bump up the volume (they also need to be activated by pressing the spacebar when you’re on the control). Additionally, there were two controls marked ‘Digital’. One of these controlled the volume of the mic (via the up and down arrows) and the other switched between analog and digital mode (again via the up and down arrows). We found that the latter had to be set to ‘Analog I’ for the best result.

Then it was back to audacity to record a bit of chatter - and then lament how weird ones voice sounds when recorded! Now get mixing mon amis!

QUICK UPDATE (14 Sep 08)
One issue that occurred was that after recording a sample, it couldn’t be played back(”Error while opening sound device. Please check the output device settings and the project sample rate.”). Additionally, a second track couldn’t be recorded. The solution to these problems was to open the Preferences dialog and set both the Playback and Record devices to ALSA (default). Reference: http://audacityteam.org/forum/viewtopic.php?f=18&t=3377

Getting the Huawei E870 to work on Kubuntu (and Mobile Internet from O2)

Wednesday, March 26th, 2008

It’s a shiny express card and it promises Internet free from cables, plugs and sockets but will it work on your pretty Kubuntu laptop? Let’s hope so. This guide worked for me and hopefully it’ll work for you too!

Now before we start let me tell you my setup. I’ve got this working on a Kubuntu based Dell Inspiron using O2 as my network provider. It did not work on a separate Dell Vostro running Ubuntu 7.10 (however I did get it working on a different Kubuntu 7.10 Dell Inspiron laptop). So I’m not sure whether that was a Ubuntu or Vostro thing or just bad luck. Also, note that the below approach worked for me when setting up Huawei’s E220 USB modem too.

In any case, here’s the 6 step plan to happiness
1.) Download the huaweiAktBbo-i386.out file
2.) Create the /etc/chatscripts/huawei-e220.chat file
3.) Create the /etc/ppp/peers/huawei-e220 file
4.) Create the /etc/wvdial-huawei.conf
5.) Edit the /etc/resolv.conf
6.) Create and tailor the /home/username/bin/connectme script (and chmod it!)
7.) Tip of the day - lose the Edge!

1.) Download the huaweiAktBbo-i386.out
This can be done by visiting http://www.kanoistika.sk/bobovsky/archiv/umts/ and downloading the file huaweiAktBbo-i386. If you really want you can also build it from the C source provided (in order to build it you will need to have a C compiler and some basic tools on your system). NB: Copy the huaweiAktBbo-i386.out file to your /home/username/bin directory after downloading. If you don’t have a bin folder under your home directory then create one (’mkdir /home/username/bin’). Also ensure that it is in your $PATH environment variable. Try echo $PATH and if you don’t see it listed add the following line to your /home/username/.bashrc file

export PATH=$PATH:/home/username/bin

To get this change immediately picked up by your shell run the command ’source ~/.bashrc’. This something I didn’t learn for years!!! D’oh!

2.) Create the following /etc/chatscripts/huawei-e220.chat file

TIMEOUT 3
ABORT BUSY
ABORT 'NO CARRIER'
ABORT VOICE
ABORT 'NO DIALTONE'
ABORT 'NO DIAL TONE'
ABORT 'NO ANSWER'
ABORT DELAYED
"" ATZ
OK ATQ0V1E1S0=0&C1&D2
OK ATDT*99#
CONNECT ""

3.) Create the /etc/ppp/peers/huawei-e220 file

/dev/ttyUSB0
460800
noipdefault
defaultroute
persist
noauth
nodetach
usepeerdns
connect "/usr/sbin/chat -vf /etc/chatscripts/huawei-e220.chat"

4.) Create the /etc/wvdial-huawei.conf

[Dialer Defaults]
Modem = /dev/ttyUSB0
#Baud = 3600000
Baud = 7200000
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
Init3 =
Area Code =
Phone = *99#
Username = ppp
Password = ppp
Ask Password = 0
Dial Command = ATDT
Stupid Mode = 1
Compuserve = 0
Force Address =
Idle Seconds = 0
DialMessage1 =
DialMessage2 =
ISDN = 0
Auto DNS = 1

5.) Edit the /etc/resolv.conf file
Add the following entries at the top of this file (they are O2’s nameservers)

nameserver 62.40.32.33
nameserver 62.40.32.34

6.) Create the and tailor the /home/username/bin/connectme script as follows (and chmod it!)
Note: See step 1 for more instructions if you don’t have a bin folder in your home directory

#!/bin/bash
sudo /home/username/bin/huaweiAktBbo-i386.out # CHANGE THIS TO YOUR 'USERNAME'
sleep 3 # wait for the USB host to settle down...
sudo wvdial --config /etc/wvdial-huawei.conf
#/usr/sbin/pppd call provider

Then just do a ‘chmod u+x /home/username/bin/connectme’ from the command line (to allow you to run ‘connectme’ from the command line directly) and hopefully you should be ready to rock! The next step is to insert your E870 into the express slot. You might start to see Linux picking up the the devices and popping dialogs asking you if you want to mount the device (you should select ‘Cancel’ for them all).Wait about 5 seconds for it to steady itself and then run ‘connectme’ from the command line. You should see

Hladam HUAWEI E220 a prepnem na modem - bbo 06
4 set feature request returned 0
Prepnute-OK, Mas ttyUSB0 ttyUSB1 (cez usbserial vendor=0x12d1 product=0x1003)
pozri /proc/bus/usb/devices
WvDial<*1>: WvDial: Internet dialer version 1.56
WvModem<*1>: Cannot get information for serial port.
WvDial<*1>: Initializing modem.
WvDial<*1>: Sending: ATZ
WvDial Modem<*1>: ATZ
WvDial Modem<*1>: OK
WvDial<*1>: Sending: ATQ0 V1 E1 S0=0 &C1 &D2
WvDial Modem<*1>: ATQ0 V1 E1 S0=0 &C1 &D2
WvDial Modem<*1>: OK
WvDial<*1>: Modem initialized.
WvDial<*1>: Sending: ATDT*99#
WvDial<*1>: Waiting for carrier.
WvDial Modem<*1>: ATDT*99#
WvDial Modem<*1>: CONNECT
WvDial<*1>: Carrier detected.  Starting PPP immediately.
WvDial: Starting pppd at Tue Mar 25 21:22:08 2008
WvDial: Pid of pppd: 11465
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]
WvDial<*1>: Using interface ppp0
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]
WvDial<*1>: local  IP address 62.40.58.185
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]
WvDial<*1>: remote IP address 10.64.64.64
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]
WvDial<*1>: primary   DNS address 62.40.32.33
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]
WvDial<*1>: secondary DNS address 62.40.32.34
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]

If you want to disconnect from the web simply press Ctrl-C twice to kill it off. The first time you press it, it talks of wanting to exit gracefully - but better to press it a second time and exit effectively ;-)

You’ll see the following

Caught signal 2:  Attempting to exit gracefully...
WvDial<*1>: Terminating on signal 15
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]
WvDial<*1>: Connect time 8.6 minutes.
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]
WvDial<*1>: pppd: H���h�[06][08]`�[06][08]
WvDial<*1>: Disconnecting at Tue Mar 25 21:30:45 2008

7.) Tip of the day - lose the Edge!
Disclaimer: this is just my opinion as to the performance of the Edge network so O2 lawyers keep your knickers on (however Apple iPhone suckers, enjoy the sheer speed of the Edge network, getting dripfeed broadband at 1500 Euros a year!). In stark contrast though, my experience with the HSDPA network have been good. Yes, as you may have already guessed, the Edge network was not really delivering for me. But a friend of mine showed me how to change your O2 broadband Express card (or USB modem) settings so that it not even bother connecting if it can’t get a proper UTMS or HSDPA signal. For this you need a Windows friend. Install the express card on their machine and from the O2 broadband application and select “Tools->Choose Network Type->3G Only”. This setting directly updates the card so even when you switch back to a using it on a Linux box it will go with 3G only. If I don’t do this I’ve found that it will flip flop between Edge (GPRS) and 3G networks and drive you mad in the process. I found it pretty much impossible to even check my email on Edge.

Special thanks to Andy and Paul on the ILUG mailing lists for their help and also to O2, Vodaphone, Three et al. for providing Mobile Internet via hardware that can actually be used on an Open Source platform such as Linux; as we hopefully move from an era of proprietary lock-in and DRM-based crippleware to software that delivers genuine value for businesses and users. Vodafone have gone as far as having their own Open Source website to help along development at Betavine. Enjoy!

The revolution will not be televised! It will be streamed over TCP/IP…

Simple ‘Through Associations’ in Ruby on Rails

Monday, January 14th, 2008

This little article shows one way to model many-to-many relationships using a join table.

Obviously, The Penguin isn’t the first so here is an alternative good practical example which might give your good self an different perspective. Also this documentation has some more detailed information but doesn’t have a simple self contained example like below (and neglects to mention belongs_to in its primary example - at time of writing this).

Here goes. The following statements define our basic requirements.

* An order has many items
* An item has many orders
* We shall model this through a join table called order_items

orders     order_items    items
-----      ----------     ----
id         order_id        id
           item_id

Before we continue, please note that a massive massive thing to remember is that Order needs to have a has_many to the join table model AS WELL as a has_many (through the join table model) to Item. Also the join table model has a belongs_to for each model.

class Order < ActiveRecord::Base
has_many :order_lines #Don’t forget this line!
has_many :items, :through => :order_lines
end

class Item < ActiveRecord::Base
has_many :order_lines #Don’t forget this line!
has_many :orders, :through => :order_lines
end

class OrderLine < ActiveRecord::Base
belongs_to :order
belongs_to :item
end

Ok so that’s it folks! The Penguin has to admit that the above code hasn’t been run in a RoR interpreter so if has typo’s or smelly code please comment below.

One last thing is that if you’re going to try and present a RoR solution in an enterprise situation it is quite likely that the powers that be will want to see foreign key relationships in your database tables (note, this applies to all db relationships; not just man-to-many). These will give referential integrity to your associations. One very very handy and straightforward way to do this is using Red Hill’s foreign_key_migrations plugin. This really is great (it does pretty much all the hard work for you!) so it’s worth a serious look.

One gotcha with using foreign keys in Rails, is that the order in which test fixtures load becomes important. See Per Olesen’s post for tips on countering this. Other than that happy hacking and may the Rails Rise to Meet You!

Uninitialized Constant GemRunner Error When Using Ruby Gem

Sunday, December 9th, 2007

Here’s the problem…

me@host:~$ sudo gem update
/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)

… which had us on the ropes more than on the rails for a while. Unusually googl’ing on this error provided no solutions.

What led to the situation was that we used the source install of rubygems on Ubuntu Gutsy (7.10) instead of using the rubygems in Ubuntu’s repository but then changed our mind and apt-getted the Ubuntu repository version. Surprise! Surprise! These 2 versions were conflicting a bit; leading to the above error. The workaround is pretty simple, just go to your /usr/local/lib section and delete the site_ruby directory (as this is the remnant of the rubygems source install and thus cause of the problem). This removes all the gems (that were downloaded by the original rubygems which we no longer want) off our system. Perhaps you want to simply move this directory first in case something goes wrong and you need to revert (eg. sudo mv /usr/local/lib/site_ruby /usr_local/lib/site_ruby_old).

Note: In case your not aware, /usr/local/* is the set of directories under which programs that you compile yourself get installed to by default. Generally the directories will start out pretty empty on a freshly installed Linux distro and then as you (if ever!) compile and install programs from source (eg. using ./configure && make && make install) then they end up under this directory. Also not that programs installed using apt-get (or via rpms on non-Debian systems) don’t get put here - they usually end up under the /usr/ directory itself (this varies a bit from distro to distro but what we’ve just outlined holds true for Ubuntu anyway).

Now, once your finished you should find that gem works. Do a ‘gem list’ and see if the above error is gone. If this doesn’t work you may need to ’sudo apt-get install rubygems’. Next up, we need to rebuild that gem directory that we deleted (site_ruby) with the apt-gotten rubygems (if apt-gotten is a real word!). To do this run

’sudo gem update’
’sudo gem update –system’

You will notice that the result of these commands means that /usr/local/lib/site_ruby is back and populated. This is where ruby likes to put it’s gem extensions. Finally reinstall rails with

’sudo gem install rails’

Hope this solution works for you! We’re still getting to grips with this rails stuff so if you find any glaring errors in this post please comment below to let us know.


New KDE Theme - Castle at Night

Thursday, December 6th, 2007

After initially being a little disappointed with Kubuntu’s default theme, The Irish Penguin new he’d have to roll his own.

Well, finally it’s been tweaked to penguin perfection and, amidst much wing flapping, uploaded as a KDE theme for everyone to enjoy. However, before it’s unleashed upon you, please be aware of a little gotcha. The KDE Theme Manager is the tool you’ll need to install/create your own themes. However it’s not to be found in ‘System Settings’ on the K-menu. Rather you must go to the command line (unless I am missing the menu icon with my dodgy eyes!) and type ‘kcontrol’. From here you navigate to ‘Appearances & Themes’ and then ‘Theme Manager’. Ok, now armed with this knowledge here’s what to do.

Save the Castle at Night zipped theme file to your ‘/home/yourusername/.kde/share/apps/kthememanager/themes/’ directory. Then unzip it and, via the KDE Theme Manager, install this file and, hey presto(!), you’re looking good.

Castle at Night Preview

(Click to view)

Note: If you are having trouble with installing this theme you can download, unzip and install some additional files (Castle at Night - Required Files) into your  /home/yourusername/.kde/share/apps/kthememanager/themes/’ folder.

To fully enjoy the theme you should right-click on the quicklauncher at left of the taskbar and configure it to have a fine big icon size - 28 looked good on the Inspiron (I think big icons always look nice in KDE’s taskbar).

Note: It’s been created on a Dell Inspiron 1520 laptop (running Kubuntu 7.10 ‘Gutsy’) so perhaps the colours might look at little different depending on your machine. Now hopefully one day we’ll all have gamma correction that works. Until then, enjoy!

K-k-kubuntu 7.10 on a Dell Inspiron 1520

Thursday, November 22nd, 2007

Ahhh… Another day, another distro. The harddrive partitions around here are a bit like the Wizard of Oz; every day a new one joins the merry troupe. Todays turn was the KDE spin on Ubuntu Gutsy. So armed with the standard Kubuntu CD, which serves as a live distro and an install CD in one, we set on the path to enlightment (or should that be KDE - always good to end the week on a bad pun).

Generally, it seems to be recommended practice these days to install Ubunutu or its derivates off the ‘alternate’ CD when trying to set up an Inspiron to avoid things like incompatible versions of ALSA or wireless drivers working their way into the install. But the Penguin didn’t really feel like giving the whole GUI experience a miss. And so the live CD was fired up before you could say ‘Holy wireless drivers, Batman!’. A nice desktop link provided a pretty path to installation and within an hour Kubuntu was installed and ready to go.

First thing that was apparent was that the default Kubuntu appearance is quite bland. Especially when compared with something like OpenSuse’s nice crisp out-of-the-box KDE look (however nothing will ever get installed waiting around for YAST!). But the good news is that Kubuntu’s eye-candy vacuum can be fixed with a bit of tweaking. That wasn’t the initial major concern though. The lack of sound and wireless was!

The fix for the sound was easy, running ’sudo apt-get install linux-backports-modules-generic’ from the command line delivered sound after a reboot. The wireless was a lot more fiddly to get working - the strange thing is that NetworkManager was picking up all the secured networks and tantilisingly displaying them in its wireless list. But no way in the world was it going to connect to any of them. (BTW, the card is a Intel Pro Wireless 3945). However, the laptop in question is also running Ubuntu Studio out of another partition and it can connect through Gnome’s network-admin program without any probs. So there was definitely something fishy up.

Plan A at solving the problem was to install wlassistant (sudo apt-get install wlassistant) in order to try and put a different network program in the firing line. But alas still no connection. Then after a bit of head scratching we decided to install the whole bloody Gnome network admin and try and use that (sudo apt-get install gnome-system-tools) - which can be run via the ‘network-admin’ command. There was a time there when this was looking like a winning plan but no joy. Weird thing is, and the Irish Penguin has no explaination for this, is that rebooting and connecting via wlassistant did the job! Worked a charm! A lucky charm!!!

Final things on the list was to glam up that gaudy GUI. The install of Gnome’s networking stuff had left a few stray icons in the menu so they had to be wisked away as they weren’t working anyway. Then a few nice things to do are

* Right-click on the quicklauncher at left of the taskbar and configure it to have a fine big icon size - 28 looked good on the Inspiron. Big icons always look nice in KDE’s taskbar, otherwise where’s the fun?

* One of the best ways to brighten up the panel is to (right-click on the taskbar and configure) set ‘Enable background image’ for the panel and select a nice tile. This also puts a pretty sash down the left of the K-menu. Optionally choose ‘Colorize to match desktop theme’

* In the system settings keep the Style->Widget Style as ‘Polyster’ but change the Window Decoration to ‘Keramik’

* Change the window background to be a nice soft colour - a very light fawn is nice - and in keeping with the Ubuntu theme…

* And for God’s sake pic a nice desktop background!

Along the way, we flicked over to the proprietary NVidia drivers via the restricted driver management without problems. Although it did make all the fonts bigger for some reason - so they had to be tamed again using the following fix (note: changing font properties in System Settings isn’t enough to fix this). I used a dpi of 75 instead of 100 as the fix did. Another thing that was hard to track down was power management adjustment there’s no setting in System Settings - rather it can be found by right-clicking on the battery icon to the right of the task bar and selecting ‘Restore’ to bring up the dialog - of course!

So what’s the verdict after all the hard work is out of the way. Kubuntu is a fine desktop if you’re prepared to put in a little effort customising its look and feel. Because of the effort required in prettying it up - Kubuntu initially feels less polished than it’s sister Ubuntu. Package management in Adept isn’t as smooth as Synaptic. But there are some real pluses out of the K stable. Dolphin has replaced Konqueror as the default file browser and its two pane mode is great. Not quite sure why its taken so long for a two pane file manager to crop up in a modern OS but it’s not before time. All the usual great KDE apps from K3B to Amarok are in there. The Penguin’s final verdict is that it feels a little more ‘bright’ and ‘fun’ than Ubuntu which is more ‘finished’ but serious.

Kissed a QT and now I’ve caught Mono

Sunday, September 2nd, 2007

The Irish Penguin branches out to a new platform this week as Mono, the Linux-y version .NET of is tackled. What wonders await…

Well, thus far, we’re not actually sure, although early signs are promising. We pulled down the MonoDevelop codebase as well as it’s dependancies via Subversion and most things built without major problems (on Ubuntu Fiesty) and a little help from the fabulous monodevelop-list AT lists.ximian.com (just replace AT with @) #. Although the holy grail of having a happily built MonoDevelop environment is proving just a little elusive - a conflict between Cario from v1.0 mono libraries and Cairo from v2.0 libraries is a spanner in the works. This should be a straightforward one to iron out.

It will be interesting to compare the Form’s/Widget designer to the fabulous QT Designer and see if MonoDevelop provides a stable and first rate environment for doing GUIs. But of course, even more interesting will be the politics…

Judge to SCO - You Don’t Own Unix!

Sunday, August 12th, 2007

And so the biggest legal saga to face Linux over the last few years was that of SCO trying to sue people for copyright infringement, saying that it owned the rights to UNIX. This has dragged Novell, IBM and more into the courts to fight for the right to party. Well today that party was in full swing as the judge in the case, Dale Kimball, has ruled in Novell’s favour saying that it is Novell, and not SCO, who own the UNIX and Unixware rights.

Kudos to Novell! It’s hard to see that there is much, if anything, left in the SCO locker that they can accuse IBM of infringing. In fact, it looks like they’ll be busy trying to organise a whip-a-round to pay up to Novell who will now be due a big cheque from SCO for the UNIX rights that Microsoft and Sun had previously paid SCO for. Yes, that sentence is a bit long and confusing. Perhaps it would be better to allocate IP addresses to each note in the UNIX rights cash pile and use traceroute to track its hops from one accounting subnet to another!

Interesting it was Microsoft who were reported to have set the SCO ball rolling back in 2003 by paying them for the first UNIX licence . Here’s one of the article’s from back then when the news first broke and the world looked a bleaker place. Once details of a Microsoft-SCO association had been reported it prompted one analyst, Gordon Haff of Illuminata, to say “Microsoft should certainly be worried about even a little bit of SCO’s stench rubbing off.” Well the only stench today will be from rear end of the trousers of the SCO management as they nervously wonder where to go next from here.

Given that Microsoft stumped up the initial cash to set SCO off like a bull in a China shop, it is possibly fitting that such money will now likely pass on to Novell to fund Linux development. Mind you, it’s hard to keep track of the amount of Microsoft cash that the Novell management are rolling around in these days. Maybe the Redmond team should just give up on Windows and focus on their Linux development entirely. Let’s be honest, it’s much more fun!

Groklaw has been covering this tale from the start of the case and and PJ is in bouyant mood as she covers the details whilst downing some chocolates. Thanks for a great site PJ, to keep the great unwashed up to date on the legal rumblings over the last few years, and please continue to do so as this fish gets reeled in.

Momentumless Linux and the Death of Open Source - A Developer’s Response

Sunday, July 15th, 2007

A couple of blog and news posts on the Internet this week seemed to make the headlines with death knells for Linux and Open Source for a multitude of reasons, both chronic (less anti-Microsoft sentiment about) and recent (GPL 3). But on reading, I couldn’t help but feel that both posts sounded wrong, utterly utterly wrong in fact. No disrespect intended to the authors of course.

The first post Open Source Is Dead, Long Live Open Patents? by David DeJean, which took a commonly cited angle on GPL3 hurting Open Source by fragmenting the community. But that is to not understand the community. Bare in mind one important fact about community-oriented Open Source developers, of which I am one - we write the software because we love to. For the vast majority of SMD’s (Small-to-Medium size project Developers, for want of a better term) we don’t really care whether our project is GPL2 or GPL3 - why? Because they are both effective Open Source licences and they will both serve our personal purposes fine as either licence would suit our pet projects. Of course, we’ll all still get our goat up as to whether Linux or the GNU Compiler Tools should be GPL 2 or 3 - but that’s a separate issue - it’s won’t stop us writing the software we love. It is naive for commentators to think that because a new licence comes out that it will hurt the amount of FOSS produced. As for businesses, if it made sense to switch to Linux before GPL 3, it will still make sense after GPL3 - irrespective of what or who adopts GPL 3. It technically affects Tivo (although they will be able to stick with Linux 2.4 kernel) - so what? Such cases only make up a small part of the econosphere. Plenty of business providers seem to be happy. Even embedded solution providers are saying that GPL 3 won’t turn customers off, with Jason Wacha of MontaVista saying “Our customers are used to working with licenses that are much more restrictive than the GPL. In my opinion, typical proprietary licenses are much more restrictive in pretty much all instances than the GPL.”

(more…)