Underlying requirement for hard real-time

Simple point that is widely ignored: you need hard real-time capability to offer any meaningful “soft” real-time. Let’s suppose you say that you can drop up to N frames a minute or K< N frames over any 10 second period from a nominal H>N frames per minute feed. This is a typical soft real-time task – although stated here with greater precision than usual. Now what happens at time T when we notice that K-1 frames have been dropped over the last 9 seconds? Now we have a requirement to drop no more than 1 frame in the next second.

GPL Interface arguments and proprietary kernel modules

(rewritten for clarity Aug 21, 22, 2007)

Changing interfaces of GPL software is permitted under the GPL. The license specifically permits anyone to make any changes in the code. There is no limitation concerning the intentions of the coder or the desires of the code “maintainer”. The entire project of marking certain interfaces in Linux “GPL only” strikes me as absurd – and the claim that removing those marks is a violation of the DMCA is worse. If you distribute  a GPL program and try to limit the rights of others to modify that code, you are at the least, in violation of the GPL. It is entirely reasonable to take GPL code and use the code as raw material for a completely different work no matter what the original authors or the code maintainers think of your changes.  Tinkering and modification is at the heart of the GPL.  You cannot reasonably distribute software that has a written license that specifically permits anyone to modify it as they please as long as they retain the license and appropriate copyright notices on any derived software and then retroactively insist that certain modifications are forbidden because it would make it too easy for people other than your employer to profit from use of the code. I sympathize with people who do not want to have their work appropriated by others, but if you want to control what modifications other people make to your software, don’t release under a GPL like license.

The “GPL only” interface is particularly weak because of the known fact that some of the significant corporate contributors to Linux have shaped the internal code to make their proprietary software work better. The “interfaces” Linux offers kernel modules have been altered over time in ways that make some commercial products easier or harder to run with Linux. The “GPL interface” faction wants to be able to freeze those changes and decide who can play in their sandbox. That is directly in contradiction to the GPL’s intent and language.

Easy patent solution: Exponential method

Suppose that we said each year, each person named as an inventor or each company or person named as an assignee on a patent  qualified for a rolling fee. Say $200 for the first patent, $1000 for the next, $5000 for the third and $25000 for the fourth – 200×5^N.  Nice and simple. And to make it hard to spoof, charge the same amount for transfers.

Notes on unintended security effects

I’ve been complaining about the security implications of DRM and “trusted computing” and “safe boot” for some time now. Susan Landau points out that the expansion of wiretapping has the same effect.

Such threats are not theoretical. For almost a year beginning in April 2004, more than 100 phones belonging to members of the Greek government, including the prime minister and ministers of defense, foreign affairs, justice and public order, were spied on with wiretapping software that was misused. Exactly who placed the software and who did the listening remain unknown. But they were able to use software that was supposed to be used only with legal permission.

The story is that the Greek phone system equipment provided by Erricson and managed by Vodaphone had a feature that was supposed to allow the police to tap phones. Someone who apparently was not the police found a way to use the feature and to hide traces for years. There is a good summary in the IEEE Spectrum. Landau’s point is that privacy and data security can’t just be waived for “bad guys”. Once set up the infrastructure to allow the police/NSA/whatever to listen in on any calls, even if we assume that they will only use their powers wisely and with restraint, others can make use of the same infrastructure. There is no assurance that the government will only listen to wiretaps to deter terror, no assurance that the mechanisms that open our calls to the government’s ears will only be used by the government (or authorized parts), and no assurance that DRM will only forbid use of unlicensed music.

See also here.

Building what customers want

Visting LinuxWorld in San Francisco reminded me that one of the advantages Apple has in the cell-phone market is that it can set design goals to be “what people who buy cell phones want”. While you might think this would be the obvious choice, many players in the market are trying to build what the companies that dominate the industry – cell phone makers, chip vendors and operators – want. The same dynamic seems to be having an effect on enterprise and desktop computing. DRM is being pushed into the hardware and bios level not because of any customer demand, but in response to demands from media and “content” providers. “Please charge me more for limiting the usability of the next computer I buy” is not showing up in my informal customer surveys – perhaps the more sophisticated market research of the big players is getting different answers. And many of the uses of hardware virtualization won’t benefit anyone who writes checks for computer hardware either. I don’t see much enthusiasm among business users of computing for a return to the good old days of mainframe data-centers when they had to negotiate with an internal provider. What we see is demand for running complex applications faster, cooler, and more reliably, and for making it easier to construct those applications.