Dave Hall Consulting logo


Western Digital My Book World Edition Licensing and the GPL

Earlier today I purchased a Western Digital My Book World Edition (MBWE) 1Tb NAS as I needed a simple NAS. The MBWE seemed like a good option, it runs GNU/Linux, it is hackable and there is a bit of a community around it. I got the thing home and started setting it up through the web gui so I could enable SSH and NFS on it, until I hit the EULA. Yes I am one of those people who does actually read the EULA of most software before installing it. The EULA didn't strike me as a very free/open source software friendly. It states (emphasis mine):


NOTICE: By accepting this License Agreement and/or by installing, using or copying the Licensed Software, You are becoming a party to, indicating Your consent to, and agreeing to be bound by the terms of this License Agreement, without modification. If You do not understand and accept all of the following terms and conditions or You respond "NO" or give any other response that indicates you do not accept this License Agreement, then You must not install, use, or copy the Licensed Software.


(a) "Agreement" and/or "License Agreement" shall mean this License Agreement and any and all documents incorporated by reference; (b) "You" and/or "Your" shall mean the individual or legal entity exercising rights under; (c) "Licensed Software" shall mean computer software owned by Western Digital Technologies and may include associated media, printed materials, and "online" or electronic documentation provided by Western Digital Technologies; and (d) "Western Digital Technologies" shall mean Western Digital Technologies, Inc. and its subsidiaries, affiliates, licensees and agents.


Subject to the terms of this Agreement, Western Digital Technologies hereby grants You a non-exclusive and non-transferable license to and use for personal or internal purposes the Licensed Software. This license is not a sale of the Licensed Software. Western Digital Technologies has no duty to provide further updates or changes to the Licensed Software.


You acknowledge and agree that You shall not (a) modify, adapt, translate or create any derivative works of the Licensed Software; (b) attempt to disable the Licensed Software by any means or in any manner; (c) attempt to decompile, disassemble, reverse engineer, or otherwise attempt to derive the source code for the Licensed Software; (d) distribute, encumber, sell, rent, lease, sublicense, or otherwise transfer, publish or disclose the Licensed Software to any third-party; or (e) remove or alter any trademark, logo, copyright or other proprietary notices, legends, symbols or labels in the Licensed Software.


Title, ownership and all intellectual property rights in and to the Licensed Software shall remain in Western Digital Technologies and/or its suppliers. The Licensed Software is protected by the copyright laws of the United States and international copyright treaties. Title, ownership rights and intellectual property rights in and to the content accessed through the Licensed Software including any content contained in the Licensed Software media demonstration files is the property of the applicable content owner and may be protected by applicable copyright or other law. This license gives you no rights to such content.




This license shall terminate automatically if you fail to comply with the limitations described in this Agreement. No notice shall be required from Western Digital Technologies to effectuate such termination. Upon termination you must destroy all copies of the Licensed Software.


The Licensed Software is provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(I)(ii) of The Rights in Technical Data and Computer Software clause of DFARS 252.227- 7013 or subparagraphs (c)(i) and (2)of the Commercial Computer Software-Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is Western Digital Technologies, 20511 Lake Forest Blvd., Lake Forest, CA 92630. You acknowledge that none of the Licensed Software or underlying information or technology may be downloaded or otherwise exported or re-exported into (or to a national or resident of) Angola, Cuba, Iran, Iraq, Libya, North Korea, Sudan, Syria, or any other country to which the U.S. has embargoed goods; or anyone on the U.S. Treasury Department's list of Specially Designated Nationals or the U.S. Commerce Department's Table of Denial Orders. By using the Licensed Software, you are agreeing to the foregoing, and are representing and warranting that you are not located in or under the control of a national or resident of any such country or on any such list.


