Archive for the 'Open Source' Category

The GPL is not viral

Sunday, February 5th, 2006

I was listening to a recording of Chris Messina talking about building infrastructure for the open source community at BarCamp Dallas; in the middle of the recording, a discussion started about the new version of the GNU General Public License.

Someone in the crowd claims the GPL is a “viral” license. This is a claim that has been repeated for years; unfortunately, it’s a ridiculous metaphor. The GPL says that if you download code under the GPL, change the source code, and release a new version, you have to release your changes to the source as well.

A virus, on the other hand is something that infects you, despite your best efforts to avoid it. The measles virus, for example, is passed through airborne particles. Nobody gets the measles on purpose.

The GPL may seem viral—if you include GPL’d code in your proprietary program, then you have to release your entire program under the GPL. The misleading part is that while you might contract the measles despite your best efforts to avoid it, it is unreasonable to say that you will inadvertently introduce GPL code into your program.

“Oh, I accidentally went to Sourceforge, downloaded a tarball, opened it, and copied code with the exact functionality I was looking for into the correct part of my program! Oh no! Help! I’m infected with the GPL virus!”

Tormented by Mike Goelzer

Sunday, February 5th, 2006

A recent exchange with Mike that he has posted on my blog against my will:

From: Mike Goelzer
To: Brandon Stafford
Date: Jan 31, 2006 11:27 PM
Subject: State of the Union

What do you make of the fact that tonight’s State of the Union speech did not address the recent controversy over GPL v3? This is an issue that has divided the open source community, with Linus and Stallman practically at each other’s throats, and the president did not even mention it! Instead, he talked about issues like health care, which are only of interest to a small number of sick people who are probably still using the 0.11 kernel anyway.

This just goes to show how out of touch our politicians are with mainstream America. It’s outrageous and it disgusts me.

Mike W. Goelzer

P.S. This message is protected under the “GPL v2 or later.” In other words, if you have read this far, you need to send me all of your private signing keys. Please send me your blog password as well.

From: Brandon Stafford
To: Mike Goelzer
Date: Feb 1, 2006 7:10 AM
Subject: Re: State of the Union

For the love of Gahweb (GHWB), will you please stop over-simplifying the situation. You know damn well that Linus and Stallman are not at each other’s throats!

The reality is that Linus was at Stallman’s throat, Stallman was after Eben Moglen, and it was Moglen who was at the throat of Mr. Torvalds. Ooh, and there is Simon Phipps! Phipps drops the hammer on Moglen while the diminutive Red Sea pedestrian is laying into Helsinki’s finest. Out in the hallway, it’s Bob Sutor with Chris diBona in a headlock! Wait, is that Chris diBona? No, it’s Darl McBride wearing a Chris diBona mask! This could get ugly! Oh no, it’s William Leibzon mixing it up with Vixie! What are they doing here? The NANOG conference isn’t until April! Leibzon’s got a gun! Noooooooooo!!!! Vixie is dead.

Alright, I have to go eat breakfast. Damn you.

Brndn McBride

From: Mike Goelzer
To: Brandon Stafford
Date: Feb 1, 2006 11:32 PM
Subject: Re: State of the Union

How can you mention Darl McBride in the same digital breath as those other open source luminaries? McBride is like their antithesis; he is a black hole that absorbs the light emitted by the luminaries, thus paradoxically rendering them invisible. Have you ever wondered why it’s so hard to see Richard Stallman clearly, even in broad daylight? It’s because all he emits is Hawking radiation accounting for less than 1 x 10^-100 of his total luminosity.

(Notice how I put one over Googol there. Suckers!)

Seriously, though, remind me never again to challenge you on your own turf — “your stuff,” as some call it. I thought I was such an open source sophisticate because I knew that Linus had raised some objections to v3, but then you go and write back with a message listing a bunch of open source guys so fancy-pants that I’ve never even heard of them. I mean, Vixie, ok, fine, everyone knows that his name is on the crontab man page, but as for the rest of them… well, I guess I should stick to exchange-traded funds.

Mike

From: Brandon Stafford
To: Mike Goelzer
Date: Feb 2, 2006 7:58 AM
Subject: Re: State of the Union

OK, fine, have it your way, dude, but here’s my point. McBride was wearing a Chris diBona mask, suggesting that he was using subterfuge to infiltrate an open source cultists’ event. You know of subterfuge, no? Misdirection? Michael Milken? Hello?

I didn’t get your googol joke the first time I read it, as I had been set to evaluate all expressions, and my registers roll at 10^-64. Fortunately, it was flagged, and I got an SMS to my cello phane warning me of the error. Then I reread the joke, parsing it with evaluation turned off. Gahweb, that was a hilarious joke. I laughed all over the place. I Laughed Out Loud. Then I Read The Fucking Manual. Did I mention that I Am Not A Lawyer?

Brndn

From: Mike Goelzer
To: Brandon Stafford
Date: Feb 4, 2006 12:09 AM
Subject: Re: State of the Union

Oh, Mike Milken! Now I get it. You should have just used metaphors I can understand the first time around.

