|
|
Log in / Subscribe / Register

LWN.net Weekly Edition for August 19, 2004

Parallel forks

The free software world generally sees a fork in a development project as a bad thing. The ability to fork is a crucial freedom, but the exercise of that ability is seen much like initiating a divorce. Sometimes it is necessary, but it is rarely an event which brings joy.

Little attention, however, has been paid to the idea of a parallel fork, which we will define as a fork which continues to follow the changes in the original project. The Linux kernel has been the subject of large numbers of parallel forks over the years; distributor kernels, architecture-specific trees, and development trees have diverged widely from the mainline kernel and each other, but they also track the updates to the mainline. Projects which are patched by distributors (such as cdrecord) can also be seen as parallel forks. Yet another example might be Sylpheed-claws, which functions as a testing ground for bleeding-edge Sylpheed features. Parallel forks can be the best of both worlds: they retain a tie to the original project, but also are responsive to whatever forces created the fork in the first place.

A parallel fork worthy of some attention is ooo-build, a version of OpenOffice.org maintained by the folks at Ximian. Version 1.3.0 of ooo-build was announced on August 18. This fork was motivated by several issues, which are explained in depth at the project web site. What it comes down to, however, is that the OpenOffice.org process is slow, bureaucratic, and difficult for outsiders to contribute to. As the web site says, "this is no way to create excitement and provide fast problem fixes". So ooo-build was set up as a place where would-be contributors can get their changes in quickly and, with luck, see those changes used and possibly propagated back into OpenOffice.org.

What does the 1.3.0 release offer?

This package contains Desktop integration work for OpenOffice.org, several back-ported features & speedups, and a much simplified build wrapper, making an OO.o build / install possible for the common man.

There is a detailed list, which includes a number of bug fixes, GTK+ and KDE file selector support, Lotus 123 importing, improved icons, and much more. Oh, and the obnoxious business where OOo calls your file "modified" every time you print it has been fixed.

The ooo-build parallel fork is a good thing: it brings the notoriously unapproachable OpenOffice.org development process closer to what the rest of the community expects to deal with. It can be a useful staging ground which gets new features to users quickly, and enables stability testing which can help smooth the eventual merging of those features into OpenOffice.org. It is not the sort of acrimonious separation which normally comes to mind when the word "fork" is mentioned; it is, instead, more of an impedance matching mechanism. ooo-build should result in a better OpenOffice.org experience for everybody involved.

Comments (8 posted)

Alternatives to cdrecord

August 18, 2004

This article was contributed by Joe 'Zonker' Brockmeier.

After last week's discussion of cdrecord, and concerns that recent releases of cdrecord may not be free software, we decided to take a look and see what alternatives exist for Linux users. The answer, unfortunately, is "not many." While there are quite a few front-ends for recording CDs under Linux, there are very few actual CD and DVD-burning applications available to Linux users. Applications like K3b, MP3Roaster, BashBurn and others all use cdrecord to burn CDs.

In all, we were only able to find three suitable candidates for users looking to find a replacement for cdrecord. Projects that were obviously abandoned or with no new releases in more than one year were not considered.

Cdrdao

For users with no interest in recording DVDs, Cdrdao is available under the GPL and is a good alternative to cdrecord. This utility will perform disk-at-once recording for audio and data CD-R/CD-RWs. The primary focus of the Cdrdao project seems to be audio or mixed-mode CDs. In fact, documentation on burning ISO images with cdrdao seems to be non-existent.

However, it is possible to burn ISOs with cdrdao with a little extra effort. Burning CDs with cdrdao requires a description file (either a native toc-file or a cue file from a Windows burning utility) in addition to the actual data to be burned to CD. In the case of ISO images, users must create the toc-file by hand to provide cdrdao with the necessary information to burn a disk from an ISO. The cdrdao utility is also used to make an image of a disk, and to create a toc-file to burn the image back to disk.

Aside from the extra bit of effort required to create a toc-file, cdrdao works well and is probably preferable to cdrecord for users who primarily burn audio CDs. One note of caution, users should specify an appropriate writing speed for their device. This writer neglected to specify a writing speed the first time out of the gate, and cdrdao elected to shoot for a rather optimistic 40x writing speed -- which produced a coaster rather than a bootable KNOPPIX disk on the Sony DRU-530A DVD+RW/-RW, CD-RW drive. Theoretically, this drive is rated for 40x burns with CD-R media, but much better success has been had with lower burn rates.

