OpenStack Activity Board in the news

I think this is the first time a reporter quotes data from OpenStack Activity Board. It makes me proud that Sean Michale Kerner aka @TechJournalist noticed how open the data is.

Drilling down into the data that OpenStack (true to its nature) keeps very open – in the last month alone there were 313 unique authors and 2,512 code commits.

Can’t wait to take the project to its next phase.

via OpenStack Open Source Cloud Crosses 1000 Author Threshold

Streaming Audio from Raspberry Pi – part 2

Episode two of my experiment with the Raspberry Pi I have received at Pycon 2013. On the way back from Santa Clara I stopped by Fry’s and bought the only USB sound card they had in store, a weird looking Creative and a powered USB hub.  I ordered also a case from Adafruit industries (not convinced of the case though).

Raspberry Pi and USB sound card
The output of lsusb:

Bus 001 Device 006: ID 147a:e03d Formosa Industrial Computing, Inc.

Hooked them all together, installed avahi-daemon on the Pi so I can ssh into it easily from any lan (ssh raspberrypi.local, although I should change its name to something more unique). Tested arecord locally first. It took me a while to figure out how to use arecord, it’s old stuff that I’m not very used to. You need to specify the hardware device. If you get this sort of error:

arecord: main:682: audio open error: No such file or directory

probably you haven’t specified that you want to record from the card that actually has an input device

pi@raspberrypi ~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Audio [2 Channel USB Audio], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

I hooked my phone’s audio player to the mic input of the USB card so that there would be constantly audio coming in the Pi, then started recording

pi@raspberrypi ~ $ arecord -D hw:1,0 -f s16_le -c 2 > test.wav

I have specified the hardware device I want to use, the format and the number of channels. Playing back that file worked.

pi@raspberrypi ~ $ aplay -D hw:1,0 test.wav

Next step was to capture live audio from the line input of the USB card, transcode that to OGG Vorbis and ship the bits to the remote Icecast server I setup last week. I quickly gave up on ezstream and started using ices2, the Icecast client: it seems easier to manage as it takes care of the encoding. This is the input module I used for the Pi:

