Bobulate


Archive for the ‘Bla Bla’ Category

Unclear on the concept ..

Friday, December 18th, 2009

The Site and the contents herein are the intellectual property of someone and are protected by applicable copyright, trademark and proprietary rights. Viewing, printing or downloading of any content, graphic, form or document from this Site grants you only a limited nonexclusive license for your personal use and does not authorize republication, distribution, assignment, sublicense, sale, preparation of derivative works or the right to link to the Site from another location or any other use unless you have received someone‘s express written permission for such use.

I could tell you who that’s from, but then I’d probably add a link to them, and by golly, they think that I’m not allowed to.

This illustrates what happens when you let lawyers go crazy on terms and conditions — or at least a certain kind of lawyers who want to nail down as much as possible and believe that owning information and controlling all access to it is the way to increase revenue. I can understand some of the terms and conditions here: republication, of course, on the basis that this website describes a proprietary application, and sublicensing similarly. Of course, copyright laws already give publishers those rights, so I’m not sure why they show up again in the terms and conditions. And denying the right to link? Well, deep-linking has been challenged in court various times, but not linking in general. In other words, unclear on the concept (or overzealous).

Doing it right (on the wrong side of town)

Tuesday, December 15th, 2009

Ah, the Powder Blues band. Apologies, mostly.

I know a place on the wrong side of town,
Where the band width is cookin and they’re loading on down,
Joe compiles like his souls on fire,
Baking a new firmware for a telephone wire,
Rev up the sources, compliance comes down,
Doin it right on the wrong side of town!

In these troubled times, I thought I’d share some tales of companies doing it (relatively) right. Thanks to the quiet pressure and diplomacy of gpl-violations.org and their (and FSFE, too) desire to work on dialogue and long-term solutions, it’s possible to find consumer electronics in Europe that are compliant (within the wriggle room that is left in the notion of “compliance”).

In September I picked up a Lacie Network Space drive. 1TB, I think, UPnP server, black, glossy. So of course the first thing I did was go looking for GPL violations. This ended up with a half dozen folks standing around a table, red wine in hand, an improvised network on the floor. The manual of the product doesn’t mention the GPL. If you boot it up, you can get the syslog:

Jan 1 00:00:28 syslogd started: BusyBox v1.1.0 (2006.11.03-14:53+0000)
Jan 1 00:00:29 kernel: klogd started: BusyBox v1.1.0 (2006.11.03-14:53+0000)
Jan 1 00:00:29 kernel: Linux version 2.6.12.6-arm1 (jrichefeu@grp-horus) (gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-2)) #3 Tue Feb 3 14:04:45 CET 2009
Jan 1 00:00:29 kernel: CPU: ARM926EJ-Sid(wb) [41069260] revision 0 (ARMv5TEJ)

I should add it’s really quiet a nice piece of kit, except it never spins the disk down. And of course, the manual doesn’t mention the GPL. But the support section of the website does, and it’s not difficult to find the source downloads section. I haven’t verified that these are the complete and corresponding sources. It looks reasonable, though.

More recently I bought a Conceptronic Media Giant Plus, which is a HDD plus codecs and a bunch of A/V plugs, so it goes right into the TV — and then videos and whatnot go on the HDD, and play from there. The UI is a little clunky, but it works well enough, and if it saves having to go through and find the right DVD for the kids all the time, that’s fine by me. I don’t know what the hardware inside is exactly; it’s been on only once so far to copy the Eefje Wentelteefje TV Show onto it.

The box comes with a thin leaflet of license compliance statements. “Great!” I thought, but it turns out to be MPEG-4 compliance, and Fraunhofer, and all kinds of commercial licenses, patent licenses, consortium licenses, etc. No mention of the GPL. No mention of the software actually running on the machine. “Drat!” thought I. I don’t rub my hands together and cackle evilly then, though.

So my surprise was a little greater when I leafed through the (thick and comprehensive) user manual and found, at the back, a chapter “Licensing Information”.

