Skip to content

2008 Open Source CMS Award: two more weeks to submit your nomination!

Vote now for 2008 Open Source CMS Award!Just to remind you that Packt Publishing is running their Open Source CMS Award again:

The Packt Open Source Content Management System Award is designed to encourage, support, recognize and reward Open Source Content Management Systems (CMS) that have been selected by a panel of judges and visitors to www.PacktPub.com. Now entering its third year, the Award has established itself as an important measure for quality and the popularity of Open Source Content Management Systems.

You have two more weeks to submit your favourite CMS in the following categories:

As for the last two years, I'll be a member of the team of judges that have to choose from the finalists that received the most nominations during the nomination stage.

I look forward to the list of finalists - it's always interesting to find out about new developments in this area and how the established projects in this market have developed over the course of the year!

Recent additions to my openSUSE Build Service repository

I recently added two new packages to my repository on the openSUSE Build Service:

  • Maatkit is a collection of essential command-line utilities for MySQL. Each is completely stand-alone, without dependencies other than core Perl and the DBI drivers needed to connect to MySQL, and doesn't need to be "installed" - you can just execute the scripts. This makes the tools easy to use on systems where you can't install anything extra, such as customer sites or ISPs.
  • protobuf - Protocol Buffers - Google's data interchange format. Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats.

The protobuf package is required, if you want to compile drizzle. Packages are available for openSUSE, Fedora and Mandriva Linux. Feedback is welcome!

Supporting the Software Freedom Day


Are you a member of a local Linux User Group? Or a MySQL User Group? Or any other group that is related to open source software? Have you heard of the Software Freedom Day yet? This is a good opportunity to spread the word and showcase what OSS is all about to a wider audience. Some quotes from their Software Freedom Day website:

Software Freedom Day is a global, grassroots effort to educate the public about the importance of software freedom and the virtues and availability of Free and Open Source Software. Local teams from all over the world organise events on the third Saturday in September.
Software Freedom Day is a global celebration and education of why transparent and sustainable technologies are now more important than ever. With over 200 teams in 60 countries participating, it is a fantastic event to get your schools and communities involved in.
Go along to your local event or start your own event and meet a wide range of people, all working together to help ensure our freedoms are maintained by the technologies of tomorrow. Forming a Local SFD Team can be a fun, effective community building experience for your local user group and community.
Software Freedom Day is an outreach day where you can inspire newcomers with the values and quality of Free Software and communicate the broader issues of Software Freedom through a variety of activities of your choice. Is there something locally relevant to your country or region that you need to express? Is there some great local success story you want to tell? Software Freedom Day is your chance to stand united with the entire Free Software world with what you care about. Freedom.

Events will take place all over the world, organized by volunteers and local user groups. If you are interested to participate, here are some ideas and instructions:

Thoughts about OSS project hosting and the importance of controlling downloads

In a recent article, Matt Asay was musing about the aspects of hosting an Open Source project by yourself vs. using a public project hosting service like SourceForge, GitHub or Launchpad. He concluded that it's important for commercial/sponsored open source projects in particular to do the hosting by themselves, so they can maintain full control and can gain more insight, which hopefully will turn into more revenue at some point.

However, Matt seems to reduce "hosting" to "providing downloads" only:

Control and visibility. Given the importance of customer conversions, it becomes hugely valuable information to know that it takes, say, eight months on average for someone to buy the "Enterprise" version of your code after downloading the software. With Sourceforge et al., you have no way of connecting the dots between download and purchase. But if you host your downloads, you can suddenly link a download to a purchase using marketing automation software like Loopfuse.
[...]
It can tell you many things, but the key is to be able to glean insight from the earliest stage of your interaction with a potential customer, and that means you have to host your own downloads. Otherwise, you have no idea how or when a would-be customer downloads your code, which makes the "why" they download it less interesting, because it becomes less actionable.

I understand and agree to Matt's point in principle - you want to know more about the users that download and use your stuff. Here are some related thoughts about this topic.

Project hosting is not just about downloads

First: project hosting is much more than just providing a download/mirror infrastructure for your product releases. On the one hand, you have the regular users of your product who are primarily interested in having easy and fast access to the latest builds for their platform of choice and a platform to exchange their problems and experiences with other users.