The supported drives page gives a list of drives that are known to work with cdrdao, though it is not exhaustive. Version 1.1.9 of cdrdao was released on June 7, 2004.

OSS DVD Extensions

Though not a standalone program, the OSS DVD extensions are worth mentioning. This project provides extensions to cdrecord for users who would like to be able to burn DVDs as well as CDs. There is little difference between using cdrecord and cdrecord with the OSS DVD extensions, with the exception that the OSS DVD extensions enable DVD burning from DVD-R(W) drives.

The OSS DVD website includes patches for several releases of cdrecord, as well as RPMs for several versions of Fedora Core, Mandrake, Red Hat, and SUSE Linux. The last patch for cdrtools was released in May. The OSS DVD Extensions should work with any drive supported by cdrecord.

DVD+RW-Tools

Another project for DVD-burning is the DVD+RW-Tools project. Despite the name, the DVD+RW-Tools project actually supports DVD+RW and DVD-RW drives.

This writer has been happily using DVD+RW-Tools since investing in a DVD burner back in February. The DVD+RW-Tools project includes a utility called growisofs, which is used to master images and burn them to disk. Growisofs can also be used "on the fly" to burn directly to DVD without the intermediate step of creating a image file. The project also includes a utility called dvd+rw-format to, not surprisingly, format DVD+RW media before use.

The DVD+RW-Tools are used only for burning DVDs. Users who want to burn CDs and DVDs must depend on cdrecord or cdrdao for CD burning. The project seems to be a fairly healthy one, with the latest release being a little more than a month old at the time of this writing. According to the DVD+RW-Tools website, any MMC-compliant drive should be supported.

Conclusions

While it's not unusual for people to complain that there are too many programs that handle a given task (e-mail clients, for example), the Linux community could do with a choice of CD and DVD recording programs. The existing programs are suitable enough, but users are left with a disappointing number of options when they need to utilize CD and DVD burners.

Comments (22 posted)

IBM's summary judgment motion

The core of the suit filed by the SCO Group against IBM is a set of breach-of-contract allegations. SCO is saying that IBM, through its contributions to Linux, has violated the Unix licensing contracts signed with ATT years ago. SCO's rather broader public claims have tended to overshadow the much more restricted nature of the actual case at hand, but that is what the real issue is. IBM has concluded that the time has come to put an end to those charges, however, and has filed for a partial summary judgment which would dispose of the contract case. The supporting memorandum is available as a 100-page PDF file. Your editor, who has not had a chance to rip into this sort of meaty legal document for a while, has been through the whole thing; the following is a summary of what IBM is saying.