This Conceptronic product (Media Giant) includes copyrighted third-party software licensed under the terms of the GNU General Public License. .. the following parts of this product are subject to the GNU GPL: (list including busybox, xine, Linux kernel). … Conceptronic as eposed (sic – exposed?) the full source code of the GPL licensed software, including any scripts to control compilation and installation of the object code. All future firmware updates will also be accompanied with their respective source code. For more information on how you can obtain our open source code, please visit our web site.

That text is followed by the full text of the GPL version 2, the LGPL version 2.1 and the FreeType license, 2006-Jan-27.

So, that’s pretty thorough except that a “visit our website” isn’t all that specific. I couldn’t find any links to the source on the product page, but some searching turned up the source at last.

So here’s two cases of “yeah, that’s ok, could be better, keep trying” — it’s like dealing with my son learning to ride a bicycle, they need some encouragement and support, because they’re still learning.

Five!

Friday, December 4th, 2009

Amiel, 5 years oldMira, six years oldIt’s been a while since I posted stuff about the kids – that is, stuff that is neither FSFE (legal, licensing or policy) nor KDE (development, porting) nor NLUUG (open standards, open systems) related. I could even have titled this post “Who is my family?” to keep with the recent theme of posting random pictures of (sub)groups of people.

My youngest child is five years old. Among other things, that means that he now has “leerplicht”, which is a Dutch way of saying he must attend school during regular school days and hours — so no more rushing away to random countries for conferences for him. I had a vague scheme to take him to FOSS.in at one point, but this year that wonderful conference overlaps with Amiel’s birthday (ok, it would have been cool to have a party in Bangalore) and Sinterklaas (high point of the Dutch family social calendar) which meant that the MOMC put her foot down and said “you will (both) stay here.”

So now it’s december, Amiel is five and happy at school and about to start English classes — maybe I should try to teach Mira some python so she can start writing plasmoids (after all, she’s six).

Who is KDE?

Thursday, December 3rd, 2009

Look at my horse
My horse is amazing

Board showing its cat-herding abilities

This is the last of the KDE e.V. board photo montages I’ll do from our recent board meeting in Berlin. You will note that we have considerable skills in rodeo riding as applied to dragons. But for a much better view of the KDE community (“KDE”) you should take a look at the planet or the dot.

Tribulations of a packager (2)

Thursday, December 3rd, 2009

Just because the source code isn’t all delivered in a tidy bundle to my doorstep with a thank-you note attached, doesn’t mean that I won’t try stuff out. Thanks to Christoph and Holger for explaining some of the WebKit things to me. In the course of today the KDE4-OpenSolaris folks updated the soprano packages, phonon (from an SVN checkout), and futzed around sufficiently that you should be able to build the Essential KDE Desktop (I don’t know where that fits in the new branding: it’s konsole, konqueror, kmail, plus integration with GDM so you can actually log in). As always, the specfiles and patches can be found in the Mercurial repo.

We still have 21 open bugreports against KDE trunk with patches attached (these are the same as patches in that repo, only reported upstream). That’s still a bunch to “encourage” maintainers to pick up. As a general rule, we commit trivia directly (happy constructors, const mismatches), file bugs on larger items, and try to keep the amount of unmergeable cruft to a minimum. I wrote some such cruft today for Dolphin, where apparently ? (some const KFileItemList method) : KFileItemList() << item isn’t acceptable. Sun Studio is particularly picky about types in the ternary operator; come to think of it a const_cast might have done the trick as well: something to experiment with later, because that would be a mergeable-trivia kind of patch.

Sometimes it’s hard to decide what flavor a patch is: today I added find_package(Boost) include_directories(Boost_INCLUDE_DIRS) to a few subdirectories in KDE PIM; that’s because Boost doesn’t live in the default compiler search path, but Akonadi’s headers #include them — so anything using Akonadi must also have the Boost include dirs in its include search path, which wasn’t the case. It’s a minor change, but it doesn’t scream “trivial” to me, so it’s sitting in our repo as “unmergeable cruft” for now.