But project hosting facilities also address a completely different audience, with different needs. These are the developers, who want to have easy access to the latest source code, be able to submit bug reports and patches and want a direct communication path to the project's developers.

I think it is important to ensure that you serve both the developer community as well as the user community as best as you can, which could of course mean you should provide the full range of project hosting all by yourself. But by doing so, you also create an island that makes it difficult to benefit from the "cross-pollination effects" between your project and others. This can partially be remedied if you don't only set up a project hosting infrastructure for your own purposes, but also open it for projects related to your project (and which not maintained by your own team), e.g. how SugarForge is doing it. But the cost and effort involved in setting up and maintaining such an infrastructure should not be underestimated.

There is more to distribute than releases

At MySQL, we just recently moved away the MySQL Server source trees from the proprietary BitKeeper revision control system to Bazaar. Along with this migration, we also relocated the public repositories from mysql.bkbits.net to Launchpad.net, to make it easier for external developers to access and work with the code. Currently, MySQL only makes use of the source repository hosting capabilities - downloads, bug reports and most other things like mailing lists or forums are all maintained by ourselves and hosted on mysql.com.

Due to the distributed nature of Bazaar, we could of course also provide the source repos from our own servers (similar to how we do it for several of our projects that are still maintained in Subversion). But I think it makes a lot of sense to use Launchpad for that, as it allows a tighter integration and collaboration with contributors and other related projects, and it gives us more visibility within the developer community.

Drizzle has taken this even further: the project utilizes all of Launchpad's facilities, including Blueprints, Bug reporting, mailing lists. It's going to be an interesting learning experience to see how this affects and improves community interaction/participation. I'd love to see MySQL move more into this direction as well (especially the bug database and worklog would be good candidates), but this probably will take some more time.

I too recently moved the source tree of my own personal project from a Subversion repository on my private server to Launchpad. Several reasons motivated me to do this, one of them being the opportunity to gain more practical experience with Bazaar and getting away from a central source code repository that makes me the bottleneck in making changes and applying patches. A distributed revision control system makes much more sense from a community contribution point of view, which Ian Clatworthy summarizes quite well in his paper "Distributed Version Control Systems - Why and How". In a way I deliberately give away some of the control over my project. And I must say I like how Launchpad integrates the various available subsystems like blueprints, code branches and bug reports - things are much better connected and they provide useful workflows that make the entire system much more productive to use than e.g. SourceForge.

I still provide downloads of released versions from my own site (as does MySQL), but mostly because I actually did not know until recently that Launchpad offered this kind of service - I will look into that for the next release. I am more interested in making sure that my users have easy access to properly packaged versions of my project for their operating system of choice. Therefore I work closely with the packagers from various distributions and make sure they integrate new releases quickly. In addition to that, I make use of hosted services like the OpenSUSE Build Service, which automatically provides package repositories for a number of platforms. I aim for wide distribution on as many channels as possible, instead of trying to be the sole provider of my product. This brings me to another point:

Downloads stats are overrated

Direct downloads from your project's web site usually are only one part of the distribution system. I believe that being included in the various Linux or other Open Source Operating System Distributions (e.g. Free/OpenBSD, OpenSolaris, etc.) plays a much bigger role in gaining popularity and reaching more users. Most users usually go with what they get as part of the package, as the distributor usually has taken care of a tight integration and proper packaging of your project within his own product and also takes care of providing updates and fixes.

