The Death of OpenSolaris Confirmed

Recently, I posted about the future of OpenSolaris and the lack of response from Oracle.

Oracle still has no official response, and has no word on where OpenSolaris is going. However, a memo to Oracle Engineering was leaked and then posted to the OpenSolaris Discussion mailing list (osol-discuss) and was later confirmed by an Oracle employee to the mailing list.

William Yang has a nice write-up on the memo and its salient points; in short:

  • Oracle will no longer let OpenSolaris track Solaris development.
  • Solaris code will stay under the CDDL license.
  • “OpenSolaris” as a distribution will no longer be released.
  • Code will only be released after Solaris is released.

Also interesting is Oracle’s reasons for closing down OpenSolaris:

  • Not enough man-power.
  • Releases Solaris technology to competitors.
  • Prevents users from using Solaris.

Oracle has never been a popular company; most Oracle DBAs in my experience have never been happy with Oracle’s support or licensing, for example. This contrasts with Sun, which has always had a positive image.

In the area of open source, Oracle has always been a champion of closed source, in contrast with Sun which had been a positive open source champion. As a result of this, we are seeing more and more open source projects by Sun either closed down or changed into closed source: consider the closing of Project Kenai (a SourceForge-like site for open source projects), the fears over the future of MySQL, and the death of OpenSolaris.

The OpenSolaris experience under Oracle has echos in MySQL: Monty Widenius, the founder of MySQL, was quite vocal in his opposition to the Oracle purchase of Sun, and expressed his fear that MySQL would become closed source. Perhaps his experience with SAP and MaxDB had something to do with that – MaxDB had been released under the GPL through 7.6, when it was returned back into SAP and became closed source once again.

About the time that Oracle announced its purchase of Sun, Monty began the GPL-licensed version of MySQL, MariaDB which has taken hold, and the European Union mandated that MySQL shall remain dual-licensed. I wonder if MySQL’s fate would have been similar to OpenSolaris if it had not been for Monty.

It would be interesting to track the other open source projects now under Oracle’s umbrella:

  • Java (and OpenJDK), and its add-ons
  • Glassfish (J2EE)
  • MySQL
  • NetBeans
  • Lustre file system

Renaming a host (UNIX, OpenVMS)

Renaming a host is not, in general, a pleasant experience. The general requirement is that you must find everywhere that your hostname is specified and change it.

In OpenVMS, this can be an extensive process, and even require relicensing if you have licenses that depend on your hostname. It can also require rebooting of an entire VMS cluster if you miss changing a parameter. The full details are in the VMS FAQ such as this one (dated from 2001) from faqs.org or this one from HP (undated). Hoffman Labs has a copy from September 2006; there is information on changing a node name in section 5.7.

Not that in changing the OpenVMS hostname in a cluster, you must change the SCSNODE parameter (which changes the cluster node’s nodename). If you change the SCSNODE parameter, you must change the SCSSYSTEMID as well or the entire cluster will refuse to function until it is reconfigured. The cluster tracks the pairing between these two parameters, and if the pair changes, then the cluster stops working normally.

For UNIX in general, one way to do it is to go to the /etc directory as root and run a search:

$ su -
Password:
# cd /etc
# find . -type f -print | xargs grep -i myhost

After running this, change all of the instances of myhost that is found.

This is the way to change hostnames in Solaris, including Solaris 9 and Solaris 10. Debian and derivatives (including Ubuntu and Linux Mint) and HP-UX make it simpler.

In Debian, there is a file called /etc/hostname. This will contain the current setting of the hostname. Change this to your desired new hostname, then run the shell script /etc/init.d/hostname.sh.

In HP-UX, change to root and run the program set_parms with the hostname option:

# set_parms hostname

For all of these possibilities, the best thing to do is to reboot afterwards: this will test the new setup as well as change any in-memory hostname settings.