All that said, that part of KDE SC 4.3.77 that I’ve gotten up and running is really nice; I’ve said it before, but the stuff integrates really well, including the GNOME network manager and notifications done by the pkgbuild tools when I’m building new stuff and the device manager; there’s still plenty to work on as well, but on the whole it pebbles (a small way to rock). Now if only I could start konqueror or dolphin from the menu or krunner — must be some weird crash going on behind the scenes when there’s no tty output. [[ And as a final shot, I should add that Konqueror is almost infinitely better with WordPress now than it was in 4.3.0. ]]

Tribulations of a packager

Wednesday, December 2nd, 2009

Qt 4.6.0 is out. That’s the first of the trials and tribulations for today, because it suggests that packagers should update their work on Qt. Which is one of those things that can take up to half of a KDE SC minor release cycle to get right. And when you find code in WebKit that has actually shipped that looks like this (real version in FastMalloc.cpp line 1438):

void *foo() {
#if COMPILER(MSVC)
  // Without this, Visual Studio will complain that this method does not return a value.
  return 0;
#endif
}

.. then it’s not so much reading Qt code as it is looking at the DailyWTF. No duh, you need a return statement to return a value. WebKit has other bits of badness in it as well, like missing configure checks. Remember when it was all the rage to check if the platform had char *strnstr() and then working with HAVE_STRNSTR instead of going #ifdef Q_OS_WINDOWS? Anyway, our sixteen variegated patches against Qt 4.5.3 still mostly apply, so I’ll go and experiment with them.

But actually I was trying to start updating the packages for OpenSolaris in the run up to KDE SC 4.4.0, which is still two months away. Fortunately Hajma has wrestled with KDE SVN trunk compilation and the dashboard now, so we have some idea of what’s going on in trunk and can slay bugs (happy constructor pattern seems popular again) as they show up. However, building from SVN checkouts (including all of kdesupport) is a world apart from building packages where you’re looking for released tarballs, clear dependency versioning and good documentation. Unfortunately, the Techbase documentation for KDE SC 4.4 requirements isn’t started yet as of this writing. It strikes me that there’s nothing about the parts coming from kdesupport in the 4.3 requirements either — I must have missed a memo somewhere.

Soprano just released a new version, 2.3.70, meant to work with the 4.4 beta cycle, so we can get started on that. Phonon is a bit trickier, since there’s no version check for phonon done in KDEbase-runtime (in the released 4.3.77 tarball, at least) and it fails sometime during compile with a missing phonon/globalconfig.h. The strigi website hasn’t been updated in over a year, but I know Jos has been doing releases of it — I just need to find out where to get a stable tarball.

Maybe it’s just a month too early to want to build KDE SC 4.4 against anything resembling release packages or on top of a stable software stack. Certainly when the stack that you’re delivering (various support packages, then the KDE development platform, then applications and a desktop on top of that) is very deep it can be tricky to get everything in sync, but it does place a burden on packagers. There’s a lot of stuff to update when a new release comes out, and not much time to do it in (which, incidentally, makes the KDE-FreeBSD team’s 4.3.3 packages all the more impressive to me — now if only 8-R didn’t have that little root hole).

I welcome our new gnomic overlords

Monday, November 30th, 2009

The location for GUADEC has been published: the Hague. LWN reports, and it looks like a cool team of folks doing the organizing. I wish them all the best — but they’re competing against the vierdaagse, so it’s no contest, really.

What price Freedom (2)?

Monday, November 30th, 2009

Let’s take a look at what happens when other Free Software operating systems run on my laptop, in terms of power consumption (and nothing else — I’m not going to explain in detail what’s running on each one, and rest assured that the available apps and toolsets in each of these installs is very different, reflecting what I use each OS for):

  • OpenSolaris, display off, nvidia drivers: 31W
  • OpenSolaris, display on, idle, nvidia drivers: 38W
  • OpenSolaris, display on, disk + network activity, nvidia drivers: 52W
  • Just the power brick: 1W

So it looks like Solaris is marginally (2W) better with power than Kubuntu at idle, and this laptop draws quite a lot in regular use. Maybe Solaris is not switching some hardware feature on, like Bluetooth, rather than being more efficient — but I haven’t noticed anything missing (Bluetooth is not something I’d miss). FreeBSD 8 fares no different — roughly same usage numbers as the other two OSsen.

