Thoughts about software license abuses. No benchmarks, the practice of patenting and copyrighting formerly free software, and NO BENCHMARKS! (Did I mention no benchmarks?)
(Abusive clauses in software EULAs, and the frequent abuse of permissive non-copyleft software and “content” licenses)
I see “no-benchmark” clauses in proprietary software a lot…it makes me stop and wonder “What kind of crazy messed up shit are you making if you don’t want anyone to benchmark it?”.
If your software was good, you would probably want people to benchmark it and tell others how good it is, and how much of a fool they are if they don’t use it.
So it’s probably no surprise that the kind of software with these clauses are mainly from companies such as Microsoft and Apple.
I wish I could say such a stipulation was the biggest problem of using non-free(dom) software and “content”, but if you think about it, it is the most amusing. The presence of such a term implies that the product in question is inferior and that the only justification for such a term of use is as a preventive measure against exposure. (Internet Explorer, Windows, and DirectX prohibit public benchmarking without Microsoft approval, but it has never stopped anyone)
They’re like an insecure man at a urinal that shouts “STOP LOOKING AT MY TINY PENIS!!!!? DID I TELL YOU YOU COULD COMPARE MY TINY PENIS WITH YOUR MASSIVE PENIS!?!?” “DON’T LAUGH AT ME!!!!!!!!” “STOP IT!!!!”
They get to hide all their performance problems under a “thou shalt not benchmark our crappy products or we shall surely sueth thou” clause.
Microsoft and Apple EULAs have these in almost all of their products. Apple EULAs forbid developing nuclear weapons with their software. The BSD and MIT licenses let you benchmark anything you like and even use their software to make nuclear weapons to drop on Australia (hooray!).
Unfortunately, “permissively” licensed code often ends up buried under Microsoft and Apple EULAs. A recent example exists in AMD porting the open source Linux/X11 drivers to Windows CE.
Although these practices sometimes have indirect benefits to free(dom) and open source software, the users of the resulting non-free(dom) products usually don’t get the software under free(dom) or open source terms.
If they ever do, it’s almost always under a more restrictive license that serves the parasite company’s own interests, and not the interests of the people who contributed to it in good faith while it was free(dom). Any contributors to AMD’s drivers, for example, can have their work hijacked and put into Windows for profit of Microsoft even if their only goal was to improve free(dom) and open source software.
There are more nasty surprises with non-free(dom) software from such companies. For example, you can’t run any version of OS X under emulation or on a non-Apple PC. You can’t virtualize any edition of Windows, spare the most expensive “Ultimate rip-off” edition.
It is for these reasons, and many others, that most of the people arguing in favor of permissive non-copyleft licenses actually represent the type of company that wants free labor for their their own proprietary software offerings. The BSD, MIT, and other “permissive” licenses have nothing to do with freedom or open source software. Unfortunately, there are a lot of rather Dalek-like promoters of these licenses promising your work will be “more free” if you use them. It won’t be. The software and “content” under these licenses are not so much free(dom) as they are a staging area for your next iPhone or a future Verizon advertisement.
There are also people who are essentially zombie-like promoters (today is Halloween, I need to work in a zombie reference) of non-free(dom) software and “content” (including the re-wrapped formerly-free software that populates most Apple products) that seem to add a sort of quasi-legitimization to these societal problems, though they too can be, and often are, the victims.
I could probably go on and on and on about this, but I’m off to go benchmark Internet Explorer DirectX acceleration in Windows Starter running under Parallels in Mac OS X under VMWare while making nuclear weapons to drop on Australia.
So I went to install VLC in Kubuntu and find it depends on libbluray, which wants to pull in Java.
I can almost hear you saying “VLC plays Blu Ray now? Cool! Finally those MAFIAA bastards will pay for their DRM crimes! Viva la libdvdcss!”, but before you get excited, it doesn’t play any DRM’d discs, which as far as I know includes all of them. . What’s worse than useless is useless and bringing in Java. I hate desktop Java.
This is in addition to the fact that Pulseaudio support (You know, Pulseaudio, unless you’ve been living under a rock) has been broken in VLC for a very long time.
I give up, you win, no longer will I use your software. UMPlayer is better anyway.
A form of anti-aliasing known as Morphological Anti-Aliasing, or MLAA has been merged into Mesa3d.
Mesa3d has traditionally been the free and open source OpenGL stack for many free and open source operating systems. A while back, an improved 3d driver library called Gallium3D was merged which among other things, better represents the internal workings of modern video cards, and has the potential to accelerate other things aside from OpenGL.
A lot of these uses are good, and in fact, beneficial. For example, it can now support OpenGL ES, it can accelerate codecs like VP8 (which is used in WebM), but it also brings a lot of legal gray areas with it such as the state tracker being worked on to natively support Microsoft DirectX, or in a tiny (but legally and ethically problematic nevertheless) example that is fully implemented in the Mesa 7.12 branch, MLAA.
I don’t want to talk about patent issues and MLAA too much because I’m not a lawyer, I just want to begin by stating that something developed with DirectX, Windows, and the XBOX in mind by a group of Microsoft employees and people with close affiliations to Microsoft is fishy. Why would Microsoft want to infect Mesa with MLAA? Possibly the same reason they encourage the use of FAT and Mono, so they can go back later after they’re popular and beat royalties out of anyone that uses them. I’m not going to say I know how deeply Mesa bothered to look into this potential problem, but if they’re trying to implement all of DirectX (which is patented) in its own state tracker, I doubt patents are of much concern to them. They probably don’t care because when it turns out to be a problem and the fat man goes around suing people, it will be the users, and not the implementers.
Just listen to how open Jiminez’s MLAA is (in their words):
In which platforms does it run?
We have implementations in DirectX 10, for PC, and XNA, for Xbox 360. It could run in DirectX 9 without problems, as we are not using DirectX 10 special features. It is coded as a regular pixel shader, that runs as a post-process over a color image (with optionally depth as input). -Jorge Jiminez
MLAA, brought to you by someone who calls Windows a PC and doesn’t even mention any non-Microsoft platforms or OpenGL. Just what I want in my OpenGL stack!
What I do want to say, because it is obvious and factual just by reading the open source definition from the OSI and the free software definition from the Free Software Foundation, is that everything else aside, the MLAA implementation in Mesa is not free software, and it is not open source software either.
You can read the giant merge that brought in the nonfree MLAA implementation here.
There’s a huge amount of text on the page, so let me get right down to the licensing concerns of MLAA. From the license, section 2 makes this nonfree software.
+ * 2. Redistributions in binary form must reproduce the following statement:
+ * “Uses Jimenez’s MLAA. Copyright (C) 2010 by Jorge Jimenez, Belen Masia,
+ * Jose I. Echevarria, Fernando Navarro and Diego Gutierrez.”
+ * Only for use in the Mesa project, this point 2 is filled by naming the
+ * technique Jimenez’s MLAA in the Mesa config options.
The “Only for use in Mesa” bit makes it violate these parts of the Open Source definition:
5. No Discrimination Against Persons or Groups
By saying only Mesa can use it, they discriminate against everyone else, so they’re already not open source.
8. License Must Not Be Specific to a Product
It is exclusive to Mesa, so it is specific to a product.
10. License Must Be Technology-Neutral
It is. At least, as technology neutral as it can be given that you can only use it within the confines of Mesa.
Of the Free Software Definition, it seems to me to violate:
The freedom to run the program, for any purpose (freedom 0).
If you can’t use it in anything but Mesa, you can’t run the software for any purpose.
The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1).
Obviously you can study this nonfree source code, but that’s a bad thing, because we’ll end up in a situation like RAR where every “free” version has been found to be tainted by incorporating or using design inspired by the nonfree RAR source code, thereby making it a derivative work. Releasing nonfree source code is a great way to suck the oxygen out of projects to replace your proprietary software. That may have been another goal of Jiminez’ s MLAA. Also worth stating, you can’t change it to do whatever you want it to do if it’s only licensed for inclusion in Mesa.
What is the solution?
Obviously any free/open source operating system that includes Mesa 7.12 (which could be released as 8.0) will actually be nonfree if they don’t remove this MLAA trojan horse.
Since Mesa was nice enough to default to building without patented S3TC and OpenGL floating point textures, and allowing them to be built as a compile time option, it would be nice if they let their users and downstream operating system distributors make the decision on whether to ship nonfree software along with the Mesa3d bundle.
I think The Mesa3d people do some incredible work, but sneaking proprietary software through the back door and hope nobody is looking to closely is not the right thing to do.
Short post, just stating some obvious things.
It seems like you can’t visit a site today without people going through the motions of remembering Steve Jobs, in a positive light. We should remember him for what he was. Not a visionary, not an innovator. A malicious control freak promoting locked down proprietary software, DRM, and devices that the owner could not control or legally fix/improve.
Even Google.com has a small snippet at the bottom about this, even as Apple joins Microsoft in suing free software (such as Linux and Android, which is Linux-based) claiming it violates some rather questionable software patents.
I’m not sure how the mass eulogy for the salesman of the most expensive PC hardware ever has gotten so widespread. Please remember that this man has not done any favors for civilization, he was not an innovator, he and his company conspired (Apple still does conspire) to set back the progress of free software to replace it with their sociopathic vision.
Thanks. And no, I’m not “glad” that Steve Jobs is dead, Apple goes on without him and continues to assault freedom of speech, consumer rights, and free software. I’m merely stating that this man doesn’t deserve to be remembered fondly.