Enterprise Unix Roundup: When Is a License Not a License?
The answer to this week's question would seem to be "when it proves to be an inconvenience to SCO." The company's latest headline grab is an attempt to claim the GNU Public License (GPL), which makes the Linux kernel and many of the programs that run with the Linux kernel available as free or open source software, is pre-empted by copyright law.Answer: When it proves to be an inconvenience to SCO. SCO once again made headlines as the vendor attempted to claim the GNU Public License as its own. The company also announced advances in its SCOx Web services initiative. Security issues abounded this week, but Unix was largely untouched, and we continue last week's discussion about regular expressions.
When writing a book about Linux a few years ago, a ServerWatch columnist had to figure out a way to distill the GPL's core meaning into a few easy steps. Here's what he came up with:
- Users may run GPL-licensed software for any purpose.
- Users have the freedom to modify the program to suit their needs.
- Users have the freedom to distribute modified versions of the program so the developer community at large may benefit from the improvements. They may do so gratis, or for payment that doesn't exceed the cost of the medium on which the software is distributed.
- Users must make changes to GNU-licensed software freely available if they distribute that software to others in binary format.
The GPL is an example of a "non-exclusive license," a type of license that stipulates the manner in which a piece of software may be used, circumstances under which the license may be terminated, and the name to be carried on the copyright notice. It isn't "pre-empted" by copyright law, even though the occasional fuzzy-headed idealist will try to claim the GPL "nullifies copyright" or some such nonsense. It's awfully hard to nullify copyright when you're invoking it to license your software. Understanding the GPL is important even if you don't much care for Linux because its understandings have affected or are echoed in lots of other server software: Apache, the BSD family, some of Sun's offerings, Samba, and even a smidgen of code from Microsoft now and then.
Our sister site, LinuxToday, has done a good job of keeping up with responses to SCO's latest claims, including a nose-tweaking from the Samba team, which produces the software that enables Linux servers to replace Microsoft domain controllers. Despite SCO CEO Darl McBride's claim that the GPL is "about destroying value," the Samba team notes its own GPLed software is conveniently bundled in SCO's own OpenServer product.
At the end of the day, we're left with the sense that SCO is losing the public battle it's fighting in tandem with its legal struggle against IBM, and that those struggles are only part of the equation for SCO, which is also losing share for its Unix products to Linux. It's a sad case of a pair of companies (Caldera and SCO) that merged without a clear sense of how their offerings would work side by side.
Linux is widely understood to be eating away at SCO in the bigger picture. SCO is countering that not by taking the approach Novell did (as reported last week: if you can't beat 'em, join 'em), but squeezing what it can out of intimidated businesses running Linux while destroying the value proposition that drives much Linux adoption anyhow. It's unfortunate, zero-sum thinking. How the court will choose to reward SCO's behavior is unknown, but it seems clear that the events that unfurl each week leave the rest of us having to dredge deeper to come up with anything approaching sympathy for the company.
In Other News:
- SCO did, we're happy to note, do something besides kvetch about Linux this week: On Monday the company announced some new advances in its SCOx Web services initiative as well as the release of SCO Authentication 2.1 for Microsoft Active Directory and UnixWare Office Mail Server 2.0.
- Hewlett-Packard reported a sag in its Unix server business this quarter.
- IBM claims its Power5 processors will boost performance by up to 40 percent while increasing only 24 percent in size. The new processors are slated for release next year. The company says it has booted AIX, Linux, and OS/400 on the new chips.
- If you have any Hummer owners on your Christmas list, you might want to start saving for the General Dynamics V2: a battle-hardened 15-pound notebook running Solaris. Five hundred of them are shipping to Iraq and Afghanistan this year.
It was another quiet week on the security front, at least where Unix systems were concerned. Sobig.F and Blaster took up a lot of attention, as did the blackout in Northeastern North America. That doesn't mean nobody had anything to say: Bugtraq was host to a lengthy and interesting thread about buffer overflows and how to prevent them.
Buffer overflow bugs are behind quite a few of the security compromises patched each week, and they've been fairly described as a thoroughly avoidable but shockingly common nuisance. The OpenBSD project's Theo de Raadt is on hand in his usual charming way, dismissing dissenters for their "dribble" as he makes his case. The thread's worth a read: OpenBSD has been a true exemplar when it comes to security, so even if the conversation gets a little heated, we trust at least one participant on the strength of his record.
Tips of the TradeRegular Expressions (Part 2)
Last week we took an initial look at regular expressions (a.k.a. "regexps"), the alternate universe Unix version of the wildcard. We said regular expressions are more flexible and powerful than wildcards, and mentioned that they drive many common Unix programs, like grep, sed, and awk.
We used the characters "*" and "." to show some of the differences between regexp syntax and wildcards. Here's a table of some you might find useful:
|*||the previous character 0 or more times|
|^||the start of a line|
|$||the end of a line|
So, to use a Web server log as an example again, suppose you wanted to find every visit from a specific host, for example, www.widgetco.com? Since the visiting host is the first item in a log entry, you might try:
cat /var/log/apache/access.log|grep ^www\.widgetco\.com
Why the "\" characters? They "escape" characters we want read by the regexp as literal characters, not special regexp characters. Since . means "any character," we want to make sure it's escaped so it just means ".".
Next week we'll look at alternation and some other advanced features of regexps. See you then!