<input>
<module>alsa</module>
<param name=”rate”>16000</param>
<param name=”channels”>2</param>
<param name=”device”>hw:1,0</param>
<!– Read metadata (from stdin by default, or –>
<!– filename defined below (if the latter, only on SIGUSR1) –>
<param name=”metadata”>1</param>
<param name=”metadatafilename”>liveaudio</param>
</input>

The USB soundcard I’m using sends 16000hz samples. I chose not to resample that, only to downmix stereo to mono to save bandwidth.

<–  stereo->mono downmixing, enabled by setting this to 1 –>
<downmix>1</downmix>

And all seems to work: the Pi sends a clear signal up to the streaming server and it’s been doing that for a while. Big success so far. Next step for me will be to write a script that grabs data from the OpenStack Summit schedule for one room and adds that information as metadata for the streaming: this way the listeners will have an idea of who is speaking or what the session is about.

Update: the stream was having a wide latency, around 20 seconds so I decided to play a little bit with the sampling rates. The latency went down to around 1 second using  <param name=”rate”>48000</param> in the input module and  <samplerate>48000</samplerate> in the encode module, with no resampling. Unfortunately the USB card dies every now and then when not connected through a powered USB hub. Too bad, because the USB hub looks ugly.

Simple live audio streaming from OpenStack Summit using RaspberryPi

I have always wanted to have a simple way to stream audio from the OpenStack Design Summits, much like Ubuntu used to do for its Ubuntu Design Summit. Since every participant to Pycon 2013 was kindly given a Raspberry Pi and having a couple of hours to kill, I have started playing with a simple idea: configure a Raspberry Pi to capture audio and stream it to a public icecast server.

First thing: spin up a virtual machine on a public cloud that will be serving as public icecast server. I have used my UniCloud account, created a small server, 512Mb ram, Ubuntu LTS 32bit. I updated the default security groups to allow traffic on port 22 (SSH) and 8000 (icecast), and I also needed to assign a public floating IP.  Once the machine is up, simple apt-get install icecast2 took care of starting the audio streaming server. That’s it, streaming server part is done.

Back to the RasPi, in order to test the streaming server, I installed ezstream, copied the config files from /usr/share/doc/ezstream/examples. I copied ezstream_vorbis.xml to pi home dir:

<ezstream>
<url>http://INSTANCE_NAME:8000/armin</url>
<sourcepassword>TheSecret</sourcepassword>
<format>VORBIS</format>
<filename>playlist.m3u</filename>
<!– looping the stream forever, for testing purposes –>
<stream_once>0</stream_once>
<svrinfoname>OpenStack Test Streaming Rradio</svrinfoname>
<svrinfourl>http://radio.openstack.org</svrinfourl>
<svrinfogenre>OpenStack Test Streaming</svrinfogenre>
<svrinfodescription></svrinfodescription>
<svrinfobitrate>320</svrinfobitrate>
<svrinfochannels>2</svrinfochannels>
<svrinfosamplerate>44100</svrinfosamplerate>
<!– advertising on public YP directory –>
<svrinfopublic>1</svrinfopublic>
</ezstream>

The playlist.m3u is a simple text file with one .ogg file in there, enough to test it. Start the stream to be sent to the icecast server with

ezstream -c ezstream_vorbis.

And go play the audio in your favorite icecast player, the URL is something like http://YOUR_INSTANCE_NAME:8000/vorbis.ogg.m3u

Simple, rudimentary but I like because it seems to be easy. The next step for me is to buy a USB microphone to stream live audio captured in a room. The optimal configuration though is to use this system to stream audio easily from the OpenStack Summit rooms. I need a way to connect the USB input to a regular audio mixer: any idea on how to do that?

MediaGoblin adding support to OpenStack Swift

I am very happy to see the Free Software Foundation going back to making good software. I have argued for long time that what made the FSF a great organization that changed the world is the fact that they didn’t only point at proprietary software as a problem but they also provided a solution with copyleft and the GPL licenses and provided working code in the GNU system. I’m glad to see that the FSF has adopted Mediagoblin’s software development and included it in the GNU system. It’s free as in freedom software as a service that allows to publish multimedia content (pictures, audio, videos, 3D models) in a federation with API support and lots of awesomeness. You can think of it as a federated replacement for things like Flickr, YouTube or SoundCloud that you or anyone can run. Just wonderful.

If you haven’t donated yet, do it now as it’s not too late. MediaGoblin 1.0 is going to support OpenStack Swift too, so if you like OpenStack you have the moral obligation to donate to the FSF to develop Mediagoblin.

Back from San Diego OpenStack Summit

My experience at the OpenStack Summit in San Diego has been really good. I have received lots of positive comments about this configuration, merging the Design Summit with the Conference. Despite the high amount of people it seems that things went well. I’m waiting to gather more details about the remote participation to the Design Summit with WebEx, I’ll report more about that soon.

I presented one session at the conference, lead two sessions on the Design Summit track and facilitated the meeting of the APEC group. Especially on the last day I missed the integration of the summit’s agenda from sched.org into my personal calendar applications (phone and desktop) because I ended up overbooking myself a couple of times. Thankfully Monty Taylor covered for me.

The ‘Community Dashboard‘ that I presented with zAgile was received with enthusiastic comments: the crowd cheered ‘ship it’ when I asked them what they thought of the demo. I’ve talked with Sanjiva and Andrew after the presentation, we should have an early beta out there by the end of the year.

More needs to be done in order to improve the community resources: IRC channels are not owned by the Foundation, some services depend by one person only (the main website and etherpad service, just to make an example). The forums need some love and probably we should have a Q&A system in place. During the sessions Atul Jha from India showed an askbot-powered system that he volunteered to run. In the next weeks I’ll help him go live with it. We discussed also the migration of the General mailing list out of Launchpad: unfortunately I have no news since my last update. The planet needs a better look, if nothing else. And the OpenStack blog needs a better content policy: some people in the room raised some concerns over the abuse of corporate posts on it.

During the discussion on how to track OpenStack’s adoption I was suggested to focus on users’ survey instead of proposing to add some ‘telephone home’ capability to OpenStack’s code (like Mozilla Foundation does with Firefox). I think this is a good idea and I’ll make sure this will become a project of the Foundation in the next months, once we’ll be fully staffed (we’re hiring).

Monty lead the session I proposed about an Integrated Identity System among all OpenStack tools. We went through the improvements we’re working on regarding the CLA workflow and its integration into Gerrit and the Foundation’s membership database. Todd Morey was in the session and we had more ideas on how to make things progress a bit faster (we agreed that hanging out on IRC is a prerequisite for make things happen faster). The future of Launchpad as the main ID system for OpenStack will be decided after Ubuntu Developer Summit: Thierry will spend time with Canonical’s folks there to understand if it will still be able to serve our purposes in the future.

My list of things to do has increased, as it’s expected after the Summit. Thanks everybody for joining.

New job, same job, at OpenStack Foundation, new laptop

This week was my first week as an employee of the OpenStack Foundation. I’m Technical Community Manager, still helping the OpenStack project succeed by helping the technical contributions. The difference is that my salary is now being paid by the newly formed OpenStack Foundation instead of Rackspace. Most of the people I worked with more closely at Rackspace are also at the OpenStack Foundation: Lauren, Mark, Jonathan and Thierry and we’re also hiring more people.

I have high hopes for the projects I will present at the Grizzly Summit: Achieving Visibility and Insight Across OpenStack Projects with Dashboards, Traceability, and Faceted Search, Integrated identity system for OpenStack  and Tracking OpenStack adoption.

 The main thing that changed is my laptop: finally I got rid of that heavy brick I used to carry around and now I have a slick, top of the line Dell XPS 13, the Project Sputnik one, powered by Ubuntu. Oh, what a great machine. I love it already. It gets noisy some time but I believe that’s because I had to run java applets in the past days. I’ll post more details about how I set it up later on. Good times.

Keynote presentation at openSUSE Summit 2012

I’ve been kindly invited to give a keynote to openSUSE Summit in Orlando and I just got off the stage after delivering it. The slides and my notes are below. The video I took during the keynote is on YouTube (and embedded).

openSuse keynote: The lessons of Open Source for the Open Cloud

Thank you Suse community for having me here today. It’s my turn to wake you up today, so let’s start. I want to start by telling you that we have accomplished a mission
The mission to build a wholly/holy free operating system for servers and desktops is accomplished.  I believe the Free/Libre Software and Open Source (FLOSS) movement has conquered the datacenters, replacing proprietary systems everywhere. This is good, right?

While we were busy winning over the proprietary Unix, proprietary databases etc things changed. We’re in the middle of a radical change of how we think of computing.  Cloud and mobile computing have emerged as radically new things. And for the first time ever, Open Source implementations are not lagging behind, quite the opposite. Open source software is opening new paths, not just building on top of a fully laid out Unix or the standard C libraries. Open Source is where a lot new things are happening regarding cloud and mobile computing.

While I believe in mobile computing the Open Source principles are fairly easy to adapt, cloud computing poses a whole new set of questions for the movement.

We’re missing a paradigm to interpret and define open-ness in cloud computing.

In the minutes we’ll be looking at lessons learned during +25 years of Open Source and how those can be adapted to define the Open Cloud and at what we can do to see this idea materialise.

Enabling innovation

First of all I’d like to recognize where we stand, in terms of achievements of the past 25 years. I think we’ve done great so far.

When I started working on Open Source and Linux the system was 5 years old, GNU tools had been around for 10 years. To convince customers to buy our Linux distributions I had to start from scratch.. Well, Linux is made by smart people around the world, loosely coordinated by a Finnish dude wearing sandals.  Unbelievable, right? Their objections are probably familiar to you too right? you may have been in one of these sales meetings.

If I passed that first step, I had to show that our small team of 10 people could support them… and that opened a whole new set of problems… You can imagine how fast our little startup could close a deal 🙂 Today’s meeting are more normal, Dilbert style.

Look around today how things have changed.

Today nobody asks ‘Does it work?’ but they ask ‘how fast can you get it here and solve my problems’. And to start a new venture, developing free software is one of the mainstream options.

We won! GNU and Linux have taken over the proprietary systems they were designed to take over. Open Source has even opened complete new ways to do things, think of Big Data and NoSQL … all ideas empowered, enabled even, by the freedom  to tinker that comes with free/libre software. It’s the freedom to make, the freedom to innovate.

Our way of developing software has won, too.  You know that dude with long hair and long beard from Boston that started a movement, loosely coordinating hundreds of developers around the world? Turns out, he started something very big, much bigger than an operating system “like Unix but better”. His idea to ask the best brains in the world to help produce the best software possible and share the results together, is good for companies too. They get new products much faster, better performing, they get marketing, support you name it…

Business schools have studied how we make software, companies have learned that what we have been doing since the 90s. Now a whole new line of research focusing on how firms around the world pool in resources to develop new products faster and share the benefits. They call this  ‘Open Innovation’, we call it ‘The Open Source Way’.

When you started working on open source, were you expecting that your work would spur such radical change? To be honest, I’m still surprised but I was hoping for it,  I’m a dreamer 🙂

Let me give you an example of how ‘Open Innovation’ the open source way worked for OpenStack, the project I work for. The project started two years ago, NASA and Rackspace were trying to solve the same problem: they needed an operating system that run on top of an entire datacenter. Virtualization is not enough once you reach the ‘HUGE’ scale. Once your virtual servers start to be thousands, thens of thousands you start loosing track of what runs where and you have all sorts of other problems. NASA and Rackspace found each other by chance and decided to pool their resources. Rackspace had a very good object storage system (now known as SWIFT), NASA had a promising prototype of a virtual computing engine (known as NOVA). Deal done. Time 6 months and look at the spectacular growth in number of active developers per month: that’s comparable with the Linux kernel (not in quantity, but in slope). The amount of companies joining it, the partners in the newly established OpenStack Foundation.

I believe we, the free software and open source movement should be very proud of what we’ve accomplished so far. We, as a movement, should take a moment to sit back and appreciate what we’ve achieved in the past 25 years. Our principles, our way of doing things, has made OpenStack possible.

VIDEO THING: On my three, you’re going to yell “Welcome OpenStack” and I’ll record it on camera, ok?

Celebrate the achievements of our movement and let’s move on: we need a way to define openness for the next generation of computing.

The principles that gave us GNU and Linux were designed in a time when Unix was the dominant paradigm for computing: terminals and later client/server. One processor, one operating system. A world made of ‘computing products’.

In the late 80s and 90s, when Stallman started the GNU project and Torvalds started Linux the there was a world made of computing ‘products’. Today we’ve added computing ‘services’ to the mix.

Cloud Computing blurs the lines of what is a ‘user’ and what is a distribution and copies of software. Porting the Free Software definition from a product to a service is not simple but we can try.

How to define the Open Cloud

Let’s have a look at  the free software definition, simple and elegant. Software is free/libre when it comes with:

  • 0 freedom to run for any purpose
  • 1 freedom to study how it works
  • 2 freedom to make copies to help you and your friends (and charge for the act of making one)
  • 3 freedom to distribute modified copies

We have now understood all of this, for computing products. It makes sense: software comes on a CDrom, a USB stick, downloaded,…whatever, you take something and you run it on your machine.

Now look at services you consume over a network: do you Run the software? If you consume a platform as a service, do you need to study the details below or just the APIs it exposes? The APIs are free to study, usually. Make copies? You don’t need to really to: if  you need more capacity you buy more of the service. Do you really want to modify services? Maybe you want to be able to add features, ok … but does it make sense to use a service if you need features it lacks?

Don’t get me wrong: these freedoms are crucial, necessary even,  but not enough. Computing services are radically different, the use cases are so much different. For example:

Data for example is out of the picture in the Free Software Definition. Let’s be concrete and take an example: San Diego Super Computing Center stores petabytes of data every year for its users (astronomers, physicists, etc). They need a storage and archival system that deals with that scale. Their users don’t … let me say better: can’t deal with that scale. The physicist running an experiment can have a few machines and disks to analyze a few terabytes locally but when it comes to handling large quantities of data, and backups, the single lab would have huge costs to run its own storage/backup system. So SDSC came up with an OpenStack Swift cluster where users can drop files at will. Now if those users want to stop using SDSC services and move somewhere else, in theory they can. They run OpenStack Swift, they have the 4 freedoms, the can replicate the cluster somewhere else or have someone else run the cluster for them. But their petabytes of data will be very hard to move across clusters. These guys know the format in which the data is stored into, so you can argue it would just be a matter of time…

That’s why I maintain that the four freedoms are important but data in the cloud changes everything and Scale changes everything. Keeping this in mind,  we can start defining the Open Cloud.

We can take from the basic principles that guided Stallman in his definition of free/libre software. The 4 freedoms were designed to help developers help each others to innovate faster and help users get better tools for their tasks. Those are good things, they brought us to were we stand today as we saw before.

We can write principles for the Open Cloud that map the same ideals: respect the users of the service, enable innovation (or don’t reinvent the wheel).

How do you respect the users? Leaving them free to come and go in and out of your computing services. Nothing more or less than the freedom to run the software for any purpose, study, make copies and modify them. How can you come and go from a cloud service to another?

So here is the first thing that’s important to define an open cloud. We’ve got data on one side, and we’ve got functionalities to transform and manipulate that data, in the cloud as services.

The format of the data must be an open standard. Interfaces/APIs are another crucial piece of an open cloud, these must also be an open standard.

The other thing is that you need to enable Open Innovation, create vibrant communities and business friendly ecosystem.

The issue is that a uniform definition of Open Standard doesn’t exist but I like the one maintained by the FSFE.  An Open Standard refers to a format or protocol that is:

  • subject to full public assessment and use without constraints in a manner equally available to all parties;
  • without any components or extensions that have dependencies on formats or protocols that do not meet the definition of an Open Standard themselves;
  • free from legal or technical clauses that limit its utilisation by any party or in any business model;
  • managed and further developed independently of any single vendor in a process open to the equal participation of competitors and third parties;
  • available in multiple complete implementations by competing vendors, or as a complete implementation equally available to all parties.

And that’s how you respect your users. How do you enable innovation?  Creating vibrant communities and large, business friendly, ecosystems.

It’s important for an open cloud to focus on both aspects: guarantee user’s independence from a particular implementation of a service and a vast business ecosystem that implements its open standards.

Closing remarks

The issue is complex and definitely needs more thoughts. Stallman had it very simple: he needed to build a new operating system, like Unix but better. There was a model to follow, standards to implement like POSIX and C. GNU and Linux and much more software distributed as Free Software was imitating and improving upon existing software, at least initially. The guiding principles were easy to understand and communicate. His principles spread fast crossing the border of software.

Open Source is not behind the proprietary leader, we have a good chance to build the largest clouds based on our principles of respect and innovation.  The race just started. Amazon Web Services was launched in 2006, it’s only 6 years old. Eucalyptus was first released in 2008, OpenStack in 2010 like cloud.com. Open Source implementations have a very good chance at taking the lead in cloud computing.

That’s what we’re trying to do at OpenStack Foundation. You can join it as an Individual Member.

We may not have a moral authority that will keep the definition for Open Cloud, like the FSF and the OSI have done for the world of computing products.  It’s up to us to keep an eye on the companies we work for, helping them to understand that staying close to the principles that made Open Source ubiquitous is good for them, also in the world of computing services.

We’ve made it: we changed computing once. Now we just have to do it again.  Thank you

Special thanks to Randy Bias and the Open Cloud Initiative for inspiration.

Measuring Community Growth

The discussion held a few weeks ago at Community Leadership Summit around how to ‘measure’ open source projects were very interesting. There was even a keynote by David Eaves during OSCON about the topic (well worth 15 minutes of your time, watch it below).

There are many people comparing different open source projects, I keep seeing blog posts trying to extrapolate complex concepts from too simple facts. For example, it’s hard to evaluate if an open source project is growing just by looking at the total number of commits per week: when number of commits slow down it may mean that the codebase has reached maturity, not necessarily it’s a sign of diminishing interest. Other simple facts visible on github like the number of followers, forks or ‘watchers’ may not mean much if the developers of that project don’t use the ‘social’ features offered by github.

To measure the “growth” of a project I usually look at a whole bunch of numbers and trends (more importantly) like the total number of committers over time, total new committers over time and also things that are not code-related traffic on mailing lists/forums, websites, google searches, activity on bug trackers as indicators of growth of a community. The total number of commits is more meaningful when taken as one element of ‘livelihood’ of a project (is it still maintained?) but it needs to be integrated with other elements to avoid making mistakes.

All the people interested in measuring open source communities should join the Metrics Working Group at The Open Source Way and push the conversation forward.

Planning an International Community Portal for OpenStack

With the large growth of OpenStack internationally comes the need to have a better system to list the international resources for new users of OpenStack. At the moment we have a couple of wiki pages, a mailing list for a team hosted on Launchpad and the map
the /community page on openstack.org. All that content is available only in English. We’re at the point that this is not enough.

I’d like to discuss the needs of the international community and get a new system in place in the next few weeks. The basic needs are:

  • A directory of OpenStack user groups (OSUG) that can host content in different languages: new visitors should be able to find easily an OpenStack User Group for their local area/language. If such group/language is not available, there should be an easy pointer to instructions, tools and policies to create one
  • A system for the community  managers to contact the members (all members or just the coordinators/leaders?) of the international communities to coordinate activities.

Requirements

  • Register users using SSO: as a user I would like to be able to associate my profile from Launchpad, Linkedin or Google to the site
  • Support content in multiple languages (switch list and automatic recognition via browser agent configuration)
  • Support roles: managers of the groups can add resources to the directory, members can sign up as members, anonymous can read all content
  • Show activity from all groups in my own language on the portal home page
  • Directory of OSUGroups, with geographic representation (be able to view the groups on a map and display also the full list of groups on a page)
  • Manage content (pages) of generic interest (to host content like how to start a group, general, policies, trademark stuff, generic icons, etc)

Per each user group:

  • allow users to add events, each group will expose its ical feed
  • show to list additional resources for the group: mailing lists, forums, wiki pages, home page, url of blogs,
  • import RSS feed from blogs to aggregate content on groups page
  • display photostreams from flickr and such on the home page

Open questions

  • is this all we need?
  • do we want to host and provide web apps for any of the local groups (mlists, blog, forums, etc)? And if yes, should these be part of the such portal?
  • can we reuse code from Ubuntu Loco portal? The code is tightly integrated in Launchpad, local teams need to be created as Launchpad Teams, it uses Launchpad as OpenID provider (bugs included). But it’s already there, it’s fairly simple and it’s a django app
  • What other tools can we use for this and do you volunteer to manage such tool?

I’m interested in your opinions: join the OpenStack International Community Team on Launchpad  to discuss this further.

In search of a modern way to hold discussions online

The OpenStack community decided at the Design Summit to create new lists and consolidate all of them on a new service so I decided to lay down the specifications for the new system following the desiderata from developers and users. The basic need is to allow developers to discuss freely using the tool they prefer (email clients, in this case). I as community manager  need also to be able to measure discussions and allow easily for new developers and users to join the conversations. The desiderata for the messaging system are:

  • Must use email messages as primary mean of communication
  • Must allow tagging/topics for easy inbox filtering
  • Must be easy to manage (dealing with spam, delivery, moderation, etc)
  • Must have good looking archives, skinnable, with search capabilities and SEO friendly
  • Must allow measuring activity, natively or with tools like mlstats
  • Nice to have:
  • SSO integration with OpenID and more
  • Post new message (reply or start a new thread) via web
  • Offer archive via RSS

With these in mind I started looking into Mailman, the typical answer for mailing list management. The software is known and solid although the latest stable release is old.  Mailman 2 has the advantage of familiarity: we know how it works and its limitations. Mainly I know the limitations: the web UI is scary and I can’t find a way to teach Firefox’s password manager to save the passwords for each list (it associates the password to the domain, not the full url, so I can only have one password associated to lists.openstack.org –am I doing something wrong?), the default archives are also ugly and primitive forcing us to use other archivers, like Markmail.

Mailman 3, the upcoming release, is … not there yet. I could only see mockups for the new web management UI  (called Postorius, is a django app, a client of the new Mailman REST API) and it seems that Mailman 3.0 will be shipped without an official archiver.

I looked at Sympa as an alternative to Mailman, since Rackspace uses it internally. It has most of the features we need, including the nice-to-have but it seems to be lacking the Topics (although, we should say that we’re not using the Mailman topics feature at the moment anyway). I don’t think that mlstats supports Sympa and I’m not sure about its tracking capabilities (but it stores lots of metadata in a SQL database so it shouldn’t be too hard to get information from it).

Since the mailing list archives I know all look too ugly, I expanded my search to forum software hoping that in the past years there was some progress in it. The only new thing I found is Vanilla Forums, a GPLv2 forum engine. It mixes features of the old bulletin boards format with the newer question/answer concept, embracing tags and categories. The first page of Vanilla has more meaningful content than the silly topics seen in most bulletin boards and in general I found Vanilla having a better UI than most forum software. The hosted version of Vanillaforums sports also a nice integration with email but there are no plans to release such feature under the GPLv2. The view of a thread with many responses is not exciting though: it has no hierarchy, failing at readability like all bb/forum software … and I think it’s a crucial feature that enables following long discussions. This deserves more thoughts: I know Twitter gave up trying to represent threaded discussions in a single page (but Twitter was never meant for discussions), identi.ca used to have the conversation view with grades of colors but got rid of it, Gmail doesn’t bother either and shows conversations as flat, time based sequence of messages: is it just too difficult to thread discussions like any email client used to do or what else is going on?

To me it seems that Mailman is still the best we can do at the moment even if it leaves me in a pretty sad state, stuck in 2001. I would start looking into Mailman 3 and expand the search to an archiver that we can host (like CSLA) but Mailman 2 is probably the best we have at the moment. Other thoughts?