Sponsored link Serve your customers, not your servers, with VERIO Linux VPS. Full-access test-drive here. |
LWN.net Weekly Edition for April 17, 2008Turnitin and fair use The McLean, Va. High School students whose copyright infringement lawsuit against iParadigms, LLC and its Turnitin plagiarism-detection software system was dismissed on summary judgment on March 11 have filed a notice of appeal [PDF] to the Fourth Circuit Court of Appeals. That was likely a surprise to iParadigms, whose CEO John Barrie confidently predicted that hell would freeze over before the students would appeal. Yet, appeal they have. So this story isn't over yet.District Court Judge Claude Hilton's Opinion [PDF] ruled that Turnitin's use was highly transformative and hence fair use; that is one of the issues that will be appealed, as Robert Vanderhye, the attorney representing the students pro bono, explained to me in an email interview:
What the
judge held, and what we are appealing, are (1) if a minor clicks on to
the Turnitin.com website he/she is bound by the conditions of the
"Agreement" even if it denies the student the ability to enforce his/her
copyright, and (2) as a matter of law the Turnitin use is transformative
so that it is fair use instead of copyright infringement.
With respect to the first, we submit that the Court misinterpreted Virginia law, and did not apply the controlling Virginia cases that we cited. With respect to the second there clearly are facts in dispute. Among the facts in dispute are a) does the Turnitin system work to deter plagiarism, or does it actually encourage plagiarism since it is so easily avoided by anyone who really wants to plagiarize; b) is the Turnitin system so insecure that students papers can easily be recovered by a hacker so as to easily allow theft of the students' works, or for a criminal to use information contained in student works against them; and c) how can the Turnitin use be transformative when they will send a student's work verbatim to someone outside the student's school system without the student's permission, or even knowledge. Also, with respect to the second point, Turnitin violates the FERPA since student names, schools, and personal information are usually on the student works; since it violates FERPA as a matter of law the Turnitin system is against the public interest, and therefore there can be no fair use. He mentions that there are facts in dispute because a court is only supposed to grant summary judgment if the pleadings and supporting documents, when viewed in the light most favorable to the non-moving party, show that there is no genuine issue as to any material fact. Fed. R. Civ. P. 56(c). The major issues being appealed then are: Was it error to dismiss this lawsuit on summary judgment? Can minors lose copyright rights, because of clicking "I agree" to an agreement that their schools compelled them to agree to? What about the privacy issues under the Family Educational Rights and Privacy Act (FERPA)? But the key question is, Is this fair use? iParadigms' point of view, one that the lower court agreed with, is that a lot of high schools and universities use this software and rely on it. They find plagiarism goes down significantly. Turnitin isn't using the creative parts of the papers for commercial gain, the judge said; it's a system of integrity checking. And that's a transformative use.
Similarities between Google Books and Turnitin:
For that matter, so is Google
Books, in that it's a kind of digital card catalogue, letting us know where
to find books with information we want. In Perfect 10,
Inc. v. Google, Inc. (the thumbnail photo case, hence another
works-in-a-computer-database fact pattern) the court found that, too, was
transformative and hence fair use. Judge Hilton notes this finding in his
order on page 13. The photos had one purpose originally, the court
found, but putting
them into a database was something not originally intended, and the search
engine "provides a social benefit by incorporating an original work into a
new work, namely, an electronic reference tool." The purpose is limited
and the works are used only for comparative purposes that provide a social
benefit. He does mention the exception to that, however, in that if there
is a request to see the work a student's paper allegedly seems to have
plagiarized, a teacher can obtain that work to evaluate. Hence the appeal
over archiving by students who don't want their works used that way.
Differences:
If the students have issues about having to use the system, they should take it up with the schools, the judge ruled, because that is who is giving Turnitin authority to do what they are doing with these student papers, and he thought the schools had the right. As for fair use, Judge Hilton found that this was a transformative use, and he quoted a definition of transformative from a case, Harper & Row Publishers, Inc. v. Nation Enterprises, to mean that it "adds something new, with a further purpose or different character". If use is transformative, he wrote, it's "strong evidence" that the use is fair use. iParadigms has on its website a legal opinion [PDF] it commissioned from Foley & Lardner. Fair use is a bit hard to pin down. Even the legal opinion notes that fair use is very much dependent on the facts of each situation:
Determining whether a copyright exists in a particular work or is infringed
by a particular use of the work is difficult. The analysis is so
fact-specific that relatively minor variations between the facts of
superficially similar cases often lead to diametrically different
conclusions.
To grasp the students' point of view, imagine if a company decided to offer a service to check for infringed code, so it collected all the world's proprietary software it could get its hands on, without permission from the original authors. Say it got copies from the world's libraries. And there was no way to opt out. Now, imagine that if the software thought it found a match, you could request to see the proprietary code that it was thought to infringe. Do you think the proprietary software companies or the authors of that code would view that as a transformative fair use? The crux of the students' issue, then, is the archiving. They don't want their papers to remain in the system, even if they must submit them for originality review. It bothers them that iParadigms archives the students' manuscripts and then uses them for profit, while they, the students, lose control over their own work without getting any compensation. The students have their own website, Don'tTurnItIn.com, and they have some additional court filings available there. A lot of commentary so far has cited Judge Hilton's ruling, because of its fair use arguments, viewing the opinion as perhaps being helpful to Google in the litigation brought against it by the Author's Guild and others regarding Google Books, and I'm sure you can see why. But there are significant differences too. Some have argued that copyright law is out of date in a digital world, the Internet being nothing but one huge copying machine. Computers copy, and so some suggest it would be more logical and less damaging to penalize wrongful distribution, not copying. In that sense, the judge's ruling was quite progressive. Indeed, it's hard to read his opinion without concluding that to Judge Hilton, copying by a computer isn't a problem, so long as human eyes are not involved, the use is transformative, and there is no distribution for profit or any market harm. In iParadigm's Counterclaims [PDF], there were several other causes of action, trying to mold the facts into a claim of "trespass to chattels" and even claims of violations of the Computer Fraud and Abuse Act, as well as Virginia's Computer Crimes Act. Those are serious allegations. On the first, the assertion was that the plaintiffs allegedly used nyms like 'Rube Goldberg' and 'Perpetual Motion' to improperly file papers in the Turnitin system without authorization. The court dismissed those counterclaims, pointing out that you have to prove actual damages and, in the case of trespass to chattels, some impairment of quality or condition or use. It's a bit hard to come up with a dollar figure for how harmed one is by someone's use of a nym. As for filing the papers without authority, where's the financial harm, the court asked? Trespass to chattels in meat space is like someone taking your car for a joy ride, getting into a fender bender, and then bringing the car back without fixing the fender or even filling the gas tank back up. Not only is the car damaged, but you didn't have use of it while it was out being driven around, and so you couldn't drive it to the airport yourself as you intended and missed your job interview. And it's your car, your personal property, which is what chattel means. Like many other legal concepts, it has been applied to digital world, as if physical property and intellectual property are identical, and in some ways, it fits. AOL was an early trailblazer in using trespass to chattels successfully against spammers, arguing that the sheer volume of emails interfered with their being able to use their own system as intended to service their real customers properly (here's one example). iParadigms also claimed that the terms of their Usage Policy provided for indemnification to iParadigm arising out of any use of the Turnitin website. It also has a user agreement that you are confronted with and must click "I Agree" to in order to submit papers to Turnitin. The judge made a distinction between the user agreement and the Usage Policy, however, noting that there was no "I Agree" to the Usage Policy or any evidence that the students saw it, and it was not referenced or incorporated into the user agreement. So he decided that while the students were bound by what they said "I Agree" to, they never agreed to the Usage Policy. But the appeal asks whether these minors ever gave a legally binding assent, since their "I Agree" was really "My School Says I Have to Agree". In some respects, this EULA issue may be as interesting to track as the fair use questions.
ELC: Trends in embedded Linux Henry Kingman, editor of LinuxDevices, opened the Embedded Linux Conference with a look at the trends in embedded development since he started covering the subject in 1999. Based largely on the annual surveys run by LinuxDevices, his keynote speech highlighted the growth of Linux as an embedded operating system as well as where it is headed in the next few years. The conference, which started April 15 in Mountain View, California, gathers around 175 embedded developers for three days of talks on a wide variety of embedded topics. Sponsored by the Consumer Electronics Linux Forum (CELF), the conference has become the premier technical conference for the ever-growing embedded Linux community. Each day has a keynote, with kernel hacker Andrew Morton and CELF architecture group chair (and conference organizer) Tim Bird rounding those out, followed by a half-dozen presentations slots, with three parallel presentations. Bird introduced Kingman as one of the main providers of news about embedded Linux, relating that LinuxDevices and LWN.net are his "two main sources of information" about the community. Bird marveled at the body of work that Kingman has amassed: "this guy is prolific". He also reminisced a bit about the early days of embedded Linux, starting with his days at Lineo to his current work at Sony:
It was hard to get people to pay attention to Linux, now Sony is putting
Linux into almost everything.
Kingman acknowledged Bird's introduction, but said that he didn't know "if that makes me an expert in the forest, or lost in the trees". He looked back to a 1999 San Francisco Bay Linux Users Group meeting with Linus Torvalds as the featured speaker. Kingman said that Torvalds wanted Linux to be a desktop operating system but that he saw the embedded space as the big growth area. Later that year, Kingman attended the first LinuxWorld conference where he saw some folks from Transmeta talking about squashfs and cramfs. An article he wrote about those filesystems was published by Rick Lehrbaum, founder of LinuxDevices. That was the first of more than 3000 articles Kingman has since written for LinuxDevices. Kingman then presented the results of the most recent LinuxDevices reader survey. The survey gathers information about what LinuxDevices readers are doing or planning with regard to embedded Linux development. It has been run for eight years, providing some interesting information on changes in the readers' attitudes over the years. Usage of Linux in embedded development projects crossed a threshold this year, with more than 50% of the 812 respondents saying that they are currently using it. Usage of Linux has been growing year over year, but didn't cross the halfway mark until 2008. More than 61% believed their company would be using Linux within the next two years. The ARM family of processors has continued its growth with 30% of the readers using it, while 25% are using x86 variants. ARM overtook x86 three years ago; that trend looks to be continuing with respondents seeing 31% ARM versus 23% x86 over the next two years. Kingman said that he thinks Intel is trying to reverse that trend because spending on consumer devices is predicted to "outstrip IT spending". There were a couple of questions asking where respondents obtain the version of Linux they use in their products. Ubuntu has a somewhat surprising share at 8%. For a relatively new distribution that is not specifically targeted at that market, it stands out, as does its predicted growth to 10% over the next two years. Kernel.org at 16% and Debian at 14% are the leading sources, with uClinux tied with Ubuntu and MontaVista and Fedora at 6% each. Unsurprisingly, per-unit royalties were not popular with two-thirds of respondents being unwilling to pay those, but 60% were willing to pay for development and support of embedded Linux, so it is not just the free-beer aspect that is drawing companies to Linux. Most (45%) get their sources as a free download from a community site like kernel.org or handhelds.org, with 18% getting them bundled with their hardware. Only 11% said that cost was the greatest influence on their choice. Legal threats are still on the minds of some, with copyright or patent concerns being considered a significant threat to roughly half of the respondents. SCO has fallen off the radar, with only 2.5% thinking that it is still a threat. "None of the above" was the big winner, presumably meaning that there are no significant threats, at 40%. Kingman finished with a request of the embedded community to let him know what things should be covered in more depth and any additional areas they wish to see covered. He is looking for input on what the community wants to talk about: "we want to be your website."
Notes from the Collaboration Summit Your editor has certainly attended no shortage of Linux-related conferences. Many of those are developer conferences, which are invariably interesting events. Others are oriented around marketing or outreach, with rather more variable results. The Linux Foundation's Collaboration Summit, which ran from April 8 to 10, is unique, though, in that it attracts representatives from throughout the Linux ecosystem. Developers are not in short supply (though it seemed like there were fewer than last year), but those developers spend three days talking with corporate executives, industry analysts, and, crucially, a number of high-profile users. This mixture of people creates a very different dynamic which supports a whole range of interesting conversations.One of the first events was the kernel developers' panel, moderated by your (normally rather immoderate) editor. Panelists James Bottomley, Matt Domsch, Dave Jones, Christoph Lameter, Ted Ts'o, Arjan van de Ven, and Chris Wright discussed a variety of topics ranging from kernel quality (getting better), code review, development process participation, hardware support, and more. Your editor was not able to take notes from the panel; perhaps the best report which has come up so far can be found in this InformationWeek article by Charles Babcock. IDC analyst Al Gillen spent half an hour going through a bunch of chart-heavy slides on the future of Linux in the marketplace. Overall, things look good, in that a market worth $20 billion in 2007 is expected to go up to $50 billion in 2011. There were lots of associated details which have been reported elsewhere. One interesting aspect was watching how the analyst trade copes with "non-paid" Linux deployments - which, according to Mr. Gillen, is 43% of the total. There was talk about how "monetizing" these deployments is a challenge for those looking to make money in the Linux marketplace. He expressed surprise at just how many companies are confident in their ability to support Linux deployments on their own. But he also talked about just how important that non-paid base is for the support of the entire ecosystem. Non-paid deployments may be a "challenge" to those who would prefer to be paid, but their absence would be a rather larger challenge. There was an echo of this insight when Red Hat CTO Brian Stevens talked. One of Red Hat's goals, he says, is to give customers the immense value that goes with a "zero cost to exit" offering. There is no RHEL lock-in. To that end, he says, the folks at CentOS have done Red Hat a great favor. Brian also talked about the difference between the old "selling the distribution" business model, which gave Red Hat an incentive to put lots of shiny new things into each release, and the current model, which puts the focus on continuity instead. Since Red Hat's customers have already paid for the next release, Red Hat doesn't need to add lots of cool new features to encourage them all to upgrade. He then spent the rest of his talk on the various cool new features the company is working on, including messaging, realtime support, and more. Marten Mickos, once CEO of MySQL and now a vice president at Sun Microsystems, gave a talk which was intended to make listeners feel good about Sun and its plans for free software. It bothers him, he says, when people ask whether MySQL will remain committed to Linux; it strikes him as a demonstration of uncertainty about the future of Linux in general. That uncertainty is unnecessary; Linux's future is strong, regardless of what MySQL does. But MySQL (and Sun) do remain committed to Linux as a platform; the era of monolithic computing platforms is over, and companies have to support customers who will make their own choices at each level in the stack. So LAMP as an "architecture of participation" will remain supported by Sun well into the future.
An industry panel on "the state of Linux" was a useful view into how some
large companies see the platform. They are all seeing growth in Linux;
There was a fair amount of discussion on how to work with the development community; NetApp's Brian Pawlowski asserted that "money helps." By that, he means employing developers to work within the community and advance the platform. Bdale noted that HP tries to work "in" the community, not "with" it. Dan Frye echoed that thought, saying that it's important to have people with credibility in the community and to allow them to work inside the community for long periods of time. Motorola's Christy Wyatt, instead, worried that her company still doesn't have the necessary wisdom to work effectively with the development community; Linux and the mobile industry, she says, are still relatively new to each other. Wim related a story from the first kernel summit wherein an Oracle representative presented a laundry list of desired features. That is, he says, not the right way to do things; the community tends not to react well to wishlists with no development effort behind them. Oracle now has a Linux development team which is entirely separate from the normal product teams; among other things, it has a blanket approval to contribute the code it develops, avoiding the lengthy and tiresome internal legal review process. The company has also adopted a policy of making projects open from the beginning, getting much-needed review early in the process. Other participants noted that working with a company's legal department can often be the hardest part of community participation. Dan suggested bringing in the legal department at the beginning of a project and keeping them around; sticking with a single counsel who can slowly be educated in free software ways is also important. Bdale said that we were likely to need "legal domain experts" for some time yet, but that the situation is getting better; most lawyers now have at least some understanding of how free software licensing works. A couple of panelists discussed the legal headaches that come with mixing components with different licenses; they would certainly like to see fewer licenses going into the future. The final session from the first day covered the state of mobile Linux. It was about the only contentious panel on a day where the majority of the sessions were mostly educational in nature. One area of disagreement was over security models. Some platforms (such as ACCESS) work with a fine-grained set of privileges, while Google's Android uses sandboxing and controlled access to resources determined by asking the user. The fine-grained approach is seen by some as an ideal way for carriers to lock down handsets and exert firm control over what handset owners can do - not the desired outcome. On the other hand, asking users is seen as insecure; it's not usually too hard to get users to agree to almost anything. Perhaps the lowest moment in this panel came when Google's Eric Chu was asked about participation with the community as opposed to developing everything as a private fork. He replied that the Android code was open, it sits in a repository somewhere. But there will be no effort to engage with (for example) the kernel community and merge this code until it is "done." That approach runs against what others had been saying since the kernel panel that morning: one must get code out there as early as possible. When the Android developers finally decide that their code is ready, they are likely to have a nasty surprise when they try to merge it into the kernel and are told that much of it is unsuitable by design. Google came off looking somewhat bad here, but the truth of the matter is that most of the (many) mobile Linux projects are operating in similar ways. Getting these projects to really work with the communities whose code they are using is, as with many embedded applications, a challenge. One can hope that the suggestions given to these projects at the summit will be taken to heart. That sort of communication is what makes this event worthwhile; it is often hard for this particular mixture of people to come together in other contexts. The Collaboration Summit was heavy on conversation in general, often to great effect. One well-known developer commented to your editor that the Summit had the biggest disparity between the official content and the "hallway track" that he had ever seen. The hallway track was good, with, hopefully, lots of good things to come from it in the coming months.
Page editor: Jonathan Corbet Security GCC and pointer overflows On April 4, CERT put out a scary advisory about the GNU Compiler Collection (GCC). This advisory raises some interesting issues on when such advisories are appropriate, what programmers must do to write secure code, and whether compilers should perform optimizations which could open up security holes in poorly-written code.In summary, the advisory states:
Some versions of gcc may silently discard certain checks for
overflow. Applications compiled with these versions of gcc may be
vulnerable to buffer overflows. [...]
Application developers and vendors of large codebases that cannot be audited for use of the defective length checks are urged to avoiding [sic] the use of gcc versions 4.2 and later. This advisory has disappointed a number of GCC developers, who feel that their project has been singled out in an unfair way. But the core issue is one that C programmers should be aware of, so a closer look is called for. To understand this issue, consider the following code fragment:
char buffer[BUFLEN];
char *buffer_end = buffer + BUFLEN;
/* ... */
unsigned int len;
if (buffer + len >= buffer_end)
die_a_gory_death("len is out of range\n");
Here, the programmer is trying to ensure that len (which might come from an untrusted source) fits within the range of buffer. There is a problem, though, in that if len is very large, the addition could cause an overflow, yielding a pointer value which is less than buffer. So a more diligent programmer might check for that case by changing the code to read:
if (buffer + len >= buffer_end || buffer + len < buffer)
loud_screaming_panic("len is out of range\n");
This code should catch all cases; ensuring that len is within range. There is only one little problem: recent versions of GCC will optimize out the second test (returning the if statement to the first form shown above), making overflows possible again. So any code which relies upon this kind of test may, in fact, become vulnerable to a buffer overflow attack. This behavior is allowed by the C standard, which states that, in a correct program, pointer addition will not yield a pointer value outside of the same object. So the compiler can assume that the test for overflow is always false and may thus be eliminated from the expression. It turns out that GCC is not alone in taking advantage of this fact: some research by GCC developers turned up other compilers (including PathScale, xlC, LLVM, TI Code Composer Studio, and Microsoft Visual C++ 2005) which perform the same optimization. So it seems that the GCC developers have a legitimate reason to be upset: CERT would appear to be telling people to avoid their compiler in favor of others - which do exactly the same thing. The right solution to the problem, of course, is to write code which complies with the C standard. In this case, rather than doing pointer comparisons, the programmer should simply write something like:
if (len >= BUFLEN)
launch_photon_torpedoes("buffer overflow attempt thwarted\n");
There can be no doubt, though, that incorrectly-written code exists. So the addition of this optimization to GCC 4.2 may cause that bad code to open up a vulnerability which was not there before. Given that, one might question whether the optimization is worth it. In response to a statement (from CERT) that, in the interest of security, overflow tests should not be optimized away, Florian Weimer said:
I don't think this is reasonable. If you use GCC and its C
frontend, you want performance, not security. After all, the real
issue is not the missing comparison instruction, but the fact that
this might lead to subsequent unwanted code execution. There are C
implementations that run more or less unmodified C code in an
environment which can detect such misuse, but they come at a
performance cost few are willing to pay.
Joe Buck added:
Furthermore, there are a number of competitors to GCC. These
competitors do not advertise better security than GCC. Instead
they claim better performance (though such claims should be taken
with a grain of salt). To achieve high performance, it is
necessary to take advantage of all of the opportunities for
optimization that the C language standard permits.
It is clear that the GCC developers see their incentives as strongly pushing toward more aggressive optimization. That kind of optimization often must assume that programs are written correctly; otherwise the compiler is unable to remove code which, in a correctly-written (standard-compliant) program, is unnecessary. So the removal of pointer overflow checks seems unlikely to go away, though it appears that some new warnings will be added to alert programmers to potentially buggy code. The compiler may not stop programmers from shooting themselves in the foot, but it can often warn them that it is about to happen.
New vulnerabilities am-utils: insecure temporary file creation
libpng: denial of service
opera: multiple vulnerabilities
python: integer signedness error
rsync: integer overflow
squid: insufficient bounds checking
Page editor: Jake Edge
Kernel development Release status Kernel release status The current 2.6 development kernel is 2.6.25-rc9, released on April 11. The stable 2.6.25 release is imminent, and will likely be out by the time you read this; your editor suspects that Linus is just waiting for LWN to be published before shoving the release out the door.
The current -mm tree is 2.6.25-rc8-mm2. Recent changes
to -mm include the new suspend
and hibernation infrastructure, another long series of IDE patches,
some wireless USB work, and kernel marker support for
proprietary modules.
Kernel development news Quotes of the week (review)
We need higher S/N on l-k. We need people looking into the
subsystem trees as those grow and causing a stench when bad things
are found, with design issues getting brought to l-k if nothing
else helps. We need tree maintainers understanding that review,
including out-of-community one, is needed (the need of testing is
generally better understood - I _hope_).
-- Al Viro (read the whole thing)
That all sounds good and I expect few would disagree. But if it is
to happen, it clearly won't happen by itself, automatically. We
will need to force it upon ourselves and the means by which we will
do that is process changes. The thing which is being disparaged as
"bureaucracy".
-- Andrew Morton
The steps to be taken are: a) agree that we have a problem b) agree that we need to address it c) identify the day-to-day work practices which will help address it (as you have done) d) identify the process changes which will force us to adopt those practices e) implement those process changes. I have thus far failed to get us past step a).
I for one do not agree that we have a problem.
-- Arjan van de Ven
Atheros hires ath5k developer When kernel developers talk about problematic hardware vendors, Atheros often appears near the top of their lists. So this announcement from Luis Rodriguez, a developer of the reverse-engineered ath5k driver, is intriguing: "I write to you to inform you that I have decided to join Atheros as a full time employee, as a Software Engineer, to help them with their goals and mission to get every device of Atheros supported upstream in the Linux kernel." What will come of this remains to be seen, but if it truly signals a change of heart at Atheros, it is a most welcome development.
TOMOYO Linux and pathname-based security It takes a certain kind of courage to head down a road when one can plainly see the unpleasant fate which befell those who went before. So one might think that the fate of AppArmor would deter others from following a similar path. The developers of TOMOYO Linux are not easily put off, though. Despite having a security subsystem which shares a number of features with AppArmor, these developers are pushing forward in an attempt to get their code into the mainline.AppArmor, remember, is a Linux security module which uses pathnames to make security decisions. So it is entirely conceivable that two different security policies could apply to the same file if that file is accessed by way of two different names. This approach helps make AppArmor easier to administer than SELinux, but it has given AppArmor major problems in the review process for a few reasons:
If the TOMOYO Linux developers are serious about getting their code into the mainline, they will need to have answers to these objections. As it happens, the first two obstructions have mostly gone away. Casey Schaufler's persistence finally resulted in the merging of the SMACK security module for 2.6.25; it is the only such module, other than SELinux, ever to get into the mainline. Now that SMACK has paved the way, talk of removing the LSM framework (which had been strongly vetoed by Linus in any case) has ended and the next security module should have an easier time of it. Linus has also decreed that pathname-based security modules are entirely acceptable for inclusion into the kernel. So, while some developers remain highly skeptical of this approach, their skepticism cannot, on its own, be used as a reason to keep a pathname-based security module out. Pathname-based approaches appear to be "secure enough" for a number of applications, and there are some advantages to using that approach. All of the above is moot, though, if the TOMOYO Linux developers are unable to implement pathname-based access control in a way which passes muster. The recent TOMOYO Linux patch took a different approach to this problem: since the LSM hooks do not provide the needed information, the developers just added a new set of hooks, outside of LSM, for use by TOMOYO Linux. And, while they were at it, they added new hooks at all enforcement points. This was not a popular decision, to say the least. The whole idea behind LSM was to have a single set of hooks for all security modules; if every module now adds its own set of hooks, that purpose will have been defeated and the kernel will turn into a big mess of security hooks. Duplicating the LSM framework is not the way to get a security module into the mainline. So, somehow, the TOMOYO Linux developers will need to implement pathname-based security in a different way. The most obvious thing to do would be to modify the existing hooks to supply the requisite information (being a pointer to the vfsmount structure). The problem here is that, at the point where the LSM hooks are called, that structure is not available; it is only used at the higher levels of the virtual filesystem code. So either some core VFS functions would have to be changed (so the vfsmount pointer could be passed into them), or a new set of hooks would need to be placed at a level where that pointer is available. It appears that the second approach - adding new hooks in the namespace code - will be taken for the next version of the patch. As the TOMOYO Linux developers work through this problem, they are likely to be closely watched by the (somewhat reduced in number) AppArmor group. There appears to be a resurgence of interest in getting AppArmor merged, so we will probably see AppArmor put forward again in the near future. That will be even more likely if TOMOYO Linux is able to solve the pathname problem in a way which survives review and gets into the kernel.
e1000 v. e1000e Ingo Molnar was recently bitten by a problem which, in one form or another, may affect a wider range of Linux users after 2.6.26. Linux currently has two drivers for Intel's e1000 network adapters, called "e1000" and "e1000e". The former driver, being the older of the two, supports all older, PCI-based e1000 adapters. There is, shall we say, a relative shortage of developers who are willing to stand up for the quality of the code in this driver, but it works and has a lot of users.The e1000e driver, instead, supports PCI-Express adapters. It is a newer driver which is seen as being better written and easier to maintain. It is intended that all new hardware will be supported by this driver, and that, in particular, all PCI-Express hardware will use it. The only problem is that a few PCI-Express chipsets were added to the older e1000 driver before this policy was adopted. Since the newer driver also supports those chipsets, there are two drivers (with two completely different bodies of code) supporting the same hardware. The e1000 maintainers would like to end this duplication and put the e1000 driver into a stable maintenance mode. To that end, earlier this month, it was announced that, as of 2.6.26, the PCI IDs corresponding to PCI-Express devices would be removed from the e1000 driver, and that all users of that affected hardware need to move over to e1000e. The e1000 developers had originally tried to make this move for 2.6.25, but they committed a fundamental faux pas in the process: they broke Linus's machine. So that change got reverted before 2.6.25-rc1 came out. Instead, now, we have the announcement that the change is coming in the next cycle (when the e1000e problems, presumably, will be fixed) and a bit of configuration trickery has been added; it causes the e1000 driver to not claim PCI-Express devices if the e1000e driver has been built into the kernel. Ingo's problem is that he built the e1000 driver into his kernel, but ended up with e1000e configured as a module which was never loaded. That combination leads to a network adapter which does not work at all, since the built-in driver no longer claims it. Ingo, a bit disgruntled at having to spend an hour tracking down the problem, has suggested that it is a regression which must be fixed. The e1000 driver maintainers have resisted doing so, but Linus, having also been burned, agrees. So, while this transition is likely to go ahead as scheduled, 2.6.25 will probably have a configuration change designed to keep others from falling into a similar trap.
OMFS and the value of obscure filesystems Your editor has never dabbled in filesystems development. He has a suspicion, however, that there is a tense moment in every new filesystem developer's life: when Christoph Hellwig's review shows up in the mailbox. Christoph's reviews, while not always being pleasant reading, tend to be right on the money with regard to problems in filesystem implementations - and problems in new filesystems are common. Christoph's stamp of approval is almost required for the merging of a filesystem, so, when the initial posting of a filesystem is greeted with reviews that read, nearly in their entirety, "looks good," one would assume that the path into the mainline would be straightforward.The story of OMFS, though, shows that this assumption does not always hold. Reviewers have only been able to find the smallest of details to fix, but there is opposition to its merging, especially from Andrew Morton. The objection is that this filesystem - found on devices like the Rio Karma music player and ReplayTV boxes - has a very small user base. OMFS developer Bob Copeland, in his initial posting, suggested that fewer than twenty people might be using it at this time. New devices with this filesystem are no longer being made, so the chances of the user base growing significantly are small. Andrew's objection is that the addition of any new code creates a new maintenance burden for kernel developers. Whenever a VFS interface is changed, all filesystems must be fixed to work with the new API. So the addition of a filesystem imposes costs which, he says, should be outweighed by the benefits that new filesystem brings. In the case of an obscure filesystem with a small and (presumably) decreasing user base, says Andrew, it is not clear that the benefits are sufficient. He asks:
Just as a thought exercise: should we merge a small and well-written
driver which has zero users?
Andrew would rather see OMFS turned into a user-space filesystem using FUSE. Chris Mason is also concerned:
Even though OMFS seems to be using the generic interfaces well,
there is still a testing burden for every change. Someone needs to
try it, report any problems and get them fixed. Since none of the
people making the changes is likely to have an OMFS test bed, all
of that burden will fall on Bob, his users, and anyone who tries to
compile the module (Andrew).
OMFS supporters note that the code is written well and can serve as an example for other filesystem authors. They also note that code with small user bases is often merged - that, in fact, in some areas, developers have said they want all code, regardless of how few people are using it. Running OMFS through FUSE, they say, would be harder for users to set up and less efficient in operation. Says Christoph:
Moving a simple block based filesystem means it's more complicated,
less efficient because of the additional context switches and
harder to use because you need additional userspace packages and
need to setup fuse.
We made writing block based filesystems trivial in the kernel to grow more support for filesystems like this one. In this case, it looks like Andrew will back down on this one and let the next version of the OMFS patches into -mm. From there, if all goes well, it could make the jump into the mainline, possibly as early as 2.6.27. But Andrew is clearly unhappy about that outcome, and may well raise the question again in the future: is "well written" really sufficient to justify merging new filesystems into the kernel?
Bisection divides users and developers The last couple of years have seen a renewed push within the kernel community to avoid regressions. When a patch is found to have broken something that used to work, a fix must be merged or the offending patch will be removed from the kernel. It's a straightforward and logical idea, but there's one little problem: when a kernel series includes over 12,000 changesets (as 2.6.25 does), how does one find the patch which caused the problem? Sometimes it will be obvious, but, for other problems, there are literally thousands of patches which could be the source of the regression. Digging through all of those patches in search of a bug can be a needle-in-the-haystack sort of proposition.One of the many nice tools offered by the git source code management system is called "bisect." The bisect feature helps the user perform a binary search through a range of patches until the one containing the bug is found. All that is needed is to specify the most recent kernel which is known to work (2.6.24, say), and the oldest kernel which is broken (2.6.25-rc9, perhaps), and the bisect feature will check out a version of the kernel at the midpoint between those two. Finding that midpoint is non-trivial, since, in git, the stream of patches is not a simple line. But that's the sort of task we keep computers around for. Once the midpoint kernel has been generated, the person chasing the bug can build and test it, then tell git whether it exhibits the bug or not. A kernel at the new midpoint will be produced, and the process continues. With bisect, the problematic patch can be found in a maximum of a dozen or so compile-boot-test cycles. Bisect is not a perfect tool. If patch submitters are not careful, bisect can create a broken kernel when it splits a patch series. The patch which causes a bug to manifest itself may not be the one which introduced the bug. In the worst case, a developer may merge a long series of patches, finishing with one brief change which enables all the code added previously; in this case, bisect will find the final patch, which will only be marginally useful. If the person reporting the bug is running a distributor's kernel, it may be hard to get that kernel in a form which is amenable to the bisection process. Bisection might require unacceptable downtime on the only (production) system which is affected by the bug. And, of course, the process of checking out, building, booting, and testing a dozen kernels is not something which one fits into a coffee break. It requires a certain determination on the part of the tester and quite a bit of time. All of the points above would suggest that requesting a bisection from a user reporting a bug should be done as a last resort. In that context, it is worth looking at the story of a recent bug report which suggests that some observers, at least, think that kernel developers are relying a little too heavily on this tool. An April 9, Mark Lord reported a regression in the networking stack; after making a couple of guesses, the network developers suggested that the problem be bisected. Mark replied that he did not have the time to go through a full bisection, and that he would much rather be provided a list of commits which might be at fault. That list was not forthcoming, though; there were no developers who had an idea of where the problem might be and, as it turns out, the developer who introduced the bug lives in a time zone which caused him to miss the discussion. Mark's response was strong:
Years ago, Linus suggested that he opposed an in-kernel debugger
mainly because he preferred that we *think* more about the
problems, rather than just finding/fixing symptoms. This 100%
reliance upon git-bisect is worse than that. It has people now
just tossing regressions into the code left and right, knowing that
they can toss all of the testing back at the poor folks whose
systems end up not working.
Andrew Morton also worries that developers resort too quickly to a bisection request rather than working with users as was once done. Either that, he says, or developers just ignore the report from the beginning. Other developers have answers to these worries, of course. Kernel developers often are not in a position to reproduce a reported bug; it may depend on the specifics of the user's hardware or workload. So they must depend on the user to try things and inform them when a change fixes the problem. Here's David Miller's view on how things used to work:
In fact, this is what Andrew's so-called "back and forth with the
bug reporter" used to mainly consist of. Asking the user to try
this patch or that patch, which most of the time were reverts of
suspect changes. Which, surprise surprise, means we were spending
lots of time bisecting things by hand.
We're able to automate this now and it's not a bad thing. The other answer that one hears is that the situation now is much different, with far more users, much more code, and more problems to deal with. The old "back and forth" mode was better suited to smaller user and developer communities; in the current world, things must be done differently. David Miller again:
What people don't get is that this is a situation where the "end
node principle" applies. When you have limited resources (here:
developers) you don't push the bulk of the burden upon them.
Instead you push things out to the resource you have a lot of, the
end nodes (here: users), so that the situation actually scales.
There is another aspect of the problem which is spoken about a bit less frequently: developers must prioritize bug reports and decide which ones to work on. Unlike some projects, the kernel does not have anybody serving in any sort of bug triage role, so, in the absence of a disgruntled and paying customer, most developers make their own decisions on which problems to try to solve. It should not be surprising that problems with the most complete information are the ones which are most likely to be addressed first. A bug report with a bisection that fingers a specific commit is a report with very good information, one which is generally easy to resolve. As an example, consider Mark Lord's report again; he did eventually take the time (five hours, apparently) to bisect the problem and report the results; the bug was found and fixed almost immediately thereafter - despite the fact that the responsible developer was still sleeping on the other side of the planet. Even less spoken about is the fact that quite a few problems are one-off occurrences. Somewhere out there in the world, there is a single user who, due to a highly uncommon mixture of hardware and software, experiences a problem which affects (almost) nobody else. Marginal hardware, out-of-tree patches, and overclocking only make the problem worse. Arjan van de Ven's kernel oops summaries are illustrative in this regard; the statistics for the 2.6.25-rc kernels show that a half-dozen problems account for over half of the reports, while the vast majority of oopses have only a single occurrence. Kernel developers have learned that this kind of problem report tends to go away by itself; the affected user finds a way around the issue (or just gives up) and nobody else ever complains. One can well argue that trying to chase down this kind of problem is not a good use of a kernel developer's time. The hard part is figuring out which reports are of this variety. One relatively straightforward way is to wait until reports from other users confirm the problem - or until a sufficiently determined user bisects the problem and provides a commit ID. In this sense, bisection serves as a sort of triage mechanism which requires users to perform enough work to show that the problem is real. So the developers do have very good reasons for requesting bisections from users. That said, there is reason to worry that many users will simply stop sending in bug reports. If the only response they can expect is a bisection request (which they may be in no position to answer), they may see no point in reporting bugs at all. Fewer bug reports is not the path toward more solid kernel releases. So, as useful as it is, bisection will have to be a tool of last resort in most cases. The good news is that the development community does seem to understand that; bisection remains just one of the many tools we have for the isolation and solution of problems. The not-quite-so-good news is that, as Al Viro and James Morris have pointed out, the real problem is in the review of code so that fewer bugs are created in the first place. That is not a problem which can be solved with bisection.
Patches and updates Kernel trees
Core kernel code
Development tools
Device drivers
Filesystems and block I/O
Memory management
Networking
Architecture-specific
Security-related
Virtualization and containers
Benchmarks and bugs
Page editor: Jonathan Corbet
Distributions News and Editorials An LWN.net Distribution List update It's that time of year again -- the time when we look at how the LWN Distributions List has changed over the past year. Last year's update can be found here. At that time the list had 485 "active" distributions, with an additional 58 listings in the Historical section. This year the list has grown to 491 active distributions, but down to 56 in the Historical listing.We define a historical distribution as one that is no longer under development, but we leave them on the list as long as there is still code to be found. As always, it can be a challenge separating the slow-paced distributions from the historical ones. There are, inevitably, some projects that are still in the active part of the list that have not been developed in years. Occasionally historical projects come out with new releases. Distributions will be removed from the list if their website times out repeatedly over a period of time, but that's not the end of it. Entries are moved to an internal list, where they are rechecked a few more times. Sometimes projects come back and are re-added to the list. In the last year every link on the list has been checked at least once. Almost half the list has been checked again. In addition to regular link checking, new distributions are added and existing entries are updated with new releases and other information. We do our best to keep the list up-to-date. That said, if you know of distributions that should be added, or removed, or changed in any way, just let us know. Now it's time to say goodbye to the distributions that have been removed in the last year, in no particular order. Brutalware, Progeny Componentized Linux, herbix, BeatrIX Linux, Deep-Water/Linux, distccKNOPPIX, LinuxDefender Live!, LNX-BBC, Mandows, Mediainlinux, RunOnCD, RxLinux, LinuxInstall.org, Turkix, XoL, Aleph ARMlinux, UltraLinux, epiOS, APAWS Linux with Gallery, Linux for Windows 9X, Phat Linux, GNU/Linux TerminalServer for Schools, BSLinux, CAEN Linux, FlightLinux, Laonux, LibraNet GNU/Linux, Linux in a Pillbox (LIAP), Mastodon, Phlak, PHP Solutions Live, Sentinix, slimlinux, Snootix, Tunix, uOS, Icepack Linux and Think BlueLinux.
New Releases Belenix 0.7 is available ! BeleniX, a distribution that features KDE on the OpenSolaris kernel, has released v0.7. "After a long gap and lots of things happening behind the scenes, we are pleased to announce the availability of BeleniX 0.7. This release marks a considerable change in the evolution of BeleniX."
Debian GNU/Linux 3.1 updated Debian has announced the final update of sarge. "The Debian project is pleased to announce the eighth and final update of its old stable distribution Debian GNU/Linux 3.1 (codename 'sarge'). This update mainly adds corrections for security problems to the oldstable release, along with a few adjustments to serious problems." Click below for more details.
Distribution News Debian GNU/Linux Steve McIntyre becomes the new Debian Project leader The preliminary results from the 2008 Debian Project leader election have been posted. With 37% of the eligible developers voting, Steve McIntyre has been elected.
Important changes in dpkg 1.14.18 in sid A new version of dpkg spent a week in experimental before moving to unstable. It looks like lots of new features are in this version. Click below for details.
SUSE Linux and openSUSE openSUSE Project Releases Major Update to openSUSE Build Service The openSUSE project has released a major update to the Build Service. "The 0.9 release will help grow a world-wide network of build service instances. OBS instances can automatically interact with each other and reuse projects residing on other OBS instances. New installations of OBS are automatically configured to work with the main openSUSE Build Service, which makes it easy to set up new instances and minimize network traffic while keeping data in sync automatically."
New Distributions AltimatOS is seeking developers... A new easy-to-use desktop distribution featuring KDE has announced it's existence. AltimatOS is currently working on an installable live DVD, with a preview release expected within the next month. The project is looking for additional developers and is running a logo contest.
Draco GNU/Linux Draco GNU/Linux is a semi source based GNU/Linux distribution. It's based on Slackware and pkgsrc, a package management system from NetBSD. Draco separates the system from the third-party packages, for a simple and clean distribution to use as you see fit. Draco recently announced the release of v0.3.0.
Distribution Newsletters Ubuntu Weekly Newsletter #86 The Ubuntu Weekly Newsletter for April 12, 2008 covers Ubuntu 8.04 LTS archive freeze, Ubuntu 8.04 LTS LoCo Team CDs, Brainstorm update, Ubuntu UK Podcast #3, Euro-Parliament testing Ubuntu, and much more.
Fedora Weekly News Issue 128 The Fedora Weekly News for April 14, 2008 looks at Planet Fedora articles "FLSCo elections slipped", "FLSCo elections slipped", "Random Fedora musings" and "Recovering Data from Windows systems by using Linux", and several other topics.
Debian misc development news (#6) This collection of Debian Developer News looks at Python 2.5 by default, use a recent devscripts, dpkg-buildpackage sets default value to CFLAGS, etc., please help test "etch and a half", FTFBS on packages build-depending on libqt4-dev, and more.
DistroWatch Weekly, Issue 248 The DistroWatch Weekly for April 14, 2008 is out. "The release of Mandriva Linux 2008.1 last week started a small avalanche of distro releases that will keep us busy downloading and installing new distributions for weeks. But which of them will eventually become the "keeper"? One way to evaluate them all is to follow the development branches of the major distributions as they converge towards the point when they are declared stable and ready for deployment. This is the topic of today's feature story. In the news section, Debian elects a new project leader, ASUS releases a Software Development Kit for the Eee PC, gOS and Symphony OS continue to experiment with unusual user interfaces, and Darkstar Linux announces the availability of Disk Manager, a new utility for managing hard disk partitions. Also worth a read - a rare interview with Texstar, the founder of PCLinuxOS, and another with Jeremy Katz, a well-known Red Hat and Fedora developer."
Interviews Interview: Fedora developers Seth Vidal and Will Woods (Red Hat Magazine) Red Hat Magazine has an interview with Fedora developers Seth Vidal and Will Woods.
In Fedora, the supported method for upgrading from one release to the next
is by downloading the media and rebooting from the media and using
Anaconda. Why was this the case, and what's wrong with a yum upgrade?
Seth Vidal: Anaconda has the advantage of running outside of the system it is upgrading. This means it can do certain tricks in the event of big changes. The lvm->lvm2 migration, for example. Yum can't do this. Changing the partition or fs type on a running partition is a bad idea :) Will Woods: Another good example: In Fedora 9 we have (experimental) ext4 support, and Anaconda is capable of migrating your ext3 filesystems to ext4 automatically. But yum upgrades can't handle this.
Linux Magazine Italy Interview Bill "Texstar" Reynolds, founder of PCLinuxOS (PCLOS), was interviewed by Linux Magazine Italy. An English translation was later posted to the PCLOS forum. "In the summer of 2003 I became interested in livecd technology after looking at knoppix and a fresh distribution from a fellow named Warren called Mepis. I was interested in helping Warren with Mepis at the time but I had no clue how to build Deb files. Coming from 5 years of packaging rpms and not really wanting to learn a new packaging system I happened to come across a South African fellow by the name of Jaco Greef. He was developing a script called mklivecd and porting it to Mandrake Linux. I along with Buchanan Milne (Mandrake contributor) and a few others began working with Jaco to help debug the scripts. I got an idea to make a livecd based on Mandrake Linux 9.2 along with all my customizations just for fun. I had previously provided an unofficial 3rd party repository for the users of Mandrake Linux for many years but had since parted ways. Mandrake was a trademarked name, so myself and others decided to name the livecd after our old news site and forum pclinuxonline thus PCLinuxOS."
Distribution reviews Review: Hat Trick For Fedora 9 Beta (ChannelWeb) ChannelWeb has a glowing review of Fedora 9 Beta. "On the desktop front, Fedora 9 Beta offers GNOME 2.22 and KDE 4.0.2 as the defaults. GNOME 2.22 in Fedora 9 has better file system performance, security improvements, and the ability to manage power right at the login screen (quite handy on a laptop). There's better Bluetooth integration, especially for Palm devices."
Page editor: Rebecca Sobol
Development The Cairo Project reaches a new milestone The cairo project is producing a cross-platform universal vector graphics library:
Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL (through glitz), Quartz, and XCB.
Cairo is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available (eg. through the X Render Extension).
Cairo is used by the GNOME and desktop environment and some KDE applications. The Wikipedia article on cairo has more background information on the project. LWN investigated cairo back in August, 2005 at the time of the 0.9.0 release. Progress on cairo has been steady since then, with releases coming out frequently. Major version 1.6.0 of cairo was recently announced:
This is a major update to cairo, with new
features and enhanced functionality which maintains compatibility for
applications written using cairo 1.4, 1.2, or 1.0. We recommend that
anybody using a previous version of cairo upgrade to cairo 1.6.0.
A list of the major changes in cairo 1.6.X includes:
As is typical with major releases, several bug fix releases quickly followed. The first was version 1.6.2 which addressed a problem with certain PostScript printers. That was followed by version 1.6.4: "The cairo community is wildly embarrassed to announce the 1.6.4 release of the cairo graphics library. This release reverts the xlib locking change introduced in 1.6.[2], (and the application crashes that it caused)." Hopefully the code will now stabilize and be adopted by the upstream applications. Congratulations go out to Carl Worth and the other cairo developers for this major release and their continued work on this important project.
System Applications Database Software MySQL 5.1.24-rc has been released (part 1 of 2) Version 5.1.24-rc of the MySQL DBMS has been announced. "Bear in mind that this is still a "candidate" release, and as with any other pre-production release, caution should be taken when installing on production level systems or systems with critical data." The release notes are rather lengthy, see the second part of the announcement for the rest of the change info.
PostgreSQL Weekly News The April 13, 2008 edition of the Postgres Weekly News is online with the latest PostgreSQL DBMS articles and resources.
Mail Software announcing ClamAV 0.93 Version 0.93 of ClamAV, an email virus scanner, has been announced. "This release introduces many new features and engine enhancements, please see the notes below for the list of major changes. The most visible one is the new logic in scan limits which affects some command line and config options of clamscan and clamd. Please see clamscan(1) and clamd.conf(5) and the example config file for more information on the new options."
Networking Tools KontrolPack: 1.0.3 Released (SourceForge) Version 1.0.3 of KontrolPack has been announced. "KontrolPack is an efficient, cross-platform remote shell command executor. The project's goal is to improve system interoperability connecting remote computers (independently of operating systems running) and executing shell command across networks. This release is stable, few bugs have been fixed and the user interface has been improved. We"
NanoStack: v1.0.3 Released (SourceForge) Version 1.0.3 of NanoStack has been announced. "NanoStack is a 6lowpan IPv6 + IEEE 802.15.4 protocol stack, enabling wireless embedded and sensor networking. The goal is to help 6lowpan spread globally and to encourage new features from the IETF and ISA100 to be implemented and tested."
Zenoss Core: 2.1.91 (Zenoss 2.2 Beta 2) available (SourceForge) Version 2.1.91 (Zenoss 2.2 Beta 2) of Zenoss Core has been announced. "Zenoss Core is an enterprise network and systems management application written in Python/Zope. Zenoss provides an integrated product for monitoring availability, performance, events and configuration across layers and across platforms. In anticipation of the Zenoss 2.2 release, the latest packaged version of Zenoss, version 2.1.91 (zenoss-2.2 Beta 2) is available for download. This release continues the 2.2 development cycle and is the second of the beta releases for 2.2. There will be no more feature additions between now and the release only bug fixes."
Package Management RPM Package Manager (RPM) version 5.1.0 released Version 5.1.0 of RPM, the RPM Package Manager has been announced. This is the forked version, it is not being used by RedHat and SUSE. "RPM 5.1 is the second major release of RPM 5 and incorporates over 300 distinguished fixes and improvements which were made since the release of RPM 5.0 in January 2008. Most notably, RPM 5.1.0 provides many additional macro and Lua scripting functionality (UUID generation, path resolution, text-processing, etc), supports initial path-to-repository expansions on the command line ("+N-V-R.A"), provides additional output format specifiers on querying (":sqlescape", ":utf8", ":cdata", etc), provides an RPM 4 compatibility C API, and additionally ships with new utilities ("rpmdigest", "rpmgrep", etc) and many more."
Web Site Development mnoGoSearch 3.3.7 released Version 3.3.7 of mnoGoSearch, a web site search engine, has been announced. This release adds new features, and includes performance improvements and bug fixes. See the Change Log for more information.
Desktop Applications Audio Applications Ardour 2.4.1 released Version 2.4.1 of Ardour, a multi-track audio editor, has been announced. "Yes, its time for the usual bug-fix-after-the-real-release. 2.4.1 primarily fixes two significant bugs in 2.4 (no undo after region dragging being the most important). But it also has a couple of new features and several other nice fixes and improvements, particularly for users of AudioUnit plugins on OS X."
lv2-c++-tools 1.0.0 released Version 1.0.0 of lv2-c++-tools has been announced. "This software package contains libraries and programs that should make it easier to write LV2 plugins and GUIs." LV2 is the successor of the LADSPA audio plugin framework.
Rivendell v1.0.0rc0 released Version 1.0.0rc0 of Rivendell, a radio station automation system, has been released. Several new capabilities have been added and some bugs have been fixed.
Sweep 0.9.3 released Version 0.9.3 of the Sweep audio editor has been announced, it features several bug fixes. "Sweep is an audio editor and live playback tool for GNU/Linux, BSD and compatible systems. It supports many music and voice formats including WAV, AIFF, Ogg Vorbis, Speex and MP3, with multichannel editing and LADSPA effects plugins. Inside lives a pesky little virtual stylus called Scrubby who enjoys mixing around in your files."
BitTorrent Applications Azureus: Vuze 3.0.5.2 released (SourceForge) Version 3.0.5.2 of Azureus Vuze has been announced, it includes new features and bug fixes. "Azureus Vuze is a powerful, full-featured, cross-platform bittorrent client and content distribution platform."
Business Applications Fred 2008: 1.4.0 release (SourceForge) Version 1.4.0 of Fred 2008 has been announced. "Fred is a platform independent time tracking tool. With Fred you can very easy file, view and record efforts, structure them into tasks and projects and send them (in multi-user projects) to a project leader. We're pleased to announce Fred 2008 version 1.4.0 (stable). This release contains a lot of bugfixes, improvements and new features."
Desktop Environments GNOME 2.22.1 released Version 2.22.1 of the GNOME desktop environment is out. "This is the first update to GNOME 2.22. Come and see all the bug fixing, all the new translations and all the updated documentation brought to you by the wonderful team of GNOME contributors! A lot of work has been done in the stable branch to make it even more solid than it was. The next stable version of GNOME will be GNOME 2.22.2, which is due on May 26. Meanwhile, the GNOME community is actively working on the unstable branch of GNOME that will become GNOME 2.24 in September 2008."
GARNOME 2.22.1 announced Version 2.22.1 of GARNOME, the bleeding edge GNOME distribution, is out. "This is the second stable release in the 2.22 cycle, incorporating the GNOME 2.22.1 Desktop and Developer Platform, fine-tuned with love by the GARNOME Team. It includes a wealth of new application releases, updated translations and bug fixes as part of this GNOME release -- as well as updates and fixes after the GNOME freeze, a host of third-party GNOME packages, Bindings and the Mono(tm) Platform."
GNOME Software Announcements The following new GNOME software has been announced this week:
KDE Commit-Digest (KDE.News) The March 30, 2008 edition of the KDE Commit-Digest has been announced. The content summary says: "The menu item styles of the KDE 3 "Classic" menu return to Kickoff. GetHotNewStuff for KDE colour schemes. "Recently Visited" listings in Konqueror. A new simplified hotkeys configuration module. The ability to print a "cheat sheet" of shortcuts. Automation plugin for scheduling checks, and GetHotNewStuff support in KLinkStatus. Support for Synonyms, Antonyms and False Friends in Parley. Improved online play (through GGZ) in KSquares. "Photocopy" functionality in Kooka.."
KDE Commit-Digest (KDE.News) The April 6, 2008 edition of the KDE Commit-Digest has been announced. The content summary says: "General improvements in Kickoff, KRunner, and assorted Plasma applets. Integration of Marble into Digikam for geolocation of photos. Configuration of fullscreen mode in Gwenview. KHTML fully passes "selector" test. An automation GUI for KLinkStatus. A database connection plugin for the Kommander scripting framework. Tutorials and examples added to Step, which moves from kdereview to kdeedu. More maps for KGeography..."
KDE Software Announcements The following new KDE software has been announced this week:
Xorg Software Announcements The following new Xorg software has been announced this week:
Electronics Qucs 0.0.14 released Version 0.0.14 of Qucs a GUI-based circuit simulator, has been announced. "The new release comes with a few new components, i.e., diac, triac, thyristor, logarithmic amplifier, HICUM L0 v1.12, potentiometer, equation defined RF device and MESFET (Curtice, Statz, TOM-1 and TOM-2). The Qucs-Transcalc tool now also contains synthesis and analysis of coplanar line types. Printing under Win32 has been finally fixed. Support for sub- and super-script in graphical text paintings have been added. Last but not least 3- and more argument versions of PlotVs() have been added to the equation solver capabilities."
Music Applications Strasheela 0.9.4 has been released Version 0.9.4 of Strasheela has been announced. "Strasheela is a highly expressive constraint-based music composition system. Users declaratively state a music theory and the computer generates music which complies with this theory. A theory is formulated as a constraint satisfaction problem (CSP) by a set of rules (constraints) applied to a music representation in which some aspects are expressed by variables (unknowns). Music constraint programming is style-independent and is well-suited for highly complex theories (e.g. a fully-fledged theory of harmony). Results can be output into various formats including MIDI, Lilypond, and Csound."
Video Applications puppy: 1.14 released (SourceForge) Version 1.14 of puppy has been announced. "Puppy will allow a user to communicate with a Topfield TF5000 or TF6000 PVRs via a USB port. ftpd-topfield provides a similar service via FTP. A new release to implement a few requests from users. In particular, support for Ubuntu and for the USB accelerator firmware patch."
Miscellaneous BeWelcome-Rox: 0.5 released - new: translatable forum posts (SourceForge) Version 0.5 of BeWelcome-Rox has been announced. "Get to know the global village and other cultures, share your place. BW Rox is the platform driving http://www.bewelcome.org and other social networks, aiming to bring people together in real life. Organize your travel or stay abroad, travelblog, meetings, ... The BeWelcome-Rox project who's aim it is to create an open source platform for cultural and hospitality exchange social networking websites [2-4] released a new development version. This release features a working draft for a fully translatable forum."
Languages and Tools C GCC 4.2.4 Status Report The April 10, 2008 edition of the GCC 4.2.4 Status Report has been published. "The GCC 4.2 branch is open for commits under normal release branch rules. All fixes going on that branch should first have gone on trunk and 4.3 branch."
Perl This Week on perl5-porters (use Perl) The March 30 - April 5, 2008 edition of This Week on perl5-porters is out with the latest Perl 5 news.
Python Python-URL! - weekly Python news and links The April 14, 2008 edition of the Python-URL! is online with a new collection of Python article links.
Tcl/Tk Tcl-URL! - weekly Tcl news and links The April 10, 2008 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.
Tcl-URL! - weekly Tcl news and links The April 15, 2008 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.
Debuggers GDB record patch: 0.1.3 for GDB-6.8 release (SourceForge) Version 0.1.3 of the GDB record patch for GDB-6.8 has been announced. "GDB record patch make GDB support Reversible Debugging. It make GDB disassemble the instruction that will be executed to get which memory and register will be changed and record them to record all program running message. Through these on the use of this information to achieve the implementation of the GDB Reversible Debugging function. Record 0.1.3 support sysenter syscall. Then it can be use with Linux ker[n]el 2.6 system call."
Version Control monotone 0.40 released Version 0.40 of the monotone version control system has been announced. "This release has a few changes that speeds up internal operations, some new features, and bug fixes of course."
Miscellaneous Concur memory allocator: 1.0.1 released (SourceForge) Version 1.0.1 of Concur memory allocator has been announced. "Concur is an extremely scalable multi-threaded transparent drop-in replacement for malloc() and other standard memory allocation calls. Scales linearly to any number of CPU cores. More scalable and memory efficient than mtmalloc, ptmalloc, Hoard, etc. This is the latest release of the Concur memory manager. The release includes compliance fixes and other improvements."
Page editor: Forrest Cook
Linux in the news Recommended Reading My kid hates Linux (ZDNet) Christopher Dawson relates his teenage son's unhappy experience with Linux on ZDNet. The problem seems to be Flash support for 64-bit Linux, which is not an uncommon complaint. "Don’t let your users' first impressions be that Linux doesn't work. Get the deployment right before it appears on their desktops and many won't even notice the difference (unless they were using Vista; then they might thank you). I've convinced my kid to give it another shot when I do a clean install of 32-bit Ubuntu 8.04 as soon as it comes out. I'll report back on his impressions."
Trade Shows and Conferences Google talks up Android: open ecosystems lead to innovation (ars technica) ars technica reports from Robert Love's Android talk at LugRadio Live. "Google has done a lot to demonstrate its commitment to making Android an open and inclusive platform, but there are still some issues that concern developers. Although the kernel and much of the platform source code are available from a public git repository, there are still some parts of the stack that haven't been fully opened yet. Love cited the high rate of code churn as one reason why some code isn't public at this stage and said that all of the source code will be fully available under open licenses after phones start to ship during the second half of this year. 'To do this right—to open source this in a way that is beneficial to the community—we want to wait until the code isn't a big mess.''
Kate Developers Meeting (KDE.News) KDE.News has a report on a recent Kate Developer Meeting. "[S]cripting support will allow us to extend Kate with little helper and indentation scripts. We rethought Kate's session workflow to better meet the user's needs. There are plans to allow combined highlighting, which means mixing e.g. HTML and php syntax highlighting will be even more powerful. Collaborative features was also a point which is especially interesting with regard to Decibel."
RSA: Security Experts Debate Linux Vs. Microsoft (ChannelWeb) ChannelWeb covers a debate at the RSA 2008 conference over the security of Linux vs. Windows. "Ford said the difficulty with comparing operating systems is that it's often an apples and oranges comparison, and that "raw vulnerability counts really don't give you a good picture," although they can't be discounted entirely. Besides, argued Ford, even if Linux has more overall vulnerabilities, these vulnerabilities have traditionally been less severe than those affecting Windows. He defined severity as consequence plus ease of exploitation. "Every time Windows gets a vulnerability, someone immediately writes a rootkit or a worm," said Ford. Linux, in contrast, has fewer critical issues, he added."
Companies Google App Engine for developers In a web log, Niall Kennedy discusses the recently released Google App Engine. "On Monday Google launched Google App Engine, a hosted dynamic runtime environment for Python web applications inside Google's geo-distributed architecture. Google App Engine is the latest in a series of Google-hosted application environments and the first publicly-available dynamic runtime and storage environment based on large-scale propriety computing systems. Google App Engine lets any Python developer execute CGI-driven Web applications, store its results, and serve static content from a fault-tolerant geo-distributed computing grid built exclusively for modern Web applications."
HP releases its first Linux-powered laptop (DesktopLinux.com) DesktopLinux.com notes HP's release of the Linux-based Mini-Note PC. "At the Linux Foundation Collaboration Summit at the University of Texas Supercomputing Center April 8, Hewlett-Packard announced the release of its first Linux-powered computer to be sold in the United States, the HP 2133 Mini-Note PC running Novell SUSE Linux Enterprise Desktop 10 Service Pack 1. HP was expected to offer a Linux desktop, and now it has finally done so. It's not, however, the Linux desktop that many users expected. Instead of being a general-purpose consumer system or business PC, the Mini-Note is meant for the education market."
Mickos, As New Sun Exec: Linux Will Stay In LAMP (InformationWeek) Sun is still committed to Linux in LAMP, according to this article on InformationWeek. "As soon as former MySQL CEO Marten Mickos, now a Sun Microsystems senior VP for databases, took the stage, he was asked what was Sun's commitment to the L in LAMP?... the integrated open source stack that includes Linux, Apache, MySQL and PHP. "The commitment is complete," he responded without hesitation. The scene was The Commons Auditorium at the Austin branch of the University of Texas. It was the site of one historic commitment to Linux --IBM (NYSE: IBM)'s decision in 1999 to become a backer, not an opponent, of the open source operating system."
Linux at Work Cisco Set to Dominate Linux Market? (InternetNews) Sean Michael Kerner blogs about Linux based Cisco routers. "Instead of needing to rely on Red Hat or Novell to supply Linux running on servers from HP, IBM, Dell, etc., a user that already has an ISR (and there are 4 million of them out there) can just buy an AXP from Cisco, put that module on their ISR and -- badda boom badda bing -- they've got a Linux application server."
Interviews The making of Wine (Network World) Network World talks with CodeWeavers CEO Jeremy White about Wine. "'We are completely rewriting the Windows operating system from the ground up,' he says. 'Basically we took Microsoft's crown jewel, that they've had billions of dollars to develop using tens of thousands of developers, and we, the open source community, have essentially re-implemented that. We are the scrappy underdogs.'"
Reviews ARM Linux gains embeddable SQL database (LinuxDevices) LinuxDevices looks at the ARM port of the Firebird DBMS. "The Firebird Project has ported its lightweight, open-source database to the ARM architecture. The project is looking for help testing a new Firebird 2.1 RC2 release, which in addition to ARM support, adds database triggers, temporary and monitoring tables, common table expressions, and recursive queries."
ASP.NET AJAX makes its way to Linux via Java (BetaNews) BetaNews looks at Mainsoft for Java EE version 2.2. "A newly released update to Mainsoft's Java EE software product promises to let programmers use Microsoft's ASP.NET AJAX Web application framework on Java-supported platforms outside of Microsoft Windows, including Linux and Mac OS X. Mainsoft's original claim to fame is its technology that allows programmers to run .NET code on the Java platform. The company reportedly invested $14 million in research to unchain Microsoft's approach to AJAX from .NET and Windows, letting it become a true full-fledged, cross platform that can be used with any Java Virtual Machine."
The Top 100 Open Source Software Tools for Medical Professionals (LiveSmarter) LiveSmarter has a look at free software tools for medical professionals. It is interesting to note the number of applications available for medical-specific use. "Expensive software and subscriptions for anti virus systems, supporting electronic medical records and even phone or e-mail communications can put on a strain on small clinics as well as larger hospitals. Open source tools are free, highly customizable, and secure enough to handle the sensitive data that medical professionals often work with." (seen on LinuxMedNews)
Page editor: Forrest Cook
Announcements Non-Commercial announcements Gartner says Open Source will be key enabler for SaaS Gartner has proclaimed the use of open-source technology as a key enabler for the adoption of the SaaS development platform. "By 2010, 90 percent of software as a service (SaaS) providers will have some open-source component in their technology infrastructure stacks (that is, operating system, application server and database) to reduce software acquisition expenses, according to Gartner, Inc. User communities are expanding around application-platform-as-a-service providers and will leverage open-source practices for sharing software applications."
GNU and FSF tell WBUR.org Boston: PlayOgg! GNU and the Free Software Foundation are taking action with the PlayOgg.org campaign. "Boston-locals: Join the PlayOgg.org campaign to hand-deliver a letter to "Boston's NPR Station," WBUR, requesting that they provide an Ogg Vorbis stream on wbur.org." If you are not in Boston, the website has other ways to help out.
UKUUG opposes fast-tracking of OOXML The UKUUG is opposing the fast-tracking of OOXML. "Last week the BSI (The British Standards Institution) decided to approve the fast tracking of the Microsoft sponsored OOXML format (DIS29500). UKUUG is concerned that this decision is against the public interest for several reasons: ..."
Commercial announcements MIPS Technologies Introduces hot spot kernel analyzer MIPS Technologies, Inc. has announced the Hot Spot Analyzer for profiling the Linux kernel. "With the Hot Spot Analyzer (HSA), software engineers can quickly identify program bottlenecks that are restricting system performance. The HSA builds on the unique Zero Overhead Program Counter (PC) Sampling feature built into the MIPS32(R) 24K(R), MIPS32(R) 34K(R) and MIPS32(R) 74K(TM) core families."
SUSE appliance program and JeOS announced Novell, has announced the launch of the SUSE appliance program. "The SUSE Appliance Program will enable ISVs to bundle their applications with customized versions of the SUSE Linux Enterprise platform and to deliver the bundle as a software appliance, which can be run natively on x86-based hardware, or as a virtual appliance, which includes a paravirtualized kernel designed to deliver optimal performance in a virtualized environment."Also announced is "SUSE Linux Enterprise JeOS", a minimized version of SUSE Linux. "The term JeOS refers to a customized operating system that precisely fits the needs of a particular applicatio | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||