Saturday, April 26, 2008

Technical BSD Content on YouTube

As I mentioned earlier I think we could do a much better job of presenting FreeBSD content online. One of the things I'd especially like to see is more technical talks available on YouTube.

The next time you register for a BSD related conference make sure to ask the organizer about video recordings. Many BSD conferences have cameras in the sessions, but there is a lot of additional work required to edit the videos, encode them, and upload them to popular video sharing sites. Personally, I think that conference organizers should be soliciting sponsors for this work and paying professionals to handle it as the last 9 years of BSD conferences haven't been very successful at capturing video with volunteer labor. The potential audience for these videos is huge, and some of the videos below have been watched over 10,000 times with basically no marketing or links from official sites anywhere. This could be a very effective way at spreading BSD technologies beyond the very limited set of people that attend the conferences or read the limited distribution conference proceedings.

Some of the more interesting BSD related videos I've seen available online include:

Thanks to Julian Elischer for taping and organizing some of the BAFUG tech talks in recent years (.mov files available here). It would be great if more FreeBSD user groups contributed video of interesting talks. Some other open source communities, such as Python, are really good at this. If anyone is interested in coming to Google and giving a talk about a BSD related project they are working on, please let me know.

Call for Open Source Awards 2008 Nominations

O'Reilly and Google have announced that for the fourth year running they will present a set of open source awards at the O'Reilly Open Source Conference this summer. The nomination process closes May 15, 2008 and submissions along with the name of the proposed award (Best Hacker, Best Community Builder, etc..) can be sent to osawards AT oreilly DOT com.

Itojun-san and Sam Leffler have been mentioned as potential strong candidates from the BSD community for impressive lifetime contributions. Send your thoughts to [email protected] to discuss or send your submission directly to osawards AT oreilly DOT com. Hubert Feyrer and Jeremy Reed have also been discussing contributions from the NetBSD side.

Sunday, April 20, 2008

Thoughts on www.FreeBSD.org (2 of 2)

In the last post I identified some of the strengths and weaknesses of the current www.FreeBSD.org website. As promised, I've collected some specific suggestions that I think would improve the site:

  • Better integration with CVSWeb, P4Web, ohloh, and cia.vc. A number of sites offering third party open source metrics have become available in recent years such as ohloh.net and cia.vc. We should ensure that our content is available on those sites and better utilize some of the features they provide. For example, customizable RSS feeds of code changes in specific subtrees should be made available, perhaps even only those changes that match complex search queries. Dynamic lists of the most active developers, or the parts of the source tree that are changing most rapidly could be displayed.

  • Better utilization of our own structured data. We have geographic information about usergroups and events, and so it is natural to display the information to the user as a map rather than an extremely long list on one giant HTML page. It would be even better if this could be displayed as an image map or with javascript popups or integrated to one of the large online maps services.

  • Enabling comments and feedback on items posted to the site. Readers of the site should have the opportunity to comment on newsflash entries and vote on development project ideas/priorities. Requiring updaters of the site to manually edit news.xml may not be the best way to handle this. Perhaps some kind of blogging software could be used which is then scraped into a static newsflash.html file while providing links back to the official blog to facilitate user comments.

  • Integrate with other web sites. Since we have structured data representing events and other content on the site, we could construct links to videos or photos tagged as 'freebsd' on Flickr or YouTube during the days of each conference. There is no excuse for the technical content from any recent BSD conference not ending up there. Likewise, we should automatically update public Google/Yahoo calendars, and allow anyone visiting the site to instantly add an event to the calendar software of their choice.


Some of the particular areas that I'm interested in working on include utilizing the Google Charts API to provide visual representation of our structured data in XML files (events.xml, usergroups.xml, etc..) when appropriate. I wrote some XSLT code to generate some basic maps for the events and usergroup pages this weekend, but further improvements are needed.


I've also written a prototype web application to replace the Ideas database (ideas.xml). This application allows users to add new development project ideas, to comment or vote on existing ideas, to search the database, and to subscribe to RSS feeds of a specific search or the comments and activity on a specific idea.

It's possible to implement most all of these features on our existing xml/xslt infrastructure as long as we are willing to use web services provided by others (such as external blogs/commment feeds, links to search and graphing apis, etc.) Although not strictly required, I think it's probably time to start allowing Javascript on our pages as long as it degrades gracefully and the functionality provided is compelling enough to warrant it.

Thoughts? Comments? Better ideas for improving www.FreeBSD.org? Which open source organizations have particularly useful websites?

Saturday, April 19, 2008

Thoughts on www.FreeBSD.org (1 of 2)

The FreeBSD website has been based on XML/SGML structured content since index.sgml was first checked into CVS in 1996. Since then we've realized a number of benefits of this emphasis on structured content, but there is a cost to this setup and I'm not convinced we're getting the full benefit of our infrastructure. First, consider what we gain by our current setup:


  • XSLT stylesheets and CSS to separate content from presentation, so new technical pages can be added quickly in the same look and feel as the rest of the website.

  • Dynamic generation of HTML pages from XML files of events and other structured data, so that we can always have a list of "upcoming" and "past" events that doesn't need to be manually updated once the event has occurred.

  • Text based changes can be kept in the same revision control system we use for code. This helps our developers by lowering the barrier for them to make website contributions, and it helps our translators to easily see the textual differences of the english language pages that need to be translated.

  • Complete change history allowing us to borrow content from previous revisions for cyclical activity like releases and summer of code.

  • RSS feeds automatically generated for most XML content on the site, allowing the content to be syndicated to other sites or read more conveniently through feedreaders or mobile devices.

  • Easy distribution of the source for the website allowing mirrors all over the world to host copies of the content.

Despite these advantages, there are also costs associated with this system.

  • Communication is entirely uni-directional. There is no way for users of the website to add comments or additions to newsflash stories, to attach photos to events on the events page, or to comment on the utility of feature requests on the ideas page.

  • Manual editing of XML files is tedious and error prone compared to using a web based content management system. The XML files and especially the stylesheets can be daunting to those that haven't spent significant time working with these technologies, which presents a barrier to more frequent updates and more regular improvements to the site.

I've been thinking a bit recently about these deficiencies and how we can address them while still making the most out of our existing presence on the web. I will follow up to this post with some specific ideas.

Thursday, April 17, 2008

Summer of Code Update

We've been tentatively allocated 20 students this year to work on FreeBSD as part of the Google Summer of Code. The winning students will be announced on Monday April 21, 2008. In the mean time two successful students from last year's Summer of Code, Dongmei Liu and Zhou Zhouyi have written up a report of their recent trip to AsiaBSDCon 2008. The trip report is available on Google's Open Source Blog.

Tuesday, April 8, 2008

GNU Gold Linker

Ian Lance Taylor has announced a new ELF linker available now as part of GNU binutils. It is not yet part of an official binutils release but is available from the binutils CVS repository. The main feature of the new linker is that it is much faster for linking large C++ binaries. We've been using it internally at Google with great results for large projects.

Currently there is little documentation and few platforms are supported, but if you are experienced working with GNU Autoconf it would be great to submit some patches and get Gold working on FreeBSD.

In the longer term I'd like to see a devel/binutils-devel port and support in bsd.port.mk so that any port from the ports collection can be built with Gold instead of the default binutils ld from the base system. It would be particularly interesting to see benchmarks for the total build time of KDE, OpenOffice, Gnome, Mozilla, etc. on FreeBSD-CURRENT with Gold.