Planet Free Software

Article originally posted at the IT Kitchen, a now defunct project founded by Shelley Powers.

Free Software developers, who had strong mailing list and IRC based online communities before the advent of weblogging, have nevertheless found their way into it. This post is a summary of how the Free Software world is using blogs for collaboration; largely preferring aggregation of community members’ blogs over setting up single access group blogs, and using them as a community building tool rather than a software development collaboration tool.

One of the big developments was Advogato, which started in late 1999. The creator of Advogato, Raph Levien, appears to have been trying to start up a kind of a semi-formal guild system for Free Software developers, allowing them to rank each other as Master, Journeyer or Apprentice. As a small feature, he added the ability for users to make “diary entries”, the most recent of which were listed at the side of the front page.

While the other features of advogato proved only an intermittant success — the quality of the articles on the front page is widely lamented, and the certification system has been subject to a lot of debate and has not resulted in the development of formal mentoring — the diary feature was a smash hit. Waves of Free Software developers hit advogato in 2000 and 2001 as they started reading their co-developers’ diaries. The buzz even generated a Salon article in mid 2000.

The initial buzz surrounding Advogato occasionally caused users to publicly renounce their former bad opinions of “online journals”: rather than being ‘useless’ things full of stories about children and cats, they were a new space to talk about your code and find out more about your fellow developers. Advogato was known as a friendly place, in contrast sometimes with the development mailing lists themselves.

Eventually the worlds of Advogato and of blogs began to meet. In mid-2002 Levien was discovering the wider blogosphere and started exploring using his Advogato diary as a primary means of communication with other interesting people. By that time RSS feeds of individual entries and of the entire recent diary entries page were probably the single most requested feature: people no longer wanted to drop in on the site to skim through the new entries, they wanted to poll them like they were beginning to do with other websites. (RSS feeds of individuals’ diaries were added in April 2003.)

At around about this time also, some people started to express serious dissatisfaction with the Advogato community as political debates became more common and the community attracted a few diary trolls. Levien added a diary rating feature as requests to be able to keep some users off the recent entries page grew. Others used the Advogato article feature to deplore the decline in the community.

As various blogging tools became more popular around this time, it became increasingly common to see diary entries from an Advogato regular announcing that their diary was moving elsewhere.

As RSS feeds became fairly ubiquitous, the Free Software community started to revert to a more typical blogging community model: you read blogs of people whose names you knew, and you found other people you knew or knew of through sidebars and comments.

However, in mid-2003 Jeff Waugh of the GNOME desktop project decided to create his own version of the Advogato front page, a HTML page with recent blog entries from GNOME developers all over the web (including several on Advogato). He used the Spycroll aggregator software to pull in RSS feeds, and he made them all available on a single webpage, with the cute addition of disembodied "hackergotchi heads" personalising each name.

He was stunned with the popularity of the page he linked from his own sidebar as Planet GNOME and started to field all kinds of questions about it: the three most popular were “why isn’t this at planet.gnome.org?”, “why aren’t I on it?” and (to his surprise) “why isn’t there an RSS feed?”

The Planet idea took off rapidly over the next six months. Scott James Remnant was the next off the mark, creating Planet Debian. Remnant and Waugh forked spycroll soon after that to create the Planet aggregator script. In fairly short order, a lot of large Free Software projects needed to have their own planet: the Planet homepage now lists nearly 40 separate planets.

The planets have evolved a loose set of customs based on the ones in place at Planets GNOME and Debian. They do not require that syndicated blogs talk about Free Software or software development all the time: they encourage getting to know your fellow developers as people as well as techs. (John Fleck, a GNOME documentor who is not only a frequent poster, but is a frequent non-tech blogger, has been a kind of an acid test for this editorial policy: see the John Malkovich post and a later complaint.) The larger planets are starting to have to deal with line-ball calls about who should and should not be on the planet pages: Waugh apparently finds requiring that contributors use a real photo of themself somewhat helpful on Planet GNOME.

The planets have proved to be amazingly good at spreading blogging among Free Software communities. The two planets I host, LinuxChix Live and Planet Twisted are close to being my most popular hosted sites. They also fill an important gap in the usual Free Software communication tools: they don’t need to be as on-topic as mailing list posts, and they are more expressive than IRC. They’ve also had some influence on corporate group blogging: Richard Giles reported that the creation of Planet Sun was part of the explorations that led Sun employees to promote blogging internally, eventually leading to the creation of blogs.sun.com.

See also

Creative Commons License
Planet Free Software by Mary Gardiner is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Syndication, aggregation, and HTTP caching headers

Syndication, aggregation, and HTTP caching headers

I’ve seen various people in various places lately who were very unhappy about someone requesting their RSS feed every 30 seconds, or minute, or half hour, or whatever, and re-downloading it every time at a cost of megabytes in bandwidth. I’ve also seen people growing unhappy with the Googlebot for re-downloading their entire site every day.

So, a quick heads-up: there is a way for a client to say “hey, I have an old copy of your page, do you have anything newer, or can I use this one?” and for the server to say “hey, I haven’t changed since the last time you viewed me! use the copy you downloaded then!” Total bandwidth cost: about 300 bytes per request. That’s still a bit nasty for an ‘every 30 seconds’ request, but it means you won’t get cranky at the 10 minute people anymore. Introducing Caching in HTTP (1.1)!

The good news! Google’s client already does the client half of this. Many of the major RSS aggregaters do the client half of this (but alas, not all, there’s a version of Feed on Feeds that re-downloads my complete feed every half hour or so). And major servers already implement this… for static pages (files on disk).

The bad news! Since dynamic pages are generated on the fly, there’s no way for the server software to tell if they’ve changed. Only the generating scripts (the PHP or Perl or ASP or whatever) have the right knowledge. Dynamic pages need to implement the appropriate headers themselves. And because this is HTTP-level (the level of client and server talking their handshake protocol to each other prior to page transmission) not HTML level (the marked-up content of the page itself), I can’t show you any magical HTML tags to put in your template. The magic has to be added to the scripts by programmers.

End users of blogging tools, here’s the lesson to take away: find out if your blogging software does this. If you have logs that show the return value (200 and 404 are the big ones), check for occurrences of 304 (this code means “not modified”) in your logs. If it’s there, your script is setting the right headers and negotiating with clients correctly. Whenever you see a 304, that was a page transmission saved. If you see 200, 200, 200, 200 … for requests from the same client on a page you know you weren’t changing (counting all template changes), then you don’t have this. Nag your software developers to add it. (If you see it only for particular clients, then unfortunately it’s probably the client’s fault. The Googlebot is a good test, since it has the client side right.) An appropriate bug title would be I don’t think your software sets the HTTP cache validator headers, and explain that the Googlebot keeps hitting unchanged pages and is getting 200 in response each time.

RSS aggregater implementers and double for robot implementers: if you’ve never heard of the If-None-Match and If-Modified-Since headers, then you’re probably slogging any page you repeatedly request. Your users on slow or expensive connections hate you, or would if they knew the nature of your evil. Publishers of popular feeds hate you. Have a read of the appropriate bits of the spec and start actually storing pages you download and not re-downloading them! Triple for images!

Weblog and CMS software implementers: if you’ve never heard of the Last-Modified and/or ETag headers, learn about them, and add the ability to generate them to your software.

Creative Commons License
Syndication, aggregation, and HTTP caching headers by Mary Gardiner is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Questions your conference website should answer

This article was originally posted at advogato.org in 2004.

Introduction

This article gives a list of questions that your conference website should answer, if it is to attract speakers and participants who are unfamiliar with the jargon. Most conference websites do a good job of answering some of these questions, but many go unanswered.

This article is inspired by discussion on the LinuxChix mailing lists over the past couple of years about speaking at conferences; specifically, discussion about how to encourage people to make their first ever talk proposal.

One problem with almost all Free Software conference web sites is that they aren’t very helpful to a novice speaker. One participant in the discussion recollected reading that she would need to send in a "paper" if her talk was accepted and asked what would be required of the paper. Was it an article? How long did it have to be? How did it have to relate to her talk? The only response from the organisers pointed her to mbp‘s (excellent) article on getting a conference abstract accepted, which, alas, helped her not one bit in finding out what it meant to send a paper if her abstract was accepted.

Many Free Software conference websites assume a lot of background knowledge of the conference process. This assumption is a strange one: many Free Software developers work outside academia, and if they were ever inside it, never got to the stage where conferences become part of academic life. And the Free Software conference procedures are subtly different from academic conferences in ways that aren’t obvious, mostly because Free Software conferences are generally more informal events than academic conferences. People used to the peer review process may not be sending in abstracts because they’re used to a very high workload of writing and revision for each conference.

