Given the recent brouhaha in Debian, and General Resolution regarding Lenny’s Release policy as it relates to Firmware and Debian’s Social Contract, which has led to the resignation of Manoj Srivastava from the position of Secretary for the Debian Project, I’m reminded of the following passage from Gordon Dickson’s Tactics of Mistakes (part of Dickson’s Childe Cycle, in which he tells the story of the rise of the Dorsai):
“No,” said Cletus. “I’m trying to explain to you why I’d never make an Exotic. In your calmness in the face of possible torture and the need to kill yourself, you were showing a particular form of ruthlessness. It was ruthlessness toward yourself—but that’s only the back side of the coin. You Exotics are essentially ruthless toward all men, because you’re philosophers, and by and large, philosophers are ruthless people.”
“Cletus!” Mondar shook his head. “Do you realize what you’re saying?”
“Of course,” said Cletus, quietly. “And you realize it as well as I do. The immediate teaching of philosophers may be gentle, but the theory behind their teaching is without compunction—and that’s why so much bloodshed and misery has always attended the paths of their followers, who claim to live by those teachings. More blood’s been spilled by the militant adherents of prophets of change than by any other group of people down through the history of man.”
The conflict between idealism and pragmatism is a very old one in the Free and Open Source Software Movement. At one end of the spectrum stands Richard Stallman, who has never compromised on issues regarding his vision of Software Freedom. Standing at various distances from this idealistic pole are various members of the Open Source Community. For example, in the mid-1990’s, I used to give presentations about Linux using Microsoft Powerpoint. There were those in the audience that would give me grief about using a non-free program such as MS Powerpoint, but my response was that I saw no difference between driving a car which had non-free firmware and using a non-free slide presentation program. I would prefer to use free office suite, but at the time, nothing approached the usability of Powerpoint, and while dual-booting into Windows was a pain, I could do a better job using Powerpoint than other tools, and I refused to handcap myself just to salve the sensibilities of those who felt very strongly about Free Software and who viewed the use of all non-Free Software as an ultimate evil that must be stamped out at all costs.
It is the notion of Free Software as a philosophy, with no compromises, which has been the source of many of the disputes inside Debian. Consider, if you will, the first clause of the Debian Social Contract:
Debian will remain 100% free
We provide the guidelines that we use to determine if a work is
freein the document entitledThe Debian Free Software Guidelines. We promise that the Debian system and all its components will be free according to these guidelines. We will support people who create or use both free and non-free works on Debian. We will never make the system require the use of a non-free component.
This clause has in it no room for compromise. Note the use of words such as “100% free” and “never make the system require the use of a non-free component” (emphasis mine). In addition, the Debian Social Contract tends to be interpreted by Computer Programmers, who view such imperatives as constraints that must never be violated, under any circumstances.
Unfortunately, the real world is rarely so cut-and-dried. Even the most basic injunctions, such as “Thou shalt not kill” have exceptions. Few people might agree with claims made by the U.S. Republican Party that the war in Iraq qualified as a Just War as defined by Thomas Aquinas, but rather more people might agree that the July 20, 1944 plot to assassinate Hitler would be considered justifiable. And most people would probably agree most of the actions undertaken by the Allied Soldiers on World War II battlefields that involved killing other soldiers would be considered a valid exception to the moral (and for those in the Judeo-Christian tradition, biblical) injunction, “Thou shalt not kill“.
As another example, consider the novel and musical Les Misérables, by Victor Hugo. One of the key themes of this story is whether or not “Thou shalt not steal” is an absolute or not. Ultimately, the police inspector Javert, who lived his whole life asserting that law (untempered by mercy, or any other human considerations) was more important than all else, drowns himself in the Seine when he realizes that his life’s fundamental organizing principle was at odds with what was ultimately the Right Thing To Do.
So if even the sixth and eighth commandments admit to exceptions, why is it that some Debian developers approach the first clause of the Debian Social Contract with a take-no-prisoners, no-exceptions policy? Especially given the fourth clause of the Debian Social contract:
Our priorities are our users and free software
We will be guided by the needs of our users and the free software community. We will place their interests first in our priorities. We will support the needs of our users for operation in many different kinds of computing environments. We will not object to non-free works that are intended to be used on Debian systems, or attempt to charge a fee to people who create or use such works. We will allow others to create distributions containing both the Debian system and other works, without any fee from us. In furtherance of these goals, we will provide an integrated system of high-quality materials with no legal restrictions that would prevent such uses of the system.
This clause does not have the same sort of absolutist words as the first clause, so many Debian Developers have held that the “needs of the users” is defined by “100% free software”. Others have not agreed with this interpretation — but regardless of how “needs of the users” should be interpreted, the fact of the matter is, injuctions such as “Thou shalt not kill” are just as absolute — and yet in the real world, we recognize that there are exceptions to such absolutes, apparently unyielding claims on our behavior.
I personally believe that “100% free software” is a wonderful aspirational goal, but in particular with regards to standards documents and firmware, there are other considerations that should be taken into account. People of good will may disagree about what those exceptions should be, but I think one thing that we should consider as even higher priority and with a greater claim on how we behave is the needs of our users and fellow developers as people. For those who claim Christianity as their religious tradition, Jesus once stated,
Thou shalt love the Lord thy God with all thy heart, and with all thy soul, and with all thy mind. This is the first and great commandment. And the second is like unto it: Thou shalt love thy neighbour as thyself. On these two commandments hang all the law and the prophets.
Even for those who do not claim Christianity as their religious tradition, most moral and ethical frameworks have some variant on the Golden Rule: “Do unto others as you would have them do unto you”. I would consider, for example, that the Golden Rule is at least a high priority claim on my behavior as the notion of free speech, and in many cases, it would be a higher priority claim. The recent controversy surrounding Josselin Mouette was started precisely because Joss has taken a something which is a good thing, namely Free Speech, and relegated it to a principle more important than all else, and claiming that any restraint on such a notion was equivalent to censorship.
I think the same thing is true for free software, although it is a subtler trap. Philosophical claims than “100% free software” as most important consideration is dangerously close to treating Free Software as the Object of Ultimate Concern — or in religious terms, idolotry. For those who are religious, it’s clear why this is a bad thing; for those who aren’t — if you are unwilling to worship a supernatural being, you may want to very carefully consider whether you are willing to take a philosophical construct and raise it to a position of commanding your highest allegiance to all else, including how you treat other people.
Ultimately, I consider people to be more important than computers, hardware or software. So over time, while I may have had some disagreements with how Mark Shuttleworth has run Canonical Software and Ubuntu (but hey, he’s the multimillionaire, and I’m not), I have to give him props for Ubuntu’s Code of Conduct. If Debian Developer took the some kind of Code of Conduct at least as seriously as the Social Contract, I think interactions between Debian Developers would be far more efficient, and in the end the project would be far more successful. This may, however, require lessening the importance of philosophical constructs such as Free Speech and Free Software, and perhaps becoming more pragmatic and more considerate towards one another.
No related posts.
December 28th, 2008 at 10:26 pm
This is a very common approach and personally, I agree with it.
But I think that we implement this bridge of idealism and pragmatism, our promise of serving our users and standing by our principles.
It is called “the non-free section of the archive”.
I think that separating the free parts from the non-free, is a good thing; it help us protect our principles; it helps us to understand where work is needed; and overall, is good thing to do to serve the community of Free Software.
We can, however, make compromises in our distribution of non-free.
We can stop pretending and accept that it *is* a part of Debian.
I applauded the recent feature addition of d-i that supports loading non-free firmware on install time.
But yes, I do agree with you that we were so consumed with the task of protecting our freedoms that we ultimately failed achieving it.
We tried to act based on our principles and remove firmware from the Linux kernel tree and we failed, because we appeared as weird fundamentalists.
Fedora (mostly) succeeded on achieving the exact same goal, with no serious objections.
Not being taken seriously is our failure, IMO.
December 28th, 2008 at 11:01 pm
Thank you so much for writing this.
December 29th, 2008 at 12:15 am
This uncompromising position on freeness making it at best painful to use Debian on a lot modern hardware, and then leaving huge swaths of the system undocumented once you’ve installed it, seems bent on keeping free software away from people who could benefit from it.
I (and at least some other DDs I know) think that we should roll back the “editorial” changes to the social contract, and while *striving* to release a completely free Debian, be a little bit more pragmatic on documentation and
firmware.
December 29th, 2008 at 3:31 am
From the recent firmware vote, it looks like most of Debian do not practice absolutism wrt SC #1.
Also, you might consider supporting AJ’s recent proposal for a Social Contract change.
December 29th, 2008 at 5:00 am
Well said !
December 29th, 2008 at 6:03 am
> you may want to very carefully consider whether you are willing to take a philosophical construct and raise it to a position of commanding your highest allegiance to all else, including how you treat other people.
This seems to be a straw man.
The principle of freedom in software *is* a matter for how to treat other people: to ensure that our work strives to increase their freedom and, at minimum, never decreases it.
Working on Debian is all about working with, and for, people. Making clear promises in foundation documents, and continuing to visibly follow those promises, is a fundamentally social process and one that gives high regard to all recipients of Debian.
Nothing in Debian overrides my respect for fellow humans. I doubt you’d find many (any?) people who identify with your straw man of “raise [a philosophical construct] to a position of commanding your highest allegiance to all else”. When working with Debian, though, I take my promises seriously, and expect others to do the same.
December 29th, 2008 at 8:00 am
Actually, my main reasons for using Debian was stability (compared to Ubuntu, which even in the stable versions ship completely broken updates every once in a while) and not being tricked into eating non-free software. Before Debian, I was using Gentoo, and they completely followed the pure pragmatism that I suspect have made corporations embrace Open Source so willingly (clarification: this is in my world a clear sign something’s fishy). Which meant I had to take very tiresome precautions to even know I was using proprietary software. Right now I’m writing this on a laptop using a wifi card with a firmware blob injected to it. I don’t like it, but I accept it. The important part, however, is I KNOW I’m using it. It didn’t just silently jump up and activate itself without me suspecting anything, I had to download it myself. This is an important distinction. Using proprietary software should never be something you’re tricked into. In fact, you should have to actively pursue the proprietary software yourself.
Also, a great danger with these blobs is the fact that they’re convenient. You adopt a “what the heck, they’re working” approach to them, and indeed they are — until they don’t anymore, and then you’re caught completely off guard. This is, for example, the cause with nvidious’ proprietary drivers that suddenly stop working for older cards, forcing you to use both old drivers and old kernels. Of course, simply removing these blobs would lead to a substantial drop in usability, in turn leading to less development of free drivers, so that’s not a good option either. A good middle way would be to keep the blobs but keep trying to replace them by free ones. One thing should be clear: the fewer the blobs, the better.
I’m not very pleased with the outcome of the vote, but it wasn’t exactly surprising.
December 29th, 2008 at 9:46 am
An excellent post. While I think the aim of 100% free software is a
good one the arguments Debian have about it do seem rather esoteric at
best. For example the world has now come to the point that now can
look for a Netbook checking they can run with 100% free software.
However if I’m building old servers I’m going to choose the OS that works. If it stops being Debian I’ll
be sad but I’ll have to move onto to something slightly more flexible.
I’ll be sad I had to but I’d still be advancing the cause of free software.
December 29th, 2008 at 11:27 am
Tuss,
You are conflating proprietary drivers that are linked into the kernel and which run on the Host CPU of the system, with firmware which is loaded into a micro-controller on of some WiFI or Networking peripheral. Proprietary binary drivers have massive stability and maintenance issues because the Linux kernel does not have a stable ABI — this is true. However, in practice firmware presents almost none of these problems. They run on a separate CPU (the micro-controller on the networking/wifi card) and so they have a stable interface which is used to communicate between the device driver and the peripheral into which the firmware has been injected. The main issues that have been raised with proprietary firmware have all been political, not technical.
December 29th, 2008 at 12:29 pm
We already have a place for non-free software in Debian, the “non-free” section. The people refusing to put non-free software in the place that we have identified for it are the ones who are being inflexible.
I’m not a wild eyed zealot. I run a Windows box right next to my Linux workstation because I need native graphics acceleration for some of our tasks at Brainfood. I’m just not happy that we spent the last month arguing why we should store pants in the sock drawer. They still won’t be socks.
December 29th, 2008 at 1:10 pm
Ean,
Even in 1997, when Social Contract was first drafted, the Linux Kernel contained non-free Firmware. Yet back then the Linux Kernel was allowed to be in main, and not relegated to the “non-free” section. What has changed since then? My contention is a much larger collection of wild-eyed zealots who are more interested in delaying Lenny for the sake of being Politically Correct is responsible for the past month’s rather divisive discussion — that, plus the fact the Social Contract was badly flawed from the beginning, since it made statements that were never true — how can Debian “remain” 100% free software when it was never 100% free software in the first place? The kernel has always had binary-only firmware blobs….
December 29th, 2008 at 1:11 pm
@Ben:
> > [paraphrased: You're either for "100% free software" or "caring about your fellow man"]
> This seems to be a straw man.
The term you’re looking for is “false dichotomy”.
December 29th, 2008 at 1:26 pm
@12,
Unfortunately, there are those who treat “100% free software” as more important than all other goals — more important than releasing Lenny in finite time, and that it is higher priority than treating people with respect and consideration. There is no question that the two goals do ave to be mutually exclusive, but there are those who pursue the former without any regard to any other considerations, and that is what I am objecting to.
Fortunately, an analysis of the most recent Debian General Resolution seems to indicate that over 90% of those who bothered to vote believe that releasing Lenny expeditiously is more important than paying attention to the literal mandates of the Debian Social Contract currently in force, no matter that it is a Foundation Document for Debian.
Whether or not it is a good thing for Debian Developers to treat the inflexible mandates of Debian Social Contract so lightly is a different discussion; some people have no trouble ignoring speeding limits, or current copyright law; and apparently over 90% of the voting developers believe it’s OK to set aside the Social Contract.
We haven’t done a GR which polls whether the general DD population believes that the pursuit of “100% free software” is more important than treating fellow Debian users and developers with consideration and respect. I hope (and believe!) this is a vocal minority which feels this way; unfortunately, said vocal minority does have a tendency to dominate the Debian mailing list discussions at times.
December 29th, 2008 at 2:07 pm
Ted,
Very insightful. I’ve been discouraged about this “free-software fundamentalism” for years; the exclusion of GFDL documentation put me over the top a few years back. As a member of both the GNU and Debian projects, I was placed in the position of having to decide whether to relicense my documentation or to move it to non-free. I am still angry about having to make this decision.
This trend has a lot in common with other religious disputes over minor theological points, though in those cases the disputes often degenerate into violence. Closer to home, in the Scheme community there was an amazingly bitter argument over whether the empty list should be the same as the false boolean, which went on for years and was finally settled by a vote. For most involved, it made little difference how the question was settled, yet this trivial issue dominated public discourse in the community during that time.
Sadly, history tells us that this kind of thing happens all the time. I wish I understood how to prevent it from happening.
Chris
December 29th, 2008 at 2:39 pm
I found this a good common sense approach, and very practical.
Absolutes are mostly unobtainable. For me you nailed on the proverbial head with “Ultimately, I consider people to be more important than computers, hardware or software.”
Functionality is, in my mind, more important than purity, as I prefer my tools to be as usefull as possible. I choose Linux because it is a better product. Not because of Stallman’s views.
December 29th, 2008 at 3:15 pm
“[Some may believe] “100% free software” is more important than treating fellow Debian users and developers with consideration and respect.”
You’re doing the false dichotomy again. Some believe that 100% free software is entirely compatible with “consideration and respect”.
December 30th, 2008 at 2:51 am
In one of the comments above Ean Schuessler correctly wrote: “We already have a place for non-free software in Debian, the ‘non-free’ section. The people refusing to put non-free software in the place that we have identified for it are the ones who are being inflexible.”
The posting by Theodore Ts’o tells me more about the Linux Foundation than about the Debian project.
December 30th, 2008 at 6:50 am
Not such a good post I am afraid, the likening (is that a word?
) of Debian to life or death situations is proposterours. I understand the meaning of it (pragmatism over idealism) but comparing decision making in Debian to the 10 commandmends, not a good move, they deal with two different aspects of the world allthough both strive to the same conclusion of changing the world.
Also, I tend to think that Debian is a social experiment to some extent. Now it seems that a lot of people tend to disagree with the premesis of Debian (or disagree about what the premesis is), then I would think that we have enough of Linux distributions for each his own likening and may the best pervail. This is sort of a social Darwinism
Yes, a lot of people have spent a lot of time in Debian and would hate to see it go down some path they dont agree with (perhaps even die out), but that is what they signed up for when contributing to free software.
And finally, what should the difference be between Debian and other Debian derived distributions like Ubuntu if not idealogical? Technical difference is not a good idea to live by since it doesn’t give much back to the community and doesn’t lead by example.
December 30th, 2008 at 10:49 am
@16: You’re doing the false dichotomy again. Some believe that 100% free software is entirely compatible with “consideration and respect”.
Anomouse,
Always compatible? I agree there are times when you can do both; but to the extent that some advocates of “100% free software” believe this is higher priority than “consideration and respect”, will you at least agree that (a) it is possible to pursue 100% free software in ways that are not particularly respectful and considerate of other parties in the conversation, and (b) this should be avoided? If you do believe that, then we’re on the same wavelength. If you don’t believe it, then there most certainly is a dichotomy and you’ve just demonstrated it.
December 30th, 2008 at 11:03 am
@18: Oli,
I certainly agree that “Thou shalt not kill” and “Debian shall be 100% free” are two very different things. I happen to believe that “Thou shalt not kill” has a more fundamental and higher priority ethical and moral claim on human behavior than “Debian shall be 100% free” (In other words, I believe that killing someone to prevent Debian from being 100% free would never be justified; therefore the prohibition against killing is a higher priority ethical commandment. If you believe otherwise, we have no basis for communication and you should probably go elsewhere to debate the point.)
Given that, if “Thou shalt not kill” has exceptions where it is ethically acceptable to override that ethical claim in pursuit of a higher priority ethical imperative (for example, preventing the killing of innocents), and “Thou shalt not kill” is higher priority than “Debian shall be 100% free”, it follows naturally and logically that there are even more exceptions and more areas where higher priority imperatives might override “Debian shall be 100% free”.
As far as your observations about Debian being a social experiment, it is certainly true that people can always choose a different distribution, and Debian Developers can always choose a different distribution to work on. However, it is also the case that nowhere is it written that Debian has to be the way it currently is (or the way some vocal majority advocating the “100% free” position want it to be). In the most recent Debian General Resolution, over 90% of the Debian Developers who chose to vote (which interestingly, didn’t include Ean Schuessler, even though as far as I know he is a DD who is entitled to vote), ranked some option which involved releasing Lenny early as being more important than “Debian Shall be 100% Free”. So not only is the Debian Social Contract a lie (Debian is not currently 100% free, so to say that it should “remain 100% Free” is highly misleading and incorrect), but 90% of the voting Debian Developers were willing to vote for an outcome which is inconsistent with the Debian Social Contract. And that says something very interesting (and to my mind, hopeful) about Debian. Among other things, it tends to indicate that the group of people who are pushing for Debian to be “100% Free” as higher priority than all else are at best a vocal minority — highly vocal perhaps, but distinctly in the minority.
December 30th, 2008 at 1:56 pm
@ 13 tytso – there are indeed some debian developers who put 100% free software above everything. According to Anthony Towns’s analysis on debian-vote, there are 29, or roughly 3%. Well below the significance level that this posting suggets.
@ 14 Chris Hanson – you didn’t have to choose a side. You could have dual-licensed the documentation. Also, the Scheme decision had practical consequences: reaching any decision made code more portable between interpreters, but would also break some code. Arguably, a vote was a better way to decide it than leaving it to the market.
@ 18 Oli – please conduct your social experiements somewhere other than the debian project.
@ 11 tytso – the main change is that the kernel has been studied more and knowledge of the blobs has become more widespread. We were ignorant before, but we can’t honestly continue using ignorance as a defence.
@ 3 Karl – it’s been literally years since I encountered a system which I could not install debian on. Sometimes it needs a bit of bending to fit, but it’s a good universal base.
December 30th, 2008 at 3:33 pm
@21: There are indeed some debian developers who put 100% free software above everything. According to Anthony Towns’s analysis on debian-vote, there are 29, or roughly 3%. Well below the significance level that this posting suggests.
MJ Ray:
AJ’s analysis counted 29 voters who ranked “reaffirm the Social Contract” as highest priority, plus another 5 that ranked “reaffirm the Social Contract” as tied at the highest priority with some other option, for a total of 34 DD’s out of a total of 367 voters counted in the tally. 33/367 == 9.3% That’s how I derived my claim of “slightly over 90%” believe it’s OK to set aside the Social Contract in favor of releasing Lenny.
I’m not sure where you get 3%. I suspect you got it by dividing 29 by 1,018, which would be the number of Debian Developers. This assumes that everyone who was strongly in favor of the position “Debian shall be 100% Free, über alles” voted. I while it would be nice if there were only 29 DD’s out of the entire 1,018 active DD’s who feel that way, I don’t think the facts can support that conclusion. After all only 36% of the DD’s actually voted, and we don’t know how the 64% who didn’t vote care about this particular issue, or if the boycotted the vote for some reason.
So the best we can say is what I said, which is slightly under 10% of the Debian Developers who voted in the most recent GR voted in such a way that “Reaffirm the Social Contract” was listed as their number one source. If you throw out the 5 votes which ranked “reaffirm the Social Countract” as co-equal with some other option, then we could say that slightly under 8% of those who voted feel that way. I don’t think claiming a percentage of 3% can be justified given the results of the GR, however.
December 30th, 2008 at 3:37 pm
@21 MJ Ray
I did not say “could not”, I said “painful”. My example at hand is a Dell Poweredge 2900-III, purchased last month; hardly a rare piece of hardware. The process of figuring out where to get the firmware blobs it seemed to want for the ethernet driver involved more domain-specific knowledge than I think installing Debian should require; the install media could at *least* say
“This is a BCM5708, you need to go download firmware-bnx2 from non-free”.
But really, this sort of absolutism does little than prevent people from using our software. What they installer *should* say is “This hardware requires a non-free driver, proceed?” (possibly with details) and the driver should already be on the install media.
December 30th, 2008 at 4:27 pm
@23 Karl Ramm
The problem you mention in the first paragraph does not seem to be a result of any “sort of absolutism”:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=487228#10
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=487228#26
December 30th, 2008 at 5:46 pm
@23 Andreas Kuckartz:
No, this was the lenny installer, and it knew how to load the firmware, and
to tell me that it needed some. It did not, however, tell me where to find it.
The fact that the firmware wasn’t already in the install image was most
certainly the result of absolutism.
December 30th, 2008 at 6:03 pm
@25 Karl Ramm
What you describe sounds like a compromise between “we must avoid non-free software” and “we should make things easy for our users”, absolutism would be to pretend the non-free firmware doesn’t exist and not inform the users.
You might think the compromise struck the wrong balance (and I’d agree with you, it should have the non-free firmware on the CD, explain why non-free software is bad and then ask the user if it should be installed) but it isn’t absolutism.
December 30th, 2008 at 6:15 pm
@22 tytso – you seem to be using share of vote as a proxy for share of the population. Isn’t that assuming that there are almost twice as many people who *strongly* believe in free software above all else, yet didn’t manage to vote for some reason? That seems far less reasonable than my “60+% of the population don’t care strongly about this issue” inference which results in the 3% figure.
@23 Karl Ramm – I’ve been unhappy with Dell’s hardware choices for a while, mainly because of power consumption, so it wouldn’t surprise me if it contains awkward hardware.
December 30th, 2008 at 7:18 pm
@20 tytso, I do not agree with you on that because the “thou shalt not kill” is morally higher then “debian shall be 100% free” then we can make exceptions in the latter because we make exceptions in the first. I think of it in the opposite, that because the latter has lower moral importance then we can be zealots about it (because it isn’t as important as the first, not to be confused that we should be zealots about it, but that we can and therefore I see your analogy as mute). We can play around with things that arn’t important, but we can’t play around (that is taking moral high grounds and do social experiments) with things that are important and Debian isn’t important compared to human lives.
It seems that the majority of DD (which I am not a part of, but I do contribute my bit I tend to think) seem to be of the pragmatic kind and that the idealogicals (or zealots, depends on ones mood I think
) are a minority and that they should perhaps be the ones to move to some distribution, and should perhaps have a look at GNU approved linux distributions which Debian is not a part of. But that is what discussions like this decide on and people should welcome them as such, and instead of trying to force one technical solution or another then try to find the path to follow (which changes over time obviously, like all power then popularity corrupts the idealogy and with that the “path to follow”).
But I would still like to know what the difference between Debian and other Debian derived distros should be if we leave out the technical part?
@21 I don’t conduct social experiments, I see things as social experiments of which you and I seem to be a part of, a slight difference there
December 30th, 2008 at 8:51 pm
@tytso: The freeness of a software is in practice the best prerequisite for making it technically sound, and thus catering for the users needs. You should know this better than most of us.
Actually, we don’t have to choose between “100% pure” and “100% conformism”. We could pick a point anywhere on the scale between these. The question actually seems to be where we should put it.
My 5cc: it should be not on “100% pure”, but fairly close – just short of making the software inconvenient or unusable by a large majority of users. The reason is simple: had Stallman been a little more the conformist, the free software would be now in embryonal state, if it would exist at all. It is too tempting, and thus too easy to sacrifice freedom for security and convenience – but all we know where this eventually leads.
December 30th, 2008 at 9:00 pm
[quote]
For example, in the mid-1990’s, I used to give presentations about Linux using Microsoft Powerpoint. There were those in the audience that would give me grief about using a non-free program such as MS Powerpoint, but my response was that I saw no difference between driving a car which had non-free firmware and using a non-free slide presentation program.
[/quote]
I am a very modest debian sid end user [sidux] and an old one over that, but I disagree with your statement (quoted above). Using Microsoft products is always contributing to support their contempt for freedom; you approve their disregard for standards and support them corrupting everything to their advantage (remember the OOXML mess). Just consider the nightmare created on the web by IE deliberatly not respecting W3C standards: if it was not for Firefox or Opera for instance, we would still be completely enslaved in the M$ way. Contrary to popular belief, it is not “only software”; the software that we use is also a statement of the values that we support. If we support Monsanto by buying OGM product, we contribute to the enslavement of the food producing chain and the catastrophic consequences that it brings ( see farmers in India for instance or the fact that 90% of the soya produced in the US ‘belongs’ to Monsanto).
When you cannot fill a government form without using Windows, there is something very wrong; when you cannot buy a computer without paying the M$ tax, there is someting very wrong going on. Using the closed M$ format to create documents is feeding the beast.
I send documents around using ODF standards; I tell those who complain to download OO.org, it’s free (as in freedom) and it even run on Windows.
December 30th, 2008 at 11:26 pm
So what are we saying here–that pragmatists, unlike idealists, are never rude? Even Linus would laugh his head off at that.
It seems to me that the notion of adhering to philosophical principles and the notion of adhering to some kind of code of workable social conduct are completely orthogonal. Lots of groups, online or otherwise, become acrimonious and could use a code of conduct. Many of them are not dedicated to any particular ideals.
I mean really, it sounds almost as if the author is saying that in order to adopt a code of polite conduct, it would first be necessary to jettison the social contract. What on earth?
Incidentally, I’m as fond of the Dorsai series as the next individual, but the quotation (”More blood’s been spilled by the militant adherents of prophets of change than by any other group of people down through the history of man.”) is nonetheless bunk. If you were to define the group of militant adherents of pragmatists trying to gain or retain power simply due to ambition and/or greed, I think we can be fairly clear that they’ve spilled more blood than all the “prophets of change” one might care to name. Many idealists are not in fact ruthless, and many pragmatists very definitely are. I think the whole post is fundamentally mistaken, trying to draw some kind of general lesson from the specific data point:
–Some people professing to be idealists were recently rude
On the face of it, I don’t think there are a lot of broad lessons you can draw from that data point. I think the lesson the author tries to draw is just wrong.
December 31st, 2008 at 12:13 am
Excellent commentary, Ted.
Here’s my take on all of this.
1. The whole tempest in a teapot is base on a false dichotomy – whether to include non-free stuff in a release or not. Debating this is like how many angels can dance on a pin.
2. The obvious (to me at least) answer is this. Debian should SHIP only software that conforms to the social contract. That being said, there are many pieces of non-free software (nVidia, ATI, numerous wireless, codecs for DVD, etc., etc.) that most users prefer to use to make more effective use of their PCs. Every Debian release should include a copiously documented, perfectly executed procedure for incorporating the major non-free pieces post installation.
RMS’s opinions aside, non-free software is not going to disappear in our lifetimes, and Debian developers should waste no more time with such fruitless feuds.
December 31st, 2008 at 1:17 am
Hi Ted. What would have stopped us from having a non-free kernel package or non-free kernel modules at any point along the way? Yes, it means that you have to add “non-free” to your package sources to support that hardware… but, guess what? You are installing a sourceless binary. Why not call a spade a spade?
December 31st, 2008 at 8:50 am
@ 25 Karl Ramm
I think when Dell selects hardware components which require such proprietary binaries then it first of all is their fault. Why did they do that? Dell really seems to have a systemic problem:
Dell sells Ubuntu boxes that cannot run Ubuntu
http://bits.quintanasegui.com/arxius/2008/12/30/dell-sells-ubuntu-boxes-that-cannot-run-ubuntu/
One reason I am using Debian is that proprietary binaries are frowned at and (generally) not included in the standard install images.
Maybe you would be more comfortable with other distributions based on Debian like Freespire (which includes proprietary drivers, codecs and software). You are free to use one of those if you think you need those binaries to be included. But please do not complain about those who do not share your demand for the inclusion of proprietary blobs.
December 31st, 2008 at 10:03 am
@26: The freeness of a software is in practice the best prerequisite for making it technically sound, and thus catering for the users needs. You should know this better than most of us.
Gregor,
Would that be true, but it most emphatically is not. Good programming skills, and attention to usability is what is necessary to best cater for the user’s needs. Look at how many FOSS programmers above the kernel (i.e., people who hack perl, MySQL, Python, etc.) use MacOS X, which is most emphatically not a free OS — have you been to OSCON lately?
Let’s give Apple props where they deserve it; they do an exquisitely fine job catering to their users’ needs. And it’s not free software; and many people in the FOSS community acknowledging it by being willing to compromise on running a free OS because Apple has done a great job working on these issues.
Consider the latest rather blatant regression in GNOME 2.24. This was a change made with the intention of improving GNOME from a technical point of view. But it completely failed from the perspective of usability (and user safety; this regression could cause data loss); and it was adopted by two major distributions (Fedora and Ubuntu) without their noticing the problem. Oops. What were you saying again about freeness in practice automatically leading towards technical superiority and thus to catering to the user’s needs?
December 31st, 2008 at 10:14 am
@26: You might think the compromise struck the wrong balance (and I’d agree with you, it should have the non-free firmware on the CD, explain why non-free software is bad and then ask the user if it should be installed) but it isn’t absolutism
The absolutism involved is essentially because people feel that that Debian should never ship non-free software. The non-free section is an interesting compromise which is enshrined in the Debian Social Contract, I agree, but it leads to massive convolutions about what is and isn’t part of “Debian”. The Debian Social Contract currently has the absolutist statement that the Debian system shall not contain a single bit of non-free code. Not a jot. So including non-free firmware on the Debian Installer CD would not be allowed. In theory you could have the “official” Debian Installer CD free software installed, and a “non-official” non-free Installer which is not part of the Debian System (since that wouldn’t be allowed by the absolutist words in the Debian Social Contract), and in order to avoid users from getting confused, the Debian web site could promote the non-free installer CD with at least as much effort as the “official” Debian CD.
However…. I would gently suggest that (a) past a certain point, people will recognize this as sophistry, (I’m guessing that’s why although the “pure” Debian Distribution does not contain any non-free software, the FSF has refused to list Debian as such a distribution) and (b) it points out exactly how silly and stupid the whole absolutism approach ends up being. So if over 90% of those who voted in the most GR aren’t willing to subscribe to this absolutism, why don’t we be honest with ourselves and the world, and drop it from the Social Contract altogether?
December 31st, 2008 at 10:30 am
@28: I do not agree with you on that because the “thou shalt not kill” is morally higher then “debian shall be 100% free” then we can make exceptions in the latter because we make exceptions in the first. I think of it in the opposite, that because the latter has lower moral importance then we can be zealots about it (because it isn’t as important as the first, not to be confused that we should be zealots about it, but that we can and therefore I see your analogy as mute). We can play around with things that arn’t important, but we can’t play around (that is taking moral high grounds and do social experiments) with things that are important and Debian isn’t important compared to human lives.
I don’t think you understand what the word “zealots” means. Its original meaning comes from the name of an ancient Jewish sect in the first century who fought to the death against the Romans and who killed or persecuted Jews who collaborated with the Romans. If it’s morally important, than killing and persecuting those who collaborate with the enemy may be morally justified. If it is not morally important, than we darned well shouldn’t “play around” with it. Some feminists have considered Feminism important enough to get their point across that it’s OK to breach the ordinary rules of propriety and respect and consideration to get their point across. However, most will agree that if the issue is of less moral importance, say, whether after a LUG meeting we should go to a Chinese or Indian restaurant, there is no grounds to breach normal bounds of respect and courtesy.
It is precisely because “100% Free Software” is not the highest moral good that we shouldn’t “play around” with these things, as you say. We have a word for people who can’t understand how to rank different moral/ethical claims on their behavior; it is “sociopath”.
December 31st, 2008 at 10:36 am
@32: The obvious (to me at least) answer is this. Debian should SHIP only software that conforms to the social contract. That being said, there are many pieces of non-free software (nVidia, ATI, numerous wireless, codecs for DVD, etc., etc.) that most users prefer to use to make more effective use of their PCs. Every Debian release should include a copiously documented, perfectly executed procedure for incorporating the major non-free pieces post installation.
Two questions. First, what if the non-free software is needed to get networking access. Do you consider it reasonable that users have to find some other computer and download the necessary bits into a USB stick first?
Secondly, exactly who is going to include the “copiously documented, perfectly executed procedure for incorporating the major non-free pieces post installation”? And if there is not sufficient volunteer manpower available to either (a) strip out the non-free firmware bits from the kernel, or (b) create this “copiously documented procedure”, is the answer that we simply not ship Lenny until this can take place? If it would take another year of keeping unstable frozen, is this acceptable? What if its two years? Or is what you have described an aspirational goal, but not a release-blocker?
December 31st, 2008 at 11:18 am
@31: Incidentally, I’m as fond of the Dorsai series as the next individual, but the quotation (”More blood’s been spilled by the militant adherents of prophets of change than by any other group of people down through the history of man.”) is nonetheless bunk. If you were to define the group of militant adherents of pragmatists trying to gain or retain power simply due to ambition and/or greed, I think we can be fairly clear that they’ve spilled more blood than all the “prophets of change” one might care to name. Many idealists are not in fact ruthless, and many pragmatists very definitely are.
Gordon R. Dickson is quite right in his analysis, for this reason — war, murder, and mayhem is actually a pretty lousy way to achieve most goals. Look at the most recent War in Iraq; the U.S. got dragged into it due to the incompetence and stupidity of the George W. Bush administration. His claimed reasons for dragging us into the war was defense of the homeland, democracy, and other idealistic goals. And certainly the people in the US Military who obeyed the President Bush’s orders and were willing to stay in the Military even after their tours of duty was up did so out of idealistic goals such as patriotism. It’s pretty clear that most wars are started due to some combination of an appeal to idealistic goals and stupidity/incompetence.
Maybe the leader who made the appeal to said idealistic goals did so out of a motivation to retain power, or to gain power, or greed; it many cases it’s hard to know for sure what a person’s true motivations might be. However, in order for them to gain the cooperation enough people to cause large amounts of blood to be spilled and to generate truly large amounts of misery, generally requires an appeal to idealistic goals, and people stupid enough to fail to consider whether violence really is the best way to achieve those goals.
I’m reminded of a song written by Billy Joel about idealists:
December 31st, 2008 at 11:34 am
@38: what if the non-free software is needed to get networking access.
It is not needed. Instead of using proprietary software one can buy and use hardware which does not require such software.
It is now possible to run computer systems without any proprietary software. And in that situation you try to promote the (re-)inclusion of proprietary components. Interesting.
December 31st, 2008 at 2:32 pm
@37: Tytso, that was not a nice thing to write, did you not break “normal bounds of respect and courtesy” by implying that I was a sociopath? But no matter, I can live with that. And besides, sociopath is not as well defined as you imply it is but I suspect you ment the psychopath version even though that is a much larger concept.
And more nitpicking, zealot has changed in usage, the original usages was of a special political movement of Jews in the 1st century but has a wider meaning today. Words change meaning with time, thats the way it is. But maby non-compromising would be a better word for what I mean instead of zealot.
On to the matter at hand, then I do agree with you that we can make exceptions to things that are of lesser moral value because we make exceptions to laws of higher moral value. But we can also choose not to, because it doesn’t matter as much! To take your example of the dinner decision, then I can choose to be head strong and demand that we go to the Indian place, but only because it doesn’t really matter which place we go to (as long as they both confirm to accepted social buisness strategies). It doesn’t make one a psychopath to do social experiments (yes, this is doing a social experiment since then one would be the causation of the confrontation, and not a pawn in the decision making of Debian should be 100% free or not) in situations that don’t matter. But to do it with important situations would be psychopathy. Now to look at the dinner situation closer then when I demand that we go to the Indian place then the rest of the party can either say “ok, then we go there” or they can be equally head strong and say “no, lets go to the chinese”, thats when democracy comes to resque and the majority decides. Then it is up to the individuals if they join in going to the restaurant. The same applies to Debian, we have two opposing views and the majority should rule (has there been a GR about if Debian should be 100% free or not? Then I mean a yes or no question, not a badly formed question like the last one was. If not, why not?) and after that decision then people can make up theyr minds if they abide by that decision and carry on working on Debian or switch to another distribution that is more suited to theyr idealogy (be it Ubuntu, gNewSense or some other distribution).
December 31st, 2008 at 3:06 pm
Óli,
I didn’t call you a sociopath; I merely described what a sociopath was. It seems from your reply that your personal values systems seems to be that if you desire to carry out “social experiments” at least with respect to “things of lesser importance”, such as trying to decide where to eat, it overrides any moral claims towards respect and considerations towards others. Do you truly believe that? If so, you’re probably not someone I would choose to associate with, much less consider a friend.
December 31st, 2008 at 3:59 pm
@40: It is now possible to run computer systems without any proprietary software.
Well, this is getting interesting. Please tell me, where can I buy a DVD-drive whose firmware is publically available under an opensource licence ? How about the firmware of the hard disk drive ? How about the firmware of those chips which control the charging procedure of your Li-ion batteries ? How about the firmware of the wireless card ?
You are beating heavily against those wireless companies which refuse to publish the firmware of the wireless card, but you do not care about the firmware of your hard disk drive. In my opinion, your reasoning is strange.
December 31st, 2008 at 6:21 pm
@42 Ahh, that’s what you are thinking. Well, that is not the case and my apologies if my rants came across like that, then that is just because of not so thought through choosing of words. Of course one should respect others and stop the “experiment” (I never do these experiments personally, but I often see the chance to do them) as soon as anyone is offended. But an experiment like gNewSense (which I like the idea behind and would like to see Debian become and see if Debian would loose its user base, but of course that should not hinder Lenny being released.) is 100% harmless (morally that is) and can therefore be conducted.
December 31st, 2008 at 10:33 pm
Debian is not about being popular, competing with other OS or winining any religious war. Debian is about making foundations. Civilization is made on knowledge, not magic. Closed source (and blobs therefore) are magic system building blocks. Some input and the promess of always having the same and only the same magic output. Closed hardware suffers the same but, ey! software will give precedence here.
January 1st, 2009 at 9:56 am
@45: Raymundo,
I would disagree; Debian is about making a superior, usable distribution for the benefit of our users. We allow others to build works upon Debian, sure, but the first priority is a usable system — not to provide building blocks for a distribution like say Ubuntu. Part of making a system usable is that it will work on the largest numbers of hardware available; and all modern hardware requires fixed “magic” blobs. In some cases the fixed magic blobs are stored in flash memory on the motherboard (for example, the BIOS) and it can only be updated via magic flash update programs. In other cases the fixed magic blobs must be uploaded from the OS before the networking hardware will work correctly, mainly to save a few cents which add up if the manufacturer is making millions of the devices.
Whether or not there is a flash memory on the networking hardware, or whether the firmware must be uploaded by the OS, in both cases there is a fixed interface layer where you give the hardware a certain command (read sector 819256) and it returns a certain output. You may call it magic, I call it an abstraction boundary. In both cases, at the hardware/software boundary, there is absolutely nothing wrong with having such an abstraction boundary. They exist all the time in computer science, and rightly so.
January 1st, 2009 at 12:23 pm
@43 and 46
I am not really interested in helping hardware manufacturers to distribute their proprietary blobs or to save money by contaminating free operating systems with such blobs (such as firmware or drivers).
Asking them to open source those blobs probably is more productive. Some manufacturers seem to have made steps in the correct direction after receiving such requests. I think that proposals such as that put forward here by tytso are counterproductive.
January 1st, 2009 at 3:19 pm
I have been a user of desktop FOSS software for more than 15 years. I converted over to Linux as my primary desktop about 12 years ago. While I have spent my share of time evangelizing Linux on the desktop, I have never identified myself as a FOSS only kind of guy.
.
IMNSHO, true freedom for the end user requires that software be available under the complete spectrum of licenses; from the BSD style to the GPL to the most draconian EULA drafted by Microsoft. If someone wishes to lock themselves into Vendor Lock-in Hell, the rest of us should respect their choice. Attempt to convince them of the error of their ways, yes. Show them their alternatives, yes. Assume that that they are automatically the enemy, no.
.
Users and developers both must be able to make their own choices or true freedom doesn’t exist. Therefore, any action which may lead to a reduction of that freedom of choice should be viewed with suspicion. In my view, both Tso and Greg K-H are off base because they’ve forgotten this essential fact.
.
First off, Greg K-H’s position isn’t exactly correct. He fails to take into account the fact that the Linux kernel team in general and Linus’ position in particular that drivers that are binary blobs are OK. Therefore, the vast majority of the copyright holders of the code released under the GPL and LGPL for the kernel are OK with binary blobs. Therefore, the binary blobs are legal. If Greg K-H has a problem with that attitude, he’s always free to fork the codebase and establish new rules.
.
Second, Tso’s blog posting does have a point. The debates on the Debian lists do have far more in the way of vicious, personal attacks than they should. The moderators, such as they are, make little to no attempt to keep conversations on topic and civil. Unfortunately, Tso’s post falls into the trap of exhibiting the same sort of behavior that he deplores.
.
Personally, I think everyone associated with a FOSS project should read “Producing Open Source Software” by Karl Fogel.:
.
http://www.producingoss.com
.
Karl dedicates a chapter to how to handle communications. In that chapter, there’s a subchapter titled “Nip Rudeness in the Bud” that opens with this:
.
.
“From the very start of your project’s public existence, you should maintain a zero-tolerance policy toward rude or insulting behavior in its forums. Zero-tolerance does not mean technical enforcement per se. You don’t have to remove people from the mailing list when they flame another subscriber, or take away their commit access because they made derogatory comments. (In theory, you might eventually have to resort to such actions, but only after all other avenues have failed—which, by definition, isn’t the case at the start of the project.) Zero-tolerance simply means never letting bad behavior slide by unnoticed. For example, when someone posts a technical comment mixed together with an ad hominem attack on some other developer in the project, it is imperative that your response address the ad hominem attack first, as a separate issue unto itself, and only afterward move on to the technical content.”
.
.
A little of his approach goes a long way towards creating a much more constructive atmosphere. Heck, I think that particular chapter should be required reading for anyone associated with any technology related project, FOSS or not.
January 2nd, 2009 at 1:42 am
[...] Ts’o regte regte in seinem Blog an, den Debian-Gesellschaftsvertrag zu überarbeiten. Besonders die Formulierungen im ersten Absatz [...]
January 2nd, 2009 at 7:43 am
Sorry all, but I only have one single question:
We need hardware, right? hardware needs drivers, right?
Hardware are proprietary equipment… right? so… is nonsense fight over proprietary drivers…
The real need is for Free (in the freedom sense…) hardware manufacturers…
Its is possible?…
I don’t really think so, so how debate over free software that will allways depend on non-free hardware?
The issue of encapsulated drivers against free open coded ones must be discusssed along with the hardware makers not with “free – non-free” philosophers…
I just can’t stand people using literature or religion as argument…
Get reality first please.
January 2nd, 2009 at 2:40 pm
I agree with your last paragraph, except that it seems to be suggesting that this bad atmosphere is to blame on those who are committed to freedom.
I’m committed to freedom, and I’m not ruthless. I’m capable of compromise. I’ve been personally insulted several times on the course of this discussion (check -vote archives), and this was uncalled for.
This atmosphere sucks, and I appreciate your interest in fixing it, but please do not blame freedom for it. If it’s an imperative for you to blame someone, blame the blob providers: Intel, etc, you know the names.
January 2nd, 2009 at 5:36 pm
[...] to “Assume blobs comply with GPL unless proven otherwise”! Uhm, what? I can see why pragmatists like Ted Ts’o think Debian should include the blobs. But assuming a load of binary (or hex) for which no source [...]
January 2nd, 2009 at 10:50 pm
I don’t know why people want Debian to be compromised. There are a thousand other Linux distributions. If you don’t think freedom is all that important you can find what you need somewhere else. Let Debian be what made it great.
January 3rd, 2009 at 12:04 am
@51: Scott,
You seem to assume that what “made Debian Great” was unreasoning, uncompromising adherence to Free Software. Certainly the FSF hasn’t thought so; Debian isn’t listed on its list of blessed distributions, probably because of the existence of the non-free. It’s just unfortunate that in the past couple of years, with the revision of the Debian Social Contract, things have gone badly out of balance.
January 5th, 2009 at 6:09 pm
(Wonderful Billy Joel lyrics.) Funny how, in the Western Hemisphere, arguments over principle tend to bog down into irreconcilable either/or unbudgables. In the East, values are recognized to be relative. A guy who’s a lazy slob puts on his least dirty shirt one morning and goes out to find work as a used car salesman. Everybody applauds. But if Mother Teresa or Mahatma Gandhi had suddenly announced, “I’m heading for Delhi to get my share on rice futures,” everybody would have said, “This person has fallen.” Values are relative, but directional. The key is whether an action is expansive or contractive. The best choice, considered in that light, is usually clear. We may not be Gandhis today, but we can steer in that direction. Absolute freedom may not be possible, but we can make things work for people without compromising the highest value, of keeping expansive attitudes that help everyone grow.
By the way, as a complete Linux noob who just endured two days of attempts to install Etch and Lenny on a newly built box with standard hardware – and failed – I’m not inclined to believe that the thinking behind Debian is expansive. Linux Mint, on the other hand, is (well, relatively) a dream – it nice also, because Clem’s attitude expansive.
January 5th, 2009 at 6:10 pm
p.s. The example of the lazy slob is from a wonderful book on values, Out of the Labyrinth: For Those Who Want to Believe, But Can’t, by J. Donald Walters, Crystal Clarity Publishers (www.crystalclarity.com).
January 6th, 2009 at 7:25 am
I agree with much of what Karl Fogel wrote there, but the debian project has largely missed that boat and most books are silent on how to reform cess-pit discussion lists into useful ones.
On whether freedom requires giving people the tools to install obnoxious-EULA stuff – when I’ve mentioned that, I’ve been asked whether the freedom to sell oneself into slavery is a freedom worth having. I don’t think there’s an easy answer to that.
January 6th, 2009 at 8:28 am
I just wanted to comment quickly on a theme. It’s been suggested that helping others may be a “higher moral imperative” then “adherence to a philosophical ideal”. Well, I’d posit that you cannot approach a higher moral imperative without having a firm adherence to philosophical ideals.
That mooted, including spooky-closed binary blobs flies in the face of decades of advice telling careless computer users to refrain from installing anything form an untrusted source. How is this different? Oh, because it does some favors?
Different day, same BS.
Thanks for playing
January 6th, 2009 at 12:52 pm
@58 Machiner,
You shouldn’t install anything even in source form, from an untrusted source, unless you personally audit it yourself. As far as “spooky binary blobs from an untrusted source”, they come from the device manufacturer and if you don’t trust the hardware manufacturer, you have other problems. For example, I’ve heard it said that the Chinese Communists want to be able to create their own CPU’s because they don’t trust CPU’s from Intel — after all, who’s to say whether or not in exchange for a few billion dollars from the US government, there isn’t secret “spooky” microcode embedded in the CPU that could be use to compromise their military secrets. Ultimately, we have to trust the device manufacturers, whether the firmware is burned into ROM that can’t be changed, flashed onto FLASH which can be updated if you run the appropriate proprietary program, or provided as microcode which is uploaded to the device when the OS boots. So the primary thing is, firmware isn’t from an untrusted source. If you don’t trust the firmware that comes from an open source OS, then compare it bit-for-bit against the version that is available from the device manufacturer’s web site; but while you are it it, you had better also fully audit OSS source code looking for security vulnerabilities, either placed their inadvertently by mistake, or deliberately with malice aforethought.
January 6th, 2009 at 2:20 pm
Interesting post. Only one thing wish to mention: When Linux in general and Debian in particular will be able to provide outstanding hardware support, then I will agree that Debian and Linux should remain free from “contaminating” proprietary software.
Unfortunately, that is (not yet) the case. New hardware is continuously invented and produced, so that free- software or free-drivers for that new hardware may not be available at the begining. What can we do? Do not buy new hardware? Do not buy hardware which is not supported by free software/drivers? Very hard to avoid; It cannot be the solution.
Developers will always be in the catch-me-if-you-can game with hardware makers who do not release their drivers or do not produce software for Linux. All is a sorry state of things. Maybe in the long term, as people has suggested, every proprietary software should be replaced with free-software. We need more active developers? Yes, and we need to be patient too.
January 6th, 2009 at 4:03 pm
Debian is free to go whichever way it determines. It is all about free choice. However, they cannot complain when users and developers go elsewhere and Debian gets left behind. All this dithering and indecision is not good for users and the community.
Debian is in decline and I foresee a day when a few self-righteous will still be using it and the rest of the world will have moved on to something else. Debian is fossilizing itself, but they cannot see it.
Freedom cannot exist in isolation of people or it loses its meaning. If you have no users then your principles become hollow. If your policy pushes people away and it is based on being social then there is a problem.
There is no such thing as absolute freedom. One person’s freedom frequently infringes on another’s rights and when you impose your vision of freedom on another it is no longer freedom, but fascism.
I am not a Debian user, but if I was I would resent the paternalism and uncompromising devotion to a cause. This also explains why I have used Debian based distros for years, but never used Debian itself. I have been on their forums and cannot handle the attitude. For me and most others, Linux is not a cause but something that enables us to be more productive and to enjoy our hobby.
I love the idea of diversity and users get what the deserve because they are free to shop around. Debian users are no different. If they don’t like the direction then they can move on. It isn’t a democracy. Users cannot change anything when they have no say. Their only recourse is to leave, if they don’t like it.
The only thing that can change Debian is that ah-ha moment when they see that their social contract is meaningless without users. I am not urging anyone to leave. I am only saying that you either like it or leave it as they leave you no other choice.
January 9th, 2009 at 6:09 am
@tytso: I am saying that freeness of the software is *the best prerequisite* for technical etc.excellence, not that it *automatically leads* to those. Please, let’s make the difference. The NVidia proprietary drivers work better than the free ones, but if they were free, they would become quickly even better. Am I right?… And if I am, isn’t this a lesson from your own experience?
Also, don’t mistake the folks that go to OSCons etc. for the entire community. It would be akin to mistaking the folks in FSF for the entire community.
@LinuxCanuck: Debian got where it is thanks to its social contract. It existed, grew and flourished, and became the base for more than 50% (by usage) of the existing Linux distros. It is not like this social contract leads it to oblivion. It looks to me like the perfectly opposite.
January 10th, 2009 at 3:32 pm
How about settling for five 9’s? Just please install my NVIDIA driver!!!
Why is Mandriva 2008 the only distro I know of that does this? How may people out there have become Linux-haters forever because they were never able to install NVIDIA’s drivers???
January 11th, 2009 at 8:32 am
1. I tried to install Debian GNU/Linux 4.0r6 on my computer, the screen just went blank after rebooting — that is “100% Free Software” . .
2. I tried the rescue mode, edited the blacklist file (blacklist intel_agp), it worked! –that is “99% Free Software” ..
3. Am i a debian user or tree top philosopher?
January 11th, 2009 at 9:07 am
Good news: Open Firmware Released For Broadcom Wireless
January 12th, 2009 at 6:11 pm
@63: Just please install my NVIDIA driver!!!
Raven,
Unfortunately, drivers are a slightly different kettle of fish compared to firmware modules. Drivers run in the same address space as the kernel, which means that pointer bugs can cause random memory corruptions which result in extremely hard to debug kernel problems. In fact NVIDIA drivers have the dubious honor of being single-handedly responsible for the Linux kernel “taint” flags; unfortunately, buggy Nvidia drivers corrupted kernel memory resulting in completely unrelated kernel subsystems malfunctioning, and kernel developers wasted a huge amount of time tracking down bugs that could not be reproduced once the kernel was rebooted without the NVIDIA driver being loaded. Since no source code was available for NVIDIA’s driver, it was never possible to debug the problem past that point. As a result, if a proprietary driver such as Nvidia’s is ever loaded into the kernel, a “taint” flag is set, and many kernel developers will refuse to debug a “tainted” kernel since they have better things to do with their time.
Firmware, since it runs on a different CPU than the driver, has a completely different set of concerns. Firmware drivers have a very clearly defined abstraction layer through which they interact with the OS, and since they run on a completely different CPU, it is highly unlikely they can cause the sort of problems that kernel developers have experienced with Nvdia drivers in the past. As a result, given that open source drivers are available for Intel and ATI video cards, many users will chose to avoid Nvidia hardware not just because of software freedom issues, but due to practical reliability issues.
January 12th, 2009 at 9:13 pm
Just how many of you her are using Debian? If you are not then you don’t know what you are talking bout.
January 13th, 2009 at 7:09 pm
It seems to me, Mr Ts’o, that by your last post #66 you have answered your own questions. You need only substitute ‘Debian’ for ‘kernel’ and ‘firmware’ for ‘drivers’. Debian is an OS and DDs have to worry about the system functioning well as a *whole*. So if user X reports bug Y or requests feature Z that is related to proprietary firmware being present, his reports are likely to be ignored, since, as you yourself point out, the devs have better things to do with their time. It’s not a matter of trusting or not the hardware manufacturers either, I would like to remind you of Linus’s “many eyes” quote. So the distinction between drivers and firmware becomes artificial when we are talking about an operating system and not *just* the kernel. In this respect, firmware can be debugged and, perhaps more importantly, *improved*, like any other piece of software, except for the simplest of cases.
I respect the work you have done for the kernel and I am sure you are well aware of the facts I mention, but I believe that you working for the kernel exclusively clouds your judgment, a perfectly natural consequence. In the end I can not see why else would you disagree with Debian’s *goal* of being a 100% free distro. This is also Ubuntu’s goal; as Mr Shuttleworth has stated the inclusion of the non-free components are currently considered as bugs. It is Fedora’s goal too. The only difference between the distros being their varying degrees of tolerance. It’s not about ideology either, but about the *very real* problems that the presence of binary blobs imply.
January 13th, 2009 at 8:31 pm
@68:
Here’s the fundamental difference. Firmware runs in a different address space than kernel drivers. Let me repeat that, since you obviously didn’t get read my earlier comment #66 very carefully. Firmware runs in a different address space than kernel drivers. Indeed, it runs on a separate CPU completely separated from the kernel.
This makes a world of difference, for two reasons. First of all, it restricts the interfaces between the peripheral containing the firmware and the OS; normally firmware implements a very well documented abstraction which is fixed in time, and which the device driver can depend upon. Secondly, if there is a bug in the firmware it might cause the peripheral to lock up, perhaps requiring a reset before the peripheral is once again sane, but it won’t crash the rest of the system; it can’t, because it’s running in a different address space, and on a separate CPU from the host CPU.
The reality is any system you buy has lots of embedded firmware. Your hard drive has embedded, proprietary firmware; your wireless card has firmware; your video card/chipset has firmware. In some cases, the firmware is permanently burned into ROM; in some cases, it is stored on flash memory; in some cases, it is loaded by the device driver as a binary blob. How it is delievered to the peripheral’s controller doesn’t really matter; it’s still proprietary software. And you know what? Most hardware works just fine. So we have empirical evidence that the quality control for firmware is actually pretty good. And that actually makes sense, because the execution environment for firmware is usually quite limited, and given that it implements a what is normally a well-defined, restricted abstraction interface, and given that it can’t depend on any kernel services (again, because it lives in its own address space, and it runs on a separate CPU), testing said firmware is much easier than a binary driver which has to be linked into a Linux kernel, whose interfaces are constantly changing, and where bugs in said binary driver can cause the kernel to crash in completely different subsystems than the one which had the bug.
We don’t have to worry about a bug in a wireless firmware leading to a strange filesystem bug, the way that we have to worry about a memory pointer bug in a Nvidia driver leading to a strange filesystem or VM bug. That’s the difference.
February 9th, 2009 at 9:45 pm
Would you ask permission of Toyota or Ford so you could change tires, add a sunroof, replace your transmission?
Software is a commodity. Vendor and consumer are blurring into one.
Provide the free parts on the disc. Allow people to download an addon set of drivers. In fact my laptop came that way. Winders on one CD, HP drivers on another.
February 12th, 2009 at 12:33 am
Toyota and Ford are not required to make cars which can be modified in any way desired by their owners. Some things can not be modified without jeopardizing their “street legal” status, for example. They may also choose to make things lighter or more streamlined that also have the side effect that they can’t be easily opened up without destroying the inside guts of some sub-assembly. The latter case is also true for some of the Apple ipods, and the former case is also true for various radio transceivers, where it is illegal in many countries to make or sell radios which can be too easily modified to violate local radio regulations that might jam fire or police transmissions.
That being said, sometimes people are willing to buy a big car that guzzles more gasoline because it’s easier to service and hack the car. There’s nothing like a big old-fashioned American gas-guzzler with so much space in the engine compartment so you can stand inside it while working on the carburetor. But you do trade off various things, like being able to park in tiny spaces especially in the city, and terrible gas mileage.
In other products, the tradeoffs may not exist, or they may not matter a lot. I really don’t care about 1200 frames per second playing Doom; heck, I don’t play Doom at all — so I’ll take the video card with open source drivers with decent (but not great) 3D performance over the ones with top-notch 3D performance, but with crappy proprietary drivers that have a rich and storied history of wild pointer bugs that corrupt the kernel causing strange and wondrous crashes in unrelated portiosn of the Linux kernel.
But in terms of closed-source firmware, as long as a component, such as a wireless card, or an ethernet controller, or a SCSI controller, does what they are spec’ed to do, I really don’t care whether or not I can personally hack the firmware of a wireless card or an ethernet controller. Just as I don’t require that nuts and bolts to be hackable, or expect that I be able to modify the internals of a 7400 TTL NAND chip, I consider various computer peripherals as things which are not interesting for me to hack. So at least for me, firmware is fundamentally different than requiring open source drivers which runs in the Linux kernel address space. Similarly, since I’m not interested in being able to hack my internal combustion engine, a new-fangled engine with fuel injection controlled by a closed-source firmware which if tampered with, would very likely make them far worse in terms of polluting the atmosphere. A 1950’s era car surrounded with two tons of heavy iron is much easier to hack, and was never designed with pollution control in mind, so messing with it isn’t a problem. But that’s not a car which interests me at all, although I know at least one or two people who would prefer that.
February 13th, 2009 at 4:53 pm
I use the nvidia drivers. I compile them from the provided source and I even (heavens no) force compiled them to run on Xen. Nothing would have stopped me from modifying and sharing the mod if necessary.
I wasn’t talking about feasibility of changing a Toyota. I was talking about asking permission.
You bring up two straw men. It’s silly to say that you can’t modify a car to the point it is no longer street legal. You can’t modify gnometris to the point it intentionally steals passwords either. And whether a car is less efficient because it is hackable, that’s a purely historical issue.
Also the mods I mentioned are entirely routine non-street-legal-disqualifying. There are routine modifications in source code which will begin to push against the copyright, patent, and trademark barrier, perhaps not eliminiating them but making them a bit more rational.
The inventiveness and self-motivation in this age is almost nil. I would think we would be encouraging a change in that trend.
I use what works. Everything I put out, save for le job, is GPL’d. If I have the source code for a permission crippled product I will hack it and distribute the hack. I’ll call my lawyer before distributing the source code (depending on how it was acquired).
February 14th, 2009 at 5:19 am
incidentally http.us.debian.org says it’s an IIS/6.0 server
What gives?
February 14th, 2009 at 10:55 am
@72: dihymo,
I use the nvidia drivers. I compile them from the provided source and I even (heavens no) force compiled them to run on Xen. Nothing would have stopped me from modifying and sharing the mod if necessary.
As long as you don’t try to modify the binary portions of the drivers, that may be true. The moment you try to modify the binary portion of the Nvidia driver, perhaps to fix a bug that crashes your machine and perhaps causes disk corruption (such bugs have existed before) you are not allowed to redistribute the modified component, per the Nvidia Software License. Heck, if you find out there is a wild pointer bug in the binary portion of the driver, you are not permitted per the Nvidia Software License to even debug the problem, since that would almost certainly fall into the reverse engineering prohibitions. (”Customer may not reverse engineer, decompile, or disassemble the SOFTWARE.”)
That’s why I recommend people NOT use the Nvidia drivers. It has been buggy in the past, and if it’s buggy in the binary drivers — no one but Nvidia can legally help you. So in that way, it’s precisely like Ford not allowing anyone other than the dealership fix your car.
I’m less worried about (for example) the proprietary firmware/software in my television, ipod, laser printer, or the engine controller in my car, because they are devices with their own fixed abstractions. If it doesn’t work, I can file a warranty claim; it’s not like a bug in the firmware inside my HP Laserjet 2200 can someone reach across the parallel cable or ethernet cable and cause my system to crash. Hence, I don’t care very much about having source access to the firmware inside my HP LaserJet 2200. I do care very much about having source access to the video driver that is inside my Linux kernel, since if it has bugs, it *can* screw up my kernel. And fortunately, there are many alternatives to Nvidia available on the market which do make available the source code for their kernel drivers for their video cards.
February 18th, 2009 at 1:49 pm
There are many industries other than gaming that are dependent on Direct Rendering being operative. That sink-state of Mesa Indirect makes people’s hard work display badly and is no doubt a significant source of lost opportunities for linux. Last year’s ACM SIGGRAPH conference just illustrates how bad things are with graphics on linux. There were two sessions going on at about the same time. One was an OpenGL birds-of-a-feather meeting where there was all sorts of talk about decreasing compatibility, and at the other session NVIDIA was showing-off their live ray-tracing (where it sounds like their driver is in control the recursion depth)!
February 24th, 2009 at 10:23 pm
We use Debian because we want a free OS. If we wanted lots of non-free stuff we wouldn’t use Debian.
If some people want a Debian-like OS with binary drivers and other non-free stuff, you can always create your own distribution or join one of the many other distros that exist.
Please don’t argue about including non-free stuff in Debian, because it’s not going to happen, and shouldn’t happen. Debian exists to be purely free.
March 9th, 2009 at 1:45 pm
I’m still trying to find out what happened with my vote. I have a very ancient PGP (not GPG) key registered in the keyring and apparently support for it has broken. I need to upgrade my key. Its probably because its an RSA key back from when that was still acceptable practice.
April 19th, 2009 at 6:10 pm
I agree with NSK 100%. I’ve switched from Windows XP about a year ago, the main reason being the “dirty games” played by Microsoft and the main compelling reason being the writings of Richard Stallman. And I’ve just recently switched to Debian from openSUse, the main reason being again non-technological, namely the “tainted” business model of Novell and its growing loss of respect for the Freedom in Software. The thing I like the most in Debian is precisely its social contract, its community, and its respect of Software Freedom. It is only fair that we freedom purists have a distro we can relate to. I live in an ex-communist country and let me assure you: there is no such thing as “half-freedom”. People who are willing to forfeit freedom for a purely technological convenience deserve neither.
January 31st, 2010 at 5:09 pm
[...] #file server, #Ubuntu, #diy, Thunk blog article on the “Debian Social Contract” [...]