IBM goes on at great length on why it believes the judgment should be entered. The core of the argument reads this way:

  • There is very little of the original Unix code in either AIX or Dynix.

  • Of that code which remains, IBM has contributed none of it to Linux.

  • SCO's interpretation of the license, which would give SCO rights over any code which ever went near AIX or Dynix, is nonsensical. SCO has no rights over IBM's code which it developed itself.

  • Even if the license agreement did, somehow, give SCO those rights, Novell has the right to waive licensing enforcements, and has done so in this case.

  • SCO, by virtue of continuing to publish the contested code itself, has forfeited any rights it may have had to keep others from doing so.

  • SCO's right to terminate IBM's AIX and Dynix license (the basis of two of SCO's charges) does not exist, and, if it did, it would be overridden by Novell's waiver.

As followers of the flotilla of SCO cases have been reminded many times by now: a motion for a summary judgment must show that there are no disputed facts at issue. For IBM to prevail here (and avoid a longer trial on these charges), it must show that all the facts are on the table and are not contested. The standards are high for this sort of motion; if you want to short out a real trial and dump a set of charges against you, you must have a truly convincing argument.

Direct copying of code

The first two points above (direct copying of code) are argued early on, in ¶7:

SCO alleges that it has found approximately 74,000 lines of UNIX System V code in AIX and approximately 78,000 lines of UNIX System V code in Dynix... SCO does not contend (and in any case has no evidence) that IBM has misused any of these lines of code.

One of the best ways of establishing an "undisputed" fact, obviously, is to use the opposite side's statements against them. IBM does not stop there, however; the company brought in its own MIT scientist (and a high-profile one at that: Randall Davis) to compare IBM's Linux contributions against the SYSV code base. Mr. Davis concluded that, as one might expect, there is no SYSV code (or even similarities to SYSV code) in IBM's work, which is, thus, not a derived work of SYSV. The memorandum does not state whether Mr. Davis developed a deep semantic theory to that effect, however.

Finally, IBM repeatedly points out that SCO was never able to provide any examples of SYSV-derived code contributed to Linux, and that SCO is not arguing that such a contribution has occurred:

Moreover, SCO's responses to IBM's interrogatories do not identify any UNIX System V source code from which any of the code IBM contributed to Linux is allegedly derived. Indeed, SCO refused to provide such information because it "is not part of SCO's claims". (¶59).

Thus, says IBM, the lack of any direct use of SYSV-derived code in violation of the license agreement is undisputed.

What the license says

SCO still seems to believe that it has a case, however. That case depends on a very broad reading of the Unix license contract signed between ATT and IBM almost 20 years ago. From ¶62:

SCO's contract claims instead rest entirely on the proposition that "[t]he AIX work as a whole and the Dynix/ptx work as a whole are modifications of, or are derived from [UNIX] System V". Under SCO's theory of the case, all of the tens of millions of lines of code ever associated with any technology found in AIX or Dynix, even if that code does not contain any UNIX System V code, is subject to the restrictions of the IBM and Sequent Software Agreements.

SCO, in other words, claims to own anything which ever might have breathed the same air as SYSV Unix. This interpretation has been clear for some time, and IBM has gone to great lengths to get SCO to commit itself (in court) to that position. IBM now hopes to demonstrate that, beyond any possibility of dispute, the license contracts do not give SCO the rights it thinks it has.

The first step in that process was to hold depositions with all of the people involved in the writing and signing of those contracts. So they tracked down all of the IBM, Sequent, and (crucially) ATT people who were involved in the process and queried them about the intent of the license language. Everybody involved, on both sides of the table, agreed that the contract was never intended to give ATT (or any of its successors) power over code which it did not develop. There are many pages of quotes to this effect. Here is one example, from Michael DeFazio, who ran ATT's Unix product management, marketing, and licensing group, and who said:

The [software] agreements did not (and do not) give AT&T, USL, Novell, or any of their successors or assigns the right to assert ownership or control over modifications and derivative works prepared by its licensees, except to the extent of the original Unix System V source code included in such modifications and derivative works.... I do not believe that our licensees would have been willing to enter into the software agreement if they understood Section 2.01 to grant AT&T, USL, Novell, or their successors or assigns the right to own or control source code developed by or for the licensee. (¶90).

Several of the ATT people involved are also quoted as stating, flat out, that SCO's claims are wrong.

IBM notes that, under New York law (which is the law governing its agreement with ATT), sworn statements from both parties to a contract are the most compelling evidence with regard to the intent of the contract. So, if there were any ambiguity in what the contract means (which, says IBM, there is not), the testimony from the relevant IBM, Sequent, and ATT people would be more than sufficient to straighten things out.

Not content with that, however, IBM argues this issue from several other points. It brings up the old issue of $ echo describing ATT's intent, and the "side letter" signed with IBM and various other licensees. ATT also redrafted the paragraph in question at some point; the people involved stated that the change was only to make the intent clearer, and did not actually change the license terms. IBM states that SCO's interpretation of the contract is simply absurd and unreasonable, and thus not enforceable. And finally, IBM cites federal copyright law and its provisions regarding rights over derivative works.

Waivers

IBM believes that it has shown that there is no possible interpretation of the ATT license contract which favors SCO's position. But, says IBM, even if that argument were to fall apart entirely, it doesn't matter: Novell has waived any alleged breaches by IBM. The agreement between Novell and the Santa Cruz Operation ("old SCO") is murky in several ways, but it seems clear that Novell retained the right to shut down enforcement of Unix license agreements at its will. Says IBM:

Novell's letters to SCO establish as a matter of law that even if SCO had the right under the IBM and Sequent Software Agreements to prevent IBM from disclosing its or Sequent's original code, Novell explicitly waived that right.

If that isn't enough, IBM also claims that SCO, itself, has waived any enforcement rights through its own distribution of Linux.

In this case, SCO's acts and conduct are plainly inconsistent with an intention to assert a breach of contract against IBM based on the code allegedly at issue. Both before and even after SCO sued IBM, SCO sold to customers and made publicly available on the Internet the code that it claims IBM improperly contributed to Linux. Indeed, this code was still available on SCO's website as recently as August 4, 2004. SCO cannot on the one hand market and sell the source code IBM contributed to the Linux operating system, and on the other hand claim that IBM was prohibited by its licensing agreements from contributing that code to Linux.

In support of this position, IBM has dug up old SCO press releases and such proclaiming features like journaling filesystems, SMP scalability, asynchronous I/O, etc. As many people have pointed out over the last year, SCO has dug itself into a deep hole with its own Linux distribution activities.

License termination

Two of SCO's charges against IBM have to do with SCO's "termination" of IBM's Unix licenses. This termination, says SCO, deprives IBM of the right to distribute AIX or Dynix. It also, incidentally, is said to deprive all users of those operating systems the right to keep running them - a risk of proprietary code that, one assumes, most users were not expecting to have to deal with.

IBM's motion deals with these actions almost as an afterthought. If IBM has truly not breached the Unix agreements, then SCO's "termination" is clearly beyond its powers. IBM states that SCO has no right to terminate the license in this way in any case, however; quoting Novell:

Pursuant to Amendment No. X, however, Novell and SCO granted IBM the 'irrevocable, fully paid-up, perpetual right' to exercise of of the rights under the IBM SVRX Licenses that IBM then held. IBM paid $10,125,000 for the rights under Amendment No. X. Novell believes, therefor, that SCO has no right to terminate IBM's SVRX Licenses, and that it is inappropriate, at best, for SCO to be threatening to do so.

Even without this argument, however, Novell's waiver of enforcement rights should be adequate to counteract this "termination."

Conclusion

IBM's motion for a partial summary judgment is thoroughly and comprehensively argued; the company would appear to have covered all of the bases. If IBM's argument holds water with the judge, the core of SCO's case will have been demolished, and the collapse of the entire house of cards will not be far away. This motion is an ambitious attempt to put an end to this whole affair.

It is interesting to see which arguments do not appear in this memorandum. In particular, there is no reference to the whole issue of who really owns the Unix copyrights other than little digs like saying that SCO "purports" to have acquired them. The copyright ownership issue could, by itself, torpedo everything SCO is trying to accomplish. But the ownership of the copyrights is very much a disputed fact, and, as such, it is not a useful argument in support of a summary judgment.

If IBM succeeds with this motion, the SCO case is done. It would be far too soon to conclude that this will come to pass, however. The next step will be a response from SCO, followed by arguments in front of the judge. SCO will do its best to drag up facts which, it will claim, remain in dispute. We may see expert witnesses claiming that, testimony from the principals involved notwithstanding, the ATT license agreements have a broader meaning than IBM is claiming. SCO may try to claim that it hasn't been able to come up with the facts because IBM has been "stalling discovery." And so on. If SCO can create enough fog around IBM's arguments, it might just succeed in defeating this motion and forcing the whole thing to go to a full trial. In that case, we would have to wait until next year for the outcome.

Comments (22 posted)

Page editor: Jonathan Corbet

Inside this week's LWN.net Weekly Edition

  • Security: The Mosquitos trojan; New vulnerabilities in gaim, glibc, gv, KDE, rsync, ...
  • Kernel: The <tt>fcntl()</tt> method goes; 2.6.8 and CD recording; Latency update; Power management.
  • Distributions: What is UserLinux?; clive
  • Development: The MediaWiki Collaborative Editing Software, new versions of ALSA, Esound, JPOX, Slony, Samba, Metasploit Framework, Zope X3, Metacity, BIE, Stella, Wine, GStreamer, Liferea, Epiphany, Netscape, AbiWord, gLabels, HylaFAX, OpenWFE, SwingSet, PHP.
  • Press: Linus interview, Barlow interview, localization issues in India, Motorola phones to use Linux, Munich goes ahead with Linux, Linux used by most reliable hosting providers, anonymous P2P with Mute.
  • Announcements: Anti-Virus for Linux, Linux Networx Battlefield Sumulation, ITTIA open source embedded database, User Guide to Using the Linux Desktop, aKademy tutorials, new benchmarks, Free Dog.
Next page: Security>>

Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds