Biella Coleman: Pirate Philosophy
Culture Machine has just come out with a new issue and it is all on pirates. Looks like a great collection.
In June of 2005, I finished reading
"The Professor and the Madman"
by Simon Winchester,
which is an intriguing story of two significant contributors to the
Oxford English Dictionary, or OED. I
first heard this book mentioned in an interview on the
Charlie Rose show, and it
sounded interesting, so I bought a paperback copy,
and it was indeed an interesting read.
I wrote these thoughts down then, but neglected to post them until now. That
was likely in part because others beat me to the punch. In particular, I
think I remember listening to a presentation by
Nat Friedman on the topic at around that time. In any
case, I stumbled today over the text I wrote back then, and thought the words
were still worth sharing.
The most interesting thing I learned in reading this book wasn't
actually about the principal characters, but instead involves a speech given
by
Richard Chenevix Trench
to the Philological Society,
entitled "On Some Deficiencies in Our English Dictionaries." This
is the talk that eventually led to the creation of the OED, and the intriguing
bit to me is an idea Trench proposed that was new at the time, but absolutely
fundamental to the Open Source & Linux world today. Trench well understood
that an undertaking of such magnitude as compilation
of an exhaustive dictionary of the English language, detailing the history
and lifetime of each word illustrated with many example of usage from existing
literature, could never be accomplished by one individual. Instead, he
proposed explicitly involving a large group of unpaid volunteer
contributors. Winchester claims that while this may sound obvious today,
that this idea had never been put forward before for such an undertaking.
Absolutely brilliant.
As an up-close observer of the evolution of the community approach to software
development and maintenance, I couldn't help but draw connections. We are
today engaged in an equally grand effort that may well have an
enduring impact, that fundamentally would not be possible to
accomplish without the contributions of an astoundingly diverse array of
unpaid volunteer contributors...
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 isThis 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: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.
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.
Hey planet, it s been a very long time since I took my e-pen to write something down here, my work is taking pretty much all my time nowdays. Anyway, it seems that there is sort of a polemic rising here and there about RubyGems and its packaging philosophy.
I d like to take that opportunity to contribute to the debate with the experience I had at Yoolink. Yes, we provide Ruby on Rails applications and are defacto dealing (or trying to) with Ruby and its gems.
Wouter enlightened the main reason why it s such a mess to put into production a Rails app and to maintain it : the Ruby on Rails ecosystem is unstable. If you start writing your app, there are very big chances that when it gets mature for production mode, one or more of the Ruby libs you depend on will have a new version. And sadly, chances are there too that one of those libs will provide an API change.
This can happen in a lot of places in a Rails app, because of its modular structure: plugins, gems or even Rails core upgrades (try to upgrade a real-working Rails app from 1.x to 2.x if you like tricky games).
I agree with Joss when he said that Debian packages and Ruby gems are not designed for the same purpose, the latter are for a developer ecosystem and the first suitable for long-working production ecosystems.
That s why setting up a complex Rails app in production is a nightmare : no Debian packages for all your Ruby needs on the first hand and API-unstable and hard-to-upgrade gems on the other hand.
At Yoolink, the only working way we ve found to maintain in production our Rails apps is to freeze pretty much every Ruby-thing we can. Our production servers are then Rails/Ruby free (nothing installed system-wide) and the apps provides all their Ruby dependencies in their vendor/ directory. You can t do that for native gems but that works for 90% of a random Rails app s dependencies.
To conclude, I d say that most of these issues come from the philosophy of the Ruby/Rails people : they don t fear to change anything they want from one release to another, just take a look at the gettext support in Rails 2.2 and you ll understand what I mean .
It s like they don t even take in mind that people are now using their stuff, in real world, with customers relying on their apps. It s not a pet project anymore guys, if Rails want to remain the killer app it is, it will have to be someting stable and maintainable.
There is again some ongoing debate about Ruy gems and how to integrate them cleanly into the operating system.
Let s put aside the fact such tools are useful on Windows and MacOS which don t have decent packaging systems. This is not a reason to dictate stupid requirements for other operating systems. Still, even without that, gems, eggs and the like are great tools for development; tools that developers can t work without today. They allow to easily setup a development environment with everything needed, at the latest versions. However they were not meant for integration and production environments, and will never be suitable for them. We re living in another world indeed: a world where servers must be up 24/7, where security issues flood your inbox every day, where you need dozens of servers running the very same software. This world is the Earth.
Python eggs and Ruby gems were designed for the same target audience and with similar requirements; as such, they share the same deficiencies when it comes to other audiences:
Thanks to some unexplained comments on some oldish entries on my blog, I found -with a couple of days of delay- Rubigem is from Mars, Apt-get is from Venus, in Pelle's weblog. And no, I have not yet read the huge amount of comments generated from it... Still, I replied with the following text - And I am leaving this blog post in place to remind me to further extend my opinions later on.
Until a couple of weeks ago, I was under the impression that one could
only have a single HTTPS site per IP address, but it seems I was wrong.
The procedure is described here
on the CACert wiki.
In short, you need multiple SubjectAltName
fields on your server's certificate, such that all the VirtualHost
names that you want to work are either directly mentioned, or will match
via wildcards.
The page above includes a link to a nice script
that generates a key and CSR (Certificate Signing Request) ready to be pasted
into CAcert's Server Certificate page.
Note: the CN is pretty much ignored by some browsers, so you'll want to
put the machine's main name as one of the SubjectAltNames as well.
BTW if you get a warning like:
[warn] _default_ VirtualHost overlap on port 443, the first has precedence
you probably need to add
NameVirtualHost *:443
to your /etc/apache2/sites-enabled/ssl before the <VirtualHost *:443> line.
Of course, this glosses over the details of doing things like setting
your name and address in the certificate, but since CAcert will strip
all that out anyway, it only matters if you wanted to get it signed by
someone else. Even so, this should get you started -- you can always
edit those details into the csr script.
Jokes tear holes in our usual predictions about the empirical world. We might say that humour is produced by a disjunction between the way things are and they way they are represented in the joke, between expectation and actuality. Humour defeats our expectations by producing a novel actuality, by changing the situation in which we find ourselves…
I love it when a lack-of-humor and lack-of-appropriateness-originated flamewar causes somebody to point me towards a very nice display of intelligent humor. Specially when it is so close to me, to my roots, to my family and my personal history. FWIW, for several years, while I was a BBS user, I used WereWolf as my nickname. Great thanks to Frank K ster - and, of course, to Christian Morgenstern.
The Werewolf - English translation by Alexander Gross A Werewolf, troubled by his name,
Left wife and brood one night and came
To a hidden graveyard to enlist
The aid of a long-dead philologist. "Oh sage, wake up, please don't berate me,"
He howled sadly, "Just conjugate me."
The seer arose a bit unsteady
Yawned twice, wheezed once, and then was ready. "Well, 'Werewolf' is your plural past,
While 'Waswolf' is singularly cast:
There's 'Amwolf' too, the present tense,
And 'Iswolf,' 'Arewolf' in this same sense." "I know that--I'm no mental cripple--
The future form and participle
Are what I crave," the beast replied.
The scholar paused--again he tried: "A 'Will-be-wolf?' It's just too long:
'Shall-be-wolf?' 'Has-been-wolf?' Utterly wrong!
Such words are wounds beyond all suture--
I'm sorry, but you have no future." The Werewolf knew better--his sons still slept
At home, and homewards now he crept,
Happy, humble, without apology
For such folly of philology.
today in my website's access.log (wrapped for easier legibility):
64.1.215.166 - - [21/Nov/2008:19:03:02 +0100] "GET / ,blog/ HTTP/1.0" \ 404 6963 "-" "Mozilla/5.0 (Twiceler-0.9 http://www.cuil.com/twiceler/robot.html)"the broken URL comes from my ~/.signature which since about 2 months contains the following fragment:
http://info.comodo.priv.at/ ,blog/& probably that line was found in some web archive of a mailing list or newsgroup or somesuch.
Cuil is the biggest search engine on the planet.apart from the fact that I've never heard about them & that their search results are not impressive either, their "philosophy" (huh?) page claims:
Size mattersmaybe it's just me but probably they should invest more in technical "cuil" [0] than in marketing speak that sounds less like search engines but more like another business branch on the intarwebs.
nevertheless, it's time to continue the series. The first part was
about why I think that nowadays Emacs is ready to be
switching to. This second part is about flawed Vim design choices which
substantially contributed to my choice.
(Of course all this post is under a IMO-/rant-disclaimer,
it can't be otherwise, so take it cum grano
salis)
Flawed Vim design choices
Vim started as a wonderful editor, following the path of Vi,
which in turn has got right a good deal of design choices. One is
the often debated modality. In spite of being a
HCI
PITA in general,
modality is not a problem at all for software you are using every
single day (and the editor is the 2nd program I use the most, with
the terminal being the 1st), because you learn it as a habit. In
the case of Vim, modality is good because it let you use powerful
yet simple motions
in command mode, which can be easily combined with
operator-pending commands.
This can be considered yet another incarnation of the UNIX philosophy,
casted inside the editor itself. ... which brings us to
the good old joke which describes Emacs as a great operating system, lacking only a decent editor. In fact, Vim is no longer the nice Unix philosophy player which it used to be, and Emacs plays much more nicely with external tools than Vim. As arguments, let's consider a few (not so) recent Vim evolutions:
vim-spellfiles-FOO), but is even worst than
that: the spell files must be generated in ad-hoc ways which are
seriously prone to failures (guess why in Debian we don't have yet
the vim-spellfiles-FOO packages which used to exist in
experimental a long time ago?).
What would have been the UNIX-friendly way of achieving the same
result? Well, obviously spawning FOOspell and
interact with its process from the editor. Keep that in
mind.
grep
and parse its output. KISS.
Then, Vim started to have a problem: grep -r can
take ages and in the meantime the editor was stuck. Hence, starting
with Vim 7, vimgrep
has born: an internal re-implementation of grep. OK, it is
more portable (but how many of us do care? on how many system you
use you are missing grep? damn, I used to install it also on
Windoze!), and the editor retain control. Control that is exploited
just to show a nice progress bar of what is being scanned ...,
while the editor is still stuck.
Well, to me it looks like the problem would have been solved
much more nicely by adding the ability to interact with an
external process (deja vu?). That process can then be
grep -r. Full stop.
ocamldebug
called WOWcamldebug. Every
single project of that list acts as an intermediary between Vim and
an external process (a debugger of some sort), whereas that could
have been implemented by an editor plugin, provided that the editor
offer, guess what, support for interaction with external
processes.
M-x
grep (shameless smartass plug: same number of keystroke
of :grep),
Grand Unified Debugger, a sampling of
language-specific major modes with top-level support. (But I
recommend having a look at least once at the coolness of other
stuff built-on top of external process support, like Flymake, mentioned
by dancer not a long ago.)
vim-full,
look at the deps!) or to enjoy a good deal of masochism to explode
your 30 lines of Python extension into 200 lines of Vim script to
make your Vim extension more "portable".
It has been reported that the roots of Monty Python's Dead Parrot Sketch are 1600 years old. The original is from a Greek joke collection called Philogelos (The Laugh Addict.) It goes like this:
A man goes up to a student dunce (scholastikos) and says "The slave you sold me died." "By the Gods," the dunce counters, "When he was with me, he never did any such thing!"
Education used to be an end in itself, not a means. It wasn’t about having a high-paying career. It was about knowing the world, about having knowledge and wisdom for its own sake. It was, quite bluntly, the accumulation of useless knowledge by the elite — those that could afford to spend time on such things, knowing that useless knowledge has a way of becoming useful in the most unexpected of ways. How fortunate we are to live in an age where the accumulation of useless knowledge is available to so many, and how sad it is that so few take advantage of it.What a powerful statement, and it rings true to me. I remember in high school, when people from the local liberal arts college would come and talk. They’d talk about the value throughout a lifetime of knowledge in a broad range of disciplines: English, history, political science, religion, science, and the arts. They’d talk about how their graduates went on to lead distinguished lives, how this broad core of knowledge serves a person well through life. I guess I didn’t believe them, because due to their lack of a computer science major, I went elsewhere. That local school may not have been the best choice for me for other reasons, but as I look back on it, I think they had a much stronger message than I realized back then. Here I am, just two math classes, one computer science class, and one biology class away from a degree. Yet I have had not one class covering the history of east Asia, not one class on different world cultures or religions, and only a very basic understanding of one foreign language (German). This hits me in the face almost every day. Yesterday I was wondering about the history of slavery and racism in Europe. Today I’m curious about China’s history as an economic powerhouse. Last week I was curious about Roman law and daily life. The fact is, everything from philosophy to calculus is screamingly relevant to daily, modern life. We hear talk of “an American revolution” in Washington, of a shift of power in the Senate. It seems we forget that the notion of a Senate is considerably older than the United States is — and that we have such a thing because our founders were aware of this. Macroeconomic theory is thrust in our faces on an almost daily basis these days, yet I’ve never had a class on economics at all. We might feel fear of terrorist attacks, or see our fellow citizens lash out at “the Arabs.” Our own short memories fail to remind us of the light in which we are seen, fail to put the really quite minor terrorist threat in context of what London or Dresden endured in World War II. We demand our government to make us safer, and our government responds by making us less safe but making us *feel* safer at airports. In my own field, I see some universities buckling to pressure from Business to turn out large numbers of mediocre programmers that know the Java or .NET standard library well, but have no sense of the theory behind computer science, and would be utterly lost if asked to, say, write a recursive QuickSort. I find myself almost completely baffled that some companies that want to hire the world’s best programmers are only looking for people that are already fluent in $LANGUAGE — not ones that are good programmers, and so well-versed in computer science that they can easily pick up any language. I think there is a lot to the argument that a good, broad, classical education can serve a person well in any career. I wish I had realized that a little earlier.
A lot has been said about the elections already. I just want to share my personal experiences about it. During the weekend, Tom invited us to his place in lower Harlem (we live upper Harlem) on 123rd St and Adam Clayton Powell Jr Ave, for Tuesday night. As Tuesday arrived, we didn’t see too many people too excited about it. Living in Harlem, we were pretty used to black people supporting Obama, so getting closer and closer to the elections, we didn’t feel people anxious. On Tuesday, we commuted to work and some of our co-workers got to work late because they have been standing in lines for a couple of hours to vote in polls. The whole day was about talking on how much that day was representing for the US and the world, guessing how they results were going to end up, etc.
Later at night, Greg, Phil, Raquel and I headed to Tom’s place for his watch-the-results party. His fridge was full of Blue Moon beer, but he also had some Red Stripe
The Open Source Repository and Observatory (OSOR), a new site sponsored
by the European Commission to foster the exchange of FOSS related
information and software among European public administrations, recently
published guidelines
on the procurement of open source software. Public administrations
in Europe have to follow public tender procedures and the new guidelines
give practical and legal advice on how open source software and related
services can be incorporated into the procurement process.
Rishab Ghosh, who presented the guidelines at the Open Source World
Conference in Malaga, argued that the procurement guidelines were needed
because of two reasons. First, they studied recent tenders and found
that many explicitly
mentioned proprietary applications. 16% of 3615 software tenders
explicitly asked for products from top 10 software vendors, such as
Microsoft, SAP and Oracle. This practice may be illegal because public
tenders generally have to describe functional requirements in a general
way instead of specifying specific products. Second, many public
administrations don't have any experience with the procurement of FOSS.
In fact, they often don't know whether or under which circumstances they
are allowed to adopt and ask for FOSS solutions. The guidelines are
specifically designed in order to clearly and simply explain how public
administrations can acquire open source and they don't assume that a
country has adopted a specific policy regarding open source.
The guidelines include a long section about open standards, open source
and how they relate. Both open standards and open source align very
well with the needs of public administrations who have an "obligation to
support interoperability, transparency and flexibility, as well as
economical use of public funds". The guidelines argue that the exit
cost, i.e. the cost incurred in moving to another IT system, is also an
important consideration but one that is often neglected. The adoption
of a proprietary solution without open standards may limit the future
choice, thereby increasing the long-time costs and giving the
proprietary vendor an unfair advantage in future tenders.
The procurement guidelines describe two ways of acquiring FOSS: it is
possible to go the usual route of publishing a tender for the supply of
software (possibly with related services). However, in the case of
FOSS, it is also possible to download the software directly from the
Internet. This is possible because the software is not only free of
charge but comes with no contractual obligations. If there were any
obligations involved with the download (such as fees, the agreement to
an EULA or the requirement to purchase services in the future), software
download is not an allowed method. What I like about the guidelines is
that they explicitly say that downloading software has to be part of the
formal procurement process. You have to think about your requirements,
look at various alternatives, and so on, and not just blindly download
something from the Internet.
When it comes to the procurement of FOSS, the guidelines don't suggest
that tenders should explicitly ask for FOSS. Instead, they should
describe the functional requirements of the software as well as certain
properties. For example, a tender could specify that the public
administration as well as third parties must have the right to study,
distribute and modify the software. In a sense, the guidelines suggest
that tenders should include the principles of the Free Software
Definition along with justifications for these requirements.
Personally, I think there is a great need for these procurement
guidelines. There are many public administrations that don't know how
to acquire FOSS and these guidelines offer clear advice. Furthermore, I
find the guidelines very balanced. They don't recommend that you should
always ask for FOSS but incorporate FOSS principles into tenders where
it makes sense. It remains to be seen whether the procurement
guidelines will have an impact on the FOSS adoption in Europe, but I
surely hope so.
(Originally published on FOSSBazaar)
If you ask the old timers about how they got started in Debian they'll tell you about sending off an email saying they wanted to get involved and having an account setup the same day. By the time I got round to joining it was during tbm's blitz when NM opened up again and it took only a few days to get through the process. When I first AMed, back in 2002, it took anywhere from a few days to a few months to process an applicant. I've recently started AMing again and so far my NM and I have exchanged 9 mails over the course of 2 weeks and still aren't through Philosophy and Procedures.
Alain Williams just sent me a link to the Atheist Bus Campaign
which was started to raise £5,500.00 GBP in order to buy adverts
on the sides of busses in London.
As I write they have raised £111,832.43, so over 20 times
what they needed for the London busses. I'm so impressed with this that
I gave them £100.00
Update: I note the
campaign's page, where among other things they link to a clip from
the BBC's Have
I got news for you which is rather amusing
about this, particularly the last joke. Also, Justgiving's
blog seems in awe about how this has
taken off. As they mention, there's even a wikipedia
page about this.
Next.