In other words, your conference might a first conference for a lot of people — some of whom are qualified to speak. You need to write parts of your website assuming that potential speakers and attendees know very little of the conference process. This is doubly important since conferences vary in lots of respects: do they pay for travel? are they for users or developers?

Simple general questions about your conference.

Almost all conferences websites answer these simple questions already.

  1. Where is your conference?

  2. When is your conference?

    Give times as well as dates when answering this question, so that people know to book an extra night’s accommodation if your last event finishes at 8pm.

  3. What is the target audience of your conference?

    Are you focused on a particular project, are you a general Free Software conference or a tech conference accepting talks related to Free Software?

  4. Would a user of Free Software benefit from your conference?

  5. Would a developer of Free Software benefit from your conference?

  6. Would a Free Software advocate or someone involved in community projects (like LUGs) benefit from your conference?

Questions everyone wants answered

Many conference websites are doing a good job of answering these questions somewhere, but not all are.

  1. How can I get to your conference?

    It’s worth listing the airport, train station, and bus station nearest your venue and giving some idea of the carriers that travel to that station. If you’re not in a city with a major international airport or transit hub, it’s also worth suggesting a hub for people to travel to, and then a route to your location.

  2. Any visa tricks or traps in your part of the world?

  3. Will international attendees need a visa? Will it need to be a tourist or business visa? Will they need a letter from the conference organisers to get their visa (this is not unheard of)? Will they need to have anything to present to border officials?

    Something conference organisers in the US in particular are apparently still neglecting is this fact: if you are not a citizen of a country whose citizens the US will admit without a visa, it can take months to get a visa to enter the US and it requires considerable time spent gathering documents and visiting consular officials. Accepting speakers closer to the conference will result in your international speakers being unable to come. If your conference is elsewhere in the Americas, it is important to warn attendees that even transiting through a US airport now requires a visa.

    Similarly, visitors to Australia are frequently shocked to find out that the Australian government has no visa waiver program, except for citizens of New Zealand. Nor are the US and Australia the only two countries that trip visitors up with their entry regime.

    In most cases, being denied entry to a country will require your attendees to immediately return home at their own expense. If your conference website addresses the basics of getting permission to visit your country and points to the relevant authorities, you can avoid a lot of pain for them.

  4. What sort of accommodation is available nearby and what is the approximate cost?

    Some conferences are doing excellent work organising conference accommodation. Even if your conference isn’t doing this, you could provide pointers to a few types of accommodation nearby: budget hostels and mid range hotels will be the most useful for your attendees.

  5. What kind of social events are you holding during the conference?

  6. If I bring partners, family members or friends who won’t be attending the conference, is there anything they can do or see while I’m at the conference?

    Free Software conferences tend to be slightly bigger events in the lives of their participants than academics ones. Frequently, attendees combine a big conference with a holiday, and might want to bring their family. Kudos to linux.conf.au 2004 for providing activities for partners and family members who didn’t attend the conference.

    A few more questions: Is the conference providing any kind of childcare? (I’ve never heard of that happening.) Is there short term childcare in the area? Can family members too old for daycare attend the conference social events?

  7. What’s there to do in your area?

    A not insignificant number of attendees will want to combine your conference with a holiday, or at least with some sight-seeing, or a visit to the pub. Give them some information about your area. Link to tourist web sites and nightlife guides.

    Something I’ve very rarely seen done which would be extremely useful is a list of restaurants that are likely to be able to serve large groups of people at short notice late in the evening. Everyone who’s been at a few conferences knows the experience of trying to take fifteen people out to dinner in a strange city.

Questions attendees want answered

There’s going to be even more neophytes amongst your potential attendees than there are among your potential speakers. Try and put yourself in the position of your greenest attendee: has an interest, heard your conference would give him or her an opportunity to meet some hackers working on interesting stuff, but has never ever been to a conference. Aim your attendees section at them: a little extra info won’t hurt anyone else.

  1. What kind of talks can I expect to see? What will their topics be? How long will they be?

    It’s a good idea to get your program up as early as possible. If nothing else, attendees have the same or even more difficulties organising transport, accommodation and visas as speakers do, so you should make it possible for them to decide whether or not to attend as early as you can.

  2. How much will your conference cost for attendees?

  3. Can I get any kind of discount for being a student, unemployed, young, old etc?

  4. Can I volunteer to help out in return for cheap or free admission?

  5. Are there any sources of funding for attendees?