Also, nice one with the registers. I think this whole Googol joke thing is shaping up to be one of the funniest exchanges we’ve ever had. I may publish it; can you send me the admin password for your blog so I can get all the proper legal paperwork squared away to secure the copyrights? Thanks.

Mike

Comma separated list to .csv for Apple Mail import

Saturday, January 28th, 2006

A handy command for turning a comma-separated list into a standard .csv file. I used this to convert old Eudora contacts files into a format that Apple’s Mail could import.

cat input.txt | tr ‘,’ ‘\012′ |sed s/^/,,/ > output.csv

I believe I had to add a line at the top of each file after conversion to tell Mail what it was I was importing:

First,Last,Email (other)

GPLv3

Monday, January 16th, 2006

I attended a version of BarCamp for old lawyers today– the launch of the first draft of GPLv3, put on by the Free Software Foundation at MIT. Eben Moglen, Richard Stallman, Bruce Perens, Andrew Tridgell, Larry Rosen, Bob Sutor– all the stars were out in Cambridge, laptops shined up and beeping accessories a-dangle!

Richard Stallman is far more amusing than he gets credit for– more details in the Wikinews article I started.

I went to BarCampNYC and all I got was some lousy Flickr contacts

Monday, January 16th, 2006

I returned from BarCamp in New York last night. Overall, it was more fun than educational, but that’s only because it was so fun.

Some geeks in Palo Alto started BarCamp last summer as a response to O’Reilly’s invite-only Foo Camp. Then came BarCamp in Amsterdam, and then BarCamp in New York. About 70 people showed up for 36 hours of geeking out in the 9th floor office of a t-shirt company. I only knew three of the people there, though as a bonus, Noah T. Winer (yes, THE Noah T. Winer) showed up on Saturday night unannounced. In general, it was very refreshing to be able to make ridiculously technical jokes and still get a few laughs.

Mike Goelzer and I presented our idea for making the entire web as unreliable as Wikipedia. It went over reasonably well.

There are a lot of pictures from the event on Flickr under the tag BarCamp or BarCampNYC. In most of the pictures that include me, I look like an idiot, but there are a couple where I look relatively normal.

Points that I want to make without taking the time to embed in standard prose:

1. It was fun to see stuff about us pop up on Flickr, people’s blogs, and other websites throughout the weekend.

2. It’s interesting to meet people whose blogs/websites I’ve read before (notably Chris Messina, Tara Hunt, and Jesse Chan-Norris).

3. New York was depressing. I’d been avoiding going there for 33 years, and it doesn’t appear that I was missing much. Not going to San Francisco– that would be missing something. I realize that experiencing New York from the 9th floor of an office building is ridiculous, but at least I can rule out the possibility that it’s Nirvana.

Many thanks to Amit Gupta, Mike Goelzer, Nick Gray and everyone else who helped organize the event. You’re all invited to BarCampBoston some day, unless I move to Kuujjuaq, Nunavik.

GPLv3 conference coverage for Wikinews

Friday, January 13th, 2006

Any BarCamp folks going to the GPLv3 launch conference at MIT on Monday? I’m planning on covering it for Wikinews, and I could use some help.

Off to BarCampNYC to talk about Wikr

Friday, January 13th, 2006

Stage 2 of my trip to New York City for BarCampNYC begins tomorrow morning around 7:30. Stage 1 was last night when I drove down to Boston from Wiscasset, Maine, where I work. I spent the day debugging a DNS problem and preparing for the Wikr presentation at BarCamp.

Wikr is a Firefox extension that Mike Goelzer and I have been working on. (Yes, it’s a stupid name, but at least it’s short.) The idea is to establish a means for synchronizing web improvements across trusted peer groups.

The “means,” in this case, is Mike’s Rails server and an RSS + SSE feed.

“Web improvements” is a contentious phrase– what improves the web for me doesn’t necessarily improve it for everyone else. The closest implementation I’ve seen of this idea is Greasemonkey scripts– scripts that allow the user to filter, augment, combine, and tweak web pages into something they prefer to the original. What Wikr is trying to do is to allow people to subscribe feeds of improvements from people or organizations that they trust. Myself, I’d love to have a feed of Google maps links embedded in any news story I read, so I can see where places mentioned are, like this imaginary weather report: “It was 10 degrees below zero in Kuujjuaq, Nunavik today.” Someone else might want a feed of spelling corrections, or a feed of bloggers’ posts about political articles they read.

“Trusted peer groups” means any group of people who trust each other and have the organization to get a feed together. Obviously, a lot of this depends on how easy it is to generate and host feeds. The Platypus extension for Firefox is a GUI for creating Greasemonkey scripts– in the end, Wikr might turn into a repackaged combination of Platypus and Greasemonkey with a little Javascript gluing it in between.

The authentication model is still half-baked. Each group will need to decide who is allowed read-only access to the feed of improvements and who is allowed bidirectional synchronization (the SSE in RSS + SSE). We haven’t developed anything beyond that principle yet.