You hereby agree to indemnify, defend and hold Senvid and Western Digital Technologies from and against any all liabilities, damages, claims, fines and expenses (including reasonable attorney's fees) arising out of any breach of this End User License Agreement and Warranty Disclaimer.


(a) This Agreement constitutes the entire agreement between the parties concerning the subject matter hereof; (b) This Agreement may be amended only by a writing signed by both parties; (c) This License Agreement shall be governed by the laws of the State of California, without regard to conflicts of law provisions, and you consent to the exclusive jurisdiction of the state and federal courts sitting in the State of California; (d) This Agreement shall not be governed by the United Nations Convention on Contracts for the International Sale of Goods; (e) If any provision in this Agreement should be held illegal or unenforceable by a court having jurisdiction, such provision shall be modified to the extent necessary to render it enforceable without losing its intent or severed from this Agreement if no such modification is possible, and other provisions of this Agreement shall remain in full force and effect; (f) A waiver by either party of any term or condition of this Agreement or any breach thereof, in any one instance, shall not waive such term or condition or any subsequent breach thereof; (g) The provisions of this Agreement that require or contemplate performance after the expiration or termination of this Agreement shall be enforceable notwithstanding said expiration or termination; (h) You may not assign or otherwise transfer by operation of law or otherwise this Agreement or any rights or obligations herein except in the case of a merger or the sale of all or substantially all of Your assets to another entity; (i) This Agreement shall be binding upon and shall inure to the benefit of the parties, their successors and assigns; (j) Neither party shall be in default or be liable for any delay, failure in performance (excepting the obligation to pay), or interruption of service resulting directly or indirectly from any cause beyond its reasonable control, and; (k) If any dispute arises under this Agreement, the prevailing party shall be reimbursed by the other party for any and all legal fees and costs associated therewith.

IF YOU ACCEPT the terms of this Agreement: I acknowledge and understand that by ACCEPTING the terms of this Agreement, I am agreeing to be bound by the terms, conditions, and limitations of this Agreement.

IF YOU DO NOT ACCEPT the terms of this Agreement. I acknowledge and understand that by refusing to accept these terms, I have rejected this license agreement and therefore have no legal right to install, use, or copy the Licensed Software.

I should probably preface the rest of this post with IANAL and that this does not constitute legal advice and if you need legal advice pay loads of money to a lawyer (I hope that keeps my lawyer happy).

I took a risk and clicked "I Agree" because I couldn't be bothered driving another 130km round trip to take it back and get something different and also I wanted to start hacking it anyway. I also figured that if WD's lawyers wanted to come after me I had the GPL on my side.

I suspect someone in engineering just copied and pasted the text in, just like they do for all of their software. To their credit WD does make the source code for the firmware for the device available on their website, so it doesn't strike me as an intentional attempt to avoid their obligations under the GPL. This seems like a pretty easy problem to fix, get a couple of people from WD's legal and engineering teams in a room and work out what the new text should be and then have engineering roll a new firmware release.

I have also contacted Western Digital's support department about the problem. Any updates will be posted here.

Update 23-Feb-2010: WDC support have responded apologising for any inconvenience caused and thanking me for bringing this to their attention. They also informed me that the information has been passed onto the relevant person. As yet they haven't responded to my follow up question about being informed when the issue is fixed.

Update 16-Mar-2010: After Western Digital closed the issue as resolved, I queried what the resolution was and received the following response, "Thank you for bringing this to our attention. Your issue has been forwarded to our legal and engineering teams and they are working to get our EULA and the terms of the GPL code in sync with one another. We are striving to get this resolved ASAP". It looks like the issue is now with the legal team at Western Digital.

Flakey BIOS in Gigabyte GA-M68SM-S2L Makes MAC Address Change on Reboot

Over the weekend I have been setting my new Mythbuntu pair, a split. back end and front end. Everything has gone pretty smoothly.

One issue I did hit was the onboard NIC on my Gigabyte GA-M68SM-S2L motherboard despite what the specs say it is a "nVidia Corporation Unknown device 054c (rev a2)" which uses the forcedeth driver. Everytime I rebooted the box the NIC would increment its interface number - eth0, eth1 ... eth6 and so on. Changing the "Smart LAN" setting in the BIOS from auto to disabled just disables the NIC, not what I wanted.

After googling I discovered that others had experienced similar problems with ASUS boards with nVidia NICs, changing their MAC addresses. Looks like Gigabyte (and ASUS) have been shipping invalid MAC addresses on some of their boards, and forcedeth isn't happy about it, so it just generates a new (valid yet) random MAC address.

With a little help from sysfs I was able to hack my udev config so it all works now. My /etc/udev/rules.d/70-persistent-net.rules looks like

SUBSYSTEM=="net", DRIVERS=="forcedeth", ATTRS{vendor}=="0x10de", ATTRS{device}=="0x054c", NAME="eth0"

I grabbed the output of "cat /sys/class/net/ethX/device/{device,vendor}" to populate the relevant ATTRS entries above.

I am not sure what you do if you have 2 onboard NICs and they are both broken.

Gigabyte (and ASUS) or nVidia should look at fixing their broken kit to save people from wasting time on this.

Update: It turns out it was a dodgy driver shipped by Ubuntu

Selling the Sun Fire T2000

I have finally gotten around to listing my Sun Fire T2000 which I won from Sun on ebay. If you are in the market for an almost new Sun Fire T2000, checkout the listing on ebay.

If it doesn't sell, I will be looking at other options for off loading it. It is overkill for my home office, and too noisy.

To keep sweet with the ebay ToS, I can only accept offers via ebay until the auction has ended. If you want to make an offer, check out the ebay listing.

The server will run Solaris, Gentoo or Ubuntu 6.10 and maybe other variants of Linux.

Update: I just sold the server - YAY! [25Nov2007]

OS X and Macs - the Windows killer?

For the last week I have almost exclusively been using a PowerPC Mac - claimed by Apple to be a great platform just a few years a ago. Personally, I think that Mac OS X is an interesting platform. The mac hasn't grabbed me.

On the up side, OS X (and Darwin) is based on BSD, so it has some good security foundations, it also uses many tools common to Linux, such as bash and CUPS. The 3D desktop effects are kinda cool for the first day, but then just become part of the day to day experience. I am yet to see a real advantage to the OS X 3D desktop.

The Mighty Mouse is pretty slick. The scroll wheel feels very nice and is well positioned. The side buttons for expose are addictive on the first day. A let down is that you have to change your preferences to enable the right button.

I don't claim to understand the whole Mac software management system, but from what I do know, you drop a disk image (a dmx file) into the applications folder in finder and it is installed. Want to remove it? delete the folder. This is pretty neat, once you understand how it works. It reminds me of the klik package management system.

The file open dialog is a crazy hierarchical beast, that works. Jumping between levels in a tree really works. Pity more than 3 levels down it can involve some vertical scrolling and you need to select a file to get its full name if it is too long.

Now for the downsides of using a Mac running OS X.

The keyboard feels awful, this is one of the times I would recommend a Microsoft product, but as MS keyboard feels far better than an Apple Keyboard. The standard mac keyboard feels plasticy and the key travel doesn't feel right. I have used a range of keyboards over the years and the Max keyboard feels awful. Maye apple should rebrand Logitech's kit, like Microsoft does.

My next complaint is key bindings. For ever since I remember, [home] takes you to the start of current line and [end] takes you to the end of the current line. Many apps even ignore the [home]/[end] keys. Windows, GNOME and KDE all bind [alt] [F4] to close window - but not the mac. There are many other standard combinations ignored by Apple. Another annoyance is the apple key - for most things it functions like a [ctrl] on a PC, but not in a shell, then it functions like an apple key and [ctrl] functions like a [ctrl] key under *nix - I have lost track of how many windows i have closed when trying to delete a word in the console (bash fiends know what i mean).

Inconsistent use of key combinations. In the console and some other apps, [apple] [arrow] loops through the windows of the application, but not Apple Mail, it has decided that the combo expands/collapses message threads, very annoying when trying to compose a message while trying to copy and paste from another.

The maximise button doesn't actually maximise. I am not sure if it is up to the application or the window manager, but clicking maximise (the green circle) may increase or decrease the width or height of the window. When I click maximise, I expect the window to be maximised - or at the very least increased in dimensions.

The real deal breakers for me are the [home]/[end] keys, the inconsistent shortcuts and other crazy behaviour of OSX mean that I won't be switching to a Mac anytime soon.

Over the next week I plan to load more FLOSS on the mac, such as Mozilla Thunderbird for email, which will join Mozilla Firefox web browser and gvim - my referred text editor. I doubt this will be enough for me to stick with OS X.

The indigo iMac G3 I landed last week is likely to be running Copland (a PPC port of xubuntu) real soon now. I am still trying to work out what I do with Julie's Apple Powerbook G3, which currently runs Xubuntu 6.06.1 LTS, as ubuntu has dropped support for PowerPC in feisy. Maybe I can find other PowerPC machines to install Copland or Debian onto :)

I am yet to see how OS X is more user friendly and and easier crossgrade path for windows users than a Linux desktop.

Linux is better for the environment

TechWorld has a story about how the UK government is recommending the adoption of Linux and FOSS as it better for the environment. The story quotes a Californian Department of Commerce report.

The recommendation of using Linux and FOSS in government is hardly surprising, many governments around the world have been reaching the same conclusions. The interesting part is the environmental angle.

I have always liked the lower resource requirements for Linux based solutions. For a couple of years my primary development machine was a Frankenstein repurposed AMD K6-233 (running at 125Mhz) with varying amounts of RAM. Various parts had been changed in it as they wore out - physically or practically. The machine then became a firewall for many years, until late last year. Now it serves as my network and server monitoring machine, which is also a SMS gateway.

The machine has served me well. The CPU is almost 10 years old. I don't have access to reliable stats, but I suspect that it draws less than 50W. My current Centrino laptop draws upto 90W.

Another example is the old Apple PowerBook Lombard my partner uses for surfing the net, checking her mail and typing the occasional document. She seems happy enough with xubuntu, which I installed on it when I got the machine cheap from a friend.

When the motherboard or CPU fails in the old K6 or the PowerBook dies, they will be added to the box of dead parts in my office. Then one day, I will take all the dead bits to the computer recyclers.

How is all this relevant to the UK report and linked article? It shows how long a machine can continue to run linux in a useful way.

As the article points out, most people will just junk their old PCs, not recycle them. I have sourced parts for machines I still use from garage sales or nature strip (Julie doesn't let me out when hard rubbish collection is on). PCs contain heavy metals such as lead and cadmium which can leech into soil and even underground waterways when disposed of in landfill.

When looking at a new PC organisations should not only look at the cost of procuring the new machine. The repurposing or recycling of the old machine could be considered. The on going running costs of the machine needs to be factored in. For example a Pentium D 840 draws twice the power than a newer Core 2 Duo E4300 which only uses 65W per hour. These days a Core 2 Duo can be less than 50AUD more expensive than a Pentium D. Not only does the newer machine draw less power, it probably has a longer upgrade lifespan.

When considering Linux and FOSS there are many reasons why it can work out cheaper. Lower software costs, lower hardware costs and lower power consumption. So by choosing FOSS you can look after the environment while looking after your bottom line.

Sun SunFire T2000 rev2 and Ubuntu Dapper 6.06

A couple of months ago I received a shiny new Sun SunFire T2000. It is a monster 1 CPU with 8 core, each capable of running 4 threads each (that is 32 concurrent threads) 8G of RAM and 2x73.4G Seagate SAS HDDs. The 2U case hides the power hidden away inside. Once powered up it sounds like a jet engine, but that is ok it is designed for the data center not a HTPC.

I obtained the box under the Sun Try n Buy Program for testing ubuntu 6.06LTS (aka dapper drake) and some PHP based web apps. I also wanted to play with Solaris and some other OSes on the box. I was also interested in Solaris Brands. I wanted to take Jonathan Schwartz up on his offer of running ubuntu on the box and getting to keep it. As I consider myself a Linux system admin of medium level competence I thought it should be easy enough. How wrong I was.

The first couple of times I tried to install dapper on the server I used a CD. I used both the 6.06LTS and 6.06.1LTS update CD and neither worked. It turns out there was a bug in the iso9660 support which shipped on these CD images. As of the time of writing no new official CD images have been released with the problem fixed, although the nightly build CD have the fix included.

After some research I discovered that "netboot"ing was the preferred way to install ubuntu on these boxes. Again it seemed relatively straight forward, setup rarpd and tftpd, grab the image and away we go. Unfortunately this wasn't the case. After running ethereal (now known as wireshark) on the debian server, I discovered that the T2000s experts to pull the boot image via tftp using the broadcast address ( I later found out that both tftp and tftp-hpa which ship with edubuntu 6.06LTS and Debian 3.1 (aka sarge) don't like requests being made this way. I tracked down the author of tftp-hpa, H Peter Anvin, and discussed the behaviour I was experiencing. He pointed me to a newer release of tftp-hpa which contains a fix for problem. Peter considers the way the T2000s (and other Sun servers) handle tftp boot to be a bug in Sun's firmware and was rather unhappy about Sun's tftp client implementation. Peter stated "I still think Sun needs to be kicked in the ding-ding for not doing DHCP (or at least BOOTP, it's only a 20-year-old standard) and valid TFTP" [IRC on #syslinux on OFTC discussion 21-Oct-2006 14:17 AEST].

After removing the stock Debian tftp-hpa deb on my sarge box, I downloaded the tftp-hpa 0.43 onto my sarge box and complied it and installed it using check-install. This was a painless process.

I thought I could see the light at the end of the tunnel. I had RARP and tftp working, the server was getting an IP address, requesting and receiving the dapper boot image. I later realised that the light was actually an oncoming freight train and the T2000, the duck and myself were all heading for a train wreck.

I tried following the official ubuntu on sparc instructions. I found that they were rather light on. The documentation seemed to be written for users with no Linux experience but some SPARC experience. I am well aware that this is community generated documentation and so I should be grateful someone has put something together. I plan to help improve the page a little when I have more time. I have already added a note about the rev2 and dapper kernel issues.

I did manage to get the installer running pretty easily. It is really no different to a normal kvm based install on i386/amd64 based servers, except there are no virtual consoles. This might sound like a minor thing, but in practice it can lead to a lot of frustration. Over the years I have installed various versions of Linux on version machines. From time to time the installer decides it is taking its bat and ball and going home, with virtual consoles this isn't a problem, [ctrl]-[alt]-[f2] (or what ever) and you get the install log or a shell so you can start poking around to see what is (or isn't) going on. On the T2000 you have to watch the HDD lights or try ESP to see if it is still alive. My first few (3+) attempts I assumed that the installer had crashed during formatting the partitions. I assumed this as the screen would just be blue and the drive lights suggested very little disk activity. I now know that this assumption was wrong.

I had tried several times over the period of a month or so to try and get the install done. I had tried asking my good friend Google for help on getting it all working. I was not getting very far with it. By now Sun was starting to ask for their baby back.

One night I decided I was going to install dapper on the server at any cost. I was prepared. I had a stack of tabs open in firefox with the relevant documentation up. I updated to the latest firmware (again). I had connected to the server. I had cold beer in the fridge. I got very comfortable in the chair. First attempt I tried to partition the disk the way I wanted it, this seemed to fail after creating the /boot partition. I looked into the partitioning more and discovered that the partition table spills into the first 512Kb of the drive, and so you need to keep the first 512Kb (1Mb recommended) of the drive unused. The next attempt I tried again partitioning the drive the way I wanted it with 1Mb (8.2Mb was actually used) free at the start of the disk. I crossed my fingers and went to watch some tv. 20mins later I came back and found the lovely blue screen back and no real signs of life. This time I decided to try with 1MB (8.2Mb) free at the start of the disk and let ubuntu decide how to deal with the rest of the drive. swap and /boot both seemed to be ok about being formatted with the default EXT3 filesystem. Then as usual the screen went blue and everything seemed to have stopped. I took a few deep breathes, started abusing the box and Sun. I did some more poking around and couldn't find any more information.

It was getting late, but I decided no piece of scrap metal was going to beat me. This time I grabbed a new install image, just in case that was the problem. Again I started the install process. Again I let ubuntu decide how to handle things after the first 8.2Mb. I did a few other things while the installer was running, flicking back every minute or 2 to see what was going on. This time was the same as the previous attempts - it looked to me like it had failed. I tossed up between having a beer then going to bed or watching paint dry for the rest of the night, as I didn't have any paint, the beer and bed won. I was too annoyed with the T2000 to shut it down that evening.

The next morning I awoke to an ubuntu installer still running, very slowly but still running. It was wanting me to tell it about which driver to use for Xorg. I didn't care as the box had no video card in it. I decided to go with fbdev. The installer continued to run, albeit slower than I remember RH6 installing on my 486 many years ago. I let it go. It asked a couple more questions about X config along the way, which I just left at the default values. I noticed that the 2 drive lights were always one, except the drive where I was installing dapper, would flicker off for a split second every 3 to 5 seconds. I had read some stuff about slow i/o on these boxes, and assumed that maybe it was meant to be like this. I patiently waited, and waited and waited. Finally after 24hours of waiting, I had managed to install ubuntu 6.06.1LTS on my SunFire T2000. I danced, I was happy - really happy. Then I thought to myself, they can't really expect people to wait this long for an install to work.

As I am a sucker for punishment, I grabbed a new image, checked my notes and started installing dapper onto the other drive too. This time I kept on checking the installer. It had taken about 5 hours and 30 mins to fomrat a 70G EXT3 partition. All up it took around 24 hours to install on the second drive.

I finally decided that it wasn't me, it seemed like it was something hardware related. I logged a ticket with Sun. Then I decided to start digging for answers. Eventually I discovered that the T2000 rev2 uses a different SAS drive controller which isn't supported by the ubuntu 6.06LTS kernel. Fixes are available in newer kernels, but the ubuntu server team have indicated that they will not be backporting the fixes to 6.06LTS and that users should upgrade to 6.10 if they wish to run ubuntu on a SunFire T2000.

To check this was correct I tried installing the 6.10 on the server. I was shocked. It flew. Less than 15seconds to EXT3 format 70G all done in less than 2 hours.

After all this where does it leave people? As I see it you have 3 options if you want to run ubuntu linux on a SunFire T2000 rev2 box. The first is to install 6.06LTS and have it run slow, but this is a huge waste of of money, you would be better off buying a cheap second hand PII from somewhere, so this option isn't very practical. Option 2 is to run the latest and greatest version on it, 6.10 (aka edgy), there are some major downsides with this option, most notably the lack of certification and support is only available for 18 months instead of 5 years. The 3rd option is to wait a while and while you wait, encourage ubuntu, Sun and Canonical (the company that provided commercial backing to ubuntu) to work together to resolve this issue. As it stands at the moment all 3 players have made a big deal about ubuntu on Nigara and so all 3 players stand to face a customer back lash. Bad PR isn't good for any one.

Update: [13-Apr-2007 23:00] I have just got off the phone to Barton George, Group Manager, GNU/Linux Strategy and Product Management at Sun. The phone call follows on from an email exchange that started earlier this week. It seems that Sun and Canonical both want the problem fixed, they just have to work out how best to do it. So they are meeting today (US time) to try and come up with a plan to resolve the issues.

Although not mentioned on their website, as a work around Sun recommends using Ubuntu 6.10 (aka Edgy Eft).

I am awaiting a response from Sun about my request to be able to retest and submit an entry in the CoolThreads Performance Contest.

I will post any more info as I get it.

Disclosure: Sun is sending me a t-shirt, no string attached.