Magnatune, an Open Music Experiment

It's a record label, but it's not evil. How to build a business without ripping off artists and annoying customers, and why you might need three different kinds of Web server software.
Software Used

Magnatune runs on open-source software. Five 2.4GHz 1U rackmount boxes run Linux. Disk storage is provided by hardware RAID on four rackmount drive arrays, each with seven drives for a total of 28 drives. Each array is configured for RAID5 with one hot spare.

Apache 2 running PHP and OpenSSL serves all the HTML pages. When Magnatune was Slashdotted, I found that Apache could not keep up with the load for images. All HTTP image requests now are off-loaded to AOLserver, which had the lowest latency to serve images at high loads.

Mathopd, a single-threaded asynchronous HTTP server, is used to serve all MP3 files, as it is extremely scalable with large files. We customized Mathopd to return the same Expires: HTTP response header on images that Yahoo uses. Mathopd has more latency than AOLserver, which is why we don't use it for serving small images.

All Web pages in Magnatune run PHP. Purchases are logged to a MySQL database. A Perl script creates the track listings and m3u playlists. Tcl scripts handle all other tasks, such as making ZIP, Ogg Vorbis and FLAC files and making per-album password configuration files for Apache. Apache HTTP passwords are used to protect all purchasable downloads. We use rsync to distribute files among the servers.


Several unusual features can be found in Magnatune's music-download purchasing process. Buyers determine how much they want to pay, we don't use a shopping cart, we support PayPal and anonymous Visa purchases are allowed.

Clicking the Buy button brings up a page with the question “How much do you want to pay?” and offers choices from $5 to $18, with $8 as the recommended price (see Figure 3). A disclaimer states, “50% goes directly to the artist, so please be generous”. The average purchase price in September 2003 was $9.82, which shows that when given a choice, buyers prefer to pay more than we ask.

Figure 3. Because 50% goes to the artists, buyers choose to pay more than the minimum price.

I decided not to use a shopping cart at Magnatune because of the widely discussed problem of shopping-cart abandonment. When people are excited about an album and click the Buy button, that's the time to capture the sale. With a shopping cart in place, a user often goes looking for more things to add and that initial buying compulsion is gone if they don't find something.

On any given day, we find that 30%–50% of purchasers pay with PayPal. I believe many people prefer PayPal because with a credit card the merchant still has your credit-card number after the transaction completes. Your personal data is out of your control. With PayPal, the transaction ends with your payment, and no future risk is possible.

PayPal offers two ways for merchants to be notified of payments. IPN is a system where PayPal issues an HTTP callback to your Web server with a specific ID. Your Web server software then takes the ID and calls PayPal over HTTP to fetch transaction details. This is a highly secure option, but it has two problems: it is significant work to code, and it doesn't allow an immediate download after purchase, because your Web server needs to wait for the notification. Many shopping-cart programs support IPN and deliver download instructions by e-mail. We do not use an IPN/e-mail-based system, because we found that ISP-based antispam programs blocked many of our download-instruction e-mails, which led to very unhappy buyers who were not aware of the blocked e-mail.

We use the second, simpler PayPal system, in which PayPal sends the user back to our site with HTTP POST data after a transaction occurs. This is simpler to program and fairly reliable. Not all PayPal payments are instantaneous, however. The payment does not arrive in the vendor's account for several days and may not come at all, so the merchant has to decide whether to allow the immediate download. We decided to trust our users and give them the download immediately.

Our credit-card processor would like us to ask for a name, phone number and postal address (as well as three-digit AVS) on credit-card transactions, but we're under no obligation to do so. Our credit-card company charges us a 1% fee for not having this data at checkout, but on a $10 purchase this is only 10 cents. This fee pales in comparison to the 25-cent Visa fee and the 25-cent Internet-gateway fee, so we feel it's well worth it.

On the Magnatune Buy page, we require only a customer's credit-card number and expiration date—that's all we need to complete the transaction. We do ask for a name and e-mail address, stating: “If you want to be anonymous, you can omit your e-mail and name, but we won't be able to e-mail you a copy of your order.” Asking for a minimal amount of data at purchase time makes it quick for people to fill out the purchase form. Additionally, not requiring an e-mail address means the buyer doesn't need to worry about e-commerce spam resulting from the purchase.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: Magnatune, an Open Music Experiment

Anonymous's picture

This is the single best thing that has happened to the music industry. Giving the consumer broader options (multi-format downloads, listen before you buy, etc.), in addition to the 50/50 split w/ the artists, equals exactly what I've been looking for!

Promotional and Advertisement expenses

Anonymous's picture

Can you kindly tell me the approx promotional and advertisement expenses of online music companies, magnatune for eg.

Thank you

is it 80% of the revenues?

Anonymous's picture

is it 80% of the revenues?