Questions potential speakers want answered

Now to the problem of neophyte speakers. For this section, imagine someone who has some experience speaking to groups, but nothing of abstracts, or proceedings or anything like that. There’s no reason this person can’t speak at your conference, so don’t make it hard for them to submit a talk proposal. In particular, don’t make your talk proposals or the talk process sound any more mysterious or difficult than they actually are.

  1. What do all these words mean?

    Explaining what is expected from an ‘abstract’, a ‘paper’, a ‘presentation’, a ‘tutorial’, a ‘workshop’ and a ‘BOF’ are is crucial if you use those terms. Not only do some people not know them, but they vary reasonably widely by conference anyway.

    Providing links to abstracts and papers from previous years is invaluable if any are available. You might wish to draft a sample abstract or paper if you cannot link to previous papers. If not, you should certainly describe requirements in detail. Place the links prominently with the call for papers.

  2. What kind of talks or presentations can I give? How can I tell which one I should give?

    The answer to this question should provide detail. For each type of talk, specify the length, the size of the audience, and the expected depth of the content if you can. Is it going to be a lecture, or interactive discussion, or something in between? Will most speakers be using slides, giving demonstrations, or running a Q&A session? Are speakers going to be showing the code? What kind of knowledge level can the presenter expect from the attendees? Are the attendees going to be peers or are they going to be people new to the topic? Are there any different "tracks" devoted to different topics?

  3. How do I get a talk/paper accepted?

    When answering this question, be detailed. Provide approximate word lengths for abstracts (or papers if you require full papers at this stage). Specify what kind of information needs to go in the proposal. And then tell people about the process: when do they submit? how (roughly) is their abstract going to be judged? when will they hear back from you?

    Ideally, you would give examples of a few accepted abstracts here, with a short discussion from the selection panel of what made those abstracts appealing to them.

  4. If my talk is accepted, will I still need to pay the admission fee for attendees?

    Norms on this vary: conferences where most attendees are also speaking will often not waive the admission fee for anyone. Be very clear about which way you’re going with this.

  5. If my talk is accepted, will you cover travel and/or accommodation expenses? Will you cover international travel?

    Be very clear about the limits of what you can cover. It’s very disappointing to have a talk accepted and then find out that the organisers can only pay for local attendees, but not for international flights.

  6. If my talk is accepted, will I receive any payment above expenses?

    I’ve never heard of a Free Software conference doing this, but as there are other conferences which may do so, and some of your speakers might come from that kind of world, best to disappoint them early.

  7. What do I need to do once my talk is accepted?

    If you’re asking speakers to provide papers, describe whether you need slides, recordings, or written articles from accepted speakers, together with any administrative extras like due dates for the final paper. Describe any editing processes that will take place.

    Your answer to this question should be detailed. It should explain what you require from a full paper (if you require one) including length and format. How should the paper relate to the talk? How formal should the paper be? If it doesn’t matter, say so. If its optional, say so. If all that is required is a talk, say so. All this talk of ‘papers’ is scaring people. To many first time speakers, especially ones with a passing acquaintance with the academy, a "paper" sounds like something bristling with citations and withstanding the full force or peer review. If what you’re actually doing is getting people to send you their slides tell your speakers this.

    On the other hand, if you are a fairly formal conference hoping to attract Free Software developers outside the academy, you will probably want to link extensively to style guides and citation guides for your potential speakers to use. You will need to assume that they are not familiar with the peer review process also (and it varies enough within academia anyway), so give a detailed guide to it.

Conclusion

If you’ve tried to answer these questions as you went along, you probably answered "well, it depends… small conferences can’t pay travel… Free Software conferences don’t focus on citation so much…"

This is precisely the reason your conference website and publicity needs to answer simple questions like "what do you mean ‘paper’ anyway?" The answer varies. Some potential speakers will submit anyway, and assume they’ll hear from you if they don’t do something. Judging from the discussion that inspired this article, others will not.

Further reading

This article formed one part the basis of the OSDC FAQ, which has other questions that conference websites might want to answer.

Credits

Thanks to Jenn Vesperman, Telsa Gwynne and Terri Oda for input into this article.

Creative Commons License
Questions your conference website should answer by Mary Gardiner is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.