As a demonstration for BarCampNYC, we have Mike’s server set up with an RSS + SSE feed. We also have an extension that synchronizes the pool of Greasemonkey scripts on Mike’s server to a local cache of scripts used by Firefox.

We’re also hoping to have a website and mailing list set up by the time BarCampNYC ends, so interested parties can follow our progress or join the fun.

Installing Roundcube on Dreamhost

Friday, January 13th, 2006

I followed Hookturns’ guide to installing Roundcube on Dreamhost a few days ago, but I used a more recent version (roundcubemail-cvs-20051216.tar.gz) and found that it still worked with the following changes:

  1. After Hookturns’ Step 4, change config/*.php.dist to *.php
  2. In Hookturns’ Step 6, line 54 is now line 57.

I haven’t tested my Roundcube installation thoroughly, but I was able to log in and send mail; I didn’t see any obvious errors.

Just for reference, in the Dreamhost domain management settings, I had “Run PHP as CGI” selected, but not “PHP Version 5.” This may be the default, but I was tempted to use PHP 5; maybe you will be too.

Installing Xubuntu on a G3 iMac

Sunday, January 8th, 2006

I work in a school where we have lots of old iMacs that are barely usable under OS 9.2. The newest browser we can get for OS 9 is Netscape 7.0, which crashes a lot (repeatably on Gmail, for example).

Xubuntu is a derivative of Ubuntu Linux designed for low-end machines. It uses the XFCE desktop. I’ve just finished installing Xubuntu on a 400 Mhz iMac. It went reasonably smoothly, and now that I know the few tricks listed below, doing it again should be quite easy.
The steps:

1. Put the Breezy Badger for PowerPC install disk in the CD drive.

2. Reboot.

3. At the first prompt, type “server” and hit return. This will install everything in normal Ubuntu install except the GNOME desktop.

4. Install the Xubuntu desktop and the GNU display manager using apt-get:

sudo apt-get install xubuntu-desktop gdm

5. To get the graphical interface working, I had to tweak /etc/X11/xorg.conf a little. The first change was to alter the HorizSync and VertRefresh settings. I also switched from the fbdev driver to the ati driver. The snippet below shows the original settings commented out and the new settings added. (Link to full xorg.conf.)

Section “Device”
Identifier “Generic Video Card”
# Driver “fbdev”
Driver “ati”
Option “UseFBDev” “true”
EndSectionSection “Monitor”
Identifier “Generic Monitor”
Option “DPMS”
# HorizSync 28-51
# VertRefresh 43-60
HorizSync 60-60
VertRefresh 43-117
EndSection

6. The last tweak was to add a printer to CUPS manually. To enable the web administration for CUPS, I added a root password:

sudo -s

passwd

In /etc/cups/cupsd.conf, I changed RunAsUser to No, so that CUPS would run as root, and not switch to run as the user cupsys, as I believe this is what disables the web interface:

RunAsUser No

Then restart CUPS:

/etc/init.d/cupsys restart

Here is what ended up in /etc/cups/printers.conf: (Yes, I live in a farmhouse, and I work on Sunday nights)

# Printer configuration file for CUPS v1.1.23
# Written by cupsd on Sun 08 Jan 2006 07:34:40 PM EST

Info Farmhouse
DeviceURI socket://192.168.1.131
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0

Overall, Xubuntu is working really well– much better than OS 9.2. It’s only got 64 MB of RAM, but Firefox runs surprisingly well. I plan on maxing out the memory when I get the chance.

The Xubuntu people have been planning on releasing a CD version of Xubuntu coincident with the release of the Dapper Drake in April. I found the XFCE file manager, xffm, to be a little squirrely, and I couldn’t get it to connect to our file server through Samba; maybe that will work in the next release, or maybe I will have figured out how to configure Samba. The Dapper release of Xubuntu will likely be based on XFCE 4.4, which will allegedly include the first release of Thunar, XFCE’s new file manager.

Hmm. If Thunar is good, I might switch to Xubuntu entirely. So far, XFCE seems like a fast version of GNOME to me, and I spend most of my time in Firefox and a terminal window anyway.

RSS + SSE and Greasemonkey turns the web into Wikipedia

Friday, December 16th, 2005

I’ve been thinking about the SSE extension and how it might be combined with Greasemonkey to fix a lot of shyste. Here’s an example: you’re reading a webpage, and you see a spelling error. You highlight the word, right click on some icon in the status bar, and select “spellcheck” or something like that. The point is that somehow, a Greasemonkey script records your correction, and whenever you visit that URL, it applies your correction.

Then, on a periodic basis, your browser contacts a website (THIS IS WHERE RAILS WOULD BE USED!) and updates an RSS + SSE feed of your corrections to the web (er, “the living web”). These feeds get aggregated, so as I’m browsing, I have a cache of Greasemonkey scripts shared and maintained in concert with people that I trust through RSS + SSE. The spelling example is minor– it could be expanded to be website commentary, adblocking (ooh! controversial!), or whatever. In fact, it has the potential to make the entire web as unreliable as Wikipedia!

I suspect that there could be scalability problems with this idea. There could also be stupidity problems.