Changing a hostname is a drastic measure, and will include much in the way of system modification and updates. Changing the actual hostname is very likely only the beginning; there may be clients that are set up to contact the host, and any services that the server provided (e.g., NTP server, FTP server, web server, NIS server, etc.) will require reconfiguration on the clients to use the new hostname.

In summary, the very best thing to do is to get the name right in the first place.

Powered by ScribeFire.

Network Attached Storage (NAS)

Once you hear what a NAS appliance does, you might be tempted to think (as I did) what all the fuss might be about. But there are reasons for a NAS appliance, though a NAS isn’t for everybody.

Network Attached Storage is nothing more than a server with a pile of disks and a dozen different ways to access them. For most intents and purposes, the difference between a File Server of yesteryear and the Network Attached Storage of today is conceptually rather minimal.

NAS typically provides access to files via such methods as Windows shares, NFS, iSCSI, Appleshare and others.

So what does a NAS appliance provide that a NFS server does not? There are several benefits:

  • Special purpose. Since the system is solely for the purpose of serving up files for users, there is no need for any other facilities except those that deal with its specified purpose. Thus, a lot of potentially vulnerable or unreliable code can be removed, and the speed and reliability of the system can be increased. Some systems do not come with a general purpose operating system of any kind, but rather a specially designed operating system for serving files alone.
  • Extensive support. In many cases, since the system is specifically designed for serving up file storage, the innumerable variations of network storage protocols come supported out of the box.
  • Ease of use. With the system designed to serve one purpose – and to provide the customer with the best possible experience – the system is generally made much easier to configure and easier to use than having to configure the varying servers and protocols independently.

There are two different NAS products that are the heavy-weights in the free and open source arena: FreeNAS (freenas.org) and OpenFiler (openfiler.com).

The most obvious difference between these two is their base (and their associated licenses). The base for FreeNAS is FreeBSD, and like FreeBSD, is licensed using the BSD license. However, OpenFiler uses Linux as its base, and is likewise covered by the General Public License version 2.

This week, I’ll focus on FreeNAS with the assistance of a book entitled Learning FreeNAS by Gary Sims and published by Packt Publishing.

Powered by ScribeFire.

About ZFS

I’ve known that ZFS was a revolutionary filesystem, but never understood the details. Now there is an article that explains why ZFS is so desirable, and does so well.

Apple started supporting ZFS read-only in Leopard, and has released beta versions of Leopard with writable ZFS.

FreeBSD committed ZFS to the 7.0 tree in April of 2007. There is an excellent article that describes how to install FreeBSD 7.0 with ZFS. The FreeBSD Project also has a wiki page that describes the current state of ZFS under FreeBSD, and has some nice links about ZFS.

So why isn’t ZFS in the Linux kernel tree? Because the license for ZFS, the Sun CDDL, conflicts with the Linux kernel’s GPL license. There was an interesting discussion on the Linux Kernel Mailing List (lkml) summarized at kerneltrap.

One way to avoid the license issues is to run Linux inside a Solaris zone; while the Linux system is not aware of the filesystem used as the backing store for the zone, the Solaris system could use ZFS as the zone’s filesystem.

Free Software Foundation Files Suit Against Cisco

This is incredible news. The behemoth Cisco has apparently not been in compliance with the GPL License (in relation to their Linksys routers for one), and one problem after another seems to have been cropping up as the Free Software Foundation (FSF) tried to resolve each one.

Finally, the FSF saw no recourse but to finally file a lawsuit to get them to resolve all of the issues and released a press release to that effect. The FSF gives more details in this article. The complaint filed by the Software Freedom Law Center (who announced the filing on their on site) on behalf of the FSF is also available.

The news is spreading far and wide: already, there are articles in InformationWeek, InternetNews, and NetworkWorld. It’s also already on Slashdot, and a Wikipedia page is aging nicely already. (Side note: it’ll be interesting to see how gnu.org handles the slashdot effect…. but I digress.)

I can’t wait until the folks at Groklaw get their hands on this; will be interesting (and will update with the results when it happens).