Many commenters suggested trying the nouveau driver — so I did, whatever is available on Kubuntu 9.04 with no updates applied, and it makes no difference in power consumption, fails utterly at resume-from-suspend (nv got me no video, but I could ssh in, while now it just hangs), and is just as slow on logout as the nv driver. Perhaps there’s newer versions available — not something I’m going to experiment with this week.

I was afraid of worms, Roxanne!

Thursday, November 26th, 2009

Verbing weirds language. Language is important, because saying what you mean in such a way that the audience understands what you’re talking about is the whole point of communication, isn’t it. Well, we could say that getting the idea across is what’s important. Great thinkers such as Wittgenstein and Brouwer have thought so. They even said so, or at least tried to get that idea across.

I need to say “PJU25FV3SH3J” for Technorati reasons. It does not mean much to human readers, though.

I need to say “Linux kernel” to mean the stuff you can get here, “GNU/Linux” when I mean that kernel plus a userland composed mostly of GNU software (like a command-line-shell). I’m not sure how to distinguish that from “a software stack built with the GNU development toolchain”, although it’s pretty rare to identify software based on the tools that are used to turn the program into object code.

I could say “Ubuntu” or “OpenSUSE” to mean a collection of software packaged by some organization and partly customized for some specific audience, containing at least the GNU userland, a Linux kernel, and probably a whole bunch of other tools and software packages compiled with the GNU compiler but otherwise outside of that project, and possibly including proprietary software as well.

These words start to have a wider and wider coverage, with less and less specific content. Unless I say “OpenSUSE 11.2” and add a qualifier to make more specific which collection of software I mean. Even then, I should want to indicate which packages or desktop environment I’ve got installed as part of that collection — because there’s choice in how to interpret the words, too.

A word like “freedom” has a fairly short dictionary definition, but you can see that much has been written on different meanings of freedom. That is, as a word it has a wide coverage, which then needs a great deal of talking about to pin down again. Consider Wikipedia’s freedom (philosophy) and freedom (political). Those articles are actually fairly short. I wonder why? And of course we know that “the Four Freedoms” can mean only one thing. Oh, wait .. it doesn’t. I never knew there was a disambiguation page even for that.

Good thing there’s only one Free Beer. Although I must say I prefer the 4.0 release to the 3.0 release, at least in Sweden.

Oddly enough, “FreeBSD” and “OpenSolaris” are so far free of the wordsmithing arguments about what they mean; there’s a kernel and a partly GNU userland (where each FreeBSD release tends to replacce one or two more GNU tools with BSD-licensed tools — such is the nature of licensing) and pretty much the same set of applications you can build on them. In the OpenSolaris case, the GNU tools might even be compiled with a non-GNU compiler. Perhaps these words, names or trademarks are used more like “OpenSUSE” than as a term for an general collection of software. Even if in FreeBSD’s case, it is largely unbranded. Strange world.

Of course, some of these considerations show up now because names can be redefined. I think Aaron sums it up really nicely (edited a little from his dot comment):

if you want to refer to the “whole chunk of stuff i got at once that contains all sorts of stuff” then you can refer to the KDE software compilation. we really want people to be talking about and more aware of KDE as a modular set of software suites. there’s also okular and several dozen other apps that come in the SC, and many more KDE apps that don’t come in the SC. this is why we’re changing the name, because it’s so confusing.

So on weekends, I’m still a KDE dude, but my software engineering is applied to bringing the KDE Software Compilation to OpenSolaris. It doesn’t compile right now (darn you GCC-isms, GNU-isms and Linux-isms), but it will. And at some point in the future I can point again to the %files section of the specfile and say “there! that is what it means!”

Remixing

Thursday, November 26th, 2009

Last night, Dutch TV carried Rip! A Remix Manifesto on the regular national channels, at ten thirty in the evening. It’s a manifesto: not necessarily all that balanced or careful, but definitely worth your time to watch. Huzzah for National Film Board of Canada.