By Jake Edge
February 15, 2012
The recently released Open Advice has much to offer those who are
new to free software and its communities, but there is plenty of interest
to veterans as well. It is a collection of essays from an auspicious
number of contributors (42) to free and open source software (FOSS) that centers
around the idea of "what we
wish we had known when we started". As might be guessed, the book
encompasses more than that—it ranges all over the FOSS
map—including recollections, war stories, philosophical musings,
academic research, and good advice.
The book was the brainchild of KDE contributor Lydia Pintscher, who served
as the editor as well as contributing one of the essays, "Being Allowed to
Do Awesome". The book was released at the recent FOSDEM conference in
Brussels and is available in a variety of formats (PDF, EPUB, Mobi). But
the book is licensed under the CC-BY-SA license,
which means that the LaTeX
source is also available. In addition, printed versions of the book can be
ordered from Lulu and, soon, Amazon.
The material is spread out over 16 chapters after a foreword by Free
Software Foundation Europe founder Georg Greve. He sets the tone for the
book by introducing the ideas of free software and communities,
specifically connecting the rise of the internet and free software as
"co-dependent" developments. Not only does free software run much of the
internet, but many of the internet giants that are popular today (Google,
Facebook, and Twitter are specifically mentioned) could not have gotten so
far so fast without depending on free software.
What follows is a bit of a wander through the different facets of our
communities, with an eye toward passing on some of the hard-won knowledge
that these contributors have gained. Armijn Hemel notes that projects need
to coalesce around code, so that there is something to work with and
improve. All the design documents and ideas in the world will not actually
build into a community. Evan Prodromou furthers that idea by noting that
once there is code, the founder needs to step back and let others
contribute. It is, he says, sometimes hard to do, but is essential:
If your software is just for you, you can keep the codebase and
surrounding infrastructure as a personal playground. But if you
want your software to be used, to mean something to other people,
to (maybe) change the world, then you are going to need to build up
a thriving, organic community of users, core committers, admins and
add-on developers. People need to feel like they own the software, in
the same way that you do.
Markus Krötzsch and Felipe Ortega talk about the connection between
academia and FOSS, but come at it from different angles. Krötzsch looks at
the challenges that researchers face when opening their code, many of which
are applicable to anyone trying to form a community of users and
contributors. He likens the effort to gardening. Ortega looks at how
different FOSS communities evolve as project members come and go. He notes
several studies of different kinds of projects and how they have overcome
the "generational relay" problem—handing off the project to new
leadership over time.
But in order to increase a project's contributors, some recruitment and
mentoring are needed. That's the subject of one of the chapters. In it,
Leslie Hawthorn points out that contrary to their belief, people new to the
project have something unique to offer:
As a new contributor to a project, you are
an invaluable asset not for your knowledge, but for your ignorance.
When first starting work in FOSS, nothing seems (to you) so obvious
as to be unworthy of mention. Take notes on the problems you
have encountered and how they were fixed, then use those notes to
update the project documentation or work with the community to
prepare screen casts or other training materials for particularly tough
problems. When you encounter something truly frustrating, realize
you are in the spectacular position of helping make sure the next
person who comes along does not encounter the same difficulties.
Hawthorn's point crosses into the realm of documentation, which is the
subject of a later chapter, but that just highlights one of the strengths
of the
book. Few of the essays neatly fit into the categories of the chapter they
appear in. They largely represent a personal view of the experiences of
the author, which often range across various parts of the FOSS world.
They are also uniformly encouraging to those who may know little or nothing
about how to participate and why they might want to.
Pintscher's entry
notes that the biggest enemy of free software is "not who most people
on the Internet think it is", but is, instead, a lack of
participation. She notes that it takes active effort from existing project
members to get new contributors involved, but that it's worth the effort.
It's also important to recruit from outside the existing contributor
base:
People like
the people you already have are great, but think about all the other
great people you are missing out on, who could bring new ideas and
skills to your project.
Henri Bergius writes about cross-project collaboration and notes that
creating libraries, rather than frameworks, better fosters that
collaboration. In addition, he says, meeting in person can go a long way
toward helping projects work more closely together:
Meet the other guys. If you are from the GNOME project, go
to aKademy and give a talk, and if you are a KDE developer,
go and talk at GUADEC. After you have shared a beer or two
collaboration over IRC happens much more naturally.
That sentiment is echoed by others, including Nóirín Plunkett in the
chapter on "Conferences
and Sprints":
It is the richness of our communities that makes Open Source what
it is, and the shared striving towards common goals. And of course,
the music sessions, the meals, the pints, and the parties! These are
the things that bring us together, and you will find that once you
have met people in person, even your email interactions will be much
richer, much more fulfilling, and much more fruitful, than they had
previously been.
But, all is not "sweetness and light" in the free software world as Máirín
Duffy Strode describes in her look at the interaction between designers and
developers.
Her essay, "Don't Be Shy", suggests that designers (and, by extension, all
new contributors) make their needs known so that they can "help the
project help you help them", which can't happen without making it
clear what's needed to get the job done. She also notes a bit of
cautionary tale about being chased away from a project and suggests that
new contributors be persistent:
This set me back a few years in getting involved – just a few harsh
words on IRC made me afraid to try again for almost 5 years. I did
not discover until much later that the person who had essentially
chased me out of that project's IRC channel was on the fringes of
the project and had a long history of such behavior, and that I really
had not done anything wrong. If I had only kept trying and talked
to other people, I may have been able to get started back then.
There are several essays on various aspects of documentation. From Atul
Jha's reflection on how Eric S. Raymond's writings (in particular the jargon
file and "How To Ask Questions The Smart Way") inspired him, to Shaun
McCance's look at how to use the "crowd" to generate project documentation,
there is a wealth of interesting information. Rich Bowen plays off Larry
Wall's famous "virtues of a good programmer" (laziness, impatience, and
hubris) and notes that those virtues unfortunately give some programmers a
"license to be jerks". He goes on to describe virtues for
another group:
What I have learned over my years in Open Source documentation
is that the three primary virtues of a documentation specialist, and,
more generally, of customer support, are laziness, patience, and humility. And that the over-arching virtue that ties these all together
is respect.
Anne Gentle introduces an interesting idea about how a new contributor can
"take the pulse" of a project to get a feeling for how hard or easy it will
be to get involved:
I wish when I started that I had some ability to gather the "social
weather" of an online community. When you walk into a restaurant
with white tablecloths and couples dining and a low-level volume
of conversations, the visual and auditory information you receive
sets the ambiance and gives you certain clues about what to expect
from your dining experience. You can translate this concept of social
weather to online communities as well. An open source community
gives certain clues in their mailing lists, for example. A list landing page prefixed with a lot of rules and policy around posting will
be heavy in governance. A mailing list that has multiple posts emphasizing that "there are no dumb questions" is more approachable
for new doc writers.
In the realm of usability, Guillaume Paumier offers up some things he's
learned working with the Wikimedia Foundation. He suggests that developers
sit down and passively watch users interact with their application. It is
"truly an eye-opening
experience". Furthermore, he offers up an important point that
sometimes gets lost in the development process: "Users are an unpredictable species. But they are on your side.
Learn from them."
Federico Mena Quintero has a lengthy essay on "Software that Has the Quality Without
A Name". In it he takes concepts from the architectural (i.e. buildings,
not software) studies done by
Christopher Alexander and others and applies them to software design. The
"quality without a name" is embodied in buildings and spaces that are
eminently livable. Alexander has come up with a number of properties that
govern such spaces and Quintero (by way of Richard Gabriel's Patterns of
Software) applies those ideas to software. It is one
of the more philosophical essays in the book, and well worth reading in its
entirety.
There is also some real "nuts and bolts" advice on things like conference
planning (from Dave Neary) and a nice explanation of "How to Ask for Money"
(for conferences) by Selena Deckelmann. Beyond that, there is advice on
community management and the role of a community manager from Jono Bacon,
thoughts on the intersection of law and FOSS from Till Jaeger, ideas about
testing from Ara Pulido (and others), and on and on. Not mentioning one of
the essays in this review is in no way an indictment of the essay or
author, there is more there than one could hope to cover. In addition, each reader will
undoubtedly have their own slant on the most interesting and useful essays
in the book.
Open Advice is a book that will be helpful to those who are new to
FOSS, but, because of the individual voices, styles, and tones, it doesn't
read like a "how to". It could even be recommended to those who aren't
necessarily interested in contributing, but are curious about what this
"free software thing" is all about. It is, in short, a great book for a
variety of audiences and the (mostly) two or three page essays make it easy
to read, while the anecdotes and recollections personalize it. The
authors, editor, and everyone else who helped should be very pleased with
the result. Readers will be too.
Comments (16 posted)
February 15, 2012
This article was contributed by Koen Vervloesem
In his talk at FOSDEM (Free and Open Source Software Developers' European Meeting) 2012 in Brussels, Kristian Høgsberg gave an overview of the Wayland display system, where it comes from and how the Linux graphics stack has evolved to make Wayland feasible. He also shared some information about the schedule of the 0.85 and 1.0 releases. If all goes according to plan, we'll see the first stable version of Wayland by the end of the year.
Replacing a tried-and-true technology such as X by a new one such as
Wayland is no small task, and the idea alone has already stirred up the
Linux community in the past. However, not every critic understands exactly what Wayland is. Apparently some even have various strange opinions about Kristian, for instance that he holds a grudge against X or that he even doesn't know anything about how X works. To dot the i's, Kristian started his talk by clarifying that he has been a core X developer since 2004. "I admire the design and implementation of X, it just happens that it's the wrong solution for what we do now." Kristian started developing Wayland in 2008 in his spare time while working for Red Hat, and now he is working on it at Intel in the graphics team of the Open Source Technology Center.
Where do we come from?
A while ago, X did lots of things related to its primary task as a display
server. For instance, it did font management and font rendering, graphical
mode setting and acceleration code was tied up in X specific drivers, the X
server had input drivers to parse various input device serial formats, and
so on. However, bit by bit many of these tasks were moved into separate
components, many of them in the kernel. Wearing his Red Hat hat, Kristian worked on AIGLX (which allowed compositors to run with hardware acceleration on X), DRI2 (which provides OpenGL hardware acceleration), KMS (Kernel Mode Setting), and GEM (Graphics Execution Manager, doing memory management for graphics drivers). In principle, all hardware drivers needed by X are now in the Linux kernel (KMS) or in Mesa (an OpenGL implementation).
Much of this work was done as part of Kristian's job as a member of Red
Hat's X team to make a composited desktop possible. Without a compositor, each application renders its output directly into the buffer of the X server. With a compositor (such as Compiz, KDE's KWin, GNOME 3's Mutter, and Xfce's Xfwm), applications render their output in their own private off-screen buffers. The compositor renders the final desktop output by painting those buffers onto the screen's frame buffer. On a modern Linux desktop, compositing has become a basic expectation and requirement, Kristian says: "Compositing is not only about those 2D and 3D visual effects, but it has other fundamental advantages, such as flicker-less movements of windows."
But now that we have reached a point where most of the hardware drivers
implement KMS or Mesa
and compositing is used for drawing application windows on the screen, most
of the work in the window system is done by the compositor and
the applications themselves; the X server is just used as a middle-man
for input. Kristian wanted to create a display server that directly
supports this new window system architecture from the ground up. This
became Wayland, which integrates the display server, window manager, and
compositor into one component, and is, according to Kristian,
"essentially just consolidating existing practices and simplifying
the X architecture to what we are using it for nowadays." The result
is a window system architecture that is more responsive and has less
graphical artifacts such as tearing or flickering. More details about Wayland's
architecture and the difference with X can be found on the project's
wiki.
Hardware support
So, with this new window system architecture, Wayland merges the
compositor into the display server, and applications talk directly to the
compositor. The compositor reads input from devices such as the keyboard
and mouse using the kernel's evdev subsystem, and it distributes this input
to the applications. The compositor uses KMS to bring up the display, and
applications push their buffers to the compositor, which combines the
buffers from the various applications and renders the result using direct
rendering, through OpenGL
ES, to the KMS buffers. "There is no hardware-specific code
whatsoever in the compositor code," Kristian emphasizes, "and
there is also no rendering API for drawing lines, text, and so on: it's all
just direct rendering."
Kristian's short answer to the question which graphics hardware support Wayland is "If the Mesa driver for your graphics hardware supports DRI2 under X and has KMS support, you can run Wayland." Currently, this means that you'll have most luck with the open source drivers for Intel, AMD and NVIDIA graphics hardware, but when driver writers add new chipset support in Mesa, it will automatically support Wayland. It's still unclear what AMD and NVIDIA will do with their proprietary drivers.
Wayland support in graphical toolkits
But applications have to be modified to be able to use Wayland instead
of X, of course. Fortunately, most applications don't talk to the X window
system directly but are using graphical toolkits, which provide the common
user interface elements such as text fields, scrollbars, buttons, and so
on. So most of the work in porting an application from X to Wayland is in
porting the toolkit it uses. According to Kristian, all major toolkits are
being ported to Wayland as we speak, including GTK+ 3, Qt 5, EFL (Enlightenment
Foundation Libraries), Clutter, and SDL (Simple DirectMedia Layer). The Qt
team at Nokia is maintaining and driving the Qt port themselves, he
said. Wayland's web site has instructions on how to use these toolkits with Wayland. Applications that are using their own toolkit, such as Blender and LibreOffice, will have to do the porting effort themselves.
Porting a graphical toolkit to Wayland poses some interesting challenges, for instance because Wayland doesn't support some things that are quite natural in X, such as pointer grabbing: in Wayland an application currently cannot claim the keyboard or mouse input. However, games regularly grab the mouse cursor to prevent the player from accidentally losing mouse control over their game, and pop-up windows rely on grabbing the keyboard and pointer too. Another challenge is the support for client-side window decorations, which allows individual applications to control their appearance. Both challenges are being worked on.
Applications that aren't using a Wayland-compatible graphical toolkit or that have some problems running on Wayland can still run on an X server that runs as a Wayland client. Of course this adds some overhead, but it should be minimal. Running a rootless X Server as a Wayland client could also be a temporary solution to keep using network transparency, a feature that Wayland lacks. In his talk, Kristian reassured the audience that the current lack of network transparency is not definitive: "While supporting remote displays is not a priority now for Wayland, nothing in Wayland's architecture makes this impossible."
Toward a stable API
The first real release of Wayland happened a few days after Kristian's talk at FOSDEM: Wayland 0.85. The code is divided in two parts: Wayland is the protocol and IPC mechanism, while Weston is the reference implementation of the compositor (and thus also the display server). "Weston has around 10,000 lines of code and it can be used as the base for a compositor for mobile or embedded systems," according to Kristian, who ran Weston on his laptop during his FOSDEM presentation. However, existing X compositors such as KWin and Mutter can also be modified to become a Wayland compositor.
Kristian promises that the 0.85 release is going to be protocol and API
stable. The point of the release is that developers can begin experimenting
with Wayland and porting their toolkits and applications. While it used to
be that you had to compile a special KMS "pageflip" kernel, a patched Mesa
branch, and Kristian's own EGL library to be able to run Wayland on your
system, now everything should be upstream. Kristian hopes to put out a Wayland 1.0 release in late 2012 or early 2013. So while Wayland will not replace X overnight, we will likely see the first mainstream use of the new window system architecture in 2013.
Comments (38 posted)
February 15, 2012
This article was contributed by Dave Neary
This year saw a new addition to FOSDEM in Brussels - "legal issues"
gained its own
DevRoom and joined the long list of topics presented and discussed during the
conference. I was privileged to be asked to speak at the track, and when
Bradley Kuhn asked me what I'd like to speak about, my initial reaction was
the theme: "how much I hate having to care about the law".
Developers hate the law. Or, to be more precise, I hate the law. At least, whenever I'm working on a software project. In my opinion, every time a software developer has to stop and think about the law, that's a bug. Either he wants to do something that he shouldn't be doing, or the law is getting in the way of him doing something which it would be reasonable for him to do.
In case it's not obvious yet, I am not a lawyer, so nothing in here should be taken as legal advice.
But, over the years, while working as a GIMP developer, as community and product manager of the OpenWengo project, or as an independent consultant, I have had to stop and consider the potential impact of the law on what I was doing. And every time that I have sought legal advice on the issues, the result has been unsatisfactory. Here are a few examples from my personal experience.
GIMP plug-ins
In the late 1990s and early 2000s, the licensing of plug-ins was a hot topic in the GIMP community that came up repeatedly. Does the GPL allow people to develop proprietary GIMP plug-ins? It was certainly the intention of the developers active at the time to allow proprietary plug-ins. To explain why this question is even interesting, some technical details on GIMP plug-ins are useful.
GIMP plug-ins run in a separate process from the GIMP core. They link to libgimp, a library that was licensed under the LGPL in 1997, which is a wrapper around the PDB, the Procedural Database. The Procedural Database is how plug-ins communicate with the core GPL application: data is sent via shared memory, with the PDB defining arguments and return values from plug-in functions. Plug-ins can call core functions, again via the PDB, to get image data from a drawable (a GIMP object representing anything you can draw on), or for any of a range of core functions.
But some argued that since GIMP plug-ins could only work with the GIMP core, that they were really derivative works, and were thus covered by the GPL. When we asked for definitive legal advice on the issue, the answer we got back was not entirely satisfying.
Maybe.
Ugh. So to clarify the situation, the GIMP developers added a license clarification to the source code, alongside the GNU GPL COPYING file, stating that we considered plug-ins to be "mere aggregation", and not a "derivative work". This may not be legally rigorous, but it was enough to allow us to forget about the issue and get back to coding.
Distributing GIMP plug-ins
That is, until it was pointed out
by Debian that GIMP was shipping some GPL-incompatible code in plug-ins
that we were distributing in the gimp .tar.gz. This issue ended up
blocking the
release of GIMP 1.2.4 for over a year. So the question arose: can we
include non-GPL plug-ins in a GIMP package? The answer was, you guessed it,
"maybe". At least, that's as far as we could tell by discussing it in a
Debian bug report and on gimp-developer.
While GIMP plug-ins might be a "mere aggregation" with the GIMP core,
apparently, there was an expectation that all the plug-ins which were
shipped with GIMP would be GPL compatible. Over the years, we had included
a number of code snippets from other open source projects which were
licensed under other licenses. One of the projects was SIOD, Scheme in one
Defun, a Scheme implementation by George Carrette. SIOD was the back-end of
Script-fu, GIMP's scripting plug-in, at the time.
SIOD had a
very liberal license which included an "advertising clause", requiring
that "the permission notice appear in supporting documentation", a clause
which was widely argued to be incompatible with the GPL at that time. It
turned out that there were about a dozen occurrences of this advertising
clause in the code for plug-ins at the time.
Since Debian wouldn't ship GIMP with these plug-ins unless we made the
licensing consistent, and since some GIMP developers also expected us to ship only GPL-compatible plug-ins, this was a major problem.
So I and others spent a month in 2003 chasing down authors at five-year-old email addresses, removing or rewriting code snippets when we could do so, and on occasion removing offending copyright headers when we decided that the amount of code covered by the problematic licenses was so small that it was not a problem. I am sure I would have preferred to do other things with my time - and I was certainly not as methodical as Gervase Markham when he was relicensing Mozilla code - a process that took over 4 years. Were we legally rigorous? Maybe.
OpenWengo codecs
My next example is audio codecs from the OpenWengo project (site now
dead). Some codecs like G729 were patent encumbered. In addition, widely
used reference implementations of codecs like iLBC were included as sample
code in standards documents and were only available under GPL-incompatible and non-free software licenses.
The way we tried to get around this problem was to encapsulate these
codecs in a standard API, and install them in a common directory. At
start-up, we scanned the directory, and used dlopen() to open the
libraries present there. We could then call the standard function to
register the codecs and pass data streams for decoding and encoding.
A question arose for some of the non-GPL codecs: could we do something in
the start-up process to make it easier for the user to obtain these codecs?
One possibility would be to present the user with a dialog, as part of the
first application start-up, which fetched the proprietary codecs and
installed them in the common directory. But, would that be against the spirit of the GPL, and have us running the risk of being called a GPL violator by one of our users?
The answer, apparently, is "maybe".
By divorcing the loading of the plug-in at run-time from the
distribution of the plug-in, we were probably absolving ourselves of any GPL obligations. At least, that is the legal advice Wengo obtained at the time. However, whether making it easier to get the codecs at start-up was the legal equivalent to including the codecs in the package was, at best, ambiguous.
Hunspell dictionaries
Last year, I was asked an interesting question by a client: Can I include Hunspell and the Czech dictionary in a proprietary application?
The answer, of course, is "maybe".
Hunspell changed its license in 2006, to the MPL/GPL/LGPL tri-license to enable
inclusion in Mozilla. It is used as the spell-checker for
OpenOffice.org/LibreOffice as well as Mozilla Thunderbird and Firefox. Of
course, the tri-license enables the embedding of Hunspell in proprietary
applications. So where's the problem?
It turns out that some Hunspell dictionaries, including Catalan, Danish and
Czech, are licensed under
GPL only. It's a bit curious why anyone would use the GPL, a license intended for use with source code, for a dictionary. Regardless, the question is: does including Hunspell in another application, with a GPL dictionary, constitute a derivative work, or an aggregation?
At one level, the question is whether it even makes sense for a dictionary to have a license. Thanks to Feist v Rural, copyright only applies to a "work" if there is significant creativity involved in it. If a Hunspell dictionary were just a list of words in alphabetical order, then at least in the US, copyright would not apply. However, in other jurisdictions, there are laws covering the constitution of databases, and some form of protection is afforded to the author. In addition, a Hunspell dictionary isn't really just a list of words - it also contains grammatical and hyphenation information, which involves some creativity. So there's a solid argument that the dictionary is copyrightable.
The second question is whether including the dictionary with Hunspell
and other software makes a derivative work, or an aggregate work. One part
of that is whether the component is useful without the Hunspell
spellchecker. Since it's just a dictionary, it can be used with other
spell-checkers, including aspell. Hunspell could easily use another Czech
dictionary released under another license. So, since the two bits are
easily dissociable, Hunspell with the dictionary probably makes an
aggregate work, and the license of the dictionary does not impose any
requirements on other software shipped with it. This is the advice
that the OpenOffice.org project received from the FSF licensing list, and
so the GPL dictionaries are included in the LibreOffice and OpenOffice.org distributions.
Mozilla, on the other hand, do not ship any GPL dictionaries. When I asked Gervase why, he answered:
It is arguable whether the GPL would cross the
dictionary->application boundary. But again, we prefer to respect people's
intentions, and it seems to us that if someone licenses their dictionary
GPL-only, then they probably only want it used in GPL apps.
In other words, the intent of the author trumps all in this case, for Mozilla.
So - maybe.
Conversations with lawyers
The problem for developers is that conversations with lawyers typically end up with "maybe". We're looking for what we may and may not do, and often, in the absence of jurisprudence, lawyers deal in shades of gray. All too often, the end result for developers is to avoid any risk.
A friend once told me a story of a meeting with her boss and "legal",
where she came out of the meeting disappointed. When her boss asked her
what was wrong, she said "the lawyers told us we can't do what we'd like
to." To which he replied, "No, they just told us the risks
involved. Now we have to decide whether we're prepared to accept those
risks or not." Instead of being the end of the conversation, "maybe"
could be the start of it. Lawyers (and , in the free software world, some
non-lawyers) will help you identify risks. But then it is up to the project to decide whether to take the risks or not.
Comments (17 posted)
Page editor: Jonathan Corbet
Security
February 15, 2012
This article was contributed by Nathan Willis
On February 10, the Tor project posted reports from users inside Iran that the country's government had begun blocking all SSL/TLS traffic, a major escalation of firewall policies that had already cut off users from specific services. Tor responded by pointing readers to obfsproxy, its comparatively-little-known project that can disguise SSL traffic to evade detection by the deep packet inspection (DPI) filters used to flag and shut down encrypted connections.
Word from users in Iran was that the government SSL-blocking effort
appeared to be DPI-based, because of the fact that connections were being terminated only after the first few steps of the SSL handshake. Other methods to bypass the firewall, including VPNs, were still functional, although they are an impractical (and sometimes expensive) solution for the majority of Iranian Internet users. However, the block prevents standard Tor usage in particular, because the system relies on an encrypted connection between the user's machine and the first relay in the Tor network.
Earlier filtering techniques, such as blocking access to specific IP
addresses, had been bypassed by using bridges —
Tor relays that ran on unpublished IPs. Reports indicated that the
SSL-block varies by ISP, and had not affected the entire country, but the
project's metrics showed a sharp decline in the number of Tor users
originating from Iran, starting around February 9. Alongside the
announcement of obfsproxy, the Tor project asked users to help restore
connectivity for
people in the region by setting up obfuscated bridges — but cautioned
that drawing too much public attention to the project could prompt
authorities to implement countermeasures.
It rolls right off the tongue: "obfsproxy"
Obfsproxy — which, although just announced to the public, has been in development since early 2011 — offers relief from DPI filtering. It is a transport proxy that encapsulates protocol traffic between endpoints within an "innocent-looking" wrapper. The system is modular enough that the project says it can be used with a variety of protocols, but the default usage is designed to wrap SSL traffic between a Tor client and Tor bridge inside another application-layer connection. Furthermore, within those faux application-layer packets, the genuine SSL packets are encrypted by a stream cipher, making their contents immune to detection by DPI filters (which catch protocols by matching characteristic strings or regular expressions in the TCP stream).
Obfsproxy's default module is called obfs2, and merely disguises SSL traffic as unencrypted SOCKS traffic. It does not itself provide authentication, confidentiality, or guarantee data integrity. Those features must be provided by the traffic being obfuscated (e.g., SSL and Tor). Nor does it protect against protocol fingerprinting using other means (such as timing or packet size), nor against attackers looking specifically for obfsproxy itself. The threat model document in the project's Git repository outlines the assumptions and characteristics in specific detail, and argues that although the scope is limited: it "protects against many real-life Tor traffic detection methods currently deployed, since most of them currently use static SSL handshake strings as signatures."
Tor executive director Andrew Lewman told Forbes magazine that other protocol wrappers are a possibility for future releases, including XMPP and vanilla HTTP, and described a simpler client-side interface. At the moment, however, he described the project as "very much a work in progress, and the
various pluggable transports are still in design and development."
The anatomy of obfs2
Obfsproxy is a recent addition to Tor, and although the project has released updated Tor Browser Bundle binaries pre-configured to use it, for most existing Tor users it requires compiling and running the client code — as well as knowledge of a Tor bridge also configured to run obfsproxy. Still, Tor reports that users in Iran are taking advantage of the code to successfully restore their lost connectivity.
Masking a Tor connection between client and bridge requires both participants to be running obfsproxy, but the client-bridge connection is the only one involved in the obfuscation — no general-purpose Tor nodes (including exit nodes) are required to install obfsproxy or need to alter their configuration.
Interested client and bridge users should fetch obfsproxy from the Tor project's Git repository and compile it with Autogen and GNU make. All versions of Tor newer than 0.2.3.11 can be configured to use obfsproxy simply by editing the Tor configuration file. Clients must add the IP address and port number of an obfsproxy-aware bridge and path to the obfsproxy executable. Bridge operators must start Tor and watch their logs, because Tor randomly selects an open, higher-numbered TCP port for obfsproxy to listen on the first time it is run. Older versions of Tor can use obfsproxy, too, using additional steps to configure a localhost-only relay between Tor and the obfsproxy program.
Whichever setup is involved, the obfs2 protocol operates in the same manner. It is based on Bruce Leidl's older work to obfuscate SSH handshakes. The client and the bridge first exchange session keys with each other, after which they "superencipher" their SSL session by encrypting it with 128-bit AES.
By default the protocol uses a relatively weak key-exchange method that
could be compromised by an eavesdropper listening to both sides of the
conversation — although the use of a pre-shared secret to strengthen
this step is supported as well. It may sound as if the weak key exchange method undermines the whole process, but the important thing to remember is that the obfuscation protocol's only goal is to defeat automatic detection by pattern-matching DPI filters. Furthermore, the seed values that the client and bridge exchange are concatenated with constants and then hashed with SHA256, a step that does not make them unrecoverable, but that is computationally expensive to perform on the class of high-throughput networking hardware generally used to do DPI traffic analysis.
Obfuscation for all
To the paranoid, obfs2 may sound like an imperfect solution to the
filtering crisis. After all, it could be defeated by closer inspection of
packets or filtering out SOCKS traffic. In that sense, obfsproxy might be
likened to steganography — its goal is to hide the traffic of estimated tens-of-thousands of Tor users in a censored region like Iran among the connections of millions.
The Tor project reports that it has performed experiments of its own,
and found obfsproxy to be effective "in all censored
countries" when used as-is. However, as Jacob Appelbaum mentioned
in the call for obfsproxy bridges, "it might even only last
for a few days at the rate the arms race is progressing, if you could call it progress." Then
again, thanks to the modular design of obfsproxy, the obfs2 module itself
can be replaced or upgraded in future releases, both to disguise traffic
better, or to implement completely different security features. The sudden
crackdown on all SSL traffic in Iran might have hit before a perfect system
was in place, but obfsproxy is still a welcome relief for those who are
affected, and have no other practical options.
Comments (8 posted)
Brief items
Sorry, that was not correct. The "1" was actually an upper-case, sans-serif
"I." Please try again by typing the following letters and numbers, this
time using your nondominant hand and with one eye closed:
[...] Sorry, the second "X" was also lowercase. It looked larger because it was closer to the screen than the first. Please try again by retyping the words you see in this box:
--
The New York Times has some fun with CAPTCHA
As shown in the movie, the tool has a database that contains city profiles
including Paris, Berlin, Amsterdam, Brussels, and Geneva. The tool runs on
the right and on the left is the browser accessing Google Maps over SSL. In
the first attempt, I load the city of Paris and zoom in a couple of
times. On the second attempt I navigate to Berlin and zoom in a few
times. On both occasions the tool manages to correctly guess the locations
that the browser is accessing.
Please note that it is a shoddy proof of concept, but it shows the concept
of SSL traffic analysis pretty well. It also might be easier to understand
for less technically inclined people, as in "An attacker can still figure
out what you're looking at on Google Maps" (with the addendum that it's
never going to be a 100% perfect and that my shoddy proof of concept has
lots of room for improvement).
--
Vincent
Berg
The publication, citing a former 19-year Nortel employee who oversaw the
investigation into the hack, said Nortel did nothing to keep out the
hackers except to change seven compromised passwords that belonged to the
CEO and other executives. The company "made no effort to determine if its
products were also compromised by hackers," the WSJ [Wall Street Journal] said. Nortel, which sold off parts of its business as part of a 2009 bankruptcy filing, spent about six months investigating the breach and didn't disclose it to prospective buyers.
--
ars
technica reports on a 2000 infiltration of Nortel
Comments (8 posted)
Here's a variant on the "untrustworthy SSL certificate authority" theme:
this
ComputerWorld story describes how Trustwave issued a "subordinate root"
certificate to a private company. That allowed said company to stamp out
certificates for any domains it liked and conduct man-in-the-middle attacks
against SSL traffic from its internal network. "
Trustwave defended
itself by saying that the issuing of subordinate roots to private
companies, so they can inspect the SSL-encrypted traffic that passes
through their networks, is a common practice in the industry."
Comments (40 posted)
The H is
reporting that a backdoor was inserted into installation packages of the Horde groupware. The affected versions are "
Horde 3.3.12, Groupware 1.2.10 and the webmail edition of the groupware product". An intrusion into the FTP server back in November led to the problem. "
Users who have installed a hacked version onto a server have thrown their systems wide open to the hackers – the backdoor enables them to execute arbitrary PHP code. By exploiting additional vulnerabilities, attackers could use this to gain complete control of the server."
Comments (none posted)
Matthew Garrett clears up
some Secure Boot myths on his blog:
It's only a problem for hobbyist Linux, not the real Linux market:
Untrue. It's unclear whether even the significant Linux vendors can
implement Secure Boot in a way that meets the needs of their customers and
still allows them to boot on commodity hardware. A naive implementation
removes many of the benefits of Linux for enterprise customers, such as the
ability to use local modifications to micro-optimise systems for specific
workloads. One of the key selling points of Linux is the ability to make
use of local expertise when adapting the product for your needs. Secure
Boot makes that more difficult.
Comments (2 posted)
New vulnerabilities
apr: denial of service
| Package(s): | apr |
CVE #(s): | CVE-2012-0840
|
| Created: | February 14, 2012 |
Updated: | March 1, 2012 |
| Description: |
From the Mandriva advisory:
tables/apr_hash.c in the Apache Portable Runtime (APR) library through
1.4.5 computes hash values without restricting the ability to trigger
hash collisions predictably, which allows context-dependent attackers
to cause a denial of service (CPU consumption) via crafted input to
an application that maintains a hash table. |
| Alerts: |
|
Comments (none posted)
bugzilla: multiple vulnerabilities
| Package(s): | bugzilla |
CVE #(s): | CVE-2012-0440
CVE-2012-0448
|
| Created: | February 13, 2012 |
Updated: | February 15, 2012 |
| Description: |
From the CVE entries:
Cross-site request forgery (CSRF) vulnerability in jsonrpc.cgi in Bugzilla 3.5.x and 3.6.x before 3.6.8, 3.7.x and 4.0.x before 4.0.4, and 4.1.x and 4.2.x before 4.2rc2 allows remote attackers to hijack the authentication of arbitrary users for requests that use the JSON-RPC API. (CVE-2012-0440)
Bugzilla 2.x and 3.x before 3.4.14, 3.5.x and 3.6.x before 3.6.8, 3.7.x and 4.0.x before 4.0.4, and 4.1.x and 4.2.x before 4.2rc2 does not reject non-ASCII characters in e-mail addresses of new user accounts, which makes it easier for remote authenticated users to spoof other user accounts by choosing a similar e-mail address. (CVE-2012-0448)
|
| Alerts: |
|
Comments (none posted)
cvs: remote code execution
| Package(s): | cvs |
CVE #(s): | CVE-2012-0804
|
| Created: | February 9, 2012 |
Updated: | March 29, 2012 |
| Description: |
From the Debian advisory:
It was discovered that a malicious CVS server could cause a heap
overflow in the CVS client, potentially allowing the server to execute
arbitrary code on the client. |
| Alerts: |
|
Comments (none posted)
devscripts: multiple vulnerabilities
| Package(s): | devscripts |
CVE #(s): | CVE-2012-0210
CVE-2012-0211
CVE-2012-0212
|
| Created: | February 15, 2012 |
Updated: | February 15, 2012 |
| Description: |
From the Debian advisory:
CVE-2012-0210:
Paul Wise discovered that due to insufficient input sanitising when
processing .dsc and .changes files, it is possible to execute
arbitrary code and disclose system information.
CVE-2012-0211:
Raphael Geissert discovered that it is possible to inject or modify
arguments of external commands when processing source packages with
specially-named tarballs in the top-level directory of the .orig
tarball, allowing arbitrary code execution.
CVE-2012-0212:
Raphael Geissert discovered that it is possible to inject or modify
arguments of external commands when passing as argument to debdiff
a specially-named file, allowing arbitrary code execution. |
| Alerts: |
|
Comments (none posted)
ettercap: insecure settings file
| Package(s): | ettercap |
CVE #(s): | CVE-2010-3843
|
| Created: | February 9, 2012 |
Updated: | April 9, 2013 |
| Description: |
From the Red Hat bugzilla entry:
The GTK version of ettercap uses a global settings file
at /tmp/.ettercap_gtk and does not verify ownership of this
file. When parsing this file for settings in gtkui_conf_read()
(src/interfaces/gtk/ec_gtk_conf.c), an unchecked sscanf() call allows a
maliciously placed settings file to overflow a statically-sized buffer
on the stack. Stack-smashing protection catches it, but it still should
be fixed.
Verify with:
$ perl -e 'print "A"x500' > /tmp/.ettercap_gtk && ettercap -G
Firstly, the settings file should not be globally accessible without
checking ownership, which still gets hairy because an attacker could
create a symlink or hard link to a victim-controlled file (unless you're
using YAMA :p). The best thing would probably be to keep this file in
the user's home directory instead.
Secondly, parsing configuration files should be robust against malformed
input and not susceptible to trivial buffer overflows. |
| Alerts: |
|
Comments (none posted)
firefox: multiple vulnerabilities
| Package(s): | MozillaFirefox |
CVE #(s): | CVE-2012-0443
CVE-2012-0445
CVE-2012-0446
CVE-2012-0447
CVE-2012-0450
|
| Created: | February 9, 2012 |
Updated: | February 15, 2012 |
| Description: |
From the openSUSE advisory:
CVE-2012-0443: Ben Hawkes, Christian Holler, Honza Bombas,
Jason Orendorff, Jesse Ruderman, Jan Odvarko, Peter Van Der
Beken, and Bill McCloskey reported memory safety problems
that were fixed in Firefox 10.
MFSA 2012-03/CVE-2012-0445: Alex Dvorov reported that an
attacker could replace a sub-frame in another domain's
document by using the name attribute of the sub-frame as a
form submission target. This can potentially allow for
phishing attacks against users and violates the HTML5 frame
navigation policy.
MFSA 2012-05/CVE-2012-0446: Mozilla security researcher
moz_bug_r_a4 reported that frame scripts bypass XPConnect
security checks when calling untrusted objects. This allows
for cross-site scripting (XSS) attacks through web pages
and Firefox extensions. The fix enables the Script Security
Manager (SSM) to force security checks on all frame scripts.
MFSA 2012-06/CVE-2012-0447: Mozilla developer Tim Abraldes
reported that when encoding images as
image/vnd.microsoft.icon the resulting data was always a
fixed size, with uninitialized memory appended as padding
beyond the size of the actual image. This is the result of
mImageBufferSize in the encoder being initialized with a
value different than the size of the source image. There is
the possibility of sensitive data from uninitialized memory
being appended to a PNG image when converted fron an ICO
format image. This sensitive data may then be disclosed in
the resulting image.
MFSA 2012-09/CVE-2012-0450: magicant starmen reported that
if a user chooses to export their Firefox Sync key the
"Firefox Recovery Key.html" file is saved with incorrect
permissions, making the file contents potentially readable
by other users on Linux and OS X systems. |
| Alerts: |
|
Comments (none posted)
glpi: file inclusion vulnerability
| Package(s): | glpi |
CVE #(s): | CVE-2012-1037
|
| Created: | February 13, 2012 |
Updated: | February 20, 2012 |
| Description: |
GLPI v 0.78 to 0.80.61 fails to properly sanitize the GET 'sub_type' parameter in the front/popup.php file. This has been fixed in GLPI 0.80.7.
See this post on the Full Disclosure mailing list for additional details. |
| Alerts: |
|
Comments (none posted)
gnutls: denial of service
| Package(s): | gnutls |
CVE #(s): | CVE-2011-4128
|
| Created: | February 9, 2012 |
Updated: | March 30, 2012 |
| Description: |
From the openSUSE advisory:
Large server tickets could crash gnutls clients. |
| Alerts: |
|
Comments (none posted)
java: multiple vulnerabilities
| Package(s): | java-1.6.0-openjdk |
CVE #(s): | CVE-2011-3563
CVE-2011-3571
CVE-2011-5035
CVE-2012-0497
CVE-2012-0501
CVE-2012-0502
CVE-2012-0503
CVE-2012-0505
CVE-2012-0506
|
| Created: | February 15, 2012 |
Updated: | February 6, 2013 |
| Description: |
From the Red Hat advisory:
It was discovered that Java2D did not properly check graphics rendering
objects before passing them to the native renderer. Malicious input, or an
untrusted Java application or applet could use this flaw to crash the Java
Virtual Machine (JVM), or bypass Java sandbox restrictions. (CVE-2012-0497)
It was discovered that the exception thrown on deserialization failure did
not always contain a proper identification of the cause of the failure. An
untrusted Java application or applet could use this flaw to bypass Java
sandbox restrictions. (CVE-2012-0505)
The AtomicReferenceArray class implementation did not properly check if
the array was of the expected Object[] type. A malicious Java application
or applet could use this flaw to bypass Java sandbox restrictions.
(CVE-2011-3571)
It was discovered that the use of TimeZone.setDefault() was not restricted
by the SecurityManager, allowing an untrusted Java application or applet to
set a new default time zone, and hence bypass Java sandbox restrictions.
(CVE-2012-0503)
The HttpServer class did not limit the number of headers read from HTTP
requests. A remote attacker could use this flaw to make an application
using HttpServer use an excessive amount of CPU time via a
specially-crafted request. This update introduces a header count limit
controlled using the sun.net.httpserver.maxReqHeaders property. The default
value is 200. (CVE-2011-5035)
The Java Sound component did not properly check buffer boundaries.
Malicious input, or an untrusted Java application or applet could use this
flaw to cause the Java Virtual Machine (JVM) to crash or disclose a portion
of its memory. (CVE-2011-3563)
A flaw was found in the AWT KeyboardFocusManager that could allow an
untrusted Java application or applet to acquire keyboard focus and possibly
steal sensitive information. (CVE-2012-0502)
It was discovered that the CORBA (Common Object Request Broker
Architecture) implementation in Java did not properly protect repository
identifiers on certain CORBA objects. This could have been used to modify
immutable object data. (CVE-2012-0506)
An off-by-one flaw, causing a stack overflow, was found in the unpacker for
ZIP files. A specially-crafted ZIP archive could cause the Java Virtual
Machine (JVM) to crash when opened. (CVE-2012-0501)
|
| Alerts: |
|
Comments (none posted)
kernel: denial of service
| Package(s): | kernel |
CVE #(s): | CVE-2011-4087
|
| Created: | February 9, 2012 |
Updated: | February 15, 2012 |
| Description: |
From the openSUSE advisory:
CVE-2011-4087: A local denial of service when using bridged
networking via a flood ping was fixed.
|
| Alerts: |
|
Comments (none posted)
kernel: memory corruption
| Package(s): | kernel |
CVE #(s): | CVE-2011-4604
|
| Created: | February 9, 2012 |
Updated: | February 15, 2012 |
| Description: |
From the openSUSE advisory:
CVE-2011-4604:
If root does read() on a specific socket, it's possible to
corrupt (kernel) memory over network, with an ICMP packet,
if the B.A.T.M.A.N. mesh protocol is used. |
| Alerts: |
|
Comments (none posted)
kernel: multiple vulnerabilities
| Package(s): | kernel |
CVE #(s): | CVE-2011-4086
CVE-2012-0028
|
| Created: | February 9, 2012 |
Updated: | June 1, 2012 |
| Description: |
From the Red Hat advisory:
A flaw was found in the way the Linux kernel's journal_unmap_buffer()
function handled buffer head states. On systems that have an ext4 file
system with a journal mounted, a local, unprivileged user could use this
flaw to cause a denial of service. (CVE-2011-4086, Moderate)
A flaw was found in the way the Linux kernel handled robust list pointers
of user-space held futexes across exec() calls. A local, unprivileged user
could use this flaw to cause a denial of service or, eventually, escalate
their privileges. (CVE-2012-0028, Important) |
| Alerts: |
|
Comments (none posted)
kernel: unauthorized file access
| Package(s): | kernel |
CVE #(s): | CVE-2012-0055
|
| Created: | February 13, 2012 |
Updated: | February 15, 2012 |
| Description: |
From the Ubuntu advisory:
Andy Whitcroft discovered a that the Overlayfs filesystem was not doing the
extended permission checks needed by cgroups and Linux Security Modules
(LSMs). A local user could exploit this to by-pass security policy and
access files that should not be accessible. |
| Alerts: |
|
Comments (none posted)
mozilla: code execution
| Package(s): | mozilla-thunderbird, firefox |
CVE #(s): | CVE-2012-0452
|
| Created: | February 13, 2012 |
Updated: | February 16, 2012 |
| Description: |
From the Mandriva advisory:
Use-after-free vulnerability in Mozilla Firefox 10.x before 10.0.1,
Thunderbird 10.x before 10.0.1, and SeaMonkey 2.7 allows remote
attackers to cause a denial of service (application crash) or
possibly execute arbitrary code via vectors that trigger failure of
an nsXBLDocumentInfo::ReadPrototypeBindings function call, related
to the cycle collector's access to a hash table containing a stale
XBL binding |
| Alerts: |
|
Comments (none posted)
mysql: multiple unspecified vulnerabilities
| Package(s): | mysql |
CVE #(s): | CVE-2012-0117
CVE-2012-0486
CVE-2012-0487
CVE-2012-0488
CVE-2012-0489
CVE-2012-0491
CVE-2012-0493
CVE-2012-0494
CVE-2012-0495
CVE-2012-0496
|
| Created: | February 13, 2012 |
Updated: | February 16, 2012 |
| Description: |
From the CVE entries:
Unspecified vulnerability in the MySQL Server component in Oracle MySQL 5.5.x allows remote authenticated users to affect availability via unknown vectors, a different vulnerability than CVE-2012-0486, CVE-2012-0487, CVE-2012-0488, CVE-2012-0489, CVE-2012-0491, CVE-2012-0493, and CVE-2012-0495. (CVE-2012-0117)
Unspecified vulnerability in the MySQL Server component in Oracle MySQL 5.5.x allows remote authenticated users to affect availability via unknown vectors, a different vulnerability than CVE-2012-0117, CVE-2012-0487, CVE-2012-0488, CVE-2012-0489, CVE-2012-0491, CVE-2012-0493, and CVE-2012-0495. (CVE-2012-0486)
Unspecified vulnerability in the MySQL Server component in Oracle MySQL 5.5.x allows remote authenticated users to affect availability via unknown vectors, a different vulnerability than CVE-2012-0117, CVE-2012-0486, CVE-2012-0488, CVE-2012-0489, CVE-2012-0491, CVE-2012-0493, and CVE-2012-0495. (CVE-2012-0487)
Unspecified vulnerability in the MySQL Server component in Oracle MySQL 5.5.x allows remote authenticated users to affect availability via unknown vectors, a different vulnerability than CVE-2012-0117, CVE-2012-0486, CVE-2012-0487, CVE-2012-0489, CVE-2012-0491, CVE-2012-0493, and CVE-2012-0495. (CVE-2012-0488)
Unspecified vulnerability in the MySQL Server component in Oracle MySQL 5.5.x allows remote authenticated users to affect availability via unknown vectors, a different vulnerability than CVE-2012-0117, CVE-2012-0486, CVE-2012-0487, CVE-2012-0488, CVE-2012-0491, CVE-2012-0493, and CVE-2012-0495. (CVE-2012-0489)
Unspecified vulnerability in the MySQL Server component in Oracle MySQL 5.5.x allows remote authenticated users to affect availability via unknown vectors, a different vulnerability than CVE-2012-0117, CVE-2012-0486, CVE-2012-0487, CVE-2012-0488, CVE-2012-0489, CVE-2012-0493, and CVE-2012-0495. (CVE-2012-0491)
Unspecified vulnerability in the MySQL Server component in Oracle MySQL 5.5.x allows remote authenticated users to affect availability via unknown vectors, a different vulnerability than CVE-2012-0117, CVE-2012-0486, CVE-2012-0487, CVE-2012-0488, CVE-2012-0489, CVE-2012-0491, and CVE-2012-0495. (CVE-2012-0493)
Unspecified vulnerability in the MySQL Server component in Oracle MySQL 5.5.x allows local users to affect availability via unknown vectors. (CVE-2012-0494)
Unspecified vulnerability in the MySQL Server component in Oracle MySQL 5.5.x allows remote authenticated users to affect availability via unknown vectors, a different vulnerability than CVE-2012-0117, CVE-2012-0486, CVE-2012-0487, CVE-2012-0488, CVE-2012-0489, CVE-2012-0491, and CVE-2012-0493. (CVE-2012-0495)
Unspecified vulnerability in the MySQL Server component in Oracle MySQL 5.5.x allows remote authenticated users to affect confidentiality and integrity via unknown vectors. (CVE-2012-0496) |
| Alerts: |
|
Comments (1 posted)
mysql: multiple unspecified vulnerabilities
| Package(s): | mysql |
CVE #(s): | CVE-2011-2262
CVE-2012-0075
CVE-2012-0087
CVE-2012-0101
CVE-2012-0102
CVE-2012-0112
CVE-2012-0113
CVE-2012-0114
CVE-2012-0115
CVE-2012-0116
CVE-2012-0118
CVE-2012-0119
CVE-2012-0120
CVE-2012-0484
CVE-2012-0485
CVE-2012-0490
CVE-2012-0492
|
| Created: | February 9, 2012 |
Updated: | August 13, 2012 |
| Description: |
From the Red Hat advisory:
CVE-2011-2262 mysql: Unspecified vulnerability allows remote attackers to affect
availability
CVE-2012-0075 mysql: Unspecified vulnerability allows remote authenticated users to affect
integrity
CVE-2012-0087 mysql: Unspecified vulnerability allows remote authenticated users to affect
availability
CVE-2012-0101 mysql: Unspecified vulnerability allows remote authenticated users to affect
availability
CVE-2012-0102 mysql: Unspecified vulnerability allows remote authenticated users to affect
availability
CVE-2012-0112 mysql: Unspecified vulnerability allows remote authenticated users to affect
availability
CVE-2012-0113 mysql: Unspecified vulnerability allows remote authenticated users to affect
confidentiality and availability
CVE-2012-0114 mysql: Unspecified vulnerability allows local users to affect
confidentiality and integrity
CVE-2012-0115 mysql: Unspecified vulnerability allows remote authenticated users to affect
availability
CVE-2012-0116 mysql: Unspecified vulnerability allows remote authenticated users to affect
confidentiality and integrity
CVE-2012-0118 mysql: Unspecified vulnerability allows remote authenticated users to affect
confidentiality and availability
CVE-2012-0119 mysql: Unspecified vulnerability allows remote authenticated users to affect
availability
CVE-2012-0120 mysql: Unspecified vulnerability allows remote authenticated users to affect
availability
CVE-2012-0484 mysql: Unspecified vulnerability allows remote authenticated users to affect
confidentiality
CVE-2012-0485 mysql: Unspecified vulnerability allows remote authenticated users to affect
availability
CVE-2012-0490 mysql: Unspecified vulnerability allows remote authenticated users to affect
availability
CVE-2012-0492 mysql: Unspecified vulnerability allows remote authenticated users to affect
availability
|
| Alerts: |
|
Comments (none posted)
php: multiple vulnerabilities
| Package(s): | php5 |
CVE #(s): | CVE-2011-4153
CVE-2012-0788
CVE-2012-0831
|
| Created: | February 10, 2012 |
Updated: | February 28, 2013 |
| Description: |
From the Ubuntu advisory:
It was discovered that PHP did not always check the return value of
the zend_strndup function. This could allow a remote attacker to
cause a denial of service. (CVE-2011-4153)
It was discovered that PHP did not properly enforce that PDORow
objects could not be serialized and not be saved in a session. A
remote attacker could use this to cause a denial of service via an
application crash. (CVE-2012-0788)
It was discovered that PHP allowed the magic_quotes_gpc setting to
be disabled remotely. This could allow a remote attacker to bypass
restrictions that could prevent an SQL injection. (CVE-2012-0831) |
| Alerts: |
|
Comments (none posted)
phpldapadmin: cross-site scripting
| Package(s): | phpldapadmin |
CVE #(s): | CVE-2012-0834
|
| Created: | February 14, 2012 |
Updated: | February 15, 2012 |
| Description: |
From the CVE entry:
Cross-site scripting (XSS) vulnerability in lib/QueryRender.php in phpLDAPadmin 1.2.2 and earlier allows remote attackers to inject arbitrary web script or HTML via the base parameter in a query_engine action to cmd.php. |
| Alerts: |
|
Comments (none posted)
puppet: unintended access to resources
| Package(s): | Puppet |
CVE #(s): | CVE-2011-0528
|
| Created: | February 14, 2012 |
Updated: | February 15, 2012 |
| Description: |
From the Ubuntu advisory:
It was discovered that Puppet would allow remote ralsh under certain
circumstances. An attacker on an authenticated puppet node could exploit
this to view or manipulate resources on other Puppet nodes. |
| Alerts: |
|
Comments (none posted)
samba: denial of service
| Package(s): | samba |
CVE #(s): | CVE-2012-0817
|
| Created: | February 9, 2012 |
Updated: | February 15, 2012 |
| Description: |
From the Red Hat bugzilla entry:
A memory leak leading to denial of service (smbd crash) was found in the way
smbd daemon of the Samba suite performed management of file descriptors related
to socket connections. A remote attacker could use this flaw to cause excessive
CPU use, or, potentially denial of service via loop of incoming connections. |
| Alerts: |
|
Comments (none posted)
selinux-policy: policy enhancements
| Package(s): | selinux-policy |
CVE #(s): | |
| Created: | February 14, 2012 |
Updated: | February 15, 2012 |
| Description: |
From the Scientific Linux advisory:
An incorrect SELinux policy prevented the qpidd service from starting.
These selinux-policy packages contain updated SELinux rules, which allow the qpidd service to be started correctly.
With SELinux in enforcing mode, the ssh-keygen utility was prevented from
access to various applications and thus could not be used to generate
SSH keys for these programs. With this update, the "ssh_keygen_t" SELinux domain type has been implemented as unconfined, which ensures the ssh-keygen utility to work correctly. |
| Alerts: |
|
Comments (none posted)
sysconfig: code execution
| Package(s): | sysconfig |
CVE #(s): | CVE-2011-4182
|
| Created: | February 9, 2012 |
Updated: | February 15, 2012 |
| Description: |
From the openSUSE advisory:
sysconfig hook script for NetworkManager did not properly
quote shell meta characters when processing ESSIDs.
Specially crafted network names could therefore lead to
execution of shell code (CVE-2011-4182). |
| Alerts: |
|
Comments (none posted)
wireshark: multiple vulnerabilities
| Package(s): | wireshark |
CVE #(s): | |
| Created: | February 9, 2012 |
Updated: | February 15, 2012 |
| Description: |
From the Mandriva advisory:
Multiple file parser and NULL pointer vulnerabilities including a
RLC dissector buffer overflow was found and corrected in Wireshark. |
| Alerts: |
|
Comments (none posted)
xchat-ruby: null pointer dereference, remote DoS
| Package(s): | xchat-ruby |
CVE #(s): | |
| Created: | February 13, 2012 |
Updated: | February 15, 2012 |
| Description: |
From the Red Hat bugzilla:
In src/xchat-ruby.c functions
static_ruby_custom_command_hook(char *word[], char *word_eol[], void *userdata)
static_ruby_custom_server_hook(char *word[], char *word_eol[], void *userdata)
parameter 'word' used in a for cycle without break [1]
for( i = 1; word[i][0] != '\0'; i++ )
The problem is word[PDIWORDS] always set to NULL by xchat. So if the input
contains more words than PDIWORDS (32) [2], the NULL pointer will be
dereferenced.
This bug remote triggerable over IRC networks if one or more ruby plugin uses
hook_server(). |
| Alerts: |
|
Comments (none posted)
znc: denial of service
| Package(s): | znc |
CVE #(s): | CVE-2012-0033
|
| Created: | February 10, 2012 |
Updated: | February 15, 2012 |
| Description: |
From the Red Hat bugzilla:
A denial of service flaw was reported in ZNC versions 0.200 and 0.202. A DCC
RESUME received by znc can cause a crash in the bouncedcc module. |
| Alerts: |
|
Comments (none posted)
Page editor: Jake Edge
Kernel development
Brief items
The current development kernel is 3.3-rc3,
released on February 8. "
No big
surprises, which is just how I like it. About a third of the patches are in
ARM, but the bulk of that is due to the removal of the unused DMA map code
form the bcmring support. So no complaints."
Stable updates: 3.0.21, 3.2.6 and 2.6.32.57 were released on February 13
with a long list of important fixes.
For those still using the 2.6.27 kernel, 2.6.27.60 was released on February 12,
quickly followed
by 2.6.27.61 to fix the inevitable build
error. There's lots of fixes that have gone in since 2.6.27.59 was
released last April.
Comments (none posted)
-static inline void *kcalloc(size_t n, size_t size, gfp_t flags)
+static inline void *wtf_do_i_call_this(size_t n, size_t size, gfp_t flags)
{
if (size != 0 && n > ULONG_MAX / size)
return NULL;
- return __kmalloc(n * size, flags | __GFP_ZERO);
+ return __kmalloc(n * size, flags);
+}
+
+static inline void *kcalloc(size_t n, size_t size, gfp_t flags)
+{
+ return wtf_do_i_call_this(n, size, flags | __GFP_ZERO);
}
--
Andrew Morton
I was thrilled a year ago at last to discover who Virginia is,
celebrated in mm/memory.c and mm/page-writeback.c
--
Hugh Dickins
I'm sitting here wondering what you meant to type when you typed
"ftrace pouch". I'm stumped! But you're not allowed to tell us -
that would take all the fun out of it.
--
Andrew Morton
Comments (2 posted)
The
February
2012 issue of ;login: has
a
detailed overview of Btrfs [PDF] written by developer Josef Bacik.
"
Btrfs’s snapshotting is simple to use and understand. The snapshots
will show up as normal directories under the snapshotted directory, and you
can cd into it and walk around like in a normal directory. By default, all
snapshots are writeable in Btrfs, but you can create read-only snapshots if
you so choose. Read-only snapshots are great if you are just going to
take a snapshot for a backup and then delete it once the backup
completes. Writeable snapshots are handy because you can do things such as
snapshot your file system before performing a system update; if the update
breaks your system, you can reboot into the snapshot and use it like your
normal file system."
Comments (14 posted)
The
Lima driver project has released the
code for its open source graphics driver supporting the Mali-200 and Mali-400 GPUs. "
The aim of this driver is to finally bring all the advantages of open source software to ARM SoC graphics drivers. Currently, the sole availability of binary drivers is increasing development and maintenance overhead, while also reducing portability, compatibility and limiting choice. Anyone who has dealt with GPU support on ARM, be it for a linux with a GNU stack, or for an android, knows the pain of dealing with these binaries. Lima is going to solve this for you, but some time is needed still to get there." (Thanks to Paul Wise.)
Comments (9 posted)
Kernel development news
By Jake Edge
February 15, 2012
On the first day of this year's Android
Builders Summit, a panel was held to discuss the Android patches to the
Linux kernel, including the progress on getting them upstream. The panel
consisted of Zach Pfeffer from Linaro, Tim Bird from Sony, Arnd Bergmann of
IBM/Linaro, and Greg Kroah-Hartman of the Linux Foundation (LF), with LWN
executive editor Jonathan Corbet moderating. The overall feeling from the
panel was that things with the Android kernel patches were proceeding
apace—recent kernels can boot into an Android user space—but
there is still work to be done. While I could not attend ABS this year,
this report comes via
the magic of streaming video.
Each of the panelists introduced themselves and connected themselves to
Android in various ways. Pfeffer is the Android platform lead for Linaro
and is responsible for creating Android builds for each of the member
companies, Bird represents Sony as the architecture chair of the LF Consumer
Electronics working group, Bergmann has recently been working on the cleanup and consolidation of
the ARM subtree, and Kroah-Hartman maintains the staging tree where most of
the Android code currently lives.
Corbet kicked off the discussion by noting that he had recently looked at
the current Red Hat Enterprise Linux (RHEL) kernel, which includes more
than 7600 patches on top of the mainline kernel. He also
pointed out that the Fedora kernel carries a number of different patches
that aren't likely to go upstream anytime soon (utrace, in particular).
Given that, "why are we here?", why is Android (and its
patches) treated differently than other distributions' kernels, he asked.
Kroah-Hartman said that the Android patches are only about 7000 lines of
code and that some UART drivers are larger. But people care more about the
Android patches because device makers and others have to pull down all
those patches and apply them to get a mainline kernel working with
Android. It is different from enterprise kernels, he said, because there
are no real downstream users of the source code of those. Bergmann also
pointed out that much of the change in the RHEL or Fedora kernels was for
things like drivers which don't change the operating system core as some of
the Android patches do.
Pfeffer noted that in the past the kernel developers were seen as "the
rebel alliance", but that now the Android developers have assumed that
role to some extent. Bird pointed out that part of the problem is that due
to the success of Android, the kernels for board support packages (BSPs)
are being
built with Android kernels, rather than kernel.org kernels. That
essentially causes a split in the community.
The Android patches are largely in the mainline at this point (in staging),
Kroah-Hartman said, except for the wakelocks code. The 3.3-rc3 kernel can
boot an Android user space, but lacks the power management features that
wakelocks provide, so battery
life is poor. Bergmann said that he had seen a demo of Android running
on a mainline kernel, and there is "still a long way to go".
One area that
needs attention, Bergmann said, is the user-space interfaces of some of the
Android features. Those may
not be what the kernel developers want to support long-term, so they need
to be addressed before the Android patches make their way out of staging
and those interfaces become
part of the kernel ABI.
The PMEM patches, which provide a means to reserve contiguous memory and to
share buffers between the kernel and user space, was the next topic.
Corbet noted that PMEM had been in and out of staging twice, but had never
been merged. Since then, Android has moved on and is not using PMEM any
longer. So, was it the right move not to merge PMEM, he asked.
The panel seemed in agreement that it was right not to merge those patches,
with Pfeffer noting that they were simply an expedient to get products out
the door. As ARM matures, he said, common usage models will come about,
rather than various quick fixes. Kroah-Hartman pointed out that the memory
management kernel developers told the PMEM developers "how to do it right",
but that no
one ever did that work, which is "a problem that we've had forever". Bird
agreed with Pfeffer, saying that he is pushing to get things into the
mainline, but that if there is pushback, "that's fine", as there are
sometimes "quick and dirty" things done to ship products.
Corbet pursued that topic with a mention of the contiguous memory allocator (CMA) that is
being pushed by Samsung and is aimed at Android. But he noted that Android
itself has moved from PMEM to the ION memory
allocator, which duplicates some of the CMA functionality while adding
another user-space interface. What should be done about ION, he asked.
Android is not "pushing" ION, Pfeffer said, and if the kernel community
doesn't want it, it shouldn't take it. There was a need for a solution
that didn't exist in the mainline, so Android went ahead with ION. It may
not necessarily be easy to work with all of the Android kernel patches, he
said, because of the time pressures it is operating under. In the end, ION
could be handled much like PMEM was, he said.
But Bergmann pointed out that ION could be integrated with CMA and the DMA
buffer sharing work that are getting close to the mainline. ION and the
soon-to-exist mainline solutions are not mutually exclusive, he said.
Pfeffer said that the "entire room" doesn't really care which solution is
chosen, they just want something that has been integrated and tested. That
may be ION now, and something else down the road.
In a sense, this is a result of the longstanding conflict between the needs
of the embedded world vs. those of the rest of kernel, Corbet posited. But
Kroah-Hartman disagreed, saying that the enterprise distributions have the
same problems, just on a different timescale. Those distributions need to
ship, often well before the code is upstream. Embedded isn't really
different, they just need to get their code upstream as well, he said.
One place where it is different, though, is that in the embedded world
things may move from hardware to software at a relatively rapid pace,
Pfeffer said. That
means that a driver written for hardware JPEG decoding may really only be
needed for one six-month product cycle, so that driver really doesn't need
to go upstream. Because of that, Bergmann said, many of those drivers are
designed to stay out of the mainline. Bird echoed that, saying that
sometimes a "fatalistic approach" to kernel development is the pragmatic
choice. Even for long-lived code, if there is no hope that it can go
upstream, developers will just try to focus on making it maintainable out of
tree.
For a long time, the trajectory of Android code was heading away from the
mainline, Pfeffer said, but that has started to correct itself. Though the
kernel needs more maintainers so that code can get upstream faster, he
said. Bergmann agreed that more maintainers would help, but the work needs
to be done in a more organized fashion with an eye toward getting the
user-space interfaces right.
Bird said that he doesn't expect there to be a need for
another panel of this sort because the problem is solving itself at this
point. Kroah-Hartman more or less agreed, noting that the Android problems
are "nothing new" and that the kernel community has been solving these
kinds of problems for 20 years.
With luck, the Android developers won't be adding much more to the core,
Corbet said, but what about drivers? CyanogenMod is trying to get Ice
Cream Sandwich (Android 4.0) in the hands of its users, but is running into
problems with getting drivers from some vendors. What can be done to solve
that problem?
Kroah-Hartman noted that things are getting better in that department, but
that some companies care about getting their drivers into the mainline,
while others don't. The latter don't realize that it will save them money
in the long run. He is often talking with various companies, so if there
are specific instances of problem drivers, he wants to know about them.
But kernel drivers are not the whole problem, Pfeffer said. In the
graphics and video realms, the line between the kernel and user space has
been "blown away", he said. There is now firmware, kernel interfaces,
binary blobs, and user-space interfaces to do graphics which are all
released in lockstep, and often all as binary blobs, which is not a good
thing. It isn't an engineering issue, but a legal one, he said. Google's
engineers do not want binary blobs, he said, and have been pushing back on
vendors for things like the Nexus line of phones.
Bergmann also pointed to
the open source driver for the Mali GPU as
an indicator of the direction where things are headed. If the other
graphics vendors don't get their act together with respect to free drivers,
they will not survive, he said.
With that, the 45-minute slot had expired. The upshot seems to be that
mainline kernel support for Android is moving along reasonably well. It
won't be too long before it will be possible to run Android on a mainline
kernel while still maintaining some reasonable battery life. Beyond that,
though, the process is working more or less as it should. The out-of-tree
Android patches were just another in a long line of hurdles that the kernel
community has overcome.
Comments (none posted)
By Jonathan Corbet
February 15, 2012
Anybody who does low-level kernel programming for long enough learns that
the hardware is not their friend. Expecting the hardware to be nice is a
recipe for disaster; instead, one must treat the hardware as if it were a
clever and willful dog. With some effort, it can be made to perform
impressive tricks, but, given a moment of inattention, it will snag your
dinner from the grill and hide under the couch. The good news
is that Linux kernel developers understand the nature of their relationship
with the hardware and take great care not to trust it too far. Or, at
least, that is what we would like to think.
Consider this snippet of code from drivers/char/hpet.c:
do {
m = read_counter(&hpet->hpet_mc);
write_counter(t + m + hpetp->hp_delta, &timer->hpet_compare);
} while (i++, (m - start) < count);
Here, read_counter() is a thin macro wrapper around
readl(). The driver is writing to the timer compare register in a
loop, assuming that the "main counter" value read from the HPET will
eventually exceed the threshold value. Almost always, that is exactly what
happens. But if the HPET ever goes a little bit weird and stops returning
something meaningful when the main counter is read, the above code could
easily turn into an infinite loop. The kernel is trusting the hardware to
be rational, but the hardware may not choose to live up to that
expectation.
"Usbmuxd" is a daemon which facilitates communications with various Apple
iDevices. Recently, this
patch to usbmuxd was recognized to be a security fix for a bug
eventually designated as CVE-2012-0065. In short, this daemon would read a
serial
number string from the device and copy it into an internal array without
checking its length. Exploiting this vulnerability is not easy - it
requires the ability to plug in a USB device that has been designed to
overflow that particular buffer with something interesting. But it
is a vulnerability, and it is worth noting that an increasing number
of USB devices are really just Linux systems using the "USB gadget" code;
creating that malicious device would not be hard to do. So this
vulnerability could be interesting to the "leave a malicious USB stick in
the parking lot" school of attacker.
This bug, too, is the result of trusting the hardware. As seen here, the
hardware could be overtly evil. In other cases, it is just subject to
electrical wear, power spikes, cosmic rays, and the varying skills of those
who write the firmware - closed source which is never reviewed by anybody.
Even in a world where price pressures didn't mandate that each component
must cost as little as possible, hardware bugs would be a problem.
By now, the lesson
should be clear: driver developers should always regard their hardware with
extreme suspicion and take nothing for granted. The problem is that even
highly diligent developers (and reviewers) can easily let this kind of
bug slip by. In almost all cases, the driver appears to work just fine without the
extra sanity checks; the hardware plays along most of the time, after all,
until that especially inopportune moment arrives. Sometimes the developer
sees the resulting failure, resulting in that "oh, yeah, I have to
make sure that the hardware doesn't flake there" moment that is discouragingly
common in driver development. Other times, some far away user sees strange
problems and nobody really knows why.
What would be nice would a way for the computer to tell developers when
they are being overly trusting of the hardware; then it might be possible
to skip the "tracking down the weird problem" experience. As it happens,
such a way exists in the form of a static analysis tool called Carburizer,
developed by Asim Kadav, Matthew J. Renzelmann and Michael M. Swift. Those
wanting a lot of information about this tool can find it in this
one-page poster [PDF], this ACM
Symposium on Operating Systems Principles (SOSP) paper [PDF], or in this
rather over-the-top web site.
In short: Carburizer analyzes kernel code, looking for insufficiently
robust dealings with the hardware. Its key strength at the moment appears
to be the identification of possible infinite loops - loops whose exit
condition depends solely on a value obtained from the hardware. There are,
it seems,
over 1000
such loops in the 3.2.1 kernel. The tool also looks for cases where
unchecked values from hardware are used to index arrays or are used
directly as pointers, though the false-positive rate seems to be higher for
these checks. The result is an output file as linked above, from which
developers can go and investigate.
Naturally enough, the tool shows some signs of its academic origins. It is
written in Ocaml and requires some modifications to the kernel source tree before
it can be run. Carburizer also requires that multi-file drivers be merged
into one big file, with the result that the line numbers in the resulting
diagnostics do not correspond to the source tree everybody else has. That
may be part of why, despite a positive response to a
posting of the tool on kernel-janitors in January, 2011, little in the
way of actual fixes seems to have resulted. Or it may just be that, so
far, these results have only been seen by a relatively small group of
developers.
Interestingly, Carburizer can propose fixes of its own. These include
putting time limits into potentially infinite loops and adding bounds
checks to suspect array references. While it is at it, Carburizer fixes up
seemingly unnecessary panic() calls and adds logging code to
places where, it thinks, the driver neglects to report a hardware failure.
With a separate runtime module, it can even deal with stuck interrupts (the
driver is forced into a polling mode) and more. The resulting code has not
been posted for consideration, which is not entirely surprising; the fixes
are, necessarily, of a highly conservative "don't break the driver"
nature. Such fixes are almost certain not to be what a human would write
after looking at the code. But the tool is open source, so interested
developers can run it themselves to see what it would do.
Meanwhile, even without automatic fixes, these results seem worthy of some
attention. Computers can be far better than humans at finding many classes
of bugs; when computers have been used in that role, some types of bugs
have nearly disappeared from the kernel. Maybe someday we'll have a
version of Carburizer that can be folded into a tool like checkpatch; for
now, though, we'll have to look at its complaints about our code separately
and decide what action is needed.
Comments (11 posted)
February 15, 2012
This article was contributed by Nicolas Pitre
ARM Ltd recently announced the big.LITTLE architecture consisting of
a twist on the SMP systems that we've all gotten accustomed to. Instead of
having a bunch of identical CPU cores put
together in a system, the big.LITTLE architecture is effectively pushing
the concept further by pulling two different SMP systems together: one
being a set of "big" and fast processors, the other one consisting of
"little" and power-efficient processors.
In practice this means having a cluster of Cortex-A15 cores, a
cluster of Cortex-A7 cores, and ensuring cache coherency between
them. The advantage of such an arrangement is that it allows for
significant power
saving when processes that don't require the full performance of the
Cortex-A15 are executed on the Cortex-A7 instead. This way,
non-interactive background operation, or streaming multimedia decoding,
can be run on the A7 cluster for power efficiency, while sudden screen
refreshes and similar bursty operations can be run on the A15 cluster to
improve responsiveness and interactivity.
Then, how to support this in Linux? This is not as trivial as it may
seem initially. Let's suppose we have a system comprising a cluster of
four A15 cores and a cluster of four A7 cores. The naive approach would
suggest making the eight cores visible to the kernel and letting the
scheduler do its job just like with any other SMP system. But here's
the catch: SMP means Symmetric Multi-Processing, and in the big.LITTLE
case the cores aren't symmetric between clusters.
The Linux scheduler expects all available CPUs to have the same
performance characteristics. For example, there are provisions in the
scheduler to deal with things like hyperthreading, but this is still an
attribute which is normally available on all CPUs in a given system.
Here we're purposely putting together a couple of CPUs with significant
performance/power characteristic discrepancies in the same system, and
we expect the kernel to make the optimal usage of them at all times,
considering that we want to get the best user experience together with
the lowest possible battery consumption.
So, what should be done? Many questions come to mind:
- Is it OK to reserve the A15 cluster just for interactive tasks and the
A7 cluster for background tasks?
- What if the interactive tasks are sufficiently light to be processed by
the small cores at all times?
- What about those background tasks that the user interface is actually
waiting after?
- How to determine if a task using 100% CPU on a small core should be
migrated to a fast core instead, or left on the small core because
it is not critical enough to justify the increased power usage?
- Should the scheduler auto-tune its behavior, or should user-space
policies influence it?
- If the latter, what would the interface look like to be useful and
sufficiently future-proof?
Linaro started an initiative
during the most recent Linaro Connect to
investigate this problem. It will require a high degree of
collaboration with the upstream scheduler maintainers and a good amount
of discussion. And given past history, we know that scheduler changes
cannot happen overnight... unless your name is Ingo that is.
Therefore, it is safe to assume that this will take a significant amount
of time.
Silicon vendors and portable device makers are not going to wait though.
Chips implementing the big.LITTLE architecture will appear on the market
in one form or another, way before a full heterogeneous multi-processor
aware scheduler is available. An interim solution is therefore needed
soon. So let's put aside the scheduler for the time being.
ARM Ltd has produced a prototype software solution
consisting of a small hypervisor using the virtualization extensions of
the Cortex-A15 and Cortex-A7 to make both clusters appear to the
underlying operating system as if there was only one Cortex-A15 cluster.
Because the cores within a given cluster are still symmetric, all the
assumptions built into the current scheduler still hold. With a
single call, the hypervisor can atomically suspend execution of the
whole system, migrate the CPU states from one cluster to the other, and
resume system execution on the other cluster without the underlying
operating system being aware of the change; just as if nothing has
happened.
Taking the example above, Linux would see only four Cortex-A15 CPUs at all
times. When a switch is initiated, the registers for each of the 4 CPUs
in cluster A are transferred to corresponding CPUs in cluster B,
interrupts are rerouted to the CPUs in cluster B, then CPUs in cluster B are
resumed exactly where cluster A was interrupted, and, finally, the CPUs in
cluster A are powered off. And vice versa for switching back to the
original cluster. Therefore, if there are eight CPU cores in the system,
only four of them are visible to the operating system at all times. The
only visible difference is the observable execution speed, and of course
the corresponding change in power consumption when a cluster switch
occurs. Some latency is implied by the actual switch of course, but
that should be very small and imperceptible by the user.
This solution has advantages such as providing a mechanism which should
work for any operating system targeting a Cortex-A15 without
modifications to that operating system. It is therefore OS-independent
and easy to integrate. However, it brings a certain level of complexity
such as the need to virtualize all the differences between the A15 and
the A7. While those CPU cores are functionally equivalent, they may
differ in implementation details such as cache topology. That would force
every
cache maintenance operation to be trapped by the hypervisor and
translated into equivalent operations on the actual CPU core when the
running core is not the one that the operating system thinks is running.
Another disadvantage is the overhead of saving and restoring the full
CPU state because, by virtue of being OS-independent, the hypervisor
code may not know what part of the CPU is actually being actively used
by the OS. The hypervisor could trap everything to be able to know what
is being touched allowing partial context transfers, but that would be
yet more complexity for a dubious gain. After all, the kernel already
knows what is being used in the CPU, and it can deal with differing
cache topologies natively, etc. So why not implement this switcher
support directly in the kernel given that we can modify Linux and do
better?
In fact that's exactly what we are doing i.e. take the ARM Ltd BSD
licensed switcher code and use it as a reference to actually put the
switcher functionality directly in the kernel. This way, we can get
away with much less support from the hypervisor code and improve
switching performances by not having to trap any cache maintenance
instructions, by limiting the CPU context transfer only to the minimum
set of active registers, and by sharing the same address space with the
kernel.
We can implement this switcher by modeling its functionality as a CPU
speed change, and therefore expose it via a cpufreq driver. This
way, contrary to the reference code from ARM Ltd which is limited to a
whole cluster switch, we can easily pair each of the A15 cores with one
of the A7 cores, and have each of those CPU pairs appear as a single
pseudo CPU with the ability to change its performance level via cpufreq.
And because the cpufreq governors are already available and understood
by existing distributions, including Android, we therefore have a
straightforward solution with a fast time-to-market for the big.LITTLE
architecture that shouldn't cause any controversy.
Obviously the "switcher" as we call it is not replacing the ultimate
goal of exposing all the cores to the kernel and letting the scheduler
make the right decisions. But it is nevertheless a nice self-contained
interim solution that will allow pretty good usage of the big.LITTLE
architecture while removing the pressure to come up with scheduler
changes quickly.
Comments (60 posted)
Patches and updates
Kernel trees
Core kernel code
Development tools
Device drivers
Filesystems and block I/O
Memory management
Architecture-specific
Security-related
Virtualization and containers
Miscellaneous
Page editor: Jonathan Corbet
Distributions
February 15, 2012
This article was contributed by Bruce Byfield
Robyn Bergeron, the new Fedora project leader (FPL), described herself on the OpenStack wiki as an "all-around untechnical person." Given her background, the description is too modest, but it does emphasize that she brings to her new position perspectives that are different from that of her predecessors — in particular, that of a industry analyst.
Although Bergeron studied economics in college, her first job combined duties on a help desk with part-time system administration. She later became a business analyst at Intel, focusing on the embedded chip vertical markets.
For several years, she was a full-time mother, but "I started missing
my technical roots," she said. "I started getting involved
with various open-sourcey things: I did the editing for papers for the
Linux Symposium, and then I sort of stumbled into Fedora Marketing,
mid-to-late 2009. From there, I sort of steadily progressed." Hired
in November 2010 by Red Hat as Fedora Program Manager to oversee the
features of each release, she has also been the Fedora Marketing team lead,
and a facilitator for the Fedora Cloud SIG.
With this background, her appointment by Red Hat was "not a
shock," she said, to either her or the Fedora community. Referring to Jared Smith, the previous FPL, she added:
I was fairly well-positioned to know what Jared's roles and duties were, because he and I developed a lot of the scheduling to keep more track of what the FPL does. I was pretty familiar with all that stuff, so I was an easy person to fit into the role. I like to use the phrase 'recovering sys-admin,' but I think that combined with the analytical things I've done, I bring a different perspective to the role.
Setting technical priorities and directions
Staying true to her analyst perspective, Bergeron said, "One of the first things I'd like to do is get a handle on statistics. If you don't have some specific statistical data that you know is valid, it's very hard to choose a direction in which to go."
Asked to elaborate on the statistics that interest her, Bergeron suggested:
Number of users, and where they are downloading from: are we very strong in specific regions, do we not have support in other regions? Are we tapering off? If we're seeing significant growth, is that attributable to the outreach [the Fedora Ambassadors] are doing? Can we make that a repeatable process and do it elsewhere?"
In addition, she would like to better track the personal goals of members of the Fedora Board and other active project participants. That is, she would like project members to be able to answer questions like: "What are the milestones you need to get there? What are the data points that you want to hit so we're being successful? I think people feel better when they can concretely see that they're meeting milestones and progressing somewhere."
This kind of tracking, Bergeron suggested, is becoming increasingly
important as Fedora moves away from being focused on the desktop and server
markets and starts to enter the mobile markets. "A lot of [my role]
is finding what the big interests are people have in Fedora," she said. "I mean, what do they want to do with it?"
Despite this caution, Bergeron has already identified some of the
directions in which she would like to see Fedora develop. Although she
describes Fedora's support for
the ARM platform as "one of the areas where I'm still learning a lot," she already recognizes it as an area where the Fedora community would like to see more activity. "I know for sure, particularly based on the number of people who sat in on some of the sessions at FUDCon that we have a tremendous lot of people who are extremely, extremely interested in the ARM platform who are diligently getting it ready to work, and hoping that everything will be set for Fedora 17 to have an ARM release."
Another priority is support for cloud computing. In Fedora 17, Bergeron said:
We're expecting to have pretty much every major infrastructure and service platform included. We're going to have OpenStack, CloudStack. We have Aeolus, OpenNebula — you name it, we pretty much have it. We've gone from having really outdated, old, yucky stuff to the point where we actually have [multi-platform support] built into our release process. We're also looking at adding a couple of new things, like images that people can use for their own personal virtualization / cloud use.
In addition, Bergeron remains interested in making Btrfs the default filesystem for Fedora. However, contrary to previous announcements, that change will not happen in Fedora 17. According to the ticket in the Fedora bug-tracking system, neither Anaconda, the Fedora installer, or Kickstart, the automatic installer, supports manual repartitioning with Btrfs, and with Anaconda scheduled for a rewrite for Fedora 18, a change of plans seems only logical. "It was a question of whether we could support it in the way we would need to if it's going to be the default filesystem," Bergeron explained.
In general, Bergeron professed to be generally satisfied with Fedora's state. Although complaints about overall quality erupt periodically on the user mailing list, Bergeron pointed out Fedora's well-defined release criteria and process and active QA team as proof that Fedora's quality remains high.
Commenting on the perception that Fedora's quality is compromised by its tradition of introducing new features, Bergeron said:
Fedora for what it is -- essentially, a community supported product -- does a very good job. We have excellent release criteria, specific to desktop types, processor types, for alpha, beta and final [releases], and an amazing QA team and members in the community who help out. And in recent releases, we've added
Auto QA and
automatic bug reporting. Some of those things have really helped to improve the quality of where we're at right now.
One of the things that people really like about Fedora is that they're basically getting a preview of what's going to be in Red Hat Enterprise Linux right down the road. It's putting them ahead of the curve. [And] I know plenty of people who are ordinary daily users, and they're just as happy as developers doing things I couldn't possibly explain to people.
Setting policy
Inevitably, some of the media coverage of Bergeron's appointment highlighted that she was the first woman to be FPL. Similarly, comments on the reporting often focused on whether this milestone mattered. However, Bergeron herself is non-committal on the topic:
I'm happy for people to recognize it, but it's certainly not my platform. It's not anything I'm using to my advantage or disadvantage. The most I can really say is that it's progress for Fedora. But I'm not here as FPL to promote women. I know that some people have had difficulties being women in open source, but I've never had a single problem. No barriers — everything has been great for me. Fedora's been a wonderful family. I'm here because I've done good things, and that's the end of it.
Asked if she has any plans to increase women's participation in Fedora, her reply was, "I have plans to get more contributors involved" — her emphasis suggesting yet again that she is not much interested in the subject.
By contrast, Bergeron sounded far more enthusiastic about using Fedora Ambassadors to increase contributors in general. She suggested continuing the practice of targeting regions for attention by Ambassadors. She also suggested specifically targeting potential contributors with design and programming skills, and taking another look at how easy joining Fedora really is, and how newcomers can become active more quickly.
Still another policy Bergeron plans to put in place is to start the process of preparing potential candidates for her eventual replacement. "Part of being a leader is thinking of who might follow you from Day One," she said. "It's part of leadership, picking out people you think might be good and encouraging them to step up and take new tasks, and seeing how they might perform in those areas."
However, one area that Bergeron has no plans for changes is Red Hat's
appointment of the FPL, which is done with little input from the Fedora
board or community. Outsiders often criticize the lack of
community control and input in the appointment of the FPL, some suggesting
that the process proves that Fedora is not a true community distribution,
but still controlled by Red Hat. But when the question came up, Bergeron said simply, "No one in the Fedora community has come out screaming that it's the wrong way to do it. I think it's always easy from the outside to say that's the wrong way, but so long as the community is comfortable with it, that's an okay thing to do."
Settling in
When LWN talked to Bergeron, she was obviously still settling into her new role. However, she characterized this period of transition as a time to evaluate:
Any time you take on a new role, it's a good time to step back and look at your role through a new lens. Historically, that's what all the FPLs have done before me, to step back and make sure that they're on the same page as other people. I'm pretty sure that all my predecessors were very technical, while most of my expertise is in written communications and marketing — although I can certainly do plenty of technical things on my own. I also tend to be more whimsical in my communication than some of the other folk. But that's part of being FPL, helping people to become engaged in different ways, to keep things fresh and new for them.
As though to emphasize her whimsy, Bergeron concluded the conversation with, "I'm happy to be here. And I love hot dogs."
She is referring, of course, to Fedora 17's code name, Beefy Miracle, but the comment hints that whimsy might, as she promised, be yet another aspect of her leadership. At the same time, the comment leaves no doubt of her familiarity with the distribution she is now leading.
Comments (3 posted)
Brief items
Last but not least, I’m also thankful for Red Hat, and their continued
support on behalf of Fedora, and for the great trust they place in the
Fedora community. I could go on and on about the relationship between Red
Hat and Fedora, but let me just say that I’m thankful for Red Hat’s
continued efforts to do the right thing and to practice what it preaches
about open source communities. During my tenure at FPL, I never once felt
pressured by Red Hat to do anything that wasn’t in the community’s best
interest, and I think that says volumes about a corporate sponsor.
--
Jared
Smith
Being FPL [Fedora Project Leader] is sort of like landing the part of The
Doctor in Doctor Who. Each FPL brings a different personality to the role,
and each FPL has their own particular talents. Also, the job isn't held too
long by any one person, as the FPL usually goes on to new adventures after
a few years. (Red Hat says there's no set tenure for an FPL, but it's
usually two or three years since Max Spevack held the job during the Fedora
5 through 9 releases.) Sadly, no sonic screwdrivers or time travel are
involved.
--
Joe
'Zonker' Brockmeier (by way of Linux.com)
Technology generally suffers by something like the uncertainty
principle: you can have everything well tested and ultra-stable, or you
can have all the features and support for new hardware. But you cannot
have both. While Fedora is something different to all of us, I think one
thing is clear: that Fedora should have things First, that's our motto,
and that means that not everything is as well tested as it is in RHEL or
CentOS. Accepting this means that we will always have a few hiccups
before things have stabilized perfectly. It's a necessary part of the
game, and it won't change in the future either. As long as we decide
that Fedora is where things should be available first this will stay the
same.
You can't have a pony and eat it too.
--
Lennart Poettering
Comments (2 posted)
Debian 5.0 "lenny" has reached its
end of
supported life. "
The Debian project released Debian GNU/Linux 6.0 alias "Squeeze" on
the 6th of February 2011. Users and distributors have been given a
one-year timeframe to upgrade their old installations to the current
stable release. Hence, the security support for the old release of 5.0
ended on the 6th of February 2012 as previously announced."
Comments (none posted)
NetBSD 5.1.2 has been
released. "
NetBSD 5.1.2 is the second critical/security update of the NetBSD 5.1 release branch. It represents a selected subset of fixes deemed critical for security or stability reasons. All users are encouraged to upgrade."
Comments (none posted)
Support for Scientific Linux 4.x will end later this month. "
Anyone
still running production workloads on Scientific Linux 4 are advised to
begin upgrading to Scientific Linux 5 or 6. Upstream recommends a
reinstall and not an upgrade. Please be advised that we also believe that
a clean reinstall is the preferred method for moving from Scientific Linux
4 to a newer version."
Full Story (comments: none)
Newsletters and articles of interest
Comments (none posted)
The H
takes
a look at the latest release of
CrunchBang, which is available in
"stable" and "backported" editions. "
The stable edition ships with
Debian's 2.6.32 stable kernel and X.org 7.5, while the backported version
includes the more recent Linux 3.2 kernel and version 7.6 of X.org. The
backported edition also automatically tracks any packages that enter the
Debian backports repository; both versions of CrunchBang 10 R20120207 use
backported versions of Iceweasel 10, the re-branded version of Firefox for
Debian, and the Geany text editor, specifically Geany 0.20. The new 32-bit
images also ship with the 686 kernels instead of the 486 kernels as, [Philip] Newborough says, "any system that cannot run the 686 flavour kernel is going to struggle to run #! at all"."
Comments (none posted)
Michael Hall
looks forward to
the next
Ubuntu
Global Jam, March 2-4, 2012. Jams are organized by Ubuntu Local
Communities (LoCos) where like-minded souls can work together to improve
Ubuntu. "
Every cycle we help people organize their jams, and suggest the same generic topics: Bug triaging, packaging, translations, documentation, testing, etc. This time, in addition to these topics, we will be reaching out to the various teams both in Canonical and the Community, and picking some very specific activities that will directly help them make the Precise Pangolin the best release of Ubuntu ever."
Comments (none posted)
Mark Shuttleworth
introduces the
Ubuntu Business Desktop Remix. "
This remix takes the most common changes we’ve observed among institutional users and bundles them into one CD which can be installed directly or used as a basis for further customization. Before anyone gets all worked up and conspiratorial: everything in the remix is available from the standard Software Centre. Packages out, packages in. No secret sauce for customers only; we’re not creating a RHEL, we already have an enterprise-quality release cadence called LTS and we like it just the way it is. This is a convenience for anyone who wants it. Having a common starting point, or booting straight into a business-oriented image makes it easier for institutional users to evaluate Ubuntu Desktop for their specific needs."
Comments (none posted)
TechWeek Europe
covers
SUSE's 20th anniversary. "
SUSE plans to roll out information and activities highlighting how the company has evolved from its early beginnings in the open source industry, to forging partnerships with some of the world’s leading technology vendors to deliver innovation, investment protection and enterprise-quality software infrastructure to a generation of customers."
Comments (none posted)
Page editor: Rebecca Sobol
Development
February 15, 2012
This article was contributed by Nathan Willis
Audio broadcasters gained a valuable tool in late January with the 2.0 release of Airtime, a Linux-based radio station management suite. Although it started off targeting independent over-the-air news stations, Airtime has developed into a tool that can handle recording and programming streams delivered over the Internet, too. The new release adds more integration with online services of interest to broadcasters, as well as streamlining the configuration and workflow of running a broadcast service.
What is Airtime?
Airtime is developed by Sourcefabric, a Prague-based
non-profit that produces free software tools for independent media. Its
other projects include news-oriented content management and publishing
systems, and a recently launched book publishing platform. The group started in 1998 as the electronic media wing of the Media Development Loan Fund, a charity chartered to support "independent news outlets in countries with a history of media oppression," before spinning off on its own in 2010.
Sourcefabric's origins have impacted its software projects in several key ways, however. For example, all of the products are built with internationalization and multilingual-output (often including simultaneous publication in several languages) from the start, which is not true of every CMS. But with Airtime, the original mandate — to develop station management software for radio broadcasters under oppression — resulted in a web-based design that allows users to configure and program broadcasting equipment from remote locations, even across national borders.
In practice, Airtime generates audio streams using the Liquidsoap stream-mixing framework, and can output the results simultaneously to Icecast or Shoutcast servers (as MP3 and/or Vorbis) or through a sound card connected to traditional over-the-air broadcasting equipment. It supports several audio source types, including a library of recorded files (which are indexed by PostgreSQL and may be stored in a remote location), live studio audio that is captured by Ecasound, and "playout" content mixed in a variety of ways by the Mixxx DJing application. The audio features include fade-in/fade-out, cue points, and automatic cutoff when a program reaches its scheduled end.
The station management features include a calendar-like system for programming shows, ads, and other audio, complete with user-configurable recurrence and re-broadcast settings. The programming interface allows drag-and-drop reordering of the schedule and of tracks within a given program, and full metadata searching through the station library. Individual user accounts can be configured to give producers and staff access to program only their own shows, and administrators can monitor station status status and resources remotely. The media management component automatically imports and indexes new content, so staff can pre-record shows and drop them into the central storage location, where Airtime will pick them up for later playback.
Although Airtime itself is a management interface, the project also
includes jQuery widgets that stations can add to their public-facing web sites to display information about the current on-air content and schedule information for the future.
Airtime is Linux-only, and while the project only makes official,
packaged releases for
Debian and Ubuntu, users of other distributions can download the source code and should be able to install it using the bundled installation scripts. In addition to Liquidsoap, Ecasound, and PostgreSQL mentioned above, Airtime depends on a variety of sound packages, although nothing too out-of-the-ordinary (assuming you do not count Liquidsoap's OCaml underpinnings as extraordinary). The code itself is written mostly in PHP, and is designed to work with Apache.
New in 2
The last major Airtime release (1.9) was in August of 2011. The project has been adding new features at a measured pace, so Airtime 2.0 is not a radical departure. However, it does implement some changes that can affect users and station administrators.
The most prominent is the ability to deliver output to up to three
separate Icecast/Shoutcast streams simultaneously, potentially on three
separate streaming servers. This allows stations to offer multiple
bitrates, or to provide separate MP3 and Vorbis streams for listeners who
prefer one or the other (although the limitation to three streams seems to be an
arbitrary decision). A related feature is the ability to automatically upload clips or full programs to a station's SoundCloud account for non-live access from directly within the Airtime interface. Bulk uploads are supported, as are re-uploads, and complete control over the metadata and sharing settings of files.
A few lower-level improvements are potentially important to server administrators. 2.0 now supports PulseAudio as a sound server (in addition to ALSA, OSS, libao, and PortAudio), thus removing the need for administrators to manually uninstall PulseAudio, which was an increasingly tricky proposition once PulseAudio became the default sound server in common distributions.
The "media monitor" has also been enhanced in the new release. It is the component responsible for watching designated storage directories for new content and indexing added files. Previous releases failed to handle some common scenarios, such as renaming directories, and could occasionally attempt to index a new file while it was still being copied into storage, thus corrupting the index data. There is new error-checking to prevent to users from inadvertently editing the same program simultaneously, which could also result in undefined behavior.
Many more of the improvements in the new release fall under the banner of simplifying station management through the web front-end. This is in keeping with the project's stated focus to "reduce the time and effort station managers and DJs spent on behind-the-scenes work," and most of the changes are said to have originated in feedback from existing Airtime users.
The changes include a simpler interface to the playlist builder, a more configurable calendar/schedule editor that remembers a user's view settings between visits, and the ability to "live preview" a program directly from the browser (in previous releases, previewing a program from the web required using an auxiliary application such as VLC). There are some security-hardening fixes as well (such as input validation and a reCAPTCHA option that is triggered when there is a series of failed login attempts), and more settings have been exposed in the web frontend that previously required editing .htaccess or php.ini. Finally, there are new widgets in the administration interface to monitor disk space usage and service status, and theme-able HTTP error pages.
Stay tuned
Sourcefabric lists an assortment of real radio stations using Airtime on its "Who's Using" page; they are scattered around Europe, Africa, and Asia. Some are commercial stations, others are community broadcasters or non-profits. Unfortunately, if you do not happen to live near one of the FM transmitters, your only option for listening to Airtime programming "live" is through one of the Icecast/Shoutcast feeds.
Anybody contemplating their own Airtime deployment has one other new option, though. Alongside the debut of the 2.0 code, Sourcefabric announced the availability of "Airtime Pro," a hosting service that offers Airtime in a variety of month-to-month plans. Naturally, this service is geared for Internet streaming and not AM or FM broadcasting, but for many users that may suffice.
Sourcefabric has offered customization services and support packages to commercial users of its products in years past; now that it is an independent organization it is presumably responsible for finding sustainable revenue streams. Given the project's commitment to "free as in freedom", hosted services are preferable to offering the software as open-core or another business model.
The project has an extensive roadmap for Airtime, hinting at more features and eventually a REST API. Airtime may only account for a fraction of a percent of the all the active radio stations on the globe, but it is a field currently dominated by expensive, proprietary software solutions — which, if nothing else, means the project has huge potential for growth.
Comments (3 posted)
Brief items
Keeping in mind that I want movable windows initially automatically
placed in a tiled fashion, not a tiled straightjacket, yes,
software could in principle do what I want. And Gnome used to. But
if Gnome's new design paradigm is "one window at a time is enough
for anyone!", I cannot realistically foresee a happy relationship
with Gnome.
--
Paul
McKenney (in the comments)
Grub2 is not the future. Grub2 is an unfortunate accident on the
way.
--
Alan Cox
Comments (10 posted)
The Document Foundation has announced LibreOffice 3.5. Some of the
new
features in this release include: a built-in grammar checker for English and
several other languages (Writer); an improved importer of custom shapes and
Smart Art from PPT/PPTX and a feature for embedding multimedia/colour
palettes into ODF documents (Draw); a new multi-line input area and new Calc
functions conforming to the ODF OpenFormula specifications (Calc); and a new
integrated PostgreSQL native driver (Base).
Full Story (comments: 26)
Version 1.8 of the PyPy Python interpreter is out. "
The main highlight of the release
is the introduction of `list strategies`_ which makes homogenous lists
more efficient both in terms of performance and memory. This release
also upgrades us from Python 2.7.1 compatibility to 2.7.2. Otherwise
it's "business as usual" in the sense that performance improved
roughly 10% on average since the previous release."
Full Story (comments: none)
The first official releases of the Wayland display system, now split into
two pieces called "Wayland" and "Weston," are now
available. What's not immediately available is a lot of information about
what capabilities are in this release or how usable it is. "
Wayland
is the protocol and IPC mechanism while Weston is the reference compositor
implementation. The 0.85 branch in both repositories is going to be
protocol and interface stable. We have a series of protocol changes on the
table before 1.0 but this branch marks a stable point before we jump into
that."
Full Story (comments: 26)
Newsletters and articles
Comments (1 posted)
The Chromium Blog has
an
overview of the new JavaScript features expected in a major revision of
the language next year. "
A proxy simulates a JavaScript object or
function, and can customize just about any aspect of their behaviour that
you can imagine. This is a real power feature, that takes reflection to a
new level and can be used to implement various advanced abstractions and
interfaces."
Comments (14 posted)
GNOME design team member Allan Day writes about ideas in
GNOME 3 application design on his blog. In the article, he looks at the use of maximized windows, views, primary toolbars, and more. The design team is documenting these ideas in a new version of the GNOME Human Interface Guidelines (HIG). "
There are many other application design patterns that we've been working on, including application menus, a new grid view for displaying collections of content, in-app notifications, new models for dialogs, nice full screen controls and a sidebar list pattern. Together, these provide the opportunity to create applications that efficient, modern, elegant, and a pleasure to use."
Comments (159 posted)
The H has posted
a
lengthy introduction to the Wayland display server project.
"
Wayland is only as useful as the applications and toolkits it
supports. Applications built for Xfce, GNOME and LXDE use the GTK+
toolkit. Porting the toolkit to Wayland makes the use of Wayland
transparent to the application. From an application's point of view, it is
still using the common UI elements, buttons, scrollbars, text areas,
sliders and checkboxes, that it has always used; but further down the
graphics stack, in the backend, these are now translated so they are
rendered with an appropriate graphics library into Wayland buffers."
Comments (434 posted)
Page editor: Jonathan Corbet
Announcements
Brief items
Sourcefabric has announced Booktype, a free, open source platform that
produces books for print, Amazon, iBooks and almost any ereader within
minutes. "
Booktype can be used as an out-of-the-box community platform to enable contributors to create profiles, join groups, watch books, chat live, post status messages and keep track of book activity. Communities such as www.booki.cc and FLOSS Manuals are already using the platform with thousands of contributors in multiple languages collaborating on everything from cookbooks to textbooks, reference guides to works of fiction."
Full Story (comments: 5)
Articles of interest
Ars technica is
reporting on a patent trial taking place in ... you guessed it ... East Texas that could have quite an impact on the web as we know it. Eolas Technologies is suing eight companies including Google and Yahoo for $600 million in a series of four trials, the first of which (to determine the validity of the patents) could go to the jury today.
"
Today, Doyle and his lawyers say he’s owed royalty payments for the use of a stunning array of modern Web technologies. Watching online video, having a "search suggestion" pop up in a search bar, or even rotating an image of a sweater you might want to buy on an online shopping site—all are said to infringe on the idea-space of Doyle and his company, Eolas Technologies."
Comments (5 posted)
Well, that was quick. The jury in a
patent lawsuit against eight companies that use "interactive web" technologies has found the Eolas Technologies patent to be invalid, according to a
report at ars technica. "
[Tim] Berners-Lee took to Twitter to cheer the decision. 'Texas jury agreed Eolas 906 patent invalid,' he wrote. 'Good thing too!'
[...]
Companies that depend on the open Web hailed the verdict. 'We are pleased that the court found the patents invalid, as it affirms our assertion that the claims are without merit,' a Google spokesperson told Ars."
Comments (57 posted)
Karsten Gerloff, President of the Free Software Foundation Europe, warns
that the approval of two deals involving large patent portfolios could
cause problems for free software. The first deal, recently approved by
the US Department of Justice (DoJ), involves the sale of Nortel's patent
portfolio to a consortium led by Apple and Microsoft. The second deal
involves the sale of Motorola Mobility patents to Google, which has been
approved by both the DoJ and the European Commission. "
'We
appreciate that competition authorities in the US and Europe continue to
take software patents seriously as a risk to competition,' says Karsten
Gerloff, President of the Free Software Foundation Europe. 'However, we
believe that the commitments made by Google, Microsoft and Apple regarding
their patent licensing policies are not sufficient to allow everyone to
compete on equal terms.'"
Full Story (comments: 4)
Over on his blog, Harald Welte
comments on GPL enforcement in light of the Busybox/Toybox controversy. "
In any kind of GPL enforcement, you of course not only want the complete corresponding source code to one program, but to all of the GPL/LGPL/AGPL or otherwise copyleft licensed programs contained in the product. We at gpl-violations.org have always been requesting the complete corresponding source code to all GPL licensed software during our communication with the infringing companies. This request was typically honored by everyone, without the need to apply any pressure onto it. After all, releasing only one bit of code causes the risk to get sued by somebody else who owns the other not-yet-compliant part of the code. [...] Now there have been rumors that SFC was not only requesting non-Busybox source code, but also making it a condition for the explicit re-instatement of the license on Busybox. Whether or not there was such a hard condition is subject to debate and there are different opinions on it. For those in the field of FOSS licensing, it has always known that there are different lines of thought with regard to the requirement to explicit reinstatement. We in Germany generally think that it is not required at all, and the existing preliminary injunctions at least implicitly acknowledge that as they enjoin companies from distributing a product as long as it is not in compliance with the license. In other (particularly the U.S.), it is generally assumed that explicit reinstatement is required."
Comments (36 posted)
New Books
No Starch Press has released "Practical Malware Analysis" by Michael
Sikorski and Andrew Honig.
Full Story (comments: none)
Upcoming Events
Events: February 16, 2012 to April 16, 2012
The following event listing is taken from the
LWN.net Calendar.
| Date(s) | Event | Location |
February 15 February 17 |
2012 Embedded Linux Conference |
Redwood Shores, CA, USA |
February 16 February 17 |
Embedded Technology Conference 2012 |
San José, Costa Rica |
February 17 February 18 |
Red Hat, Fedora, JBoss Developer Conference |
Brno, Czech Republic |
February 24 February 25 |
PHP UK Conference 2012 |
London, UK |
February 27 March 2 |
ConFoo Web Techno Conference 2012 |
Montreal, Canada |
| February 28 |
Israeli Perl Workshop 2012 |
Ramat Gan, Israel |
March 2 March 4 |
BSP2012 - Moenchengladbach |
Mönchengladbach, Germany |
March 2 March 4 |
Debian BSP in Cambridge |
Cambridge, UK |
March 5 March 7 |
14. German Perl Workshop |
Erlangen, Germany |
March 6 March 10 |
CeBIT 2012 |
Hannover, Germany |
March 7 March 15 |
PyCon 2012 |
Santa Clara, CA, USA |
March 10 March 11 |
Debian BSP in Perth |
Perth, Australia |
March 10 March 11 |
Open Source Days 2012 |
Copenhagen, Denmark |
March 16 March 17 |
Clojure/West |
San Jose, CA, USA |
March 17 March 18 |
Chemnitz Linux Days |
Chemnitz, Germany |
March 23 March 24 |
Cascadia IT Conference (LOPSA regional conference) |
Seattle, WA, USA |
March 24 March 25 |
LibrePlanet 2012 |
Boston, MA, USA |
March 26 March 29 |
EclipseCon 2012 |
Washington D.C., USA |
March 26 April 1 |
Wireless Battle of the Mesh (V5) |
Athens, Greece |
| March 28 |
PGDay Austin 2012 |
Austin, TX, USA |
March 28 March 29 |
Palmetto Open Source Software Conference 2012 |
Columbia, South Carolina, USA |
| March 29 |
Program your own open source system-on-a-chip (OpenRISC) |
London, UK |
| March 30 |
PGDay DC 2012 |
Sterling, VA, USA |
| April 2 |
PGDay NYC 2012 |
New York, NY, USA |
April 3 April 5 |
LF Collaboration Summit |
San Francisco, CA, USA |
April 5 April 6 |
Android Open |
San Francisco, CA, USA |
April 10 April 12 |
Percona Live: MySQL Conference and Expo 2012 |
Santa Clara, CA, United States |
April 12 April 13 |
European LLVM Conference |
London, UK |
April 12 April 15 |
Linux Audio Conference 2012 |
Stanford, CA, USA |
April 12 April 19 |
SuperCollider Symposium |
London, UK |
| April 13 |
Drizzle Day |
Santa Clara, CA, USA |
If your event does not appear here, please
tell us about it.
Page editor: Rebecca Sobol