Lastly, if you believe in what the FSF has been doing, why not join today?

License wars: GPL vs. BSD (or What happened to the public domain?)

There is a very interesting article about the GPL copyright license and the BSD copyright license, and this author’s view that the public domain is the only way to go. This is a very interesting take on both licenses.

His (her?) view is that both licenses place restrictions on the user (as he suggests all licenses do). However, I would beg to differ with the assessment on both licenses…

The GPL license does place restrictions on the user; however, those restrictions are there to preserve the freedom to change, modify, and give away the source code. That’s it. The restrictions are there to preserve freedom.

The BSD license places restrictions that basically say the user is responsible for the software, and says nothing about anything else. The BSD license was designed to preserve the freedom to do whatsoever you will with the software (including putting it into proprietary systems and not releasing source code).

However, the public domain basically places no restrictions whatsoever on your software. Thus, someone can appropriate the software, start selling it, claim they wrote it, and more – without any recourse for you, the original author. It is for this reason that the Public Domain is not where you want your software.

How to license your code (a plea)

A lot of software out there that admins use, perhaps especially security software, comes with a license – and often not a standard license like the GPL, the BSD license, the Artistic License, or the Mozilla License. In a corporate setting, each of these licenses should be vetted by the corporate legal department before we as admins can use the software.

The more different licenses there are, the more headaches there are for the admins that must get these licenses okayed by the legal department. Possibly the worst is creating one’s own license on the fly, instead of using a commonly used and accepted license.

There are a large number of already accepted licenses; if you use one of these for your software, then admins that want to use the software may find that the license has already been examined and approved. This makes it easier to get the software into corporations. It also means that all of the hard work that lawyers do to get the license crafted just so has already been done for you.

Here is a list of commonly used and accepted licenses:

The Open Source Initiative (or OSI) has a large list of open source licenses.

Why make it hard for software to be adopted for use in corporate environments when you don’t have to? Select a standard license.

SystemTap (and DTrace)

SystemTap is one amazing piece of work – it is a programmer-friendy and admin-friendly interface to KProbes (which are included in the Linux 2.6 kernel).  When you compare its capabilities to what has gone before, it is truly amazing.  Here are some of the things you can do:

  • Quantify disk accesses per disk per process (or per user)
  • Quantify the number of context switches that are a result of time outs
  • List all accesses to a particular file and the process that accessed it

This is only the tip of the iceberg. There is a wiki with more details, including “war stories.”  There is a language reference there as well.

There was an excellent article in Red Hat Magazine, “Instrumenting the Linux Kernel with SystemTap” by William Cohen.

One controversy that came up was that the initial impetus for creating SystemTap was to implement something like Sun’s DTrace for Solaris but under the GNU Public License.  Solaris and DTrace are licensed with Sun’s Common Development and Distribution License (CDDL), which many feel makes DTrace incompatible with the GPL-licensed Linux kernel.

Apparently, the CDDL is also incompatible with the BSD-licensed FreeBSD, as FreeBSD 7.0 will not have DTrace either.  There appears to be some licensing issues.

According to the Wikipedia entry on the CDDL, it was designed to be both GPL-incompatible and BSD-incompatible.  With regard to the GPL, the entry suggests that Sun never clarified why; as to the BSD, Sun did not want Solaris to wind up in proprietary products – which the BSD license allows.

On a brighter note, Eugene Teo was able to get the SystemTap tool to work on the Nokia N800.  The article seems to be behind a wall at LiveJournal; the article is still in Google’s cache.  However, it does requires some amazing convolutions:

  • A kprobes-enabled kernel must be installed on the N800
  • The SystemTap programs (like stap) must be installed on the N800
  • Any traces must be cross-compiled on another host
  • The kernel module thus created must be moved to the N800
  • Once the kernel module is in place, then the trace can be done.

So every desired trace requires precross-compilation on a desktop (sigh)…  Oh, well.

There is even a GUI for SystemTap in the works.