Unfortunately it's almost impossible to gather any detailed intelligence about the number of users of a project this way, as distributions usually don't keep track of (or don't disclose) their download figures and which packages on their releases are the most popular. Debian's Popularity Contest is probably the only exception to this, but it's unclear how reliable that information is. Here I must agree with Matt again, if we just look at project hosting services acting as download providers only and include distributions in this equation:

As open source becomes more commercial, someone is going to need to step up to offer such visibility into these hosted services, or we're going to find the hosted services proving useful for ever decreasing amounts of time.

I guess we all would love to know more about the users that don't download a package from our site, but go with the one provided by their distribution of choice instead or download it from somewhere else. But so far, this is a blank spot on our radar screen.

 Another caveat that results from these multiple distribution channels: just looking at your own download stats may actually give you a skewed picture of your user base, particularly if you look at the platforms (which will probably be dominated by Windows or Mac OS X, as these OSes usually don't ship your code as part of their own product).

So instead of trying to force downloads through a single instance only, I think it's much more important to ensure widespread distribution and a top-notch first hand experience. If users like your product, they are much more inclined to consider coming back and purchasing something from you than if you annoy them by making your product hard to download and install or require them to register before they can obtain a copy of your product. It's all about lowering the barriers as much as you can, even if you have to give up some control in exchange.

 

mylvmbackup 0.9 has been released

I am happy to announce that a new version (0.9) of mylvmbackup has been released. This is the first release since the source code has been moved from Subversion to Bazaar and is now hosted on Launchpad.net. I would like to thank Robin H. Johnson and Patrick Hahn for providing the patches that contributed to this new release!

mylvmbackup is a tool for quickly creating backups of MySQL server's data files. To perform a backup, mylvmbackup obtains a read lock on all tables and flushes all server caches to disk, makes an LVM snapshot of the volume containing the MySQL data directory, and unlocks the tables again. The snapshot process takes only a small amount of time. When it is done, the server can continue normal operations, while the actual file backup proceeds.

From the ChangeLog:

  • Applied patch from Patrick Hahn: provide an option to call external scripts/applications (hooks) at various stages of the backup process. See the man page for instructions
  • Added options "--skip_hooks" to disable the execution of hooks and "--hooksdir" to define the location for these (default is /usr/share/mylvmbackup)
  • Updated documentation: added new options and instructions on how to use hooks
  • Applied patch from Robin H. Johnson: Full support for an rsync:// service as the backup destination. If you include any path fragments with the rsync module name, they must already exist!
  • Updated documentation to reflect these changes
  • Updated TODO

You can download a source tarball or RPM from the project home page. Additional packages for various Linux distributions can be obtained from the openSUSE Build Service. Packages for Gentoo and Debian should appear shortly, too.

Enjoy! Please let me know how mylvmbackup works for you, either by posting to our mailing list or by submitting a bug report. Thanks!

 

Gallery updates and new camera

Last weekend I finally found some time to upload pictures that I had taken during various events that I attended in the past few months. So here are my impressions from the following events:

These are probably the last pictures that I have taken with my trusty old Pentax Optio S4 - I just received my new camera, a Canon PowerShot A720 IS. I have just started to toy around with it, but the first results look promising! The Pentax served me well for several years - I've taken 9745 pictures with it. But it had a few deficiencies, particularly the slow startup and flash recharge time and the bad quality of pictures indoors bothered me for quite a while. But it is very small and handy and the metal housing makes it quite sturdy.

Pentax Optio S4
The first picture taken with my new camera: a picture of the old one.

Canon Powershot A720 IS
And probably the last picture taken using the old camera: my new Canon.

 

The mylvmbackup source tree has moved to Bazaar/Launchpad

JFYI: today I migrated the mylvmbackup source tree from my local Subversion repository on http://www.lenzg.net/ to a Bazaar repository on Launchpad.net.

This will hopefully make it easier for contributors to work on the code and share their modifications with others, removing me as the bottleneck for applying and testing patches for new releases. I chose Bazaar primarily because I wanted to get some more hands-on practice with it, now that the MySQL Server source trees have been transferred to it as well (see Kaj's announcement for details).

As mylvmbackup is closely related to the MySQL Server project, it made sense to choose the same platform and enjoy the cross-pollination effects and the infrastructure that Launchpad provides. Additionally, the distributed nature of Bazaar makes it more convenient to work with the code history and commiting changes locally without having to be online and connected to the SVN server.

I am sure that other DSCMSs like Git, Mercurial or darcs would have done the job equally well - nowadays it's very hard to choose :-)

The "trunk" branch is now hosted on Launchpad. I assume that I will soon open up a development branch, that will receive heavier modifications first. I also plan to use the site for bug tracking and keeping track of feature requests (via Blueprints).

To create a local branch of the "trunk" repository, you can use the following command:

bzr branch lp:mylvmbackup

I also maintain a copy of that branch on my home server, just in case: http://www.lenzg.net/bzr/mylvmbackup/

To avoid confusion, I removed the Subversion repository on http://www.lenzg.net. Please use the Bazaar tree on Launchpad from now on. Thanks!

 

 

Speaking about Bazaar and OpenSolaris at FrOSCon 2008 in St. Augustin, Germany

While we're on the topic of Bazaar - this week I got informed by the organizers of the FrOSCon 2008 conference that they accepted two of my talk proposals: one session will be an introduction to this source code management system (what a coincidence), the other one will be an introduction to OpenSolaris for Linux users, explaining some of the underlying technologies and how they differ from what a seasoned Linux user may be accustomed to.

And no, I have not given up on using Linux - quite the contrary! I have been very impressed by the latest OpenSUSE 11.0 release and already run it for since quite some time on several of my work systems. In fact, I already convinced several colleagues of mine to give it a try as well! I am amazed by the speed and "out of the box experience" of this version and I actually plan to install it on my Genesi Pegasos PowerPC machine as well, replacing Debian on there. But as a Sun employee, I of course have to familiarize myself with the other products and projects that we're involved in. And on the Server side, Solaris does have a few interesting features that Linux currently lacks. But I digress.

I look forward to speaking at FrOSCon again - it has been a great conference in the past two years. Very well organized, nice venue, a relaxed atmosphere and excellent technical sessions and speakers.

Other MySQLers submitted talks as well - for example, Giuseppe will give a presentation titled "MySQL Community How To", Susanne will give a PostgreSQL tutorial and others will participate in the separate PHP subconference. Don't miss it - this year's FrOSCon will take place on August 23rd&24th in St. Augustin, Germany (close to Bonn). For the first time, we will also try to set up a MySQL project table. So if you are there, make sure to stop by and have a chat with us!

 

The MySQL source code has moved!

Bazaar-LogoEven though we had been preparing the migration to Bazaar for a while now, today's announcement kind of caught me by surprise. But I am very happy about this move!

While BitKeeper is an excellent tool and served us well the past eight (!) years, I was quite annoyed when BitMover decided to remove the fully functional free BitKeeper client, which effectively put our development back into a Cathedral: even though our source trees remained accessible via bkbits.net, the crippled bk client was only capable of cloning and pulling new revisions from there - it was not possible for an external developer to commit changes locally or to create patches. This turned out to become a severe roadblock for users that wanted to participate in the development of the server. While some of our other internal projects (like the documentation, connectors and GUI tools) moved to Subversion, this was not that easily doable for the MySQL Server source trees. Lots of internal processes and tools had been tightly coupled with the source code management and there never seemed to be the right time to make the switch, which potentially could have disrupted the ongoing development work.

By moving to a truly open, distributed revision control system, it will become much easier for external contributors to work on patches and maintain modifications or enhancements outside of the main MySQL Server source trees. In fact, work has already begun! When I look at the various repositories hosted on Launchpad.net, I already notice several source trees that are not maintained by MySQL Engineers, e.g. Marc Callaghan's Google patches, Percona's work on microsecond resolution or a branch of MySQL 5.0 that is maintained and used by the folks from Wikimedia. I too helped publishing a source tree today - Holyfoot's work on improving the GIS functionality is now also available from there! In addition to the MySQL Server, many other MySQL-related projects are hosted on LaunchPad. And by utilizing services like the fabolous OpenSUSE Build Service, it's actually quite easy to provide readily installable packages of these as well!

I hope this change will significantly lower the barriers for external contributors and make it easier for our own developers to merge and accept changes that have been created by others and received sufficient community testing. This is much more convenient than having to apply a patch that was posted a long time ago and may have already been abandoned by the contributor or suffered from bit-rot. Being able to maintain a patch within a live tree that can be kept in sync with the main repository is one of the great features of distributed revision control (and which I think is one of the technical reasons why the Linux Kernel development model works so well).

Kudos to everybody involved in making this happen!

 

Recording and slides of my Security & Backup webinar now available

I've just been informed that a PDF of my slides as well as a recording of yesterday's webinar about MySQL Backup and Security (in German) is already available for replay/review. You can access the files from our on demand webinars page (free registration required). Enjoy!

Webinar on 2008-06-17 (in German): MySQL Backup and Security best practices

If you are new to MySQL and would like to get an overview about some best practices for securing a MySQL server and some commonly used backup techniques, consider attending this webinar (in german), held by yours truly. It will take place this Tuesday (2008-06-17) at 15:00 CEST - participation is free of charge! This is my first attempt to perform a webinar, I usually give talks in front of a live audience... Let's see how it goes.

Please give us your feedback by taking the MySQL Magazine Survey!

If you are working with MySQL as a DBA or developer, I'd like to encourage you to consider taking the MySQL Magazine Survey, which was compiled by Keith Murphy and Mark Schoonover.

The survey takes around 10-15 minutes to complete and runs until June 16th. The results will be published in the summer issue of MySQL Magazine, due on July 15th. The questions cover a broad range of topics, from details about your MySQL experience and job description over connectors and languages to operating systems and MySQL versions.

Thanks in advantage for your support and input! The results of this survey will be interesting for us as well.

Sun & MySQL at Linuxtag 2008 Berlin (2008-05-28/2008-05-31)

From May 28th-31st, the annual LinuxTag will take place in Berlin, Germany. I followed the growth and evolution of LinuxTag from the very early days and I have fond memories of the event back when it still took place at the University of Kaiserslautern and our SuSE "booth" was just a regular table taken from the lecture rooms...

Things have evolved a lot since then. Today, LinuxTag is one of the largest Linux/Open Source Events in Europe and my new employer Sun is a major sponsor this year. In addition to several talks and keynotes, there will be a large Sun booth in the exhibition area (Booth #205) and we will have a dedicated MySQL demo pod! Some of the things we plan to demo there are the upcoming MySQL Server releases (5.1, 6.0 with Falcon and Online Backup), MySQL Workbench, MySQL Enterprise Monitor as well as how to combine these with other Sun products like Glassfish, NetBeans, OpenSolaris or OpenOffice.

Some other stuff that we will be showcasing on the Sun booth:

  • Be Brilliant Faster with OpenSolaris: Develop, Debug, Deploy Apps Faster with ZFS and Dtrace, OpenSolaris Live CD – Fast, Free, and Easy to Install
  • Virtualize Your Business with xVM and VirtualBox: OpenSolaris, Windows, Linux & Mac OS X Virtualized, Develop on VirtualBox, Deploy on xVM, Free & Open
  • Sun Studio Software for OpenSolaris and Linux: C/C++/Fortran Compilers and Tools, x86 and SPARC
  • Cool New Features in OpenOffice.org 3.0: Importing PDFs and Managing Appointments, now with full support for MAC OS X (Aqua)
  • Discovering Open High Availability Cluster: Overview about HA Clusters, Community Group Projects, Single Node Cluster – Service Failover between Zones
  • GlassFish - the Open Source Java EE 5 Application Server: JRuby/ Rails, Ajax & Comet

I look forward to being there! Please contact me, if you are interested in visiting Linuxtag and would like to receive a free pass!

 

 

MySQL won the LinuxJournal Readers' Choice Awards 2008!

There were free copies of the Linux Journal handed out to attendees outside in the hallways here at CommunityOne and I noticed that they just published this year's Readers' Choice Awards - MySQL was voted as the favourite database by 62.7% of their readers!

MySQL is not only the world's most popular open-source database, it's your favorite as well. Although PostreSGL,
SQLite, Firebird and others registered votes, the competition was not fierce. It doesn't hurt that MySQL runs on more than
20 different platforms.

Thanks a lot to the readers of LinuxJournal, we really appreciate the support!

Running Drupal 6 on MySQL 6 using the Falcon Storage Engine

This article describes how to install the Drupal 6.2 CMS on MySQL 6.0, using the Falcon Storage Engine. The operating system is a default Ubuntu 8.04 "Hardy Heron" (x86) installation.

I will make a few assumptions here, in order to keep the instructions simple: a fresh OS install, no other MySQL databases or web services are running or have already been installed. Both MySQL and the web server are installed on the same host. You should be able to become root to install packages and to have access to the local file system and the system configuration.

This article will explain how to install and configure Apache/PHP, MySQL 6.0 and Drupal 6.2.

Continue reading "Running Drupal 6 on MySQL 6 using the Falcon Storage Engine"
